3.2 to 3.3

This guide covers upgrading a 3.2.x Spree store, to a 3.3.x store.

Update your Rails version to 5.1

Please follow the official Rails guide to upgrade your store.

Update Gemfile

gem 'spree', '~> 3.3.0'
gem 'spree_auth_devise', '~> 3.3'
gem 'spree_gateway', '~> 3.3'

Update your extensions

We're changing how extensions dependencies work. Previously you had to match the extension branch to the Spree branch. Starting from Spree 3.2 release date 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

Include UserMethods in your User class

With this release, we're not including this automatically. You need to do it manually if you're not using spree_auth_devise.

You need to include Spree::UserMethods in your user class, eg.

class User
include UserAddress
include UserMethods
include UserPaymentSource
end

Update aws-sdk gem to >= 2.0

Spree 3.3 comes with paperclip 5.1 support so if you're using Amazon S3 storage you need to change in your Gemfile, from:

gem 'aws-sdk', '< 2.0'

to:

gem 'aws-sdk', '>= 2.0'

and run bundle update aws-sdk

In your paperclip configuration, you also need to specify s3_region attribute eg. https://github.com/spree/spree/blame/master/guides/content/developer/customization/s3_storage.md#L27​

See also RubyThursday episode walkthrough of upgrading paperclip in your project.

Add jquery.validate to your project if you've used it directly from Spree

If your application.js file includes line //= require jquery.validate/jquery.validate.min you will need to add this file manually to your project because this library was removed from Spree in favor of native HTML5 validation.

Read the release notes

For information about changes contained within this release, please read the 3.3.0 Release Notes.

Verify that everything is OK

Run your test suite, click around in your store and make sure it's performing as normal. Fix any deprecation warnings you see.