Skip to content
This repository has been archived by the owner on Apr 19, 2024. It is now read-only.

Latest commit

 

History

History
131 lines (86 loc) · 5.34 KB

four-dot-one-to-four-dot-two.md

File metadata and controls

131 lines (86 loc) · 5.34 KB
title section order description
Upgrading Spree 4.1 to 4.2
upgrades
0
This guide covers upgrading a 4.1 Spree application to Spree 4.2.

4.1 to 4.2

If you have any questions or suggestions feel free to reach out through Spree slack channels

If you're on an older version than 4.1 please follow previous upgrade guides and perform those upgrades incrementally, eg.

  1. upgrade 3.7 to 4.0
  2. upgrade 4.0 to 4.1

This is the safest and recommended method.

Update Gemfile

gem 'spree', '~> 4.2'
gem 'spree_auth_devise', '~> 4.3'
gem 'spree_gateway', '~> 3.9'
gem 'spree_i18n', '~> 5.0'

Remove SpreeMultiCurrency (optional)

If you used that gem in the past you need to remove it. Multi-Currency is now incorporated into Spree core and you cannot use that gem anymore.

  1. Remove spree_multi_currency from your Gemfile
  2. Remove these preferences from your Spree initializer (config/initializers/spree.rb):
    • allow_currency_change
    • show_currency_selector
    • supported_currencies
  3. Remove //= require spree/frontend/spree_multi_currency from vendor/assets/javascripts/spree/frontend/all.js
  4. Remove //= require spree/backend/spree_multi_currency from vendor/assets/javascripts/spree/backend/all.js

(Optional) Remove SpreeI18n config

All international configuration is now kept on the Store model in the database rather than in initializer files.

If you used spree_i18n gem before please remove any SpreeI18n::Configreferences from your config/initializers/spree.rb file.

(Optional) Add deface gem (optional)

If you used Deface overrides you will need to include deface in your Gemfile as it was removed from Spree / Spree Auth Devise / Spree Gateway dependencies.

Simply add it to your Gemfile:

gem 'deface'

Update gems

bundle update

Fix RMA migration

Please find a add_stock_location_to_rma migration in your db/migrate directory and change:

class AddStockLocationToRma < ActiveRecord::Migration[4.2]

to

class AddStockLocationToRMA < ActiveRecord::Migration[4.2]

Install missing migrations

rails spree:install:migrations
rails active_storage:update

Run migrations

rails db:migrate

Upgrade all of your Spree extensions to the newest versions

To avoid errors and compatibility issues, please update all of your Spree extension gems to the newest versions which usually includes fixes for the new Spree release, eg.

bundle update spree_related_products

Other things to remember

Replace fast_json with jsonapi-serializer

Please follow this guide to migrate your custom serializers.

Migrate select2 3.5 to 4.x

Only if you've added new Admin Panel pages with Select2 dropdown - this guide will help

Make sure you've got up to date Spree templates (Storefront)

If you're using Spree default Storefront (spree_frontend gem) make sure to update your templates, especially:

Or simply run bundle exec rails g spree:frontend:copy_storefront

Read the release notes

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

More info

If you have any questions or suggestions feel free to reach out through Spree slack channels