Spree 2.0.0 has now been officially released. It’s been exactly five months since the last release -although we have had several minor releases along the way. This has been a massive community effort with 1,412 commits by 35 contributors affecting 2,303 different files.
Let’s go over some of the highlights of this release:
Removing Support for Ruby 1.8.7
In this major Spree release, we are removing support for Ruby 1.8.7. This version of Ruby is no longer supported by the Ruby core team, so if you are still using 1.8.7, it is time to upgrade.
Due to numerous request to have the ability to either use the frontend or backend separately from the other, we have split Spree up into the following componenets:
The Backend component provides the admin interface for Spree and the Frontend component provides the frontend user-facing checkout interface. These components were extracted out of Core to allow for users of Spree to override the frontend or backend functionality of Spree as they choose. Core now contains just the very basic needs for Spree (primarily the data models.)
We’ve been grappling with the issue of complex Spree stores that require sophisticated shipping and warehouse logic for several years now. While it has always been manageable to get this to work on individual store basis, a more general solution that would be useful for all stores has always eluded us (until now). We are proud to introduce the new split shipments functionality to Spree.
There are 4 main components that make up split shipments described in this post: Stock Locations, Stock Items, and Stock Movements.
- Stock locations are the locations where your inventory is shipped from. Each stock location can have many stock items. When creating a new stock location, stock items for that location are automatically created for each variant in your store.
- Stock items represent the inventory at a stock location for a specific variant.
- Stock movements allow you to manage the inventory of a stock item for a stock location.
- Stock transfers allow you to bulk transfer stock from one or more variants between two stock locations.
This feature is discussed more in-depth in our Introducing Split Shipments blog post.
The Spree API is always improving and the release of Spree 2.0.0 is no exception. We have introduced new API endpoints to allow for management of more Spree resources including those introduced with Split Shipments.
In addition, we have introduced instance level permissions, custom templates and many other features of which there are too many to list here. Please see the release notes for the complete list of changes to the API.
As with every major Spree release, there are also a ton of commits related to minor bug fixes and other subtle improvements. Please see the Github compare for a complete list of changes in this release. You can also see a written summary of the changes with additional details in the release notes.