Announcing 3.0.0: Expanded API and Fully Headless Commerce
Hello there! Sara here with big news!
We’re excited to unveil our v3.0.0 release. Before we jump into the details, here’s a brief recap of our recent priorities. For the better part of the last year, we focused on the following areas:
- Expanding support and coverage for our GraphQL API
- Improving performance and developer experience
- Enhancing the Reaction offering to meet the needs of enterprise retailers
When we released v2.0.0 back in July, we introduced our GraphQL storefront API and a headless commerce stack. This enabled our customers to create consumer-facing commerce experiences that reflected their brand, without the traditional constraints of tightly coupled systems. Our customers can make choices on language, frameworks, design, and branding that make sense for their business. This flexibility and freedom has always been a core part of our vision -- we set out to build Reaction in a way that it can be adapted to fit your needs, rather than the other way around.
Fully headless commerce stack
In our conversations with Customers it became clear to us that enabling unique, brand-led storefront experiences was just the beginning. There was a clear need to apply a similar approach to addressing the unique workflows and processes that exist within different businesses. So, in version 3.0 we delivered full GraphQL coverage across all operations. Prior to this release, it could be difficult to customize the Reaction Admin. Our extended GraphQL API now makes the entire process simpler and easier. Being fully headless means that retailers using Reaction Commerce can build custom, performant Storefront and Operator interfaces that fit their brands and workflows, without ever having to touch or edit the core Reaction API.
Performance and developer experience overhaul
We’re constantly looking to improve the developer experience around our software. Engineering is part of our DNA. While we’ve been busy extending our GraphQL coverage, we’ve also been working to abstract Meteor and improve the overall performance of the application. v2.x just wasn’t fast enough from a development perspective. We were seeing build times upwards of 8-10 minutes. Now we’re seeing build times of 8-10 seconds. That’s over a 50x improvement. Massive kudos to the team on this one! Like our community and customers, we’re also reaping the benefit of this as we are seeing huge productivity gains working around the application!
Better enabling our service-based architecture
As a company, we are committed to delivering an API-first, modular commerce stack. Headless is only one piece of that puzzle. In version 3.0 we strengthened Reaction’s service-based architecture through significant changes to the way we organize our applications and our plugin system.
Our initial goal was to provide simpler, easier, and quicker options for customers, community members, and developers to customize Reaction, without having to fork the Reaction API, and without having to go through a laborious complex plugin process. To help achieve this we:
- Split Reaction into multiple apps: Reaction Admin has been moved into a standalone application and repo. We’ve also moved accounts, identity, and auth out of the main Reaction API.
- Introduced NPM into our plugin system: This is a long-requested feature and it’s getting a lot of fanfare from our developer community. It's now possible and recommended to write plugins as NPM packages
These changes are major improvements to the process for customizing, updating, releasing, and deploying Reaction. It’s now much simpler to compose your version of Reaction, by plugging and unplugging to get the pieces of the stack that are right for you. These changes strengthen our foundations and make Reaction’s entire offering more modular and service-based.
Increasing release cadence and confidence
Last but not least, the GraphQL API now has full integration test coverage. This was a key objective of ours as we look to increase the cadence of release cycles and the confidence when deploying new releases. Our goal is to enable our customers to release quickly and often. The architectural changes discussed above will also be key drivers of increasing release cadence, and we’re excited to see the impact over the first few months of 2020!
Checkout the release note for more!
Check out the release notes for long form notes on the version 3.0 release, information about upgrading your instance of Reaction, and details about all the fixes and features included.
Support for earlier versions of Reaction
We believe version 3.0 of Reaction Commerce represents a significant step forward with performance and architectural direction. We’re focusing our efforts on version 3.0 and all new feature development, performance improvements, and UI changes will be going into version 3.0. We encourage all users on the 2.x version to upgrade to version 3.0. Here’s an upgrade guide to help. We’ll continue to resolve major security issues in the 2.x version of Reaction for the following six months at which point support for version 2.x will no longer be provided.
Get started with 3.0
You can get started by downloading Reaction 3.0 and trying it out. If you’re new to Reaction, our documentation site is a good place to start.
This release is coordinated with Reaction Development Platform and is designed to work with the newly independent Reaction Admin beta, Example Storefront (optional), Reaction Identity, and reaction-hydra (required). Like our previous releases, Reaction 3.0 is GPL licensed, and our Example Storefront is licensed under the Apache License, Version 2.0; both are freely available to download, use, and modify.
Our 3.0 release is another step towards a headless, event-driven, microservices architecture. Currently, we’re hard at work building additional service-based commerce applications. We're also planning on releasing a Federated GraphQL Gateway in the near future that will allow the creation of a distributed graph API, and provide developers a way to extend the API without needing to create a plugin. We’ll have many more details on all of these priorities over the coming months.
How to get involved & thanks!
Please consider getting involved in the Reaction community:
- If you like what you see, star us on GitHub ⭐️!
- Want to request a feature? Use our Reaction Feature Requests repository to file a request.
- Find a bug, a typo, or something that’s not documented well? We’d love for you to open an issue telling us what we can improve.
Thank you to our global community for the continued support and contributions. We wouldn’t be here without your feedback and help along the way. We recently celebrated Reaction Commerce’s 6th anniversary, and we’re just getting started!