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 OptionsAll -Indexes
directive has been replaced with Options-Indexes
. Previously, theAll -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 runbin/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 incatalog_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 thetax_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 onmagento/zendframework1
. Previously, packages depending onmagento/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_id
s as expected in thecustom_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 thehtmlspecialchars
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 incatalog_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
andapp/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 themview_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
- Invoices now display coupon code information as expected. Fix submitted by Pieter Cappelle in pull request 13261. GitHub-10168
- 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
andis_visible
columns now default totrue
even when column default values are not set in thevault_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.
Search
- 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 tonull
. 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.
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.