Skip to content
Draft

5.7 #4262

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
193 commits
Select commit Hold shift + click to select a range
ceab5e4
Add token-based security for cart loading
lukeholder Jan 21, 2026
0f6e621
Cleanup
lukeholder Jan 21, 2026
a5a24af
Cleanup
lukeholder Jan 21, 2026
03f5501
Backwards compatible but more secure number generation
lukeholder Jan 21, 2026
2147c7a
WIP permission refactor
lukeholder Feb 26, 2026
e681426
Merge branch '5.6' into feature/view-permissions
lukeholder Feb 26, 2026
a2c362b
Fix permission for draft creation
lukeholder Feb 26, 2026
90e7370
Release notes
lukeholder Feb 26, 2026
db9ee02
Added HasPurchasablesConditionRule
lukeholder Mar 9, 2026
d26c311
Merge branch '5.x' into 5.7
lukeholder Mar 18, 2026
e11d00f
WIP changelog
lukeholder Mar 18, 2026
2711301
Merge branch '5.x' into feature/product-permissions
lukeholder Mar 25, 2026
b9bf116
Merge branch '5.7' into feature/product-permissions
lukeholder Mar 25, 2026
fdbb9e1
Merge branch '5.x' into 5.7
lukeholder Mar 25, 2026
0971f14
Merge branch '5.x' into feature/has-purchasables-condition-rule
lukeholder Mar 25, 2026
73c108e
WIP consolidate catalog pricing jobs
nfourtythree Apr 14, 2026
d0d83c7
Merge branch '5.x' into nathaniel/pt-2823-5x-catalog-pricing-doesnt-u…
nfourtythree Apr 15, 2026
d0dc031
Simplify consolidation code
nfourtythree Apr 15, 2026
1ce41fa
Merge branch '5.x' into nathaniel/pt-2823-5x-catalog-pricing-doesnt-u…
nfourtythree Apr 15, 2026
aa15ee3
Merge branch '5.x' into 5.7
nfourtythree Apr 15, 2026
87b6c73
Merge branch '5.7' into nathaniel/pt-2823-5x-catalog-pricing-doesnt-u…
nfourtythree Apr 15, 2026
1954beb
More tidying and changelog
nfourtythree Apr 15, 2026
153b001
Fix install migration
nfourtythree Apr 15, 2026
826ad9f
Make sure upgrade migration and install match
nfourtythree Apr 15, 2026
99b8e57
rector tidy
nfourtythree Apr 15, 2026
a2610f6
Merge branch '5.x' into 5.7
nfourtythree Apr 16, 2026
5494520
Merge branch '5.7' into nathaniel/pt-2823-5x-catalog-pricing-doesnt-u…
nfourtythree Apr 16, 2026
8513bac
Fix change of rule IDs not being queued
nfourtythree Apr 16, 2026
40de3f2
Tweak method names
nfourtythree Apr 16, 2026
5b731f8
Initialise variables early to make sure they exist
nfourtythree Apr 16, 2026
dcd4bc2
Fix queuing of IDs
nfourtythree Apr 16, 2026
50832fd
Merge branch 'nathaniel/pt-2823-5x-catalog-pricing-doesnt-update-for-…
nfourtythree Apr 16, 2026
feee469
Throw on mutex failure
nfourtythree Apr 16, 2026
fae1fc9
Merge branch 'nathaniel/pt-2823-5x-catalog-pricing-doesnt-update-for-…
nfourtythree Apr 16, 2026
0a82a27
Add test and fixes
nfourtythree Apr 16, 2026
2443f55
fix cs
nfourtythree Apr 16, 2026
8e22af8
Merge branch '5.x' into 5.7
lukeholder Apr 28, 2026
87812b9
WIP User order deletion blockers
nfourtythree Apr 29, 2026
ad8267c
WIP SubscriptionBlockers
lukeholder May 4, 2026
5e96d28
Update ibericode/vat to v2 to resolve psr/simple-cache conflict
lukeholder May 6, 2026
9093141
Add changelog entry for ibericode/vat v2 upgrade
lukeholder May 6, 2026
66785e0
Simplify ibericode/vat changelog entry
lukeholder May 6, 2026
df23a55
Merge branch '5.x' into 5.7
lukeholder May 6, 2026
ca11437
Merge branch '5.x' into 5.7
lukeholder May 6, 2026
462d55e
Merge branch '5.7' into nathaniel/5.7-user-with-orders-deletion-blocker
lukeholder May 6, 2026
cab6f12
Add `customerDeleted` flag to orders
nfourtythree May 6, 2026
d3455f0
Merge branch 'nathaniel/5.7-user-with-orders-deletion-blocker' of git…
nfourtythree May 6, 2026
d0e4b9a
Temp bump CMS reqs to `5.10` (dev branch for now)
nfourtythree May 6, 2026
73798a1
Merge branch '5.7' into nathaniel/5.7-user-with-orders-deletion-blocker
nfourtythree May 6, 2026
c3e2d02
changelog
nfourtythree May 6, 2026
6df3e8b
fix cs
nfourtythree May 6, 2026
eed986c
PHPstan fixes
nfourtythree May 6, 2026
802c87f
phpstan
nfourtythree May 6, 2026
b5275e9
Merge branch '5.x' into 5.7
nfourtythree May 7, 2026
cfbc317
Merge branch '5.7' into nathaniel/5.7-user-with-orders-deletion-blocker
nfourtythree May 7, 2026
d68979c
fix cs
nfourtythree May 7, 2026
e79c094
Merge branch '5.7' into nathaniel/5.7-user-with-orders-deletion-blocker
nfourtythree May 7, 2026
52d024c
Remove
lukeholder May 11, 2026
624f07a
Cleanup
lukeholder May 11, 2026
26e27c8
Cleanup string and collection usage
lukeholder May 11, 2026
65b7a0a
WIP
lukeholder May 12, 2026
9c38dd0
Merge branch '5.7' into nathaniel/pt-2823-5x-catalog-pricing-doesnt-u…
nfourtythree May 13, 2026
16b50a8
translations
lukeholder May 14, 2026
550cec4
Merge remote-tracking branch 'origin/5.7' into feature/has-purchasabl…
lukeholder May 19, 2026
95ba6aa
Fix @since tag, namespace, typo, and add changelog entry
lukeholder May 20, 2026
ee788c4
Implement match-aware modifyQuery in HasPurchasablesConditionRule
lukeholder May 20, 2026
70234b8
Rename match mode 'exact' to 'only'
lukeholder May 20, 2026
2343101
Add containsPurchasables to OrderQuery; rename rule to ContainsPurcha…
lukeholder May 20, 2026
559fabb
Move match dropdown before purchasable type in condition UI
lukeholder May 20, 2026
3ae9a80
Hide purchasable type dropdown when only one type is registered
lukeholder May 20, 2026
f447fbc
Document containsPurchasables purchasables key as array<int|Purchasab…
lukeholder May 20, 2026
55e8329
Move any/all/only to ContainsPurchasablesMatch enum
lukeholder May 20, 2026
7aaf21f
Update CHANGELOG-WIP with new classes and methods
lukeholder May 20, 2026
fc5cd02
Merge remote-tracking branch 'origin/5.7' into feature/product-permis…
lukeholder May 20, 2026
9ade8b4
WIP
lukeholder May 20, 2026
e6eefb0
Fix stale variable names and clean up old permission rows in migration
lukeholder May 20, 2026
d7c30cf
Cleanup
lukeholder May 20, 2026
5affb1e
Fix phpstan, cs, and align migration with Craft core conventions
lukeholder May 20, 2026
787898f
Update composer deps
lukeholder May 20, 2026
4772d31
Merge branch '5.7' into nathaniel/5.7-user-with-orders-deletion-blocker
lukeholder May 20, 2026
ebe58c4
Cleanup
lukeholder May 20, 2026
923d4ed
Cleanup
lukeholder May 20, 2026
5ae07f0
Merge pull request #4290 from craftcms/nathaniel/5.7-user-with-orders…
lukeholder May 20, 2026
36bca3e
Merge branch '5.7' into feature/has-purchasables-condition-rule
lukeholder May 20, 2026
18e7698
Merge branch 'origin/5.7' into feature/has-purchasables-condition-rule
lukeholder May 20, 2026
15e747a
Add read-only mode to cart retrieval
boboldehampsink Mar 9, 2026
01eb35d
Add get static cart
lukeholder May 20, 2026
6a06e3a
Cleanup
lukeholder May 20, 2026
33ebc60
Merge branch '4.x' into feature/load-cart-token-4x
lukeholder May 20, 2026
01d9492
no need
lukeholder May 20, 2026
a7bf2d4
Cleanup
lukeholder May 20, 2026
899cd76
Fix tests
lukeholder May 20, 2026
4fa4a42
Add commerce rate limiter
lukeholder May 20, 2026
f6f312a
Cleanup
lukeholder May 20, 2026
0372e5a
Fix tests
lukeholder May 20, 2026
6aae0fb
Merge branch '5.7' into nathaniel/pt-2823-5x-catalog-pricing-doesnt-u…
nfourtythree May 20, 2026
9eb4547
wip
nfourtythree May 21, 2026
633e9ee
Merge branch '5.x' into wip-shipping-rules
nfourtythree May 21, 2026
fb197b4
Do not try and retrieve shipping method/rule price if it doesn’t matc…
nfourtythree May 21, 2026
ad038f5
Making sure we aren’t returning disabled shipping methods for selection
nfourtythree May 21, 2026
4835841
memoize matching shipping rule
nfourtythree May 21, 2026
3ac6630
Tidy
nfourtythree May 21, 2026
a90d120
Ensure memoization is being clear correctly
nfourtythree May 21, 2026
9c9bbb4
Fix tokens
lukeholder May 27, 2026
c01ce6f
Load cart and pdf tokens fixed
lukeholder Jun 3, 2026
ee97808
Release notes
lukeholder Jun 3, 2026
3e3372d
Cleanup
lukeholder Jun 3, 2026
9b50ef0
Peek cart
lukeholder Jun 3, 2026
23a3a9c
Merge pull request #4263 from craftcms/codex/read-only-cart-mode
lukeholder Jun 3, 2026
1f4a63c
Rename catalog pricing queue row methods to match changelog
lukeholder Jun 3, 2026
81ee442
Load catalog pricing rules across stores when queue row has no storeId
lukeholder Jun 3, 2026
078f34e
Tighten exception types and test assertions for catalog pricing queue
lukeholder Jun 3, 2026
67d44fa
update variant title after record is saved
i-just Jun 3, 2026
587a10e
WIP
lukeholder Jan 18, 2024
0445f74
updated changelog
i-just Jun 3, 2026
9b09473
Return event rate from PaymentCurrency::getRate()
lukeholder Jun 3, 2026
ee6fafe
Fire rate event on all conversions, fix transaction context
lukeholder Jun 3, 2026
9911bd4
Add tests for PaymentCurrencyRateEvent
lukeholder Jun 3, 2026
15fa82c
Update changelog-wip for PaymentCurrencyRateEvent
lukeholder Jun 3, 2026
05d55f7
Move PaymentCurrencyRateEvent from model to service
lukeholder Jun 3, 2026
0a89107
Merge pull request #3371 from craftcms/feature/payment-currency-rate-…
lukeholder Jun 3, 2026
c26c5ba
Cleanup
lukeholder Jun 3, 2026
6bd34d8
Merge branch 'feature/payment-currency-rate-override' into 5.7
lukeholder Jun 3, 2026
d19a921
Merge branch '4.x' into 5.7
lukeholder Jun 3, 2026
ac658bb
Cleanup release notes after merge
lukeholder Jun 3, 2026
a45e2b5
Merge branch '5.7' into bugfix/variant-title-format
lukeholder Jun 3, 2026
21ef947
Merge branch '5.x' into 5.7
lukeholder Jun 3, 2026
e089753
Merge branch '5.7' into bugfix/variant-title-format
lukeholder Jun 3, 2026
19f0bfe
Update deps
lukeholder Jun 3, 2026
7270ca2
Merge branch '5.7' into bugfix/variant-title-format
lukeholder Jun 3, 2026
388b3db
Add view column options to inventory screen
lukeholder Dec 8, 2025
b2c5e49
Fix review issues: translations, memory leak, destroy, storage key, A…
lukeholder Jun 3, 2026
e27ba20
Reduce inventory table default page size from 25 to 15
lukeholder Jun 3, 2026
3a8ad9a
Fix inventory table query performance
lukeholder Jun 3, 2026
1e3cf49
Merge branch 'feature/inventory-columns' into 5.7
lukeholder Jun 3, 2026
cf3a7e1
Add changelog entry for inventory column selection
lukeholder Jun 3, 2026
f2b9b3f
Release note
lukeholder Jun 3, 2026
423b9dd
Merge pull request #4308 from craftcms/bugfix/variant-title-format
lukeholder Jun 3, 2026
7e6bf27
Cleanup
lukeholder Jun 3, 2026
02b2cca
Cleanup all code TODOS
lukeholder Jun 3, 2026
55ab93f
Merge branch '5.x' into 5.7
nfourtythree Jun 3, 2026
f840f71
Merge branch '5.7' into nathaniel/pt-2823-5x-catalog-pricing-doesnt-u…
nfourtythree Jun 3, 2026
f32f4ea
Revert "Load catalog pricing rules across stores when queue row has n…
nfourtythree Jun 3, 2026
54f5126
fix cs
nfourtythree Jun 3, 2026
5f55124
Merge branch '5.7' into feature/5.x-shipping-method-and-rules-perform…
nfourtythree Jun 3, 2026
b2f2f9f
Fallback to token
lukeholder Jun 3, 2026
08d938b
Changelog update
nfourtythree Jun 3, 2026
7208845
fix-cs
nfourtythree Jun 3, 2026
8579236
phpstan fix
nfourtythree Jun 3, 2026
d992aa9
Merge branch '5.7' into nathaniel/pt-2823-5x-catalog-pricing-doesnt-u…
nfourtythree Jun 3, 2026
1c31764
Merge branch '5.7' into feature/5.x-shipping-method-and-rules-perform…
nfourtythree Jun 3, 2026
c18b088
Merge branch '5.x' into 5.7
nfourtythree Jun 3, 2026
89d401e
Merge pull request #4301 from craftcms/feature/5.x-shipping-method-an…
nfourtythree Jun 3, 2026
91520bb
Merge branch '5.7' into nathaniel/pt-2823-5x-catalog-pricing-doesnt-u…
nfourtythree Jun 3, 2026
cb3b0bc
Fix cs
nfourtythree Jun 3, 2026
71b525a
Merge pull request #4072 from craftcms/nathaniel/pt-2823-5x-catalog-p…
nfourtythree Jun 3, 2026
b784af6
Improve performance of order edit by on demand loading shipping methods
nfourtythree Jun 5, 2026
7a37226
add test
nfourtythree Jun 5, 2026
66b0f82
tweak
nfourtythree Jun 5, 2026
ebfd858
Tidy ShippingMethod
nfourtythree Jun 5, 2026
83c9952
fix cs
nfourtythree Jun 5, 2026
2a3bdbe
fix test
nfourtythree Jun 5, 2026
fc6d7cb
Tidy up
nfourtythree Jun 9, 2026
9d7f94e
Admin Notices WIP
lukeholder Jun 15, 2026
3ff97c5
Merge branch '5.7' into feature/5.x-order-admin-notices
lukeholder Jun 15, 2026
b2bd2db
Build and update
lukeholder Jun 15, 2026
fba86b2
Merge pull request #4311 from craftcms/bugfix/order-edit-shipping-met…
lukeholder Jun 15, 2026
c8dcd69
only show clear buttons when editing.
lukeholder Jun 15, 2026
f325d17
Merge branch '5.7' into feature/5.x-order-admin-notices
lukeholder Jun 15, 2026
519a12a
Build after merge
lukeholder Jun 15, 2026
0e42494
Correct changelog location
lukeholder Jun 15, 2026
de33b53
Merge branch '5.x' into 5.7
lukeholder Jun 15, 2026
8e5f16c
Merge branch '5.7' into feature/5.x-order-admin-notices
lukeholder Jun 15, 2026
a8e89ff
Update composer
lukeholder Jun 15, 2026
e113dcd
Merge branch '5.7' into feature/5.x-order-admin-notices
lukeholder Jun 15, 2026
ca26924
link GHSA-78vr-q6cf-c7p6
angrybrad Jun 16, 2026
90cde07
link GHSA-h5gm-x9wr-vhcm
angrybrad Jun 16, 2026
54bfa51
Add admin notices for discount usage and inventory overages on order …
lukeholder Jun 17, 2026
aaa4f42
Use constant
lukeholder Jun 17, 2026
31be067
Potential fix for pull request finding
lukeholder Jun 17, 2026
282448e
Cleanup
lukeholder Jun 17, 2026
61d445c
Sort translations
brandonkelly Jun 25, 2026
ddd520c
Update translations
brandonkelly Jun 25, 2026
3116e36
Reorganize permissions
brandonkelly Jun 25, 2026
04833a9
Message tweaks
brandonkelly Jun 25, 2026
5ebe15a
Deletion blocker cleanup
brandonkelly Jun 25, 2026
6c659df
Fix PHP error
lukeholder Jun 26, 2026
e95bc9f
Cleanup
lukeholder Jun 26, 2026
3cef8ba
Cleanup
lukeholder Jun 26, 2026
d9de355
Message tweaks
brandonkelly Jul 1, 2026
77f3e8e
Merge branch '4.x' of https://github.com/craftcms/commerce into 5.7
brandonkelly Jul 1, 2026
d3d148c
Allow DOMPDF 3.x
lukeholder Jul 1, 2026
41fcc9a
Merge branch '5.7' of github.com:craftcms/commerce into 5.7
lukeholder Jul 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 99 additions & 0 deletions CHANGELOG-WIP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
# WIP Release Notes for Craft Commerce 5.7

### Store Management

- Order notices now support an admin-only type. Admin notices are displayed in a separate red box above customer notices in the CP order edit page, with individual **Clear** buttons (visible in edit mode only). Orders can be filtered by admin notice presence via a new **Has Admin Notices** condition rule on the order index.
- An admin notice is now added to an order when a discount's total usage limit is exceeded during order completion (e.g. due to concurrent orders).
- An admin notice is now added to an order when a coupon's max uses is exceeded during order completion.
- An admin notice is now added to an order when available inventory for a purchasable goes below zero during order completion, if the purchasable does not allow out-of-stock purchases.
- Added a "Contains Purchasables" order condition rule, which supports "any", "all", and "only" match modes. ([#4242](https://github.com/craftcms/commerce/issues/4242))
- When deleting a user with orders or subscriptions, store admins are now presented with actionable options to resolve the blocker (reassign orders, remove customer data, or delete subscriptions), rather than a generic error.
- Anonymous users attempting to load a cart with an expired or missing token are now shown a cart recovery form, which sends a new recovery link to the cart's email address.
- The "Share cart…" order element action now generates a secure tokenized URL.

### Administration

- Product permissions have been refined into separate "View", "Create", "Save", and "Delete" permissions.
- Added the `cartLoadUrlExpiry` setting, for controlling how long cart load links remain valid (default: 7 days).
- Added a new `commerce_cart_recovery` system message for customizing cart recovery emails.
- The inventory screen now has a "View" menu for showing and hiding columns. Column preferences are saved per-user and per-location. ([#4193](https://github.com/craftcms/commerce/pull/4193))
- Craft Commerce user permissions are now organized into conceptual groups.

### Development

- Added a `cart/peek-cart` controller action, which returns the existing cart for the current request without creating a new cart or setting cookies — useful for cached pages such as a header cart badge, where `Set-Cookie` responses should be avoided. ([#4263](https://github.com/craftcms/commerce/pull/4263))
- `commerce/cart/load-cart` now returns JSON responses for `application/json` requests, including a `challengeUrl` on failure.
- Improved the performance of shipping method and rule matching.

### Extensibility

- Added `craft\commerce\elements\Order::getAdminNotices()`.
- Added `craft\commerce\elements\Order::hasAdminNotices()`.
- Added `craft\commerce\elements\conditions\orders\HasAdminNoticesConditionRule`.
- Added `craft\commerce\elements\db\OrderQuery::$hasAdminNotices`.
- Added `craft\commerce\elements\db\OrderQuery::hasAdminNotices()`.
- Added `craft\commerce\models\OrderNotice::NOTICE_TYPE_ADMIN`.
- Added `craft\commerce\models\OrderNotice::NOTICE_TYPE_CUSTOMER`.
- Added `craft\commerce\models\OrderNotice::$noticeType`.
- `craft\commerce\elements\Order::clearNotices()` now has a `$clearAdminNotices` argument (default `false`), which must be passed as `true` to also clear admin notices.
- `craft\commerce\elements\Order::getNotices()` no longer returns admin notices. Use `getAdminNotices()` instead.

- Added `craft\commerce\base\ShippingMethod::clearMatchingShippingRuleCache()`.
- Added `craft\commerce\controllers\CartController::actionCartChallenge()`.
- Added `craft\commerce\controllers\CartController::actionCartSent()`.
- Added `craft\commerce\controllers\CartController::actionEmailChallenge()`.
- Added `craft\commerce\controllers\CartController::actionPeekCart()`.
- Added `craft\commerce\controllers\OrdersController::actionGetLoadCartUrl()`.
- Added `craft\commerce\controllers\OrdersController::actionGetShippingMethodOptions()`.
- Added `craft\commerce\controllers\OrdersController::actionReassign()`.
- Added `craft\commerce\controllers\OrdersController::actionReassignModal()`.
- Added `craft\commerce\controllers\OrdersController::actionRemoveCustomerData()`.
- Added `craft\commerce\controllers\OrdersController::actionRemoveCustomerDataModal()`.
- Added `craft\commerce\controllers\SubscriptionsController::actionDeleteSubscriptions()`.
- Added `craft\commerce\controllers\SubscriptionsController::actionDeleteSubscriptionsModal()`.
- Added `craft\commerce\db\Table::CATALOG_PRICING_QUEUE`.
- Added `craft\commerce\elements\Order::getCustomerDeleted()`.
- Added `craft\commerce\elements\Order::hasPurchasables()`.
- Added `craft\commerce\elements\Order::setCustomerDeleted()`.
- Added `craft\commerce\elements\conditions\orders\ContainsPurchasablesConditionRule`.
- Added `craft\commerce\elements\db\OrderQuery::$containsPurchasables`.
- Added `craft\commerce\elements\db\OrderQuery::containsPurchasables()`.
- Added `craft\commerce\elements\deletionblockers\OrderCustomersDeletionBlocker`.
- Added `craft\commerce\elements\deletionblockers\SubscriptionCustomersDeletionBlocker`.
- Added `craft\commerce\enums\ContainsPurchasablesMatch`.
- Added `craft\commerce\elements\db\OrderQuery::$containsPurchasables`.
- Added `craft\commerce\elements\db\OrderQuery::containsPurchasables()`.
- Added `craft\commerce\elements\Order::hasPurchasables()`.
- Added `craft\commerce\enums\ContainsPurchasablesMatch`.
- Added `craft\commerce\events\PaymentCurrencyRateEvent`, allowing plugins to override a payment currency's exchange rate at the point of use.
- Added `craft\commerce\records\CatalogPricingQueue`.
- Added `craft\commerce\services\Carts::getLoadCartUrl()`.
- Added `craft\commerce\services\Carts::peekCart()`.
- Added `craft\commerce\services\CatalogPricing::reserveCatalogPricingQueueRow()`.
- Added `craft\commerce\services\CatalogPricing::releaseCatalogPricingQueueRowById()`.
- Added `craft\commerce\services\CatalogPricing::deleteCatalogPricingQueueRowById()`.
- Added `craft\commerce\services\Orders::reassignOrders()`.
- Added `craft\commerce\services\Orders::removeCustomerData()`.
- Added `craft\commerce\services\PaymentCurrencies::EVENT_DEFINE_PAYMENT_CURRENCY_RATE`.
- Added `craft\commerce\services\PaymentCurrencies::getRateFor()`.
- Added `craft\commerce\services\ShippingRuleCategories::getAllShippingRuleCategoriesData()`.
- Added `craft\commerce\services\ProductTypes::getCreatableProductTypeIds()`.
- Added `craft\commerce\services\ProductTypes::getViewableProductTypeIds()`.
- Added `craft\commerce\services\ProductTypes::getViewableProductTypes()`.
- `craft\commerce\elements\Order::getLoadCartUrl()` now returns a secure tokenized URL.
- `craft\commerce\elements\Subscription::getSubscriber()` now returns `?User` instead of `User`.
- Deprecated `craft\commerce\services\ProductTypes::getEditableProductTypeIds()`. Use `getViewableProductTypeIds()` instead.
- Deprecated `craft\commerce\services\ProductTypes::getEditableProductTypes()`. Use `getViewableProductTypes()` instead.
- Deprecated `craft\commerce\services\ProductTypes::hasPermission()`. Use `$user->can()` directly instead.

### Fixed

- Fixed a bug where variants with `{id}` in their Variant Title Format weren’t always getting created with the correct generated title. ([#4308](https://github.com/craftcms/commerce/pull/4308))

### System

- Craft Commerce now requires Craft CMS 5.10.0 or later.
- Craft Commerce now supports `dompdf/dompdf` 3.x, in addition to 2.x.
- Craft Commerce now requires `ibericode/vat` 2.0 or later.
- Cart load URLs are now generated with time-limited security tokens, requiring a valid token or authenticated cart ownership to load a cart.
- PDF download URLs now use the `code` query param instead of `token`. Existing URLs with `token` can be redirected via a server rewrite rule (see [upgrade notes](https://gist.github.com/lukeholder/7605ee8dbb0cbde305ba86bc05747315)) ([#4303](https://github.com/craftcms/commerce/issues/4303)).
6 changes: 3 additions & 3 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@
"prefer-stable": true,
"require": {
"php": "^8.2",
"craftcms/cms": "^5.9.15",
"dompdf/dompdf": "^2.0.2",
"ibericode/vat": "^1.2.2",
"craftcms/cms": "^5.10.0",
"dompdf/dompdf": "^2.0.2 || ^3.0",
"ibericode/vat": "^2.0",
"iio/libmergepdf": "^4.0",
"moneyphp/money": "^4.2.0"
},
Expand Down
Loading