Magento Open Source 2.1.10 Release Notes

Patch code and release notes were published on November 7, 2017.

Release notes were updated on November 9, 2017.

We are pleased to present Magento Open Source 2.1.10. This release includes important enhancements to your Magento software.

Highlights

Magento 2.1.10 contains almost 40 security fixes and functional enhancements. Look for the following highlights in this release:

  • Significant reduction in JavaScript-related translation issues.

  • Improvements to how the PayPal Express Checkout payment method processes virtual products.

  • Multiple enhancements to product security. See Magento Security Center for more information.

  • Forty-four community-submitted bug fixes and multiple pull requests. These pull requests feature improvements in caching for configurable products (pull request 9809) and enhancements to the URL rewrite mechanism (pull request 10164).

  • Support for management of multiple instances in the same crontab. These two new CLI commands (cron:install and cron:remove) were submitted by community member adrian-martinez-interactiv4.

Security enhancements

Magento 2.1.10 includes multiple security enhancements. Although this release includes these enhancements, no confirmed attacks related to these issues have occurred to date. However, certain vulnerabilities can potentially be exploited to access customer information or take over administrator sessions, so we recommend that you upgrade your Magento software to the latest version as soon as possible.

See Magento Security Center for more information.

Fixed issues

Installation, setup, and deployment

  • Magento no longer creates an i18n directory under the system root directory (/) when you run the php bin/magento i18n:pack command to install a language pack. GitHub-6260

Cart and checkout

  • Magento now displays the checkout agreement validation for Terms and Condition acknowledgment after you’ve changed your payment method. GitHub-6224
  • Magento now provides a Login button so that a customer can resume your checkout process if he or she returns to the check out page after leaving it mid-order.
  • Magento now displays the correct error message when you enter an invalid discount code during checkout. GitHub-7230
  • Credit card information now persists as expected after a customer enters a promotion code during checkout. Previously, after a entered credit card information and a discount code, and then clicked Place Order, Magento emptied the credit card information fields.
  • The collectRates() method now obtains full address details for registered customers when the customer opens the Checkout page with an existing shipping address.
  • You cannot check out as a guest customer until you delete any lingering long-term cookies by clicking Not me. Previously, in environments where Enable Persistence was set to Yes, you could log in as a guest and potentially complete an order that another customer had initiated.

Catalog

  • The quantity field for a product on the checkout page is now properly updated after you change the product quantity.
  • Magento now includes disabled products when filtering product by price in the Admin. Previously, when you filtered products by price in the Admin, the total number of products was less than the unfiltered list of products.
  • You can now sort the attribute table in the Add Attribute section of the Admin’s Product edit panel while you are adding an attribute to a product.
  • You can now save content that you’ve entered using the WYSIWYG editor when the Enable WYSIWYG Editor setting is set to Disabled by Default. Previously, a JavaScript error occurred.
  • Magento no longer displays a price for out-of-stock configurable products. Previously, Magento displayed a price of zero (0) when a configurable product was out-of-stock.
  • Magento no longer pre-fills the Set Product as New From Date field with the date inherited from the Special Price From date. GitHub-4387
  • We’ve fixed an issue prices weren’t saved correctly when Catalog Price Scope was set to Website.

Configurable products

  • Simple product videos now display the embedded video player instead of the thumbnail image. GitHub-6360, GitHub-8882 
  • You can now save a configurable product for which you’ve set the Weight value to this item has no weight. Previously, Magento displayed this error, Notice: Undefined index: weight in \magento2ce\app\code\Magento\ConfigurableProduct\Model\Product\VariationHandler.php on line 154.
  • Magento now displays tier prices of simple or virtual products on the configurable products page. GitHub-3759
  • You can now save a value for an attribute that is shared between related, upsell, or cross-sell products that have different attribute sets. Previously, when a configurable product had another configurable product with a different attribute set as a related product, cross sell, or upsell and both attribute sets share a multiselect attribute, the value for that multiselect attribute could not be updated for the product.

General

  • We’ve fixed an issue with session behavior that resulted in different customer sessions being shared between different customers on two websites.
  • You can now successfully reset a customer password when the Website Restrictions setting is enabled. Previously, Magento redirected you to customer/account/login/, from which you could not change a password.
  • Vimeo videos now work when HTTPS is enabled. GitHub-7311
  • Magento now displays the correct configurable product price based on the website to which it is assigned. Previously, Magento displayed the lowest price for the product, no matter which price was assigned to the product on a particular website.

Google

  • We’ve fixed an Ajax issue that prevented Add to Cart and Remove from Cart events from firing in Google Tag Manager as expected.

Import/export

  • Magento now allows you to import multiple alternative images with multiple labels that include commas in the description.

Order management

  • Magento now completes order processing if the customer needs to re-enter credit card information during the order process. Previously, Magento returned this error, No such entity with customerId = 0, and the order did not complete.
  • You can now receive shipping quotes from either the Admin panel or the storefront.

Payment methods

  • In orders with separate billing and shipping addresses, when you change the billing address but neglect to click Update before clicking Place order, Magento will not place the order until you click Update. Previously, under these conditions, Magento replaced the edited billing address with the shipping address.
  • We’ve fixed a PayPal.js error that occurred when you tried to check out an order that contained a downloadable product.
  • PayPal Express checkout now handles virtual products as expected. Previously, the checkout page redirected you to the review order page, and Magento displayed the Can’t place order message. Note: This is not associated with PayPal’s strategic decision to stop supporting sales of digital goods through PayPal Express Checkout as of January 2017. GitHub-10615
  • Payment methods now retrieve new order status from config as expected. GitHub-5860

Shipping

  • Magento now handles tracking for FedEx shipments with valid tracking numbers as expected. Previously, Magento displayed an error when you clicked Track this Shipment, even when the tracking number was valid.
  • Search synonyms in a group now can declare several words as synonyms. For example, “Elon Musk,tesla” is a valid synonym group, and a search on the phrase “Elon Musk” will also show results for the “tesla” keyword. Previously, you could declare synonyms for each word (for example, “Elon,Musk,Tesla”), but these words didn’t work as a phrase. Synonyms are also now case-insensitive.

Translations

  • You can now save scheduled changes when running a store with a Japanese locale. Previously, Magento displayed this error, error: : Future Update Start Time cannot be earlier than current time.

Wishlist

  • Unconfigured bundle products that are included on a wishlist can now be edited or added to a cart. Previously, Magento displayed a 503 error when you either tried to edit or add to the cart any bundle products that were on a wishlist.

Community contributions

We are grateful to the wider Magento community and would like to acknowledge their contributions to this release.

The following table identifies contributions from our community members. This table lists the external pull requests, the GitHub issue number associated with it (if available), and the community member who contributed the pull request.

Pull request Related GitHub issue Contributing community member
9692 6718 JTimNolan
9809 6999 Teun Lassche
10050 5377, 4170, 6882 Ihor Sviziev
10075 N/A alessandroniciforo
9718 4731, 7827, 7827 Andre Flitsch
10159 N/A Fernando Fauth
10164 3872, 1980, 4660, 4876, 8264 Ihor Sviziev
10184 1980 Fernando Fauth
10211 N/A Ihor Sviziev
10218 6818 Anton Evers
10188 6175 Arshad M
10260 5651 Ihor Sviziev
10282 N/A Ihor Sviziev
10482 N/A Oleksii Korshenko
10569 N/A avdb
10695 N/A Bård Kalbakk
10714 N/A Bård Kalbakk
10745 4883, 5509, 5820, 5861, 5883, 5995, 6022, 7525, 9967 Pieter Hoste
10747 N/A Pieter Hoste
10750 5519, 10206 Pieter Hoste
10751 4387, 7448 Pieter Hoste
10557 N/A Mr. Lewis
10753 3754, 4725, 7569 Pieter Hoste
10749 5596 Pieter Hoste
10748 7311, 8574 Pieter Hoste
10934 6081 Bartek Igielski
10929 10510 Paweł Szafrański
10932 10738 Janusz Janczy
11201 N/A Oscar Recio
11309 10417 Pieter Cappelle
11448 10007 Raul Mateos
10975 N/A angelo983
11456 10795 Peter Jaap Blaakmeer
11506 N/A Max Chadwick
11361 N/A adrian-martinez-interactiv4
11386 11207 Jeroen
11469 10231 Marc Rodriguez

System requirements

Our technology stack is built on PHP and MySQL. For more information, see System Requirements.

Install the Magento software

You can get Magento Open Source (formerly Community Edition) 2.1 from GitHub, Composer, or using a compressed archive.

See one of the following sections for more information:

Get the Magento Open Source software using Composer

The Open Source software is available from repo.magento.com. Before getting the Open Source software, familiarize yourself with the Composer metapackage prerequisites, then run

composer create-project --repository=https://repo.magento.com/ magento/project-community-edition=<version> <installation directory name>

where <version> is 2.1.0, 2.1.1, and so on

For example, to install Magento Open Source 2.1.1 in the magento2 directory:

composer create-project --repository=https://repo.magento.com/ magento/project-community-edition=2.1.1 magento2

Get a compressed archive

The following table discusses where to get the Magento software. We provide the following downloads:

  • Magento Open Source software only
  • Magento Open Source software with sample data (designed to help you learn Magento faster)

These packages are easy to get and install. You don’t need to use Composer, all you need to do is to upload a package to your Magento server or hosted platform, unpack it, and run the web-based Setup Wizard.

Archives are available in the following formats: .zip, .tar.bz2, .tar.gz

To get the Magento Open Source software archive:

  1. Go to http://magento.com/download.
  2. Choose either the software or the software and sample data:

    • Magento-CE-<version>.* (without sample data)
    • Magento-CE-<version>+Samples.* (with sample data)

    <version> is the three-digit release number (for example, 2.0.7, 2.1.0, and so on).

Complete the installation

After you get the Open Source software:

  1. Set file system ownership and permissions.
  2. Install the software:

Upgrade from an earlier version

See the following sections for more information.

Upgrade an existing installation from the GitHub repository

Developers who contribute to the Open Source codebase can upgrade manually from the Magento Open Source GitHub repository.

  1. Go to the Contributing Developers page.

  2. Follow the instructions to pull the updates from the repository and update using Composer.

Other upgrades

Other types of upgrades are discussed in Upgrade to Magento version 2.1 (June 22, 2016).

Migration toolkits

The Data Migration Tool helps transfer existing Magento 1.x store data to Magento 2.x. This command-line interface includes verification, progress tracking, logging, and testing functions. For installation instructions, see Install the Data Migration Tool. Consider exploring or contributing to the Magento Data Migration repository.

An updated version of this toolkit is typically available several days after the patch release.

The Code Migration Toolkit helps transfer existing Magento 1.x store extensions and customizations to Magento 2.0.x. The command-line interface includes scripts for converting Magento 1.x modules and layouts.

Credits

Dear community members, thank you for your suggestions and bug reports.