Skip to main content
Version: 4.5

Solidus v4.5 (2025-02-20)

Minimal requirements:

Ruby
v3.1
Rails
v7.0

Solidus v4.5 is out! 🎉

This release adds Rails 8.0, Ruby 3.4 support and continues our effort to finalize the new Solidus Admin interface.

Also we now have a interface for storing Meta Data on resources and GTIN and conditions on products.

Rails 8.0 support

If you create a new store with Solidus and Rails 8.0 please make sure to follow the instructions in the README about a sprocket-rails and Rails 8.0 related issue.

Ruby 3.4 support

Due to the Ruby core team is splitting the standardlib into gems it might be the case that gems that have been shipped with Ruby now needs to be installed as separate gems. We already included csv as dependency, but your store might need additional gems. Just take a look at deprecation messages in your current stores logs simply add them to your Gemfile.

Adding SolidusAdmin Resources

This should make it easier to continue the work on the new Admin and for stores integrating their own custom resources into Solidus admin.

Admin and User Metadata

The purpose of metadata fields is to allow customers and admins alike to provide additional information to transactions to either extend the informations contained or allow to insert additional data to correlate transactions with third party systems.

Added GTIN and Condition to variant for structured data use

Introduction of Structured Data for ItemCondition and Global Trade Item Number ("GTIN").

Introducing product brand using taxon_brand_selector

The new Spree::TaxonBrandSelector class fetches brands based on the "Brands" taxonomy. Developers can customize this functionality through the brand_selector_class attribute in Spree::AppConfiguration.

Add primary Taxon to products

Fixes outcome variability on the breadcrumbs rendered on the frontpage and is part of a couple of PRs addressing the lack of some SEO features that became prevalent.

Remove Spree::UserAddress#archived flag

This removes the archived flag on spree_user_addresses records and now simply removes the association between a user and a address record if an address gets removed form the users address book.

Solidus developer experience improvement

Up until Solidus 4.5, we would load any patches (called decorators in most apps) to core Solidus classes during the Rails startup process. Using the flickwerk gem, we can now delay loading any patches to when the class being patched is loaded. The two extensions that Solidus ships with, solidus_promotions and solidus_legacy_promotions, have already been adapted to the new way of loading patches. We've also moved some configuration options from autoloadable class variables to the Spree::Config object so that configuring Solidus does not implicitly load any classes during bootup.