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-beta1.tar.gztar.gz
291.59 KB
MD5: 0200cf26c6591e2a712990300ae46c37
SHA-1: f5a84f402994739751737de495ec204d8afcff7a
SHA-256: 15c178ec9afa5921a1e43390092b23286353470435bd52ef059a35a0eb6c4e40
Download commerce-8.x-2.0-beta1.zipzip
640.73 KB
MD5: e5da3285edc44bf4045bdd4b0e729725
SHA-1: f5c20884192ed3fc19276220c7b63e2f21f31f85
SHA-256: 02d48ca07fd80af0f85694aa262bc5f85e2a9b314cb2e172c779f2896bc41dfe
Release notes
First production ready release. From this point on an upgrade path is supported between 2.x releases.
Changes since 8.x-2.0-alpha4:
- #2807861: Improve profile handling
- Fix the build broken by the amount -> number rename.
- Try to get the PHP7 build to run first.
- Rename price->amount to price->number.
- Add a completed timestamp to orders. (#516)
- Add remote_state field to payments. (#515)
- #2807567 by mglaman: Checkout fails when Editor module enabled (#513)
- Fix the build.
- Update for latest Address and commerceguys/addressing.
- Rename the 'default' store type to 'online'.
- #2610220 by mglaman, GoZ, bojanz, jazzdrive3: Create a views argument plugin for filtering by active store
- #2798301 by mitrpaka, googletorp, bojanz: Allow checkout panes to define an admin label
- #2575719 by borisson_, jbertoen, mglaman: Add a test for CartProvider
- #2803241: Create a "calculated price" formatter (#512)
- #2715273 by bojanz, mglaman: Implement full permissions for every entity type
- Temporarily remove commerce_tax so that it can be rebuilt.
- #2805745 by agoradesign: Totals are not recalculated on item removal
- #2796005 by mglaman: Chain resolvers do not support tagged service priority (#484)
- #2803257 by mglaman: OrderRefresh must not touch already completed orders
- #2796747 by agoradesign: Refactor annotation class PromotionOffer to CommercePromotionOffer (#510)
- #2794485 by miteshmap, bojanz: Remove EntityStoreInterface, add EntityStoresInterface
- #2798299 by googletorp, bojanz: Allow payment gateways to define a default payment method type
- #2603478 by mglaman: Follow up to fix test after order item rename.
- #2603478 by vasike, mglaman: Consider renaming line items to (order) items (#503)
- #2802097 by mglaman, mitrpaka: Checkout as a guest - cart not emptied (and no new cart created) after order completetion (#502)
- #2805343: Adjustments added by the UI are removed in order refresh (#506)
- #2798697 by plopesc: Payment Gateway form throws exception when using Workbench Moderation module (#490)
- Fix incorrect #after_build callback in PaymentAddForm.
- Initial improvements to the payment listing.
- #2800223: Create an order refresh process
- Updated .gitignore file and remove one system file in modules directory. (#499)
- #2800889 by agoradesign: Remove getPrice() from ProductVariationInterface
- Added Commerce category to FieldType definitions. (#496)
- #2794497: Require Drupal 8.2
- Make the CS checks pass again with drupal/coder 2.9.
- #2800235 by mglaman: Fix HEAD after pricing. (#494)
- #2800235 by agoradesign: Implement price calculation resolver
- #2799473: Default all address field widgets to "Default country" for site (#492)
- #2796669 by mglaman, krabbe, drugan: Price not updated for variations when products shown in list views
- Changed adjustment amount to required only if there is selected any adjustment. (#483)
- #2770757 by mglaman: Implement offer conditions
- #2770747 by mglaman: Implement offer actions (#445)
- #2762995 by mglaman, dylanf: Add a description/message field (#450)
- #2770883: Provide a custom promotion entity form
- #2769425 by mglaman: Create coupon entity
- #2763253 by kfitz, mglaman: Allow the discount end date to be optional
- #2763695: Rename to commerce_promotion
- #2762993: Implement the basic discount UI structure
- #2793211 by mglaman: Price element valueCallback needs to ensure amount and currency code are not empty
- #2795239 by joshmiller: Store cleanups
- #2791023 by olegel, bojanz: Add a kernel test for PaymentMethod
- #2794999: Add schema for the commerce_remote_id field type
- #2793205 by mglaman: Price element has #maxlength, causes error in Unicode::strlen (#477)
- #2769349 by Dom.: Add functional tests for the payment gateway UI
- #2794323: PaymentRefundForm must validate that the amount is not larger than the balance
- #2794321 by bojanz: PaymentAddForm is broken for multiple gateways
- #2794317 by bojanz: Create an example onsite gateway
- #2791845 by niko-, mglaman: Applied adjustments are not shows on order edit page
- #2790549 by bojanz: Improve the API for payment operations
- #2790535 by bojanz: Add a test flag to payments, restrict deletion
- #2790545 by bojanz: Add $payment->getBalance()
- #2790387 by 1kenthomas, bojanz: Unable to uninstall
- #2790627 by joshmiller: Cart Module Typos
- #2791003 by bojanz: Rewrite the total price calculation logic
- #2790583 by joshmiller, bojanz: Use the calculator for quantity manipulation
- #2791005 by bojanz: Add setters for the variation price and the line item unit price
- #2791001 by bojanz: Entity price getters need to account for empty field data
- #2790853 by mglaman: SchemaIncompleteException allow_registration missing schema
- #2790251 by joshmiller: Fix html typo in CartController.php
- #2789651 by mglaman: Follow up to Calculator class, #2749287
- #2749287 by bojanz, fbailey: Implement a Calculator class and use it in the Price value object
- Covert ProductTest to EntityKernelTestBase.
- #2644856 by liamanderson, borisson_, bojanz, smccabe: Expand order entity test coverage
- #2683993 by agoradesign, borisson_: Call to a member function getId() on a non-object in DefaultLocaleResolver
- #2788795 by bojanz: Add a getter for the order total
- #2788769 by bojanz: Clean up the order entities
- #2788649: Add getStores() to PurchasableEntityInterface
- #2788639: Review entity interfaces
- #2724059 by mglaman, bojanz, PieterJanPut: Remove the cart block item text because it is not translatable
- #2760707 by agoradesign, bojanz: Orders are not saved before the checkout complete event is triggered
- #2701257 by skyredwang, bojanz: Create a custom filter for attribute values
- #2664676 by miteshmap, mglaman: Add tests for Store field warning
- #2775959 by borisson_: PHPCS code style fixes
- #2753831 by mglaman: Add the ability to throw a redirect exception
- #2772253 by daria.a: Checkout pane Login. Link "forgot password" in the setErrorByName()
- #2716241 by harings_rob, mglaman, bojanz: Allow registration via the login pane
- #2659096 by harings_rob: Improve interface tests
- #2779105 by borisson_, mglaman: Provide a method to allow price adjustments on orders and line items
- #2757385: Validate select order workflow plugins have a "place" plugin (#471)
- #2786179 by bojanz: Make payment methods themeable
- #2745149 by jjpoole, bojanz, mglaman, joshmiller, smccabe, agoradesign: Find credit card icons
- #2711013: Implement the initial payment functionality
- #2785523: Add a UI for payment methods
- #2718835 by mglaman, skyredwang: Make ProductAttribute getValue sorted by weights (#465)
- #2747829 by ndf, mglaman: Test order summary in checkout
- #2674888 by harings_rob, mglaman, borisson_, bojanz, rszrama, agoradesign: Add a canonical link for product variations
- Add getVariationIds() to ProductInterface.
- #2777577 by das.gautam27: Typo in BundlePluginTest.php
- #2710979: Add tests for the checkout flow UI (#463)
- #2778949 by borisson_, daria.a: Replace import tab with a local action
- 2782489: Fix return in buildPaneForm(). (#464)
- #2781369 by bojanz: Implement payment methods
- #2769349 by Dom.: Add tests for CreditCardType.
- #2769349 by borisson_: Add tests for CreditCard.
- #2781287 by bojanz: Create CreditCard and CreditCardType classes
- #2781277 by bojanz: Create the payment gateway entity type and plugin
- #2781259 by bojanz: Create a field for storing remote IDs
- #2781257 by bojanz: Add the PluginForm API
- #1334716: Define a "Price" form element for outside of entity forms w/ price fields
- #2763001 by mglaman: Integrate with plugins
- #2763701: Create an API for plugin-based entity bundles
- #2764119 by bojanz, pontus_nilsson: massageFormValues calls array_values on string
- #2748735 by mglaman: ProductAttributesOverview displays duplicate attribute values (#406)
- #2758861 by mglaman: Provide an OrderTypeResolver (#430)
- #2759347 by Goz: Remove unused old OrderTestBase (#431)
- #2759359 by GoZ: remove CommerceTestBase (#432)
- #2735441 by geertvd, mglaman: Port commerce_order_handler_area_order_total
- #2755101 by harings_rob: Anonymous users always have access to checkout
- #2753481 by rajeshwari10, bojanz: Replace the entityManager call in AddToCartFormTest
- #2745145 - Allow floats for tax amount (#413)
- #2754559: PhpUnit test file-names/classes must have a Test() suffix for auto-discovery
- #2710979 - Added crud tests for checkout flows.
- #2754295 - made Search field required when Existing user selected (#421)
- #2747905 by msgph: Port the ConfigUpdaterTest to KernelTest (#415)
- #2747917 by joshmiller, smccabe: OrderBrowserTestBase should be in Functional namespace
- #2747911 Convert UninstallTest to BrowserTestBase
- #2747913 by joshmiller, smccabe: CommerceJavascriptTestBase should be in FunctionalJavascript namespace
- #2747897 by GoZ: Library commerce_cart/cart_block depends on jQuery, not marked as such
- #2747909 by smccabe: Convert EntitySelectWidgetTest to BrowserTest
- #2742207 by smccabe: Port commerce_product tests to BrowserTest
- #2734259 by Sagar Ramgade, mglaman: Cart page requires Node module for 'access content' permission
- #2734627 by agoradesign, mglaman: Product entities without an active variation cannot be rendered, causing a fatal error
- #2749135 by agoradesign: Add to cart form should provide the product's view mode
- #2748697: Product View doesn't update when Variation Type Display is changed
- #2749269 by bojanz: Add a price value object, connect it to the field item
- #2742201 by smccabe: Port TaxTypeTest to BrowserTest
- #2724931 by amberbam, mglaman: Layout Improvements to Login Page
- #2742205 by mglaman, smccabe: Port commerce_cart tests to BrowserTest
- #2735745: Port order tests to browser test
- #2689513 by bojanz: Make attribute values translatable
- #2735911 by bojanz: [Product attributes] Merge "list values" and "reset alphabetical" into "edit"
- #2735737: Convert CurrencyTest to BrowserTest
- #2733775: Convert StoreTypeTest to BrowserTest
- #2735495 by bojanz: Implement the ProductTranslationHandler
- #2727831 by mglaman, bojanz: Rework the naming of template objects
- #2710985 by mglaman, bojanz: Add an order summary
- #2733061 by mglaman: Test the checkout as a guest
- #2733759: Convert StoreTest to BrowserTest
- #2733763: CommerceBrowserTestBase that extends BrowserTestBase
- #2733489: StoreCreationTestTrait
- #2647736 by bojanz, agoradesign: Implement translation support for products and variations
- #2731787: Capitalize the word id (s/id/ID)
- #2731763: Product entity is missing methods for variations
- #2723693 by mglaman, agoradesign: Hide the rendered attribute fields in the default product template
- #2719479 by mglaman: Add field formatter for variations field to render available attribute options
- #2723697: ProductVariationAttributesWidget::ajaxRefresh() needs to pass along the product view mode
- #2723693 by mglaman: Hide the rendered attribute fields in the default product template
- #2710257 by agoradesign, bojanz: Add ProductEvents::PRODUCT_VARIATION_AJAX_CHANGE
- #2723369: Max length of Product-Attribute machine-names should be less than 32 characters
- #2723937 by agoradesign: injectVariationFields setting is not exported to configuration and therefore also not editable
- #2716417 by mglaman, bojanz: Allow rendering of variation fields on the product entity
- #2706207 by bojanz, harings_rob: Clarify optional attribute functionality
- #2722399 by agoradesign: Add to cart message is not fully translatable
- #2722417 by agoradesign: Checkout pane labels are not translatable
- #2721147 by harings_rob, bojanz: Fatal error when rendering the checkout progress block outside of checkout
- #2721763: Undefined variable in commerce/modules/price/commerce_price.views.inc
- #2713777 by GPN, bojanz: Add plural labels to all Commerce entity types
- #2713891 by mglaman: Ability to use fields on an commerce_product_attribute_value for selecting that attribute
- #2715561 by agoradesign: Colspan issue on the checkout flow settings form
- #2710975 by bojanz: Implement the checkout progress block