Solidus v2.10 released

We just released Solidus v2.10!

Thanks to all contributors, testers, and users who made this release possible. This version's support will end in 18 months: 2021-07-15.

What's changed?

The full CHANGELOG can be found on our GitHub repository but here's a list of all major changes:

Added support for Rails 6

Solidus core now fully supports Rails 6! After upgrading to the 2.10 version you can follow the official Rails Upgrading Guide. Please note that Rails 6 requires Ruby 2.5.0 or newer.

Deprecated support for Rails 5.1

Rails 5.1 is deprecated and we'll remove support for 5.1 on the next version. If you are still using it, a deprecation warning will be printed in your logs when the application boots.

Changed default images sizes

We update the images used by Solidus demo in the sample gem. To update those images we needed to change the default sizes of Spree::Image. They changed from:

mini: '48x48>', small: '100x100>', product: '240x240>', large: '600x600>'

to

mini: '48x48>', small: '400x400>', product: '680x680>', large: '1200x1200>'

If your store relies on these sizes, you should change them back following the guide here.

State machines extracted into their own replaceable modules

This allows stores to replace the state machine completely with their own implementation, even with different gems or using custom code without any state machine gem. All the customizations previously made to the state machine should work smoothly, but it could be a good idea to check twice. You can read more about the suggested way to customize the state machine here.

  • Extract the state machines into replaceable modules #3356 (cedum)

Display error if editing non-current order

In Solidus frontend users were able to input any order_id in the /orders/:order_id/edit route and they were simply seeing the cart (showing the current order and not the requested one) without any notice. With this Solidus version we print an flash message and redirect users to their cart.

  • Display error if editing non-current order #3391 (JDutil)

Solidus now requires Ruby 2.4 or newer

Ruby 2.2 and 2.3 support has ended, Rubocop support for 2.2 ended and they are also about to drop 2.3. Also, we already introduced code that is not compliant with 2.2 anymore.