docs/developer/upgrades/4.3-to-4.4.mdx
Run the following command to update your gems to 4.4:
bundle update
to install the new gems.
These gems were merged into Spree Core in version 4.4. All of their functionality is now included in the spree gem so you can remove them.
If you used that gem in the past you need to remove it. Digital products are now incorporated into Spree core and you cannot use that gem anymore.
spree_digital from your GemfileIf you used that gem in the past you need to remove it. Wishlists are now incorporated into Spree core and you cannot use that gem anymore.
spree_wishlist from your Gemfile//= require spree/frontend/spree_wishlist from vendor/assets/javascripts/spree/frontend/all.js*= require spree/frontend/spree_wishlist from vendor/assets/stylesheets/spree/frontend/all.cssbundle update
bin/rake spree:install:migrations
bin/rails db:migrate
This will copy some files from spree_backend to your application.
bin/rails g spree:backend:install
If you're using spree_frontend you need to run the frontend install generator as well:
bin/rails g spree:frontend:install
On Heroku, you need to add the node buildpack - https://devcenter.heroku.com/articles/buildpacks#using-multiple-buildpacks
Spree uses ActiveJob for processing long running operations to not interrupt your web server performance.
If you're using Sidekiq you need to update your config/sidekiq.yml file and 2 new queues:
spree_stock_location_stock_itemsspree_webhooksSpree 4.4 introduces webhook events for most of the Spree resources (Products, Orders, Customers, etc). If you wish to disable this globally you can set the environment variable:
DISABLE_SPREE_WEBHOOKS=true
If you would like to disable firing webhooks for certain elements of your application you can wrap these methods in a block:
Spree::Webhooks.disable_webhooks do
... run your code here ...
end
Webhooks do not fire on touch events. Webhooks also do not do anything until there is a first webhook subscriber created which can be done in the Admin Dashboard or via Platform API.
Please change in your codebase:
Spree::Dependencies.account_update_address_service
to
Spree::Dependencies.address_update_service
For information about changes contained within this release, please read the CHANGELOG.
If you have any questions or suggestions feel free join our Discord