Commerce 1.1.0-pl available

The initial pre-release for Commerce 1.1 already dates back to August, so we're glad to finally call it stable with the release of Commerce 1.1.0-pl. The updated payment gateways caused a little more work than initially expected, but we're now confident it's stable and ready to use.

If you've not been using the release candidates already, please note:

  • Commerce 1.1 has a hard requirement for PHP 7.1. Trying to upgrade a site running an older version of PHP will fail. Check your site first if you're not sure. 
  • The 1.1 release cleans up some old code. This may cause old (custom/third party) code to break; all official modules have been updated. See the full list here. Most notably the \Commerce::EVENT_ORDER_PAYMENT_RECEIVED event no longer runs. 
  • Stripe, Braintree and Mollie gateways have been completely rebuild. That's mostly a plug and play upgrade - but with changes to the templates it's strongly recommended to make sure it still looks and works as expected in your checkout.

Aside from the new features added in the pre-release, the v1.1.0-pl release also includes some new enhancements to make your life and shop management a little easier.

The Statuses grid has seen a bit of an update to hopefully make it a little easier to use and understand. You can now click the status change actions to directly edit them (for example, to change where emails are sent) and an additional entry has been added to the actions menu. 

It's now also possible to limit availability (for coupons, the various discount types, payment methods, and shipping methods) based on context and minimum/maximum quantity of items in an order. This makes it easy to use different payment methods per shop, or to offer free shipping or a special discount when buying at least 6 products, rather than based on weight or order value, for example.

Also, a ton of bugs have been fixed, varying from the order total not being updated in the checkout when changing the shipping method to broken relative links when clicking on an order item in the dashboard.  

Here's the full changelog for v1.1.0-pl:

  • [core] Move SoftDelete trait to comDiscount instead of derivative classes
  • [core] Send package data (see configuration > data sharing) as base64 to prevent license request timeouts
  • [coupons] Prevent max uses resetting to 1 when it was previously left empty for unlimited uses
  • [coupons] Fix fixed price coupon not being removed from the order when the requirements are no longer met [#425]
  • [checkout] Fix order totals not updating right away when changing the chosen shipping method [S21436]
  • [dashboard] Rework the statuses grid: now lists actions for easier discovery and quicker edits [#509]
  • [dashboard] Fix markup shown in "Orders with this product" grid for the order number
  • [dashboard] Show coupon time availability a bit differently in the grid
  • [dashboard] Allow changing the source status on a status change [S21408]
  • [dashboard] Fix HTTPS check when using a protocol relative site url [#485]
  • [dashboard] Show payment method in order grid [#518]
  • [dashboard] Check for an invalid target status for the payment received status change in the configuration checklist
  • [developer] Allow easier extending of the recipient in comStatusChangeActionEmail with new getRecipient method [F1952]
  • [developer] New ContextsField available for the dashboard
  • [discounts] Add minimum and maximum order item quantity restrictions to coupons, user(group) discounts, and free products [S21387]
  • [discounts] Fix the active checkbox always been checked, even when a discount was previously deactivated [S20833]
  • [gateways] PayPal: Silence IPN-related errors, IPN is not currently supported [#462]
  • [modules] ItemData: when a link (resource id) is provided, generate a full rather than relative link [S21095]
  • [products] Fix duplicating a product causing you to edit the original instead of the duplicate [S21489]
  • [payments] Make sure webhook payment confirmations trigger the paid status change [#494]
  • [payments] Catch additional exceptions trying to load payment intents from Stripe [#463]
  • [payments] Catch exceptions in legacy gateways and rethrow as TransactionException to allow handling
  • [payments] Add context restrictions and min/max order item quantity restrictions to payment methods
  • [shipping] Add context restrictions and min/max order item quantity restrictions to shipping methods