Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Install
Works with Drupal: 8.xUsing Composer to manage Drupal site dependencies
Alternative installation files
Download commerce-8.x-2.0-rc3.tar.gztar.gz
428.34 KB
MD5: ad7fee0c9df2a47477e25b0d979357b0
SHA-1: e2e5939fda121b4f9732a507b5e333f4b1743314
SHA-256: 0ded52a1e9afa1fb45f89847e791b4558763806f21469250e6e1a6c1ee3df217
Download commerce-8.x-2.0-rc3.zipzip
967.9 KB
MD5: 98625ef9609005de97f387daddff4f3b
SHA-1: 9b6bba7ba05821283e5fc8de7f6c9049e881acf1
SHA-256: 022e3e81879c413b9d765767aa711d161378c10c504f63aaf59c16c29518179b
Release notes
The next release will be 2.0, released on September 20th.
Join us for release parties all over the world: https://commerceguys.com/celebrate-drupal-commerce-2
Major changes since RC2:
- Major improvements to our documentation (new outline, split into User and Developer guides)
- Now fully compatible with Drupal 8.4.x
- Coupons have been moved to their own tab next to the Promotion edit form. This will help us implement bulk coupon generation in a future release.
- Improved the UX of the currency listing page ("Import currency" -> "Add currency", "Add currency" -> "Add custom currency")
- On-site gateways can now implement webhooks (via the new SupportsNotificationsInterface)
- Orders can now be locked, which protects then against edits and hides their carts. Used at checkout when the customer is sent off-site to pay.
- Added an optional "Empty cart" button for the cart form
Changes since 8.x-2.0-rc2:
- #2909336 by bojanz: No events are fired for coupon CRUD
- #2909171 by agoradesign: In Austrian stores both the Austrian and the German VAT is added
- #2906563 by edwardaa, bojanz, MegaChriz: Provide a way to explicitly lock the order
- #2902408 by chrisrockwell, bojanz: Applying a coupon saves the other checkout panes
- #2908571 by bojanz: ProfileSelect should validate that the default country is allowed
- #2908568 by bojanz: Remove the "Site default" default country from the profile address field
- #2870672 followup: Fix the mismatched field definition error by adding an update hook.
- #2898258 followup: Improve the update hook by copying the one from core.
- #2904570 by edwardaa, bojanz: $this->entityId always NULL in plugins in Drupal 8.4.x
- #2908285 by Wim Leers, bojanz: Payment link template of 'operation-form' does not work in Drupal 8.4
- #2902880 by bojanz: Move coupons to a new tab
- #2904542 by czigor: CommerceKernelTestBase creates a store based on a missing store type
- #2900917 by swickham, bojanz: Add an optional "Empty cart" button
- #2907828 by Sweetchuck: ProductForm class in #attributes should be an array
- #2898258 by bojanz, Berdir: Sync the ProductForm UX with the 8.4.x NodeForm
- #2906457 by jackbravo: Pass the payment to HasPaymentInstructionsInterface::buildPaymentInstructions (#783)
- #2905147 by mglaman: Use order item label for purchased entity label
- #2905147 by duozersk: Commerce Log: Call to a member function label() on null
- #2888231 by mglaman: Attribute widget should respect if order item has a pre-selected purchased entity
- #2870672 by bojanz, vasike, Berdir: Product should implement EntityPublishedInterface
- #2893967 by cbildstein, acromel, bojanz, AaronChristian, rszrama: Improve the UX of importing / creating currencies
- #2906360 by jackbravo, bojanz: Move OffsitePaymentGatewayInterface::onNotify to its own interface
- #2856209 by vasike, bojanz: PaymentStorage should provide a method to load a payment by its remote id
- #2900938 by FatherShawn: PaymentAccessControlHandler fails if the Order does not exist
- #2874055 by jsacksick: Create a functional test for the Custom tax type plugin
- #2842256 by steveoliver, finne: Provide a getter method for adjusted price of order items
- #2906624 by joachim, bojanz: declare the Commerce Condition plugin type
- #2906027 by czigor: Add Payments to the order listing dropbutton
- #2906863 by bojanz: Fix permissions of commerce_checkout.module and commerce_payment.module
- #2900981 by czigor, tranthanhthuy, bojanz: The price is multiplied by 1000.000 when translating a variation
- #2906026 by kevinhowbrook: Rename PaymentStorage::loadMultipleForOrder to loadMultipleByOrder
- #2906209 by bojanz: Add ProductVariationStorage::loadBySku($sku)
- #2896815 part 2: The configured order summary view is never used.