Magento Open Source 2.1.11 Release Notes

Patch code and release notes were published on December 12, 2017.

Release notes updated December 19, 2017.

We are pleased to present Magento Open Source 2.1.11. This release includes both new features and many improvements. Check out the many community-contributed fixes!

Highlights

Look for the following highlights in this release:

New features

  • Support for the Indian Rupee (INR) in PayPal Express Checkout

  • New commands and functionality for the command-line interface. We’ve added interactivity to the admin:user:create command, and added the ability to handle CLI setup interactively (with prompts).

Fixes and enhancements (highlights)

  • Significant enhancements for payment methods. We’ve fixed an issue where some Braintree refunds did not work. Braintree online refunds now work when you are using two Braintree accounts on two separate websites.
  • Corrected sitemap generation. Magento no longer generates the sitemap in the wrong directory when vhost is connected to /pub. Previously, Magento generated the sitemap in the root folder instead of the pub folder. GitHub-2802
  • When a simple child product on a configurable product has a lower price (either regular, or special price) than the other options (variations), the configurable product without any selected options now indicates that the price could be “As low as” = . Previously, if a simple child product has a price that is lower than the other options, and no options on the configurable product have been selected yet, the configurable product will be shown with the lowest available price.

Fixed issues

Setup

  • The /.user.ini and /pub/.user.ini files now specify a memory_limit value of at least 1G to 2G for debugging purposes. Fix submitted by Mr. Lewis in pull request 11761. GitHub-11322
  • Magento now downloads the backup .tgz file that you select for downloading. Previously, no matter which backup you selected, Magento downloaded the most recent backup. Fix submitted by Pieter Cappelle in pull request 11596. GitHub-10032

Cache

  • We’ve resolved an issue where store websites do not work when Redis cache is installed and the PhpRedis extension is enabled.

Catalog

  • A user who does not have permission to view a category (based on category permissions) can no longer view it in the menu even if it were cached.
  • You can now place orders when the Use deferred Stock update setting is set to Yes.
  • You can now save a price of 0 (zero) for a custom option. Fix submitted by Raul Mateos in pull request 11844. GitHub-4808
  • Magento no longer changes a product image background to black no matter which color you configure. Fix submitted by Raul Mateos in pull request 11890. GitHub-8799
  • Magento now checks the uniqueness of attribute option values when you use REST to create the option. Fix submitted by gonzalopelon in pull request 11786. GitHub-8846
  • GET v1/products/attribute-sets/sets/list now returns a full list of attribute sets. Fix submitted by David Verholen in pull request 11432. GitHub-11022
  • If a configurable product is part of a shipment being created via REST, only the parent’s quantity will be counted towards total shipment item quantity. Previously, Magento counted both the parent and child product of the configurable product, which resulted in a count of two products added to the shopping cart.
  • The Add-to-cart checkboxes in Related Products are no longer visible on the storefront when $canItemsAddToCart is set to falseFix submitted by Marc Rodriguez in pull request 11610.  GitHub-689

Cart and checkout

  • Magento no longer applies free shipping when you remove a free shipping coupon code from the checkout page.
  • Magento now permits zip codes for the Netherlands to contain spaces. Fix submitted by Oscar Recio in pull request 11960. GitHub-11898

Configurable products

  • Magento now displays the correct drop-down option labels for configurable products when you create attributes for products with a custom source.
  • Magento now saves selected product options when you edit a product page. Previously, Magento did not save configurable options.
  • When a simple child product on a configurable product has a lower price (either regular, or special price) than the other options (variations), the configurable product without any selected options now indicates that the price could be could be as low as as the lowest price. Previously, if a simple child product has a price that is lower than the other options, and no options on the configurable product have been selected yet, the configurable product will be shown with the lowest available price.

Framework

  • Office XML handler now supports exports of XML that contain negative values. Fix submitted by HausO in pull request 11758. GitHub-11729
  • Magento no longer throws an exception when the X-Magento-Tags header contains whitespace. Fix submitted by Ihor Sviziev in pull request 11848. GitHub-7640
  • New orders now appear as expected in the Order table after you migrate data. Fix submitted by Ihor Sviziev in pull request 11932. GitHub-10185
  • We’ve added an extra API call to the interface for managing customer accounts, and it permits you to implement the full reset password process. Fix submitted by Mr. Lewis in pull request 11920.
  • We no longer hard-code the array index of Magento_Backend::admin in the resources ACL tree. Fix submitted by Navarr Barnier in pull request 11739.

General

  • The Stores > Configuration > General > Design page now displays as expected. GitHub-5256
  • After confirming a customer’s account, the Magento welcome message now displays the customer’s first and last name.
  • Products in the cart with a price of $0.00 no longer cause an extra cent to be applied to the discount amount. GitHub-9453
  • Magento no longer throws SQL errors when TargetRules are implemented.
  • Magento now displays the State/Province field after you edit the billing address on sales orders. Fix submitted by Raul Mateos in pull request 11378. GitHub-10441
  • We removed a typo in the Paypal Module. Fix submitted by Mr. Lewis in pull request 11674. GitHub-7591
  • The Customer Groups are now located in the Magento Admin under Customers > Customer Groups. Fix submitted by Mr. Lewis in pull request 11678.
  • We’ve fixed the dashboard graph’s y-axis range. Fix submitted by Oscar Recio in pull request 11753. GitHub-7927
  • We’ve fixed an error in the \Magento\Customer\Test\Unit\Model\AccountManagementTest class: unit tests. Fix submitted by @adrian-martinez-interactiv4 in pull request 11606.
  • Magento no longer assigns multiple blocks the same ID. Fix submitted by Thiago in pull request 11804.
  • If you add a new value for an EAV attribute, Magento checks to make sure it is unique for the attribute. Fix submitted by Raul Mateos in pull request 11621.
  • Shipping address lines no longer disappear when street_lines in customer configuration is set to 0 (zero). Fix submitted by Cristian Sanclemente in pull request 12022. GitHub-7995
  • Magento now sends email confirming a newsletter subscription only when the subscriber is subscribing for the first time. Fix submitted by Oscar Recio in pull request 11316. GitHub-5439
  • Magento now displays datepicker fields as expected when you scroll. Fix submitted by @lionelalvarez in pull request 12045. GitHub-7903
  • Magento no longer converts special characters in a store name to numerical character references in the email subject line. Fix submitted by Ihor Sviziev in pull request 12115. GitHub-6597, GitHub-8094
  • We’ve simplified the update button.phtml translation. Fix submitted by @ChuckyK in pull request 12106.
  • Magento no longer generates the sitemap in the wrong directory when vhost is connected to /pub. Previously, Magento generated the sitemap in the root folder instead of the pub folder. GitHub-2802
  • Magento now throws a PHP 500 Error when $optionsArray['delete'][$optionId] is not set. Fix submitted by @angelo983 in pull request 11728.
  • Magento now correctly displays storefront search fields in Magento installations running in Safari. Previously, the search field shifted unexpectedly after you viewed shopping cart contents in Magento installations running either desktop or mobile versions of Safari. Fix submitted by Ihor Sviziev in pull request 12111. GitHub-8178

Import/export

  • You can now import customer addresses from websites with country restrictions.
  • Magento now successfully imports customer multiselect attributes. Previously, when you imported a CSV file with either the option’s ID numbers or the option’s values, Magento returned an error.
  • Magento no longer changes custom options IDs each time the product is imported or saved.
  • When you export customer details into CSV format, Magento now displays the values of the Confirmed email and Account Lock columns in the Customer table. Previously, Magento displayed a blank value for these columns in the CSV file.

Index

  • We’ve fixed an issue that lead to wrong products being indexed. Previously, the mview.xml configuration used row_id instead of entity_id when collecting information from changelogs.

Order management

  • We’ve corrected the block class defined in the XML layout for order items on the order print page is definitely not correct. As a result, you cannot see the order item’s information upon the order printing. Fix submitted by Yaroslav Rogoza in pull request 11631. GitHub-9830, GitHub-10530

Payment methods

  • Magento PayPal integration now supports the Indian Rupee currency (INR).
  • Braintree online refunds now work when you are using two Braintree accounts on two separate websites. Previously, when using two Braintree accounts for two separate websites, Magento did not process the refund, and displayed this message: Sorry, but something went wrong.
  • We’ve fixed the race condition that previously caused duplicate orders with a user double-clicked on the Braintree Pay button. Fix submitted by Daniel Doyle in pull request 11901. GitHub-10767
  • Magento no longer throws an exception when you choose an Order page in the Admin, or set a transaction ID in a payment module. Fix submitted by Alex in pull request 12284. GitHub-3596

Performance

  • We’ve improved the performance of Web API calls that are used to access checkout payment information or place orders. Fix submitted by Malyovanets Nickolas in pull request 11640. GitHub-9007

Reports

  • You can now successfully search reports for a particular customer (Reports > By Customers). Fix submitted by Oscar Recio in pull request 11523. GitHub-10301

SalesRule

  • Magento no longer discounts items that belong to an excluded category. Previously, you were unable to exclude products assigned to a specific category due to the Cart Price rule.
  • Products in the cart with a price of $0.00 no longer cause an extra cent to be applied to the discount amount.
  • We’ve fixed a range of issues that affect shipping when Sales rules and Cart rules are involved. For example, the free shipping coupon previously did not work with Table Rates shipping. Fix submitted by Mr. Lewis in pull request 11919. GitHub-8172, GitHub-8089, GitHub-10507

Shipping

  • Magento no longer throws an error (Undefined variable: responseAjax) when you try to save a shipment package. Fix submitted by Joe Constant in pull request 12092.

Tax

  • Magento now correctly calculates the tier price percentage when displayed prices include tax. GitHub-8833
  • The total tax amount displayed in the Full Tax Summary now equals the sum of the relevant individual taxes. Fix submitted by Pieter Cappelle in pull request 11593. GitHub-10347

Translations

  • You can now implement translations from themes (in contrast to translations from modules).

Known issue

Issue: In Swagger, the text area that contains the payload structure of some POST and PUT operations is not displayed. If a fraction of the text area is displayed, you can click on it to display the payload structure in a text area in the center of the page. If the text area is not displayed at all, then you cannot access the payload structure.

Workaround: Use the Devdocs static Swagger site to navigate to the REST call you want to use, then copy the payload structure to your Swagger instance.

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
11378 10441 Raul Mateos
11451 11328 @adrian-martinez-interactiv4
11674 7591 Mr. Lewis
11678 N/A Mr. Lewis
11523 10301 Oscar Recio
11753 7927 Oscar Recio
11590 11586 @adrian-martinez-interactiv4
11761 11322 Mr. Lewis
11640 9007 Malyovanets Nickolas
11611 6891 Marc Rodriguez
11606 N/A @adrian-martinez-interactiv4
11758 11729 HausO
11728 N/A @angelo983
11844 4808 Raul Mateos
11848 7640 Ihor Sviziev
11932 10185 Ihor Sviziev
11804 N/A Thiago
11890 8799 Raul Mateos
11920 N/A Mr. Lewis
11960 11898 Oscar Recio
11621 N/A Raul Mateos
12022 7995 Cristian Sanclemente
11316 5439 Oscar Recio
11786 8846 gonzalopelon
12040 11996 Manu Gonzalez Rodriguez
12045 7903 @lionelalvarez
11861 11697 @adrian-martinez-interactiv4
12092 N/A Joe Constant
11432 11022 David Verholen
11596 10032 Pieter Cappelle
11739 N/A Navarr Barnier
11631 9830, 10530 Yaroslav Rogoza
12111 N/A Ihor Sviziev
12115 6597, 8094 Ihor Sviziev
11901 10767 Daniel Doyle
11919 8172, 8089, 10507 Mr. Lewis
12106 N/A @ChuckyK

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.