v4.9.0
版本发布时间: 2024-08-14 20:43:11
spree/spree最新发布版本:v4.10.0(2024-09-06 20:53:03)
This release improves the overall performance of Spree applications and brings many bug fixes we backported from Vendo. Major highlights are:
💻 new API endpoints for handling Wishlists and Variants in Storefront API 👨💻 improved Webhooks 💸 improved Store Credits 🐛 Sentry error reporting integration for API
Alongside this release, we've also launched a completely new Spree website and highlighted massive new features coming in Spree 5 🚀
How to upgrade
Please follow Spree 4.9 upgrade guide
Spree Core
- Fix destroying carts with addresses assigned to other complete orders by @mad-eel in https://github.com/spree/spree/pull/12055
- Nicer name for default stock location by @damianlegawiec in https://github.com/spree/spree/pull/12056
- Added handy methods to the Wishlist model by @damianlegawiec in https://github.com/spree/spree/pull/12057
- Added a bunch of handy methods by @damianlegawiec in https://github.com/spree/spree/pull/12058
- Shipping Rate fixes by @damianlegawiec in https://github.com/spree/spree/pull/12059
- Improve
TaxRate#label
to display it right by @damianlegawiec in https://github.com/spree/spree/pull/12060 - Added
StockLocation#address
method and ability to add encryption by @damianlegawiec in https://github.com/spree/spree/pull/12061 - added soft delete to
StockLocation
by @damianlegawiec in https://github.com/spree/spree/pull/12062 - Added a bunch of helper utility methods by @damianlegawiec in https://github.com/spree/spree/pull/12063
- Extended Shipment model with helper methods by @damianlegawiec in https://github.com/spree/spree/pull/12064
- Add
apply_only_on_full_priced_items
preference toFlatRate
, `Flex… by @damianlegawiec in https://github.com/spree/spree/pull/12068 - Replace decorator usage in
spree_emails
with plain ruby modules by @damianlegawiec in https://github.com/spree/spree/pull/12069 - Added universal webhook interfaces to avoid using decorators by @damianlegawiec in https://github.com/spree/spree/pull/12070
- added missing ShippingMethod and ShippingCategory serializers for Sto… by @damianlegawiec in https://github.com/spree/spree/pull/12072
- Fixed: do not allow to create line items when there's no price in the… by @damianlegawiec in https://github.com/spree/spree/pull/12073
- Make Store Credits more flexible by @damianlegawiec in https://github.com/spree/spree/pull/12074
- Ability to configure/override
Spree::Address
validation to make it … by @damianlegawiec in https://github.com/spree/spree/pull/12076 - Add some scopes to payments and store credits by @mad-eel in https://github.com/spree/spree/pull/12077
- Fix coupon codes with some chars can't be removed from cart by @zavan in https://github.com/spree/spree/pull/12075
- Fixed:
LineItem#product
to also return soft-deleted products by @damianlegawiec in https://github.com/spree/spree/pull/12078 - Fixed:
Store#current
- removed deprecation, use dependencies by @damianlegawiec in https://github.com/spree/spree/pull/12080 - Set doorkeeper tokens expiration date to 1 month by @damianlegawiec in https://github.com/spree/spree/pull/12081
- Update
Spree::OrderMerger
and addSpree::Seeds::PaymentMethods
by @mad-eel in https://github.com/spree/spree/pull/12082 - Use
RequestStore
to store whether webhooks are disabled by @Vegann in https://github.com/spree/spree/pull/12083 - Allow Spree classes to specify which relationships should be included in webhook by @Vegann in https://github.com/spree/spree/pull/12084
- Fixed:
Spree::Money
correctly parses and displays Danish Krone by @damianlegawiec in https://github.com/spree/spree/pull/12085 - Use
Spree::Taxon.for_store
scope when resolving taxons in Products finder by @mbajur in https://github.com/spree/spree/pull/12087 - Fix Store Credit and Refund serializers by @mad-eel in https://github.com/spree/spree/pull/12088
- Performance: use loaded associations in
Quantifier
to speeds things up by @damianlegawiec in https://github.com/spree/spree/pull/12092 - Added
ShippingMethod
display_on
based scopes by @damianlegawiec in https://github.com/spree/spree/pull/12093 - Improve performance of Zone/Countries seeds by @damianlegawiec in https://github.com/spree/spree/pull/12094
- Use
admin_user_class
forRoleUser
association by @damianlegawiec in https://github.com/spree/spree/pull/12095 - Expire variants cache when changing position of master variant images by @damianlegawiec in https://github.com/spree/spree/pull/12096
- fix free shipping promotion by @damianlegawiec in https://github.com/spree/spree/pull/12097
- Ability to pass
email
toFirstOrder
promotion rule by @damianlegawiec in https://github.com/spree/spree/pull/12098 - Add weight and item total preferences to the
Spree::Calculator::Shipping::FlatRate
calculator by @mad-eel in https://github.com/spree/spree/pull/12099 - Added
order_includes
toControllerHelpers::Order
by @damianlegawiec in https://github.com/spree/spree/pull/12100 - Improve performance of
LineItems::FindByVariant
finder by @damianlegawiec in https://github.com/spree/spree/pull/12101 - Fixed: raise an error when trying to add a variant without price in s… by @damianlegawiec in https://github.com/spree/spree/pull/12103
- Fix
Spree::ShippingMethod.available
scope by @mad-eel in https://github.com/spree/spree/pull/12102 - Auto-Remove items from cart when not available in new currency by @damianlegawiec in https://github.com/spree/spree/pull/12104
- Improve & simpluft collection caching in API by @damianlegawiec in https://github.com/spree/spree/pull/12106
- Improve error rendering in
OrderConcern#render_order
when request f… by @damianlegawiec in https://github.com/spree/spree/pull/12107 - Move ActiveStorage code into
Spree::Asset
by @damianlegawiec in https://github.com/spree/spree/pull/12115 - Use
admin_user_class
inAuthorizationHelpers
by @damianlegawiec in https://github.com/spree/spree/pull/12116 - Improve flexibility and extensibility of webhooks matchers by @damianlegawiec in https://github.com/spree/spree/pull/12118
Spree API
- Added 2 new Wishlists API endpoints:
add_items
andremove_items
f… by @damianlegawiec in https://github.com/spree/spree/pull/12105 - Added Storefront Variants API endpoint by @damianlegawiec in https://github.com/spree/spree/pull/12065
- Fixed API error reporting to actually use the Error reporter for all … by @damianlegawiec in https://github.com/spree/spree/pull/12067
- Fixed: Storefront Products API now works with old slugs as well by @damianlegawiec in https://github.com/spree/spree/pull/12066
- Use Runtime configuration for API config by @damianlegawiec in https://github.com/spree/spree/pull/12071
- Fixed: Webhooks: don't log as error messages a success by @damianlegawiec in https://github.com/spree/spree/pull/12091
- Added
WebhookSubscriber#latest_event_at
by @damianlegawiec in https://github.com/spree/spree/pull/12090 - Fixed setting SSL for webhooks based on the URL and not the environment by @damianlegawiec in https://github.com/spree/spree/pull/12089
- Fixed
rake test_app
for API gem by @damianlegawiec in https://github.com/spree/spree/pull/12117 - Automatically detect Sentry and report API errors by @damianlegawiec in https://github.com/spree/spree/pull/12108
Full Changelog: https://github.com/spree/spree/compare/v4.8.3...v4.9.0