Magento Open Source 2.1.13 Release Notes

Patch code and release notes were published on May 2, 2018.

We are pleased to present Magento Open Source 2.1.13. This release includes both bug fixes and enhancements. Check out the many community-contributed fixes!

Fixed issues

Setup

  • The sample .htaccess file Options All -Indexes directive has been replaced with Options -Indexes. Previously, the All -Indexes directive caused problems in shared hosting environments. Fix submitted by Danny Verkade in pull request 12959. GitHub-10812
  • Lazy loaders have been moved from getter methods to constructor injection in classes, and factory parameters are no longer required. (These parameters will be created inside constructor methods if they weren’t provided.)
  • Magento no longer creates an / i18n at system root (/) in addition to the expected language file when you run bin/magento i18n:pack to install a language pack. GitHub-6260

Bundle

  • You can now specify a Bundle option title on a store-view level with changes to more than one store view. Previously, after making a change to the store view title of a second store view, the previous store view would show the default title for the store view title.

Catalog

  • Magento now displays the correct final price of configurable products associated with catalog rules. Previously, the final price of a configurable product did not reflect any catalog rules associated with it.
  • You can now successfully re-save a product attribute using a new name. Previously, an attempt to re-save the product attribute resulted in an error. Fix submitted by Raul Mateos in pull request 11618. GitHub-6770
  • Magento now flushes the full page cache for all products that have been reindexed (both child and parent products). Previously, the configurable product page cache was not cleaned as expected. Fix submitted by Anton Evers in pull request 12548. GitHub-8009
  • Category page X-Magento-Tags headers no longer contain product cache identities when category display mode is set to Static block only. Fix submitted by Atish Goswami in pull request 12522.
  • When you set the category_ids attribute to be visible in the storefront catalog, Magento now displays catalog listings as expected. Previously, Magento threw an exception. Fix submitted by Manu Gonzalez Rodriguez in pull request.
  • Magento now saves images as expected when you create a new category that contains an image, and then edit and re-save that category. Previously, it appeared that Magento saved the category as expected, but exception.log stated that there was a problem saving the images. Fix submitted by IvanK in pull request 12368. GitHub-8069
  • The category filter used for layered navigation for configurable products with no available options now counts products accurately.
  • Magento now correctly displays product information after you perform an operation on more than one item. Previously, product information was not correctly aligned on the page. GitHub-6867
  • The \Magento\Quote\Model\ResourceModel\Quote\Item\Collection now returns items that have existing relations only in catalog_product_entity table.
  • The Hide from Product Page option now works for the child product of a configurable product.
  • Product page attribute labels are now translated as expected when languages other than English are used. Previously, these fields were empty. Fix submitted by Pieter Hoste in pull request 13532. GitHub-10738

Cart and checkout

  • Magento now displays the expected state in the Multishipping New Address form when a customer enters information on the Ship to Multiple Addresses page. Fix submitted by enriquei4 in pull request 13367. GitHub-8069
  • When two customers check out concurrently for the same product, one of the check outs now succeeds. Previously, when two customers checked out concurrently for the same product, and the total quantity being ordered was greater than the quantity available, the stock became negative. GitHub-6363
  • Display issues no longer prevent a user from adding a shipping address when checking out when running Internet Explorer 11.x. Previously, a registered user could not add a new shipping address in the shipping step of the checkout process due to display issues.
  • Magento no longer caches warning messages as often as a customer clicks the Update Shopping Cart button while the shopping cart page loads. Previously, Magento cached a warning message each time a customer clicked this button while the page loaded in FireFox or Chrome, and this action resulted in multiple warning messages appearing on the top of the shopping cart page.
  • You can now create unique checkbox IDs for the Terms and Conditions part of the checkout process. Fix submitted by Pieter Hoste in pull request 13543. GitHub-6207

Configurable products

  • Magento now reorders configurable attribute options as expected on the product page. Fix submitted by wardcapp in pull request 12962. GitHub-7441
  • You can now disable a child product from a configurable product’s edit page. Previously, the child product’s status did not change after you selected Disable product.
  • LowestPriceOptionsProvider now returns products with the tax_class_id attribute, which is used for price calculation operations such as tax adjustment. GitHub-6729, GitHub-6457, GitHub-7362 Fix submitted by Sergey P in pull request 13490.

Customers

  • window.checkout.customerLoginUrl now contains a URL that includes the referer in base64 encoding (for example, https://myshop.com/customer/account/login/referer/aHR0cHM6Ly9teXNob3AuY29tL2NoZWNrb3V0). Previously, the login URL did not include a referer (for example, https://myshop.com/customer/account/login). Fix submitted by Tommy Quissens in pull request 12629. GitHub-12627
  • Administrators can now reset customer passwords as expected when the max wait time between password resets setting has been disabled. Previously, when an administrator attempted to reset a customer’s password from the Admin, Magento displayed this error, Too many password reset requests, even when the max wait time between password resets setting had been disabled. Fix submitted by adrian-martinez-interactiv4 in pull request 11436. GitHub-12627
  • The Arabic language locale now uses the correct date format. Previously, when Magento was deployed using the JavaScript calendar and the Arabic (Kuwait) locale, It did not correctly display dates on the product page. (Date format was shown as 182017/05 instead of 18/05/2017.)
  • Magento now refreshes customer data in localStorage upon customer log in, which results in proper loading of the customer’s cart. Previously, when a customer with existing cart items logged in using the authentication popup, the mini cart did not display her cart items. Fix submitted by Patrick McLain in pull request 12246.

Framework

  • vendor/magento/framework/composer.json now declares a dependency on magento/zendframework1. Previously, packages depending on magento/framework packages failed to execute. Fix submitted by Ihor Sviziev in pull request 12991. GitHub-12967

Configuration framework

  • Scope-based configuration now decrypts data as expected. Previously, scope-based configuration failed to decrypt data on the default store only. GitHub-8591

Session framework

  • When you add a product to your wish list after logging out, Magento now redirects you to your account wish list page and adds the product. Previously, you were redirected to your wish list page, but Magento did not add the product. GitHub-11825

Web API framework

  • When you used REST to create a paginated search of products, Magento now includes category_ids as expected in the custom_attributes section of listed products. GitHub-6127

Zend

  • We’ve upgraded the Zend framework Zend_Service component. Fix submitted by Danny Verkade in pull request 12958. GitHub-9243

General

  • The htmlentities function has been replaced with the htmlspecialchars function.
  • You can now delete more than one record using the content block manager. Previously, when working in the content block manager in the Admin, Magento threw a fatal error when you tried to delete more than one record. Fix submitted by Tristan Hofman in pull request 12840. GitHub-8415
  • The newsletter title string in the block template is no longer hardcoded. Fix submitted by Lorenzo Stramaccia in pull request 12611.
  • The \Magento\Quote\Model\ResourceModel\Quote\Item\Collection now returns items that have only existing relations in catalog_product_entity table, which prevents the loading of quote items for non-existing products.
  • In environments running Varnish, the menu item of the active category page is now handled as the active class as expected. Previously, activating the cache interfered with Magento setting the appropriate CSS class to active in environments where Varnish was enabled. GitHub-6609
  • The currency switcher now works for widgets on the home page. Previously, if your website supported multiple currencies, the currency switcher did not update the currencies for widgets on the home page.
  • Customers can now add a new address during the shipping step of the checkout process when accessing the store from Internet Explorer 11.x. Previously, when a customer tried to create a new address from the checkout page, the Add address button was not visible.
  • Magento now creates a URL rewrite when you save a newly created CMS page. Previously, when you tried to access a newly created CMS page using information from the URL Key field, Magento displayed a 404 error. GitHub-5923
  • You can now use the custom layout handler form (cms_page_view_id_cms_page). Previously the cms module added an additional layout update handler with an identifier on page view, and problems occurred when slashes were used in the page identifier. Fix submitted by Sergey P in pull request 13489.
  • Duplicate array keys in app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Attributes/Extend.php and app/code/Magento/Downloadable/Helper/File.php have been removed. Fix submitted by Leandro F. L. in pull request 12519.

Index

  • You can now view the state of the mview queue in real time, which can be useful when debugging indexing issues. You can now view how many items are in the queue pending processing, as well as view information from the mview_state table. Fix submitted by Luke Rodgers in pull request 12050.

Newsletter

  • Merchants can now successfully unsubscribe customers from a newsletter from the Admin. GitHub-6313

Order management

  • The cancel order and restore quote methods now accurately calculate the amount of stock to be returned to inventory when an order is canceled. Previously, when you canceled an order, some of these methods did not accurately calculate the amount of restored stock. Fix submitted by Danny Verkade in pull request 12952. GitHub-9969
  • You can now alter the transport variable in the email_invoice_set_template_vars_before event. Fix submitted by Roman K. in pull request 12135. GitHub-10210

Payment methods

  • The is_active and is_visible columns now default to true even when column default values are not set in the vault_payment_token installation script. Fix submitted by p-bystritsky in pull request 1149.
  • Magento now processes credit memos as expected when refunding an order from PayPal. Previously, when Magento refunded an order from PayPal, it created a credit memo, but the credit memo was not assigned a status (that is, the database status field is null), and the order status remained as processing.
  • Administrators can now create orders in the Admin for stores other than the default when using Paypal Payflow Pro.
  • You can now implement a product attribute that sets Catalog Input Type for Store Owner equal to Fixed Product Tax in a multistore environment. Fix submitted by Danny Verkade in pull request 13020. GitHub-12393

Reports

  • When generating the output of Reports > Marketing > Products in Cart, Magento no longer calls the data of products that have been deleted from the cart. Fix submitted by angelo983 in pull request 12321.
  • The Admin’s Most Viewed Products tab now displays all relevant information about products, even when they are not in the default attribute set. GitHub-9768
  • You can now successfully export the Ordered Products report to a CSV file. Previously, the export file contained no report data.

Scope

  • Products are now activated only for specified websites after a scheduled update has run. Previously, Magento incorrectly activated the product for all websites when the scheduled update event ended.
  • Layered navigation now displays the correct product count. Previously, the layered navigation product count incorrectly included only in-stock products.
  • When you switch between multiple currencies on the storefront, Magento now converts the product price into the correct currency. GitHub-6746

Shipping

  • We’ve resolved an issue where Magento did not display applicable flat-rate USPS box methods during checkout. GitHub-6798

Swagger

  • The code formatting in the Swagger block and template has been updated.

Swatches

  • You can now use REST to import visual swatch attribute options. Previously, you could not add swatch options using service contracts unless a swatch option already existed for the attribute. Fix submitted by gonzalopelon in pull request 12044. GitHub-11032, GitHub-10707, GitHub-10737, GitHub-6798

Translations

  • Inline translations and custom translators now work for knockout templates. Fix submitted by Danny Verkade in pull request 12954. GitHub-2156

UI

  • Magento now validates XML against the schema file when saving custom layout update XML in the CMS page in production mode. Fix submitted by adrian-martinez-interactiv4 in pull request 11860.
  • Creating a new product with a custom attribute set now works as expected. Fix submitted by Pieter Hoste in pull request 13549. GitHub-10565
  • Magento no longer displays the current date when a product’s date attribute has an empty value. Fix submitted by Pieter Hoste in pull request 12033. GitHub-9869

Wish list

  • The default value for a wish list item’s buyRequest data is now always an array. Previously, this value was set to null. Fix submitted by James Halsall in pull request 12930.

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
12033 9869 enriquei4
12373 10765 Zefiryn
12043 9410, 10707, 10737, 11032 gonzalopelon
12135 10210 Roman K.
11807 11341 Manu Gonzalez Rodriguez
12041 11825, 11908 Oscar Recio
12246 NA Patrick McLain
12137 9768 Roman K.
12519 N/A Leandro F. L.
11860 N/A adrian-martinez-interactiv4
12522 N/A Atish Goswami
12321 N/A angelo983
11436 11409 adrian-martinez-interactiv4
12548 8009 Anton Evers
12050 N/A Luke Rodgers
12558 12268 Chumak Roman
12579 N/A Jeroen
12368 8069 IvanK
11618 6770 Raul Mateos
12611 N/A Lorenzo Stramaccia
12629 12627 Tommy Quissens
12840 8415 Tristan Hofman
12930 N/A James Halsall
12959 10812 Danny Verkade
12958 9243 Danny Verkade
12956 10682 Danny Verkade
12962 7441 wardcapp
12952 9969 Danny Verkade
12954 2156 Danny Verkade
12991 12967 Ihor Sviziev
13020 12393 Danny Verkade
13261 10168 Pieter Cappelle
13367 8621 enriquei4
13489 N/A Sergey P
13532 10738 Pieter Hoste
13543 6207 Pieter Hoste
13549 10565 Pieter Hoste
13490 6457, 6729, 7362 Sergey P
13916 N/A Northern eCommerce

System requirements

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

Installation

See How to get the Magento software for comprehensive information about Magento 2.1.x installation and setup.

Migration toolkits

The Magento 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 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, bug reports and code contributions.