Major/New Features
Rails 5 support
Spree 3.2
is now compatible with Rails 5
compared to 3.1
which used to run on Rails 4.2
.
Thanks to that you can start using all of the new great features available in Rails 5
Cintributed by Spark Solutions & Vinsol & John Hawthorn
Products Tagging
You can now tag Products additionally to just using Taxons. Tagging module uses acts-as-taggable-on
gem. You can easily fetch a list of Products associated to any given tag(s) which should be very helpful for creating new dynamic products listings.
Contributed by Vishal Zambre
Promo code applier on Cart
Discount code applier was brought back to the Cart view in customer frontend. Now enhanced, more user friendly and using API V1.
Contributed by Vinsol
Extended Google Analytics Enhanced Ecommerce integration
Spree now passes more meaningful information into Google Analytics when adding Products to Cart like:
- product category name
- product brand name
- variant description
Contributed by Spark Solutions
New Spree open source branding
We've changed logo for default customer frontend and Admin Panel to differentiate
Spree Open Source project from Spree Commerce (company).
Contributed by Spark Solutions
Lighter and more user-friendly Admin Panel
We've removed a lot of unused, deprecated, outdated code and assets from the Admin Panel,
overall reducing the codebase by a lot. We've also fixed a huge amount of UX issues
like missing validation, bad navigation or lack of thereof and so on.
Contributed by Spark Solutions
Semantic versioning for future Extensions
We're changing how extensions dependencies work. Previously you had to match
extension branch to Spree branch. Starting from now master
branch of all
generated extensions will work with Spree >= 3.1
and < 4.0
. Thanks to
that we're dropping versioning of extensions same as Spree and using
standard Semantic versioning.
Contributed by Spark Solutions
More developer-friendly Extension generator
Extension template used by the generator includes now Travis CI config with
settings to test extension against Spree 3.1, 3.2 & 3.3 (edge), PostgreSQL,
MySQL, Ruby 2.2 & 2.3 thanks to Appraisals gem
by thoughtbot.
Contributed by Spark Solutions
Upgrade
Update your Rails version to 5.0
Please follow the
official Rails guide
to upgrade your store.
Update Gemfile
gem 'spree', '~> 3.2.0'
gem 'spree_auth_devise', '~> 3.2.0.beta'
gem 'spree_gateway', '~> 3.2.0.beta'
Update your extensions
We're changing how extensions dependencies work. Previously you had to match
extension branch to Spree branch. Starting from now master
branch of all
spree-contrib
extensions should work with Spree >= 3.1
and < 4.0
. Please change
your extensions in Gemfile eg.:
from:
gem 'spree_braintree_vzero', github: 'spree-contrib/spree_braintree_vzero', branch: '3-1-stable'
to:
gem 'spree_braintree_vzero', github: 'spree-contrib/spree_braintree_vzero'
Run bundle update
Install missing migrations
rails spree:install:migrations
rails spree_auth:install:migrations
rails spree_gateway:install:migrations
Run migrations
rails db:migrate
Other Gotchas
Ruby >= 2.2.2 required
As Rails 5 is now a dependency it requires at least Ruby 2.2.2 to run. Ruby 2.3
is also supported.
Noteworthy Changes
Also please review each of the noteworthy changes, and ensure your customizations
or extensions are not effected. If you are affected by a change, and have any
of your own tips please submit a PR to help the next person!
Full Changelog
You can view the full changes using Github Compare.
Noteworthy Changes
-
Removed previously deprecated Spree CMD installer
-
Removed unused
Spree::StoreController#apply_coupon_code
action -
Removed
Admin::SearchController
and pointed Admin Panel search actions to API endpoints -
Removed previously deprecated
Spree::ProductsHelper::line_item_description
-
Removed unused method
Spree::Admin::BaseHelper#attribute_name_for
-
Removed unused
Spree::Admin::InventorySettingsHelper
-
Removed unused
Spree::Admin::TablesHelper
-
Removed unused
Spree::Admin::ProductsHelper
-
Removed unused method
Spree::Admin::NavigationHelper#collapse_sidebar_link
-
Removed unused method
Spree::Admin::NavigationHelper#configurations_menu_item
-
Moved
Spree::PromotionRulesHelper
toSpree::Admin::PromotionRulesHelper
-
Fixed permissions for Product associations management in Admin Panel
-
ActiveMerchant updated to
~> 1.59
-
Added
created_at
to Variant model -
Additional Admin Panel usability fixes
-
Allow order to transit from resumed state to returned state
-
Changed
state
translation key in Admin Panel tostatus
-
Fixed API pagination
per_page
andcurrent_page
values (now always returned as integer) -
Display Spree version in Admin Panel
By default, it's displayed only for Admin users who can manage the current Store, but can be disabled altogether by changing preferences:
Spree::Config[:admin_show_version] = false
in
config/initializers/spree.rb
-
New preferences for Admin Panel
per_page
settings, default value for all of them is now
Kaminari.config.default_per_page
(by default25
)orders_per_page
renamed toadmin_orders_per_page
properties_per_page
renamed toproperties_per_page
promotions_per_page
renamed toadmin_promotions_per_page
customer_returns_per_page
renamed toadmin_customer_returns_per_page
- added
admin_users_per_page
-
Removed unused
Spree::Admin::UsersController#json_data
method -
Added validation errors and other UX fixes for return process in Admin Panel
-
Added GitGub issue template
-
Added revert and deactivate methods to allow actions to take place when a
Promotion is removed from the Cart -
Use
Spree::Money
to display values in Sales Total report -
Fixed filtering out Products by
discontinue_on
in Admin Panel products index -
Allow title separator to be customized
-
Additional fixes for Spree mounted in other then default
/
mountpoint -
Search for current Order in Frontend using guest token only
-
Deprecated
Spree::Calculator::FreeShipping
-
Added promotion rule for shipping country