Spree Commerce
Open-source headless ecommerce platform with a REST API and Next.js storefront
Alternative to: Shopify, Magento, WooCommerce, Salesforce Commerce Cloud
v5.2.6
2026-01-15Rails 8.1 support
This patch release adds full support for Rails 8.1! Spree still supports Rails 7.2 and 8.0, so you are not forced to upgrade.
Performance improvements
Storefront, Cart operations, Promotion engine, and API received a huge number of performance improvements in terms of better caching and eliminating pesky N+1s. Also, the default storefront theme was greatly improved in terms of accessibility and Page Speed Insights score.
Ransack Customization DSL
We’re introducing a new, clean, and safe way to customize Search and filtering without the need to create model decorators.
Rather than using decorators, you can just use the new DSL in your Spree initializer file:
# Add a custom searchable attribute to Products
Spree.ransack.add_attribute(Spree::Product, :vendor_id)
# Add a custom searchable scope to Products
Spree.ransack.add_scope(Spree::Product, :by_vendor)
# Add a custom searchable association to Products
Spree.ransack.add_association(Spree::Product, :vendor)
Upgrade
bundle update
Spree 5.3 coming soon
The next big release is just around the corner and will bring notable new features such as:
- New Pricing engine, allowing you to create B2B/Wholesale/Regional pricing as well as custom pricing rules you can add
- Event Subscribers - a new pub/sub way of extending Spree, again reducing the need for model decorators!
- Webhooks 2.0 - much improved HTTP Webhooks, working on top of the new Events engine
- and many more
Other changes
Core
- Improve performance of Promotion Rules: Taxon, Product, User, and OptionValue https://github.com/spree/spree/commit/ff1ffb51ff4d3cd5a14e5ec77f9a6ea16d536cf2
- FIX void payment when no response_code https://github.com/spree/spree/commit/7ae4e026db9c6124ffb9f31a50c280df196971e2
- Fix handling Store mobility-powered associations during store creation https://github.com/spree/spree/commit/757646872007f6d1d420d8df0bd4c6ebaed62a73
- Fixed issue https://github.com/spree/spree/issues/13437 - Promotion rule caching issue when editing rules with associated users or products. https://github.com/spree/spree/commit/e06bc7ec53228b9f3e850ed0f7c19f37a4226f8c
- Simplify and reduce the footprint of
Variant#options_texthttps://github.com/spree/spree/commit/33687ad942076299ff759f978225d18685c3c805 - Speed up quick checkout checks for Order https://github.com/spree/spree/commit/eec85d931b89bfdc91dde4d9301b26c42959242e
- Fix N+1s and improve the performance of
RemoveOutOfStockItemsservice https://github.com/spree/spree/commit/d5f0803dce56923431bba1d52ccf5186e0ee01cf
API
- Fixed N+1 in Storefront API Products endpoint https://github.com/spree/spree/commit/d592667d8997a7224c0aee6a52694188cc0531ee
Admin
- Admin: Limit the number of Report line items in web view to 1000 (by default) https://github.com/spree/spree/commit/0249efbf3d9031316dfd2fd99e0be39028a9ffbe
- Implement
allowed_file_types optionforspree_file_fieldhttps://github.com/spree/spree/commit/af55a5b872b456dcb6bb2461762011b154b7cb51
Storefront
- Removed
canonical-railsas a dependency https://github.com/spree/spree/commit/ebe791ce7c0d4b5bb60a8f7c797e4c0384ee46f9 - Fixed N+1s on Storefront cart https://github.com/spree/spree/commit/3b7181e54c53019f8f01700b9a7cdd50657eaca1
- Cache Countries/States JSON needed for address form https://github.com/spree/spree/commit/df23bbc6e50d446683488ffcbcec154a3ec9d997
- Fixed: don’t update tracking params in checkout if they didn’t change https://github.com/spree/spree/commit/ad004a6f1d6aba45bc51f222c0689f60ee35c0b4
- fix: Header overlay is misaligned in page builder https://github.com/spree/spree/commit/61fd05014c5701ce4b90ce224fcb279c22ab5689
- Pagespeed insights adjustments https://github.com/spree/spree/commit/f6c092f4daedbe34b40994881a5dd5a3854c4b5e
- Fixed: remove double caching of checkout line items https://github.com/spree/spree/commit/5c3bb302f92de9ab510b985aa31e3b41c33fbc7e
- Include translations when fetching product breadcrumb taxons for json-ld https://github.com/spree/spree/commit/e23f2ad9efc704f74d9b90ac5855efb18f59a533
- Added caching for storefront
CheckoutHelper#quick_checkout_enabled?https://github.com/spree/spree/commit/051eedb00e567517563f56c33fab9e67928875c2
Full Changelog: https://github.com/spree/spree/compare/v5.2.5…v5.2.6