Version 1.1.0
John Hawthorn
25 Nov 2015 - 4 mins read
Just before Black Friday, a new minor release of Solidus. As this is a minor release, we've done our best to keep compatibility and have added deprecation notices wherever possible.
With this version we've pulled in a few migrations and schema changes from spree 3.0, which should make it possible to migrate a spree 3.0 store directly to solidus.
There have been schema changes as well as some changes to indexes and foreign keys. You may want to perform a PostgreSQL vacuumdb --analyze
or a MySQL ANALYZE
after migrations for best performance.
User Address Books
-
Address is now immutable (
Address#readonly?
is always true). This allows us to minimize cloning addresses, while still ensuring historical data is preserved. -
UserAddressBook module added to manage a user's multiple addresses
-
GET /admin/search/users searches all of a user's addresses, not just current bill and ship addresss
Schema changes
-
Adjustment state column has been replaced with a
finalized
boolean column. This includes a migration replacing the column, which may cause some downtime for large stores. -
Some HABTM associations have been converted to HMT associations. Referential integrity has also been added as well. Specifically:
- Prototype <=> Taxon
- ShippingMethod <=> Zone
- Product <=> PromotionRule
-
An
apply_automatically
field was added to promotions to distinguish coupons needing a code or path to be applied from those which were applied automatically to any cart matching the ruleset. This significantly improves performance on stores with a large number of promotions. -
The schema and migrations have been updated to allow a clean data migration from spree 3.0
Permissions
-
Support read-only access to promotions
-
Hide api keys from non-superuser admins
-
Disable modification of roles from non-superuser admins
Misc
-
Handlebars templates in the admin are now stored in assets and precompiled with the rest of the admin js.
-
Change all mails deliveries to
#deliver_later
. Emails will now be sent in the background if you configure active_job to do so. See the rails guides for more information. -
Cartons deliveries now send one email per-order, instead of one per-carton. This allows setting
@order
and@store
correctly for the template. For most stores, which don't combine multiple orders into a carton, this will behave the same. -
Improvements and fixes to the granular permission system introduced in solidus 1.0
-
Added
inventory_cache_threshold
configuration option, which causes cache to be invalidated when stock levels rise or fall below a specified level. -
Added
OrderUpdateAttributes
class to replace theSpree::Order#update_from_params
method -
Added
PaymentCreate
class for creating payments. This allowed removingafter_initialize
filters previously responsible for creating or associating a payment source. -
Fixed :image factory
-
Order#outstanding_balance
now considers refunds in its calculation. -
Fix select2 product selector ajax pagination in admin.
Removals
-
Removed
map_nested_attributes_keys
from the Api::BaseController. This method was only used in one place and was oblivious of strong_params. -
Deprecate
delegate_belongs_to
in favour of rails' standardbelongs_to