Our public 3.0.0 beta is here!
We launched v2.0.0 in July of 2019. That marked the first big step of our journey toward headless commerce. In v2.0.0 we introduced the GraphQL API for storefronts. In 3.0.0 we’ve expanded that API to include administrative and operator functionality. We’ve eliminated Meteor from the API, we split the Reaction Admin UI and the identity provider into separate services, added support for plugins as NPM packages, and improved automated integration testing for the API.
On Friday, we released our first public beta of version 3.0.0! We’re really excited about this milestone as it marks a big step toward our final release of v3.0.0. We’ve been heads down for the last several months working to get this version of Reaction to a state where we feel confident it’s ready for public testing. We can’t wait to hear what you think. Ready to get started? Here’s what you need to know to get going on version 3.0.0-beta.
Reaction’s API is now fully headless
The reactioncommerce/reaction repo is exclusively our GraphQL API in v3.0.0. This API now has full coverage of the functionality that was previously provided by our Meteor API. In v2.0.0 we introduced the GraphQL API for storefronts. In 3.0.0 that API is expanded to include administrative and operator functionality. This will enable developers to create custom Admin UI applications without forking the Reaction API.
As part of this change, we’ve moved the Reaction Admin UI into its own project - reactioncommerce/reaction-admin. This project still uses Meteor under the hood and there are still a few Meteor bits in the project. The future Reaction Admin UI will use the GraphQL API exclusively, and we suggest being careful with any patterns found in this project. While we’re spending a bit of time updating the reaction-admin project right now to use GraphQL, we’re focused on the GraphQL API for v3.0.0. The reaction-admin project is subject to frequent and significant change as we work to update our admin UI to consume the new GraphQL API. Until we have an opportunity to update the Reaction Admin UI to work through our GraphQL API exclusively, we’ll be leaving the `beta` tag on it. This project will be in beta beyond the final 3.0.0 release of our GraphQL API.
We’ve also moved the identity system out of the API and into its own project - reactioncommerce/reaction-identity. This is a Meteor project which hosts the identity provider (IDP) as well as the UIs for creating and signing into an account, resetting passwords, and other account related interaction. This project is included in Reaction Platform and is required to be running for authentication in Reaction.
Other project updates
The Reaction Example Storefront project continues to operate as it has - reactioncommerce/example-storefront. There have been a few updates to keep it in sync with the API, but there aren’t any major changes to that project.
Authentication is still accomplished via the ORY Hydra OAuth 2.0 and OpenID Connect server - reactioncommerce/reaction-hydra. We’ve updated to the stable (v1.0.8) version of Hydra for this release.
Reaction Development Platform is still the best place to start as a developer
Our (recently renamed) reactioncommerce/reaction-development-platform project is still the best place to start if you want to check out what Reaction has to offer or start developing for Reaction. Reaction is built with a microservices architecture and the Reaction Development Platform project provides the tooling to easily orchestrate the services in a local development environment. If you’re exploring the beta, make sure to follow the README from the beta release as there have been some significant changes since 2.9.1.
We have recently renamed this project to `reaction-development-platform`. This name change better identifies the project as a development tool.
How services are started in development by default: one big change
One major change is that our default docker-compose.yml file in every project will use public images rather than building an image. This drastically speeds up the initial startup time in development, and makes the application run smoother in development. When you’re ready to start developing, you’ll need to switch over to using the docker-compose.dev.yml file in the project you’re wanting to develop - see for example: reaction/docker-compose.dev.yml).
We’ve updated our docs!
If you’re new to Reaction - you can browse our 3.0.0-beta docs, or check out the getting started as a developer section. If you’re coming from v2.x of Reaction - there is an enormous amount that has changed! Make sure you check out the docs for Upgrading from 2.x, Updating a 2.x plugin,
From the beginning Reaction has been open source, and as we near the final release of v3.0.0, that hasn’t changed. For those of you who have already contributed to this release, from the bottom of our hearts, we want to say thank you! We appreciate every kind of contribution that is made to Reaction Commerce, and we wouldn’t be here without the 140+ contributors to the main codebase and the almost 70 contributors to our documentation. That number doesn’t even count the hundreds of contributors we have that are testing Reaction and creating issues, people who are creating plugins and storefronts for Reaction, and the companies out there running shops on Reaction.
Our official version 3.0.0 release is just around the corner. If you’ve been thinking about contributing, there’s never been a better time to get started than now. Grab our v3.0.0-beta release (github tree link), run through our 3.0.0 getting started docs, and let us know what you think! Every little thing helps - filing issues, creating and updating docs, or writing code! If you discover any issues, filing an issue in the appropriate GitHub repository is the best way to let us know! If you have other feedback, you can reach out to us on Gitter or email us at firstname.lastname@example.org
We can’t wait to have you try this version of Reaction out!