Magento 2.2.5
28 June 2018
Magento version 2.2.5 is now available (security release).
Upgrading to Magento 2.2.5
Magento 2.2.5 can be upgraded to (or installed) using any of Installatron's products. Use Installatron's optional Automatic Update feature to automatically apply Magento updates as new versions are released, or use Installatron's Clone feature to duplicate an existing Magento install to test the 2.2.5 upgrade prior to applying it live. Get started managing your Magento installations with Installatron
What's New in Magento 2.2.5
This release includes multiple enhancements to product security plus bug fixes and enhancements.
Highlights
- Enhancements that help close stored XSS, SQL injection, and cross-site request forgery (CSRF) vulnerabilities. See Magento Security Center for more information.
- Resolution of issues that customers were experiencing when upgrading to Magento 2.2.4 in deployments that span multiple websites. Magento multi-store installations were not using the store view-specific values from the store configuration settings if these settings differed from the global default configuration settings. Instead, Magento used the default configuration for all store views. See GitHub-15205 and GitHub-15245 for more detailed discussions of the problems some customers encountered.
- Substantial improvements to indexing performance.
- Over 150 community contributions.
- Improvements to our core bundled extensions.
- Merchants can now run the catalog search full text indexer and category product indexer in parallel mode by store view, which can significantly decrease indexer:reindex execution time when running Magento with multiple store views and shared catalogs.
- Refactoring of the catalog full text indexer has improved indexing performance up to 15% for very large profiles (600,000 products) and product catalogs with many configurable options (5,000 configurable products and 500 options).
- Improving the behavior of swatch product attributes has improved search result page performance up to 31% for catalogs with many configurable product options (for example, 5,000 configurable products and 500 options).
- Customers can now create an account from the Order Confirmation page. Previously, a customer could not populate the required fields to create an account from this page, and Magento displayed an error.
- Magento now correctly applies coupon codes that exclude bundle products. Previously, Magento applied these coupons but did not exclude bundle products as expected.
- When sorting simple products, which catalog promo price rule is applied for, these products are sorted by a regular price instead disregarding the applied promo price.
- When sorting simple products with a required custom option, which catalog promo price rule is applied for, these products are sorted by a regular price instead disregarding the applied promo price.
Shipping
- With core returns, merchants can select carriers to use for returns and send a return label along with forward fulfillment.
- Batch processing increases automation and merchant efficiency by making it easier to process a large volume of shipments in batches.
- Collection points provide the ability for customers to designate a drop point rather than residence for delivery by carrier.
Bug Fixes
- Magento no longer permits you to re-run an already running cron job.
- You can now successfully delete an option from a bundle product.
- Magento now correctly applies coupon codes that exclude bundle products. Previously, Magento applied these coupons but did not exclude bundle products as expected.
- Merchants can now run the catalog search full text indexer and category product indexer in parallel mode by store view.
- The Category\Collection::joinUrlRewrite method now returns the URL of the store whose storeId is set on the collection. Previously, this method returned the name of the default store. Fix submitted by Alessandro Pagnin in pull request 13716. GitHub-13704
- Sorting products by price now applies catalog rules as expected.
- Sorting products with required custom options by price now works as expected.
- Tier pricing for a single product unit now works as expected. If a tier price is set for one product unit, and this price is lower than the product price or special price, then the product price index table is populated with the tier price.
- Magento now successfully saves products when using a locale that formats dates in this way: DD/MM/YYYY. Previously, when you tried to save a product in a locale where dates were formatted this way, Magento did not save the product, and displayed this error: Invalid input datetime format. GitHub-10485
- When you import new products using a CSV file, Magento no longer lists as in stock any products whose CSV values indicate that they should be represented as out-of-stock.
- When working in the media gallery, you can now successfully delete any files and folders that are symlinked in pub/media.
- Magento now displays the correct status for a backordered configurable product on the order view page.
- Magento now displays the correct image for a configurable product on the wishlist.
- The Hide from Product Page option now works for the child product of a configurable product.
- The Update on Save re-index operation now works as expected when re-indexing configurable products after changing options.
- The product repository now uses store_id (if set) when saving attributes for an existing product. Previously, Magento always saved attribute values for an existing product at the default store level.
- The placement of Google Tag Manager code now follows the guidelines in the Google Tag Manager Developer Guide. (Previously, the Google Tag Manager code was inserted before the dataLayer variable was defined.)
- The Related Products rule for up-sell products with customer segments set to Specified now works as expected.
- The data check on imported customer information now completes as expected. Previously, when you clicked Check Data on a large CSV file created by System > Data Transfer > Import, the request failed, and Magento displayed the timeout spinner.
- If you remove a product’s custom options from the CSV file created during product import, Magento no longer displays the custom options on the storefront.
- The search indexer is now scoped and multithreaded, which improves layered navigation, search, and indexing actions for complex sites with multiple store views and shared catalogs.
- Magento now filters recent orders by store on the customer account page as expected.
- The performance and logic of Magento\Sales\Helper\Guest has been improved.
- In multistore environments, Magento now retrieves the correct PayPal Payflow Pro credentials. Previously, Magento always retrieved the credentials that are configured for the default store.
- We’ve removed the count() method from the condition section for some loops in a small subset of backend files. When this method is used in a loop condition, it will be executed at every iteration, which can degrade performance.
- Out-of-stock options for configurable products no longer show up in search and layered navigation results.
- Magento now caches popular search results for faster response time on popular searches. A system administrator can configure how many top search queries can be cached.
- Merchants can now choose whether to request and include tax information from UPS in the rate charged to the customer during checkout. (This permits merchants to pass on the tax costs to their customer as part of the overall shipping rate.)
- Swagger now displays the text area that contains the payload structure of all POST and PUT operations.
- You can now use JavaScript mixins to extend swatch functionality in all supported browsers.
- You can now use REST to update the available_payment_methods company extension attribute. Previously, Magento set to null any value you passed to the database company_payment table.
- The phpunit.xml configuration file is now blacklisted during schema validation static tests (particularly Magento/Test/Integrity/Xml/SchemaTest.php).
- The \Magento\Test\Php\LiveCodeTest::testCodeStyle method now uses whitelist files.
- Magento no longer throws a 404 error when a customer navigates from the Catalog page of the default store to a custom Catalog page on a different store.
- The correct tax amount is now included as expected in the Order Total that is listed under the Order Summary section of the Orders page. Previously, the Tax amount field was missing from the Order Summary section, which resulted in an incorrect Order Total.
- The including tax and excluding tax fields on the Checkout page now contain correctly calculated prices. Previously, Magento displayed the same price in these fields.
- Magento now displays the Tax amount field in the Order Summary section of the Checkout page for orders that contain virtual products.
- Merchants can now create a Vertex invoice refund as expected after an order has been canceled.
- We’ve improved the performance of the Admin Create Order and Performance Compare Report in Plain Text - Catalog (server side) actions.
- Magento now prompts you to select order status if a customer does not select an option from the Order Status drop down list when setting the When to send Invoice to Vertex option.
- The Allow tax quote request at shopping cart page option has been removed from the Vertex Setting tab.
- Magento now disables Vertex API Status as expected when you set the Enable Vertex Tax Calculation option to no.
- Magento now displays the green checkmark and Vertex invoice has been sent message as expected when you set an order’s status to Suspected Fraud.
- Customers no longer receive a notice about negative tax amount after a merchant creates a refund on Vertex Cloud.
- We’ve improved the performance of editing or saving products in large categories (more than 18,000 products per category).