Install
Works with Drupal: 7.xUsing Composer to manage Drupal site dependencies
Downloads
Release notes
Long in coming, this release of Commerce Core 1.x resolves many longstanding issues with a focus on performance, PHP 7.4 compatibility, and various quality of life improvements.
New features
The most notable new features in the release include:
- The customer profile add form is now hidden on edit pages by default, preventing the creation of empty profiles on order save.
- Updates to the way the continue button is processed in checkout to support client-side validation on checkout forms via third party modules.
- There is no an E-mail address extra field on orders that can be enabled on rendered orders. Please review the notes after updating to understand how to enable this extra field. It will appear to be visible on the order field display settings page, but it will not actually appear until you resave that form. (We didn't want it to automatically appear on sites that aren't ready for it!)
- You can now disable permitting multiple checkout completions per order in the order settings form. Toggling this may help resolve longstanding issues with off-site payment gateway notifications triggering the process twice asynchronously.
- The line item quantity token will trim the decimal places off of integer quantity values, e.g. a quantity of "1.00" will now replace as "1".
Performance improvements
In addition to some minor optimizations, the following performance related improvements were included:
- The number of products loaded on product display pages with multiple variations has been reduced.
- New indexes were added to the order table to make order Views more performant on sites with a lot of orders.
- Sites with large numbers of order and product revisions can delete unnecessary revisions using
entity_revision_delete().
Sites with large numbers of orders or order revisions should review the update messages before applying updates. Two updates in particular may need to be skipped and processed asynchronously - adding a new field to the order revision table and adding four indexes to the order table.
Contributors (33)
rszrama, nullvariable, SpartyDan, joshmiller, khiminrm, GoZ, danmer, jsacksick, Anybody, sjmobley, danyg, TomTech, czigor, scotwith1t, ron_s, bojanz, shylajaphp, aryashreep, TynanFox, thePanz, lisastreeter, krystalcode, torgosPizza, mr.baileys, amateescu, Bird-Kid, mthomas, jonhattan, mglaman, getu-lar, recidive, axle_foley00, ram4nd
Changelog
Issues: 30 issues resolved.
Changes since 7.x-1.15:
Bug
- #3200790 by rszrama: setter permissions "administer payment transactions" should be labeled "administer payments"
- #3206011 by danyg: ensure orders with more than payment transaction are recognized as having payments
- #3236711 by Anybody, rszrama: commerce_line_item_form_alter creates core warning as it loads "false" order
- #2868778 by czigor, scotwith1t: Views relating to line items may not have a line item id
- #3160005 by ron_s: JavaScript bug in customer profile code
- #3103484 by Bird-Kid: ensure deleted line items result in order saves during cart refresh.
- #3023467 by rszrama: ensure product reference autocomplete widgets have at least one valid SKU when required.
- #2568791 by jonhattan, rszrama: translate the options for the "Related customer profile reference field" in the customer profile checkout pane settings form.
- #2512632 by mglaman, getu-lar: add a commerce_payment_transaction theme hook implementation.
- #3057706 by TynanFox, rszrama: fix Add to Cart form warnings regarding reset() for products with optional, empty attributes.
Feature
- #2660056 by rszrama: add a revision deletion function to the product controller for entity_revision_delete() compatibility
- #2069497 by nullvariable, SpartyDan, joshmiller, rszrama: update the line item quantity token to render integer values without the decimal places
- #2442049 by khiminrm, rszrama, GoZ, danmer, jsacksick: add a revision deletion function to the order controller for entity_revision_delete() compatibility
- #3246762 by rszrama: Set the timestamp of when the order paid in full hook is invoked
- #2609176 by Anybody, rszrama, sjmobley: Add an order setting to disable multiple checkout completion invocations per order
- #2445001 follow-up by rszrama: correct the logic in the skip update variables.
- #2846893 by shylajaphp, aryashreep, danmer, TynanFox, rszrama, khiminrm: Add an extra field to orders that renders the order e-mail address (must be explicitly enabled on existing sites)
- #2724647 by czigor, thePanz, khiminrm, rszrama, lisastreeter, krystalcode: Improve product loading performance in commerce_product_reference_entity_view()
- #3052201 by khiminrm, jsacksick, rszrama, danmer: Revision the order.placed timestamp
- #3016616 by jsacksick, torgosPizza: Introduce a hook_commerce_cart_order_can_refresh().
- #3150339 by axle_foley00, rszrama: Allow modules to add other Card Types
- #3130102 by rszrama: Add hook_commerce_checkout_access_alter() to let modules alter the default checkout access resolution.
Task
- #3220338 by rszrama: Identify Commerce Core via site generator strings
- #1775750 by TomTech, khiminrm: rewrite checkout continue button behavior to resolve conflicts with various third-party clientside validation methods
- #3226890 by bojanz, rszrama: Update the symbol for NOK to 'kr'
- #1313154 by mr.baileys, amateescu, khiminrm: replace t() with check_plain(strtr(...)) in commerce_currency_format()
- #3182601 by rszrama: Fix the API docs for the hook_commerce_cart_order_pre_refresh() parameter.
- #3145487 by khiminrm, mthomas: Make Commerce 1.x compatible with PHP 7.4
- #2274833 by recidive, rszrama, axle_foley00: Hide the customer profile add form on order edit pages by default
- #3044733 by ram4nd, rszrama: Use array_key_exists() instead of in_array() + array_keys() for a small performance gain.