Skip to content

Releases: craftcms/commerce

4.4.1

12 Jan 08:50
4.4.1
ad0ad0b
Compare
Choose a tag to compare
  • Fixed a SQL error that could occur when updating to Commerce 4.4.0 on MySQL. (#3367)
  • Fixed a PHP error that occurred when saving a discount. (#3364)

4.4.0

11 Jan 16:38
4.4.0
27ca37d
Compare
Choose a tag to compare
  • Craft Commerce now requires Craft CMS 4.6.0 or later.
  • Added search to the Discounts index. (#2322)
  • Improved the performance of the Discounts index. (#3347)
  • Improved the performance of the commerce/upgrade command. (#3286)
  • Added craft\commerce\services\Discounts::ensureSortOrder().
  • Fixed a bug where calling craft\commerce\services\Carts::forgetCart() wouldn’t completely clear the cart. (#3353)
  • Fixed a bug where the Edit Order page could become locked when editing an adjustment. (#3351)
  • Fixed a bug that prevented the creation of a non-Stripe subscription. (#3365)

4.3.3

14 Dec 11:59
976e062
Compare
Choose a tag to compare
  • Improved the performance of variant queries’ hasProduct and hasVariant params. (#3325)
  • Order statuses with long names no longer wrap on the Orders index page. (#3335)
  • Fixed a bug where carts could get duplicate validation errors. (3334)
  • Fixed a bug where tab selection was inconsistent on Edit Order pages.
  • Fixed a bug where sales weren’t respecting elements’ site statuses. (#3328)
  • Fixed a bug where soft-deleted order statuses and line item statuses weren’t getting restored when applying project config changes. (#3164)
  • Fixed a bug where carts weren’t getting restored after signing in.
  • Fixed a bug where guests could use discounts with per-user usage limits. (#3326)
  • Fixed a bug where orders with a processing transaction weren’t getting completed.

4.3.2

01 Nov 08:26
Compare
Choose a tag to compare
  • Product GraphQL queries now support promotable, freeShipping, defaultSku, defaultHeight, defaultLength, defaultWidth, and defaultWeight arguments. (#3307)
  • Product GraphQL queries now support promotable, freeShipping, defaultSku, defaultHeight, defaultLength, defaultWidth, defaultWeight, and defaultVariant fields. (#3307)
  • Fixed a bug where it was possible to select soft-deleted tax categories.
  • Fixed a PHP error that occurred when sending an email with a missing PDF filename format. (#3309)
  • Fixed a PHP error that occurred when viewing soft-deleted orders. (#3308)
  • Fixed a bug where saving a shipping zone could fail if a tax zone existed with the same name. (#3317)
  • Fixed a bug where craft\commerce\services\LineItems::getLineItemById() wasn’t decoding the snapshot data. (#3253)

4.3.1

18 Oct 15:44
4.3.1
bdca33a
Compare
Choose a tag to compare
  • Added the commerce/gateways/list command.
  • Added the commerce/gateways/webhook-url command.
  • Improved the performance of the commerce/upgrade command. (#3286)
  • Auto-generated variant titles and SKUs are now generated before products are saved. (#3297)
  • Added craft\commerce\models\ShippingMethodOption::$shippingMethod. (#3274, #3271)
  • craft\commerce\services\Purchasables::EVENT_PURCHASABLE_SHIPPABLE event handlers can now access the order. (#3279)
  • Fixed a bug where Edit Product pages showed a Delete button for users that didn’t have permission to delete the product. (#3285)
  • Fixed a bug where it was possible to select soft-deleted shipping categories. (#3272)
  • Fixed a bug where the Customer condition rule wasn’t loading correctly. (#3291)
  • Fixed an error that could occur when rendering a PDF. (#2633)
  • Fixed a bug where sales’ and discounts’ timestamps weren’t getting populated. (#3298)
  • Fixed a bug where the commerce/upgrade command could create duplicate inactive users. (#3286)
  • Fixed a bug where commerce/payments/pay JSON responses were missing the redirect key. (#3265)

3.4.23

18 Oct 17:18
3.4.23
bc11b8a
Compare
Choose a tag to compare
  • craft\commerce\services\Purchasables::EVENT_PURCHASABLE_SHIPPABLE event handlers can now access the order. (#3279)
  • Fixed a SQL error that could occur when fetching emails. (#3267)
  • Fixed a bug where gateway URLs could be malformed. (#3299)
  • Fixed an XSS vulnerability.

4.3.0

13 Sep 19:43
4.3.0
65a6166
Compare
Choose a tag to compare
  • Sales and discounts now support using related entries in their matching item conditions. (#3134, #2717)
  • It’s now possible to query products by shipping category and tax category. (#3219)
  • Guest customers registering during checkout now have their addresses saved to their account. (#3203)
  • Product conditions can now have “Product Type”, “Variant SKU”, “Variant Has Unlimited Stock”, “Variant Price”, and “Variant Stock” rules. (#3209)
  • Improved the performance of discount recalculation.
  • Improved the performance of the commerce/upgrade command. (#3208)
  • Added the commerce/cart/forget-cart action. (#3206)
  • The commerce/cart/update-cart action now accepts firstName and lastName address parameters. (#3015)
  • Added craft\commerce\controllers\OrdersController::EVENT_MODIFY_PURCHASABLES_TABLE_QUERY. (#3198)
  • Added craft\commerce\elements\Order::$orderCompletedEmail. (#3138)
  • Added craft\commerce\elements\db\ProductQuery::$shippingCategoryId.
  • Added craft\commerce\elements\db\ProductQuery::$taxCategoryId.
  • Added craft\commerce\elements\db\ProductQuery::shippingCategory().
  • Added craft\commerce\elements\db\ProductQuery::shippingCategoryId().
  • Added craft\commerce\elements\db\ProductQuery::taxCategory().
  • Added craft\commerce\elements\db\ProductQuery::taxCategoryId().
  • Added craft\commerce\models\Discount::hasBillingAddressCondition().
  • Added craft\commerce\models\Discount::hasCustomerCondition().
  • Added craft\commerce\models\Discount::hasOrderCondition().
  • Added craft\commerce\models\Discount::hasShippingAddressCondition().
  • Deprecated payment source creation via the commerce/subscriptions/subscribe action.
  • Deprecated craft\commerce\elements\Order::setEmail(). Order::setCustomer() should be used instead.
  • Removed the htmx option from thecommerce/example-templates command.
  • Removed the color option from thecommerce/example-templates command.
  • Added craft\commerce\events\ModifyPurchasablesTableQueryEvent. (#3198)
  • Fixed a bug where products/variants could be saved with a minimum quantity that was set higher than the maximum quantity. (#3234)
  • Fixed a bug where craft\commerce\elements\Order::hasMatchingAddresses() could incorrectly return false. (#3183)
  • Fixed a bug where changing a user’s email could cause additional user elements to be created. (#3138)
  • Fixed a bug where related sales were displaying when creating a new product.
  • Fixed a bug where Commerce wasn’t invoking craft\services\Elements::EVENT_AUTHORIZE_* event handlers.
  • Fixed a bug where discounts’ per user usage counters weren’t getting migrated properly when upgrading to Commerce 4.
  • Fixed a bug where address changes weren’t being synced to carts that were using them. (#3178)
  • Fixed an XSS vulnerability.

4.2.11

06 Jun 06:10
Compare
Choose a tag to compare
  • Fixed a bug where “Send Email” option text wasn’t getting translated. (#3172)
  • Fixed a bug where discounts’ user condition values weren’t getting migrated properly when upgrading to Commerce 4. (#3176)

3.4.22.1

03 Jun 08:19
3.4.22.1
fc08a7b
Compare
Choose a tag to compare
  • Fixed a bug where the incorrect version number was being shown after updating.

4.2.10

31 May 13:22
4.2.10
759a864
Compare
Choose a tag to compare
  • An error notification is now displayed when attempting to delete a user with existing orders or subscriptions. (#3071, #3070)
  • Added support for linking to products and variants from CKEditor fields. (#3150)
  • Fixed a bug where custom field conditions weren’t showing when editing a shipping zone.
  • Fixed a bug where discounts’ user condition values weren’t getting migrated properly when upgrading to Commerce 4. (#3176)
  • Fixed a bug where users weren’t permitted to update their subscriptions on the front-end. (#3155)
  • Fixed a PHP error that could occur when calling craft\commerce\services\Payments::processPayment() without passing the new $redirectData argument.