Solidus v4.5 (2025-02-20)
Minimal requirements:
- v3.1
- 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.