Easy upgrades are a core goal of Solidus. It should be easy for your production store to get onto the newest, most performant version of Solidus.
Upgrading should not take months of preparation. We aim to make upgrades straightforward and painless. We use Semantic Versioning to avoid unnecessary breaking changes. See the Versioning guidelines article for more information.
Multiple versions of your Solidus extensions should work across multiple versions of Solidus. We do not think that you should have to tether your Solidus version just so you can keep running an extension that provides your store's flagship feature.
We maintain a number of Solidus extensions with good test coverage. Our Solidus extensions list also includes a compatibility chart for each major and minor version of Solidus.
If you run a store that uses Spree 2.x, you can migrate from Spree to Solidus with relative ease. See the Migrate from Spree article for more information.
If you have extended your Spree store's models or have made substantial customizations to Spree, the migration may require some additional preparation.
If you want to talk about your upcoming migration with somebody, join our Slack team and start a conversation about it in the #support channel.
Solidus is an open source platform supported by the community. We encourage everyone using Solidus to contribute back to the documentation and the code.