Install

Works with Drupal: 7.x

Using Composer to manage Drupal site dependencies

Downloads

Download commerce-7.x-1.1.tar.gztar.gz 321.09 KB
MD5: 62942795e7c21e385631659ac241ea1b
SHA-1: 261648eaf776057542f7f7a3ccd02ab6ff176dd4
SHA-256: c3a6a1d91591fdf43e888aea00fed6ec0865afbc9c6e05fc4f4cdd9ec57517bd
Download commerce-7.x-1.1.zipzip 435.62 KB
MD5: 4023427916d93268f7aa5580f049ca42
SHA-1: aeb8dd9f6418cd5849b9dabad3bfb82962c1f0be
SHA-256: 8920c1299ab6ac340f7030f43ed962e320e190f32f5b4eac7d93e7a5d63abd55

Release notes

Drupal Commerce 1.1 is here! This release contains 95 commits credited to 30 different contributors that fix a variety of bugs and make some minor feature and API improvements.

Drupal Commerce 1.1 details

Drupal Commerce 1.0 has proven to be very stable overall, with no critical showstoppers arising in the last three months that would have forced a point release. This is thanks in large part to the automated testing systems set up by Damien Tournoud and rfay and the variety of core automated tests contributed and maintained by the community.

Instead we get to release a 1.1 on our own schedule the brings improvements to a variety of areas at once, including:

The full list of changes can be viewed in the changelog below. Some items represent minor API changes or additions, and these are noted in the notes below. The changes to the theme layer should not affect existing CSS, as classes were preserved even where an improper span was changed to a div.

How to update from Drupal Commerce 1.0

To update from Drupal Commerce 1.0 (or an earlier version from 1.0-beta1 forward), you should take the following steps:

  1. Make a backup of your codebase and database, and test the update process on a copy of your site to prevent data loss in case something goes wrong.
  2. Update to the latest versions of the Commerce dependencies: Drupal 7.9, Entity API 7.x-1.0-rc1, Rules 7.x-2.0, Views 3.0-rc3, Chaos tool suite 7.x-1.0-rc1, and Address Field 7.x-1.0-beta2. This involves putting the latest version of these modules onto your site and running update.php.
  3. Update to Drupal Commerce 1.1. This involves putting the latest version onto your site and running update.php.
  4. Test your site to ensure there were no errors in the update process. If you're using contributed modules in addition to Drupal Commerce and its dependencies, be sure to test their functionality to make sure they're compatible with the latest release.

Again, we strongly recommend testing the update on a development copy of your site to prevent any unfortunate data loss. This is doubly true if you use contributed modules that interact with Drupal Commerce or have custom code that may need to be updated running on your site.

To test Drupal Commerce 1.1 on a clean install, you can always use the Commerce Kickstart installation profile, which has been updated to reflect the latest releases of Drupal, Drupal Commerce, and its dependencies.

Known issues

Views 3.0-rc3 is a security release, so we do not want to prevent anyone from upgrading as soon as possible. However, it introduces a bug that prevents the "edit" contextual links on Views embedded in the shopping cart block, shopping cart form, and checkout form from working. They redirect back to the current page because of faulty logic introduced for these links for default Views displays. See #1343888-6: Contextual "edit view" links to a View's default display redirect back to the linking page for a patch to fix the issue.

Views 3.0-rc3 also changes the way Views results interact with entity access control functions. Views that previously worked for anonymous or non-administrative authenticated users may not properly display results now without changes to the permissions on your site. Pay special attention to any custom Views you have created that use relationships to referenced products when evaluating your site post-update. The temporary workaround for this can be found in #1276450: Views results empty for unprivileged user when using Relationship: Content: Referenced Product.

Changes since 7.x-1.0 (95 commits):

  • #1354596 by rszrama: replace comparisons against ['values']['op'] with comparisons against the end() value of the triggering element's #array_parents array.
  • #1348514 by jsacksick: rekey entities by ID in our controller's view method before doing any additional processing on them.
  • #1351556 by pcambra: remove a deprecated function from the Price module's Rules integration.
  • #1351612 by rszrama: add translation string context for the line item summary items count.
  • #1348156 by pcambra: Remove unnecessary code from commerce_checkout_entity_property_info_alter().
  • Add documentation for Rules event hooks invoked through rules_invoke_all().
  • When determining default SKUs for an autocomplete textfield widget for product reference fields, ensure a product was loaded for a given product ID before attempting to extract a SKU.
  • Add an update function to the Commerce module to force clear the currency cache so it can be rebuilt to include new formatting parameters.
  • Remove date() from for loops when building credit card forms by storing the 2 and 4 digit year at the top of the form building function.
  • Add missing parameters for the add_form line item callback in the hook_commerce_line_item_type_info() API documentation.
  • #1345214 by recrit: if a product reference field contains no data, do not attempt to load any products in the module's own default display formatters.
  • Ensure a product was loaded before checking if it is disabled when determining the default product of a multiple value product reference field for field injection.
  • #1343346 by rszrama: add validation for CC start date / expiration date to ensure the month given is between 1 and 12.
  • Add missing hook declaration and documentation for the Cart module.
  • Remove t() calls from hook_theme().
  • #1338920 by rszrama: properly correct orders that get orphaned in checkout on pages that no longer exist because their panes are removed.
  • #1315858 by fago: provide back the applied tax to Rules for use in subsequent actions.
  • #1299498 by rszrama: ensure that we return either a valid order ID or a new order object from our getter callback for the order_id properties on line items and payment transactions.
  • #1201446 by rszrama: add a hook_commerce_entity_create_alter() to allow modules to alter newly created entities returned by our entity controllers' create methods.
  • #1278156 by rszrama: add a condition to check the payment method or an order (if any) that was selected by the customer on the checkout form.
  • #1336290 by facine: remove the maxlength restriction on the autocomplete textfield widget for product reference fields.
  • When determining the default product to use when rendering product fields inside of referencing entities and the first product is disabled, attempt to find one in the list of products that is active instead.
  • #1267550 by rfay, rszrama: wipe product price components on save and wipe them again in commerce_tax_field_attach_load() prior to performing any reverse calculation of included taxes.
  • #1337286 by rszrama: ensure there are at least empty components arrays for comparison on the hsopping cart order refresh when comparing line item unit prices before and after a refresh.
  • #1314986 by rfay, rszrama: remove the magic naming of default Tax Rules and Rules components for tax types and rates; now allows you to indicate a rules_component name for a tax rate to be used by the Calculate taxes: Tax type action in Rules without requiring you to use the default Rules component provided by the Tax module. See the API docs for the Tax info hooks for more info.
  • #1335560 by rszrama: add the United Arab Emirates Dirham currency.
  • #1285360 by rszrama: validate SKUs to prevent commas and trim whitespace on form submission; refer to this issue for a query to update your SKUs if yours include commas or may need to be trimmed.
  • #983830 by rfay, rszrama: allow product extra fields to be injected into the display of entities that references products along with actual product fields.
  • #1332394 by rfay: reset the Product Reference module's file access settings.
  • Add a couple missing entity_defaults_rebuild() calls from the Tax UI module.
  • #1147678 by rbayliss, rszrama: add a Rules action to display the default translatable Add to Cart message and define a default rule to display it after a product is added to the cart.
  • #1030128 by pcambra, rszrama: add a default argument plugin to the Cart module's Views integration to select the current user's cart order ID.
  • #1292110 by rszrama: update currency conversion to accommodate converting between currencies formatted with different numbers of decimals.
  • #1292690 by paul.linney, rszrama: use an autocomplete textfield by product SKU to add products to orders instead of the one giant select list.
  • #1332394 by rszrama: fix broken tests by giving store administrators the new configure order settings permission.
  • #1325010 by rszrama: add a message to the top of the checkout page when there are errors on the page beneath the first visible checkout pane.
  • #1128734 by hunziker, rszrama: add an option to the product operations links Views field handler to add a query destination parameter to link URLs so users return to the main View after submitting an edit form.
  • #823466 by aidanlis, rszrama: add a Rules action to add a product to a user's cart by product SKU.
  • #1286554 by rszrama: add currency formatting options to use or not use a spacer in the default format string.
  • #1271522 by rszrama: add a 'Configure order settings' permission that governs access to the order settings page and order field management pages, allowing store administrator roles that can do anything necessary to orders without having access to add or remove fields from them wholesale.
  • #1250412 by mr.baileys: add an option to the payment checkout pane to prevent checkout if no payment methods are available.
  • #842292 by Damien Tournoud, rszrama: split the checkout form submit handler into a validate and a submit handler with order updating happening during validation and redirection / message recovery happening during submission. This represents a minor API change for modules that may be customizing the behavior of the checkout form.
  • #1288414 by rfay, rszrama: add an API function that wraps commerce_cart_product_add() to allow adding products to the cart by ID.
  • #1273752 by rfay: break some logic out of hook_enable() and hook_modules_enabled() to ensure other modules can re-apply the various field configuration functions we have for the default fields on our entities.
  • Update the payment method checkout pane's validate and submit handlers to check for data from enabled payment methods before attempting to process anything.
  • #1281664 by rszrama: properly replace the original value into a product prior to calculation in the Product Pricing module's hook to prepare a price field for viewing.
  • #1319318 by rszrama: ensure the Cart form is well-formed before attempting to load line items into it.
  • Use a proper default value for credit card start and expiration months for single digit months.
  • Move the credit card CSS into a separate file and make it #attached to the credit card form itself instead of the pane form.
  • #1231350 by rfay: add various Views argument handlers to our entities' created and changed timestamps.
  • #1066326 by pcambra: as of Drupal 7.9, filter invalid product types out of options lists for product reference fields based on field instance settings.
  • #1327446 by rszrama: have the line item manager widget save line items even when just the unit price currency changes and the price amount does not.
  • #1280894 by rszrama: re-implement the definition of the class variable used to replace product fields rendered in the Add to Cart form AJAX refresh.
  • #1281664 by das-peter, Damien Tournoud: fix the way the Product Pricing module interacts with calculated price fields by removing the static cache to prevent duplicate product sell price calculation and instead preserving the original price field value and recalculating the price on each subsequent field prepare view.
  • #1243500 by megensel, Damien Tournoud: fix the display of status messages inline on the checkout form with the checkout panes that generate them; minor API change in that a form element was changed from [pane_id]_errors to [pane_id]_messages, so modules targeting this form element will need to update for 1.1.
  • #1288928 by megensel, rfay, Damien Tournoud: prevent disabled products from being added to the cart by forms that were rendered while the products were still active.
  • #1280894 by sheena_d, Jeff Burnz, rfay, rszrama: use a div instead of a span and add more helpful / namespaced classes to the new container div in addition to the one used to target it for AJAX field replacement.
  • #1284236 by rfay: allow the Product Add to Cart Views field handler to specify the product line item type to use when more than one are defined.
  • #1276768 by thill_, rszrama: make the month and year select list values for credit card start and expiration dates match the two digit appearance that is on the card itself.
  • #1316140 by Damien Tournoud: move the rebuild of default entities in relation to static cache clearing when we save tax types and rates so their default rule configurations / menu items are rebuilt properly.
  • #1266228 by Josh Waihi: add a hidden line item reference field widget for instances where line item references need to be managed as fields via modules but not show the full line item manager widget that is specific to Orders.
  • #1265910 by TAM Software: add currency support for the Moroccan Dirham.
  • #1323074 by serialjaywalker: rekey the item array properly in commerce_entity_reference_delete().
  • #1321686 by rfay: fix typo in comment.
  • #1321704 by rfay: Document checkout pane and checkout page hooks
  • #1323366 by bojanz: fix typo in commerce_entity_access_query_alter() that affects access control in post-RC1 versions of Views.
  • Add a capture only credit card transaction constant.
  • #1259142 by ka_, mikejoconnor: switch the MXP currency to the modern Mexican Peso definition MXN.
  • #1271730 by svendecabooter: use the proper image theme function for payment status icons to support multi-lingual Drupal sites.
  • #1212710 by mr.baileys: if i18n_field is present, also allow attribute field labels to be translated on Add to Cart forms when we translate options.
  • #1271568 by mr.baileys: add the display context back to the product whose fields are rendered during an Add to Cart form AJAX refresh.
  • #1312290 by mjpa: use drupal_static() to track already refreshed orders in commerce_cart_commerce_order_load() so other modules can preset an order ID in the static cache to load it without triggering a refresh.
  • Fix a variable name typo in commerce_product_reference_property_info_callback().
  • #1305518 by David D: typo fix in the product add / edit form.
  • Update Views integration for the API change in #1270982.
  • #1293754 by recrit: fix the can delete checks when deleting multiple products at a time.
  • Add a helper function to populate SimpleXML elements with child data coming from an associative array of any depth.
  • #1291578 by rszrama: fix an errant help text message about checkout page creation via the UI.
  • #1288942 by rszrama: change the default price rounding mode to round the half up and add an update function that iterates over all Rule configurations on a site looking for actions that need to have this default round_mode setting set.
  • Add an additional check to tax rate application to ensure a valid tax rate array is passed to commerce_tax_rate_apply().
  • #1288942 by rszrama: abstract our custom rounding support out of the Tax module and allow rounding to be applied on a per-unit price alteration basis; the 5 actions pertaining to manipulating the amount of a unit price now have the option to round the resultant amount using the same modes we support for tax rounding.
  • #1188644 by rszrama: change the method of determining when the 'Save and add another' button is used on the product add form.
  • #1286554 by rszrama: update the Vietnamese Dong currency formatting per Dojan's feedback.
  • #1286538 by rfay: remove a couple of module file declarations in .info files.
  • #1279946 by Anclywen: fix spelling errors in the Polish currency definition.
  • Increase the default weight of the quantity textfield and submit button on the Add to Cart form.
  • Ensure hook_commerce_product_calculate_sell_price_line_item_alter() is being invoked in the Add to Cart form submission process at the same point it gets added in the normal product sell price calculation routine.
  • #1266376 by nevergone: make sure that Cancel link text is passed through t() on all of our confirm forms.
  • #1268080 by j0rd: do not include a help div on the checkout form if no help text is present.
  • #1266482 by Artusamak, rszrama: check to ensure an addressfield exists in a customer profile checkout pane form array before assigning its language code to a variable.
  • Update two default checkout rules dealing with anonymous checkout to not include data_set actions for fields that don't exist.
  • #1263410 by webadpro: clarify documentation of CALLBACK_commerce_payment_method_submit_form().
  • Use the proper cancel URL from the add product pricing rule form.
  • Add a hook_commerce_cart_order_id() to allow modules to return a different cart order ID before the Cart module uses its default logic to determine it for the given user.
  • #1258254 by j0rd, rszrama: add sensible defaults for start date and expiration select lists; include the same CSS for start date that we use for expiration date.
Created by: rszrama
Created on: 29 Nov 2011 at 07:32 UTC
Last updated: 1 Aug 2018 at 23:53 UTC
New features
Bug fixes
Insecure

Other releases