What's Changed
Core
- Fix promotion usage count double-counting with multiple actions by @55728 in #13889
- Fix taxon permalink unique constraint violation on rename by @55728 in #13884
- Fix markets:migrate_checkout_zones failing with validation error by @agnieszkajacek in #13892
- Remove broken remove_transition that skips confirm step by @55728 in #13901
- Expand shipping zones and markets to additional continents by @damianlegawiec in #13898
- fix doubled order canceled event by @KacperMekarski in #13899
- Relax active_storage_validations version constraint by @damianlegawiec in #13915
- extract CSV stock location to make it editable in spree extensions by @KacperMekarski in #13914
API
- Add store resolution to webhook payments controller by @damianlegawiec in #13910
- Consolidate customer creation params and support current_password by @damianlegawiec in #13912
- Added missing totals for DeliveryRate and Fulfillment by @damianlegawiec in #13916
Admin
- Add return_quantity to permitted attributes for return items by @55728 in #13885
- Fix duplicate HTML ids in variant template price and stock inputs by @55728 in #13883
- Fix I18n.default_locale leak in Spree::Admin::BaseController spec by @55728 in #13905
- Fix admin datetime fields to respect store timezone by @55728 in #13900
Documentation
- Added user docs for translations and multi-currency imports by @jaburghes in #13896
- SDK docs fixes: use
mediainstead ofimagesandcustom_fieldsi… by @damianlegawiec in #13906
New Contributors
Full Changelog: v5.4.0...v5.4.1