Magento Commerce 2.1.0 Release Notes

We are pleased to present Magento Commerce (formerly Enterprise Edition) 2.1.0 General Availability. This release includes numerous functional fixes and enhancements.

Backward-incompatible changes are documented in Magento 2.1 backward incompatible changes.

This version of the Magento Magento Commerce 2.1.0 Release Notes varies from the version of the Release Notes that we published with the June 23, 2016 GA release. We’ve identified these changes in italics below. The code base has not changed.


Magento Magento Commerce 2.1.0 includes several new and exciting features:

  • Content Staging and Preview improves sales and productivity by enabling merchants to bring fresh and exciting shopping experiences to market faster than ever before. Marketers and merchandisers can easily create, preview, and schedule a wide range of content updates without involving IT. They can make updates to products, categories, CMS content, promotions, and pricing, and can preview these changes by date or store view to ensure a flawless shopper experience. User-friendly dashboards provide visibility into all scheduled site changes so merchants can easily coordinate campaigns to maximize their sales impact. Updates are automatically published and removed at scheduled times for greater efficiency.

  • Elasticsearch is cutting edge search technology that is replacing Solr in Magento Enterprise Edition 2.1. It is simpler to set up, able to handle large catalogs, and can easily scale as search volume grows. It supports 33 languages out-of-the-box and merchants can set ‘stop words’, search synonyms, and attribute weighting to deliver highly relevant search results..

  • PayPal enhancements include PayPal in-context checkout and saved credit cards. In-context checkout helps to increase conversion rates 69 bps by allowing shoppers to pay with PayPal without leaving the merchant’s site. PayPal saved credit cards boost repeat purchases by allowing merchants to securely store credit card information with PayPal so customers do not need to re-enter it in checkout or when reordering items from the Admin interface.

  • Braintree Hosted Fields securely collect all sensitive payment information in checkout so merchants can qualify for the simplest set of PCI compliance requirements. Merchants retain complete control over their checkout style and layout because Braintree gathers credit card data using small, transparent iframes that replace individual payment fields. Braintree settlement reports are now also conveniently available within the Magento Admin .

  • Improved management interfaces make it faster and easier to search for information in the Admin, set up global search synonyms, and create new product, category, and CMS content.

Security enhancements

This release includes enhancements to improve the security of your Magento application. While there are no confirmed attacks related to these issues to date, certain vulnerabilities can potentially be exploited to access customer information or take over administrator sessions. We recommend that you upgrade your Magento software to the latest version as soon as possible.

Contact us for more information.

Known issues

Magento 2.1.0 GA includes the following known issues:

  • A developer who attempts to upgrade the Magento Commerce software using the commands git pull followed by composer update sees the error Fatal error: Cannot use Composer\Installer as Installer because the name is already in use.

To work around this issue, run the following commands in the order shown:

composer update magento/magento-composer-installer:0.1.11
composer update
  • You cannot currently remove a product or category from a campaign. Selecting Remove this Update > Move to Another Campaign results in the following error: “Something went wrong while removing the Magento\Catalog\Api\Data\ProductInterface.”

  • Known issue (GITHUB-5025) removed.

Fixed issues

Installation and upgrade

  • System upgrades now ignore the contents of the Magento var/session directory.
  • You don’t need to have a composer.json to run Magento CLI commands.
  • Addressed an issue that caused the following error on the Magento storefront when optional sample data is installed: “We’re sorry, an error has occurred while generating this email”.
  • Upgrading the Magento system software now correctly updates the product version.
  • Improved performance of installations and upgrades by compressing packages on
  • A user with limited access to the Magento Admin cannot run the Web Setup Wizard.
  • Installing optional sample data no longer throws the following exception: efault: Notice: /Stage[magento_setup]/Magento::Setup::Magento_cli/Exec[Run Magento reindex]/returns: SQLSTATE[23000]: Integrity constraint violation: 1062.
  • You can now successfully uninstall the Magento_CustomerBalanceSampleData module .
  • The Component Manager now displays component versions that are compatible with your Magento software version.
  • You can now successfully uninstall the Magento software after an incomplete installation.
  • Fixed issues with installing optional sample data.
  • Fixed issues with running integration tests on Microsoft Windows.
  • The magento setup:di:compile command no longer throws a No tokens were provided exceptions when it encounters directories or empty files. (GITHUB-3824)
  • Manually unselecting the DownloadableStaging during installation no longer throws a fatal error.
  • You can now successfully install Magento using a setup URL that contains a port number. (GITHUB-2272)
  • The Magento CLI setup:config:set now accepts hyphens and dashes “-“. (GITHUB-2700)
  • Running setup:config:set updates the deployment configuration properly. (GITHUB-2852)
  • Magento Community Edition 2.0.4 with Sample Data.tar.bz2 (204 MB) download now works. (GITHUB-4090)
  • The MAGE_MODE environment variable is no longer a required server config variable for NGINX configuration.


  • The shopping cart for a registered user now returns a complete list of products.
  • You can now create a fixed amount discount for an entire cart.
  • You can now generate coupon codes for Cart Price Rules.
  • Magento no longer performs redundant GET requests if the customer has items in shopping cart.
  • The Date/time fields work as expected.
  • Magento now logs exceptions in a file under var/report when in default mode.
  • Cart now updates and lists rates for custom shipping methods as expected when you change the shipping address. (GITHUB-4679)
  • You can now reorder a product with a required custom option (type = file). Previously, if you tried to reorder a product under these conditions, you would encounter an error when opening the shopping cart. (GITHUB-4058)
  • Magento no longer logs out a customer who clicks first on the Go to Checkout link, then clicks on the Shopping Cart link.
  • Discounts now behave consistently.
  • You can now successfully save conditions in Create Cart Price Rules.
  • You can now log out while persistent shopping cart functionality is enabled.
  • Shopping cart shipping estimation no longer fails randomly.


  • The OAuth handshake now clearly indicates the SAAS platform with which the Magento store is doing the OAuth handshake.
  • You can now use the Web API to access Version Manager.
  • The Credit Memo REST API now updates attributes as expected. (GITHUB-4329)
  • The ‘in’ filter now works in list APIs (checked customer, product, product attributes). (GITHUB-2892)
  • Magento now displays an error message if an error occurs when you try to set payment using the REST API. Previously, Magento creates only an internal error. (GITHUB-3600)
  • USPS API includes the January 17, 2016 USPS method name changes.
  • The title of the totals discount segment returned by the API is now correct.
  • You can now use the SOAP API to add product attribute options text swatch or visual swatch.
  • Magento no longer creates customers when validation fails. (GITHUB-2914)
  • You can now successfully update product categories through the SOAP API.
  • Magento validates all the appropriate REST calls with SearchCriteria filters if the response to the search_criteria key is NOT null.
  • REST API GET /V1/categories calls now return all the categories you expect (that is, all that are created in the product interface). (GITHUB-4525)
  • System > Integrations > Add New Integration now returns a populated resources list. (GITHUB-4537)
  • Magento now returns available services in WSDL schema. Previously, you could not process SOAP requests as expected.


  • Attribute values are now consistently persisted after reloading a form.
  • You can now nest categories more than four levels deep.
  • We’ve optimized registry.js performance.
  • You can now add a custom option to the new Update pop-up.


  • PHP errors no longer occur when you run a cron script on installations running PHP5.5. (GITHUB-4722)
  • Remi PHP 7.0.1 now works with Sample Data.
  • Payment/Shipping config is no longer decrypted twice in a PHP7 environment.

Gift cards

  • Merchants can now edit Gift Card Product.
  • Fixed issue where customers could not purchase gift cards.
  • Clicking on Submit invoice button no longer exposes the PHP error log.
  • Expiration date for Gift Card account is left unspecified if you do not specify a date.


  • The PayPal button now displays as expected in the minicart.
  • The PayPal Express review rendering of tax block now works correctly. (GITHUB-3774)
  • PayPal now works correctly if the applied discount brings the subtotal to negative, but the grand total is positive.
  • The “Learn More” link for Payments Pro now works correctly.
  • The Get Credentials From PayPal and Sandbox credentials buttons are now rendered correctly.
  • Magento now clears the minicart as expected after you complete an order using PayPal.
  • Magento now displays the relevant error message when Express Checkout fraud filters are triggered.
  • Magento no longer disables the Continue button when you submit an order with PayPal Payments Advanced.
  • Magento now successfully generates the PayPal Settlement report.
  • Magento now updates Shipping method on the PayPal Order Review page.
  • The PayPal Settlement report now works correctly.
  • Magento now requires the Merchant Account ID field in PayPal configuration.
  • Magento still displays products in the mini shopping cart after guest checkout with PayPal Express.
  • Fixed issue with the terms and conditions agreement causes fatal error during checkout with PayPal Payments Pro method.
  • Fixed issue with incorrect transaction totals in PayPal Settlement report.
  • Fixed issue with BNCODE in PayPal solutions.
  • In the Vault Provider field, Magento no longer displays the Payflow Pro option for countries that don’t offer it.


  • You can now change the quantity for an invoice.
  • You can now create invoice of transaction with expired authorization .
  • You can now place an order through online payments in the Admin area.
  • You can now use stored cards on the Admin side.
  • You can now apply Gift Card Account/Discount Code on the review page.
  • You can now check out virtual product using Braintree.
  • The Braintree PayPal button is no longer active until checkout.
  • The PayPal Braintree popup now appears as expected when you click the Continue to PayPal button.
  • In the Vault Provider field, Magento no longer displays the Payflow Pro option for countries that don’t offer it.
  • Magento no longer displays this error when you save an order: “Order Saving error: Table ‘magento.vault_payment_token_order_payment_link’ doesn’t exist.”
  • You can now place an order from within Braintree if 3D Secure Verification is enabled.


  • You can now select API resources while creating an integration.
  • After you install and enable a module, the System > Extensions > Integrations page lists the new integration generated by the module. (GITHUB-4023)
  • We’ve edited the integration/acl.xml file.
  • Magento now creates an integration after adding the integration/config.xml file.
  • Fixed issue with PHP 7.0 Integration test.
  • Magento no longer deletes Access Token and Access Token Secret from all integrations when you delete it from only one integration. (GITHUB-3450)
  • You can now delete an Admin user that has the same ID as an integration user, without breaking the integration.


  • You can now run all integration tests in developer mode.
  • CategoryTest integration test no longer fails on Travis builds. (GITHUB-4099)


  • The Import error message you receive when an attribute exceeds maximum permitted length now inserts variable that defines the attribute name. (GITHUB-2844)
  • Magento no longer throws this error when you import or export when you have multiple websites and stores: “URL key for specified store already exists.”
  • Magento no longer lets you import two products with the same URL key.
  • Magento no longer throws a general exception when you try to import more than 100,000 products.
  • You can now export products to a CSV file, edit names, then import products successfully.
  • Magento changes the order in which products are displayed after you export or import a catalog .
  • You can now import cross-sells, up-sells and related products. (GITHUB-3286)
  • The Ajax loader now stops if you use an incorrect file type during import.
  • The console command now flushes caches without error. Cache should be flushed without errors.
  • Solr search no longer produces a fatal error when you use it to perform an advanced search on products by Size.
  • Solr search results now display all products as expected in search results.
  • Magento no longer displays processing errors when you use the Advanced Search feature of Elasticsearch.
  • We’ve improved search performance.
  • Search phrases that incorporate spaces now work successfully in Solr advanced search.
  • Magento no longer throws a fatal error if you use fewer than the minimal required characters in your search query.
  • Search input on themes using the Blank theme now works as expected. (GITHUB-4282)
  • Performance of category pages significantly degrade when having around 3000 products or more in category.
  • The advanced search function of Elasticsearch is more robust.
  • Both Solr and Elasticsearch now display correct date formatting.


  • The storeview now reflects changes to the swatch attribute’s property.


  • We’ve resolved several address-related issues associated with Checkout.
  • Customers with an existing saved address can now add a new address during checkout.
  • Clicking the Reorder button now loads products as expected when persistent shopping cart is enabled.
  • The Go to Checkout button now works as expected. Previously, when you clicked the Go to Checkout button, Magento would display a login pop-up window.
  • Checkout now works as expected when purchasing products during a persisted session.
  • Fixed problem with unnecessary redirects to checkout page after Sign-in.
  • Magento now provides information about the country you’ve selected in the address in the checkout flow.
  • Magento now saves custom customer attributes at checkout.
  • Fixed issue with JaveScript error during checkout when switch between addresses that either contain or don’t contain Region data.
  • Loader now disappears as expected after you click the Place Order button.
  • Fixed error on checkout page when you changed base currency at checkout.
  • Fixed problem with opening My Cart page in one-page checkout.

Bundle products

  • The Add Products to Option button now works as expected when you create a new update for a Bundle product .
  • You can now include quotation marks in Bundle product names. (GITHUB-4414)
  • Magento no longer displays an invalid date error message when you create a Bundle Product update.
  • You can now successfully move Bundle products to the Wishlist. (GITHUB-2717)
  • Bundle products created using Web API are now visible on the storefront.
  • Magento now saves the price for Bundle option items.
  • You can now save duplicate Bundle products.
  • You can now specify Bundle option title on the storeview level.
  • You can now add a Bundle product to the shopping cart.
  • Magento now displays Bundle product prices in the shopping cart product grid.
  • Magento now correctly displays sku_type, weight_type, shipment_type after you save a Bundle product.
  • The Edit Bundle product page now works as expected.
  • Magento now successfully validates the price_type field during import and export.

Messages and documentation

  • The getList method documentation has been enhanced.
  • Error messages associated with cron processes are now more helpful. (GITHUB-3189)
  • Magento now displays an appropriate message when you add less than the required minimum items in your cart.
  • Message serialization now complies with AMQP specifications.
  • We’ve improved the error message that users typically received during upgrade. The message now clearly states when a user must login first to before continuing the upgrade process. (GITHUB-3059)
  • Error messages generated during installation are now more informative.
  • Documentation now states that the iconv extension is required in installations running PHP 7.x. (GITHUB-4002)
  • CLI documentation now includes magento dev:css command. (GITHUB-433)


  • You can now run all integration tests in developer mode.
  • CategoryTest integration test no longer fails on Travis builds. (GITHUB-4099)


  • You can now successfully change an entity’s Schedule Update End Time from none to a particular time. Previously, attempting to change an End Time from none to a specific time would result in an error. (Sample message: “Update (or link, if we are using downloadable product) does not exists”.)
  • You can now edit the Schedule Update of a CMS page as expected. Previously, Magento would duplicate the page when you would click on the CMS Page Schedule Update button after editing it.
  • You can now successfully add an end date to an existing permanent update.
  • Magento no longer duplicates a campaign each time you edit it. Previously, Magento would duplicate a campaign record whenever you selected it from its existing Scheduled Update.
  • Product update is now applied as expected in Catalog Staging.
  • You can now successfully save an update that was created for a category with a changed name.
  • Magento no longer creates a new single update when you edit an existing update.
  • You can now create and successfully save a future update for a downloadable product associated with links and file content.
  • Update Staging product offline status now works.
  • The Staging preview calendar tabs display only valid captions.
  • Previews of different product updates can now display different prices.
  • You can now edit the update information for a product that belongs to a Staging campaign.
  • The Edit existing update now works as expected.
  • You can now create both permanent and temporary updates for one date or time.
  • Magento no longer deletes a product from a quote after you delete a product update.
  • You can now open Catalogs for which you’ve applied multiple updates.
  • Magento now displays an error message when you try to enter an end date that precedes the start date in the Save as a new update field.
  • The Scheduled Changes grid now correctly sorts by date.
  • Magento date pickers now take into account Magento timezone settings.
  • Update Preview for a simple product now works.
  • Magento now displays the “Is Active” flag for the Catalog rule when Staging is enabled.
  • Magento now loads a campaign’s preview when the Use Secure URLs setting is set to yes.
  • The Schedule Update form no longer disappears when you double-click the Schedule New Update button.
  • Magento instances installed on a custom port now provide the Future Update Preview feature.
  • You can now save a new Update for a product that already has an update.
  • The Staging Preview Control panel now displays the Share link button.
  • Magento now applies catalog temporary updates to a storefront when a flat indexer is enabled.
  • Magento now applies a custom design update to products on preview.
  • You can now disable the Set product as new setting after you’ve applied an update.
  • Data format for campaign start and end times are now presented in OS data format.
  • Magento no longer displays the wrong entity names on the pop-up that appears on the Staging timeline.
  • You must provide a valid ID to open the Staging form edit page.
  • Magento now uses the default time zone in the Schedule Update grid.
  • The Scheduled Changes section of a product update now displays dates.
  • Magento no longer removes all grouped products when you select a subset of products for removal.
  • You can now select an update that has already been applied to a product.
  • You no longer can insert a permanent update into a temporary one.
  • When you update category settings, Magento no longer modifies Update settings, too.
  • The Preview feature now works correctly on different domains.
  • You can now change an active campaign.
  • We’ve redesigned the Staging Dashboard Admin page.
  • You no longer lose your edits to a Staging campaign if validation fails.
  • Product links are no longer lost when you save an update.
  • The campaign reschedule feature now works correctly.
  • Magento now saves your Sales Rule edits.
  • Magento now displays products that were enabled in an update that was applied when indexers performed a scheduled update.
  • Magento no longer unexpectedly adds a new product or category to an existing update after you’ve created the entity.
  • Magento no longer deletes a campaign after you change its start date.
  • Edit product update feature now works as expected.
  • The Edit category update feature now works as expected.
  • You can now remove an entity update.
  • Magento now displays attributes when you choose another attribute set in Staging Update.
  • The Catalog Price Rule now works as expected.
  • You can now update the date field in the Edit CMS page.
  • The products Staging feature no longer changes schema and FKs for tables in modules that are disabled.
  • Magento correctly displays products after you’ve enabled the CatalogStaging module.
  • The Remove from Update feature now presents a list of operations that you can remove.
  • Magento now creates Catalog Rule campaigns after you enable the CreateCatalogRule module.
  • Cross-Sells data is now displayed as expected in the shopping cart when you apply an update.
  • Fixed issues with validation of dates for a new product update.
  • Magento no longer deletes a product when you change its campaign dates through the Staging dashboard.
  • Preview now works if the Use SID on Storefront setting is set to off.
  • You can now order Staging previews.
  • An entity update now remains visible after you update it with dates that overlap. Now, both updates exist with dates that were set to intersect.
  • Staging now triggers application events as expected before version is applied.
  • Filtering the products grid by Category ID now works as expected.
  • Fixed issue where the Select from Existing Scheduled Update option resulted in an SQL error.
  • Fixed JavaScript errors that were occurring when you clicked Schedule New Update on the Product Edit page.


  • We changed the HTML header used for SSL offloading from SSL-OFFLOADED{:target=”_blank”} to X-Forwarded-Proto: https{:target=”_blank”} to be compatible with Varnish and for compatibility with load balancers.

To view this setting in the Magento Admin, click Stores > Settings > Configuration > GENERAL > Web. In the right pane, expand Base URLs (Secure), value of the Offloader header field.

If you change the value of this field, you must regenerate your .vcl files.

  • Magento now successfully migrates data when Google Analytics’s Content Experiments is enabled.
  • Category creation from product page no longer fails when Google Content Experiments is enabled.
  • Page View Optimization tab is absent on edit CMS Page.
  • You no longer get a “Wrong request parameters” error when you try to assign products to a category on the store view level.
  • If you enable Google’s content experiments in the Magento Admin, you can create categories as expected.
  • Undeclared dynamic property gets leaked in public space. (GITHUB-2103)
  • You can now access the Web setup wizard from the Admin interface.
  • Magento now updates Attribute set after reloading a form.
  • You can now update category settings.
  • You can now open the Admin Menu when JS minification is enabled. * We’ve corrected plugin sort order.
  • You can now create downloadable products.
  • Magento no longer exposes Marketplace credentials via URL.
  • You can now assign a CMS page to multiple storeviews.
  • The Search Engine Optimization fieldset no longer displays Category url_key. * You can now successfully create a new update on ‘custom store view’. * You can now add a new row to a Custom Option of Input Type when editing a simple product.
  • Magento can now complete reindexing when the product flat indexer is turned on. * You can now add form elements via layout and use the htmlContent component * The performance of re-indexing operations after importing many products has been improved. * The performance of loading directories that contain products that include Swatches has been improved.
  • You can now create permanent or temporary URL rewrites. (GITHUB-2929)
  • You can now save a product that’s been assigned to more than one website . * You can now save Text Swatch “Swatch” values.
  • Multi-site cache now shows the correct site’s content. (GITHUB-4556)
  • URL Rewrites now work correctly with multiple store views.
  • The Download link in the order confirmation email now works correctly. (GITHUB-4762)
  • Varnish cache is no longer disabled on most HTML requests.
  • You can now place orders using the Payflow Pro payment method .
  • You can now place an order for an item for an amount that exceeds half of item’s stock.
  • CLI is affected by the permissions configuration setting in server config.
  • Magento no longer duplicates URL keys during the creation of a configurable product .
  • Single tenant compiler now works when Magento is not installed.
  • Maestro credit cards can now pass validation on the application server side .
  • You can now successfully rest the Product Attributes mass update Admin form.
  • You can now insert more than two images using the WYSIWYG editor. (GITHUB-4221)
  • Magento now registers added themes during production mode. (GITHUB-2797)
  • The Admin Action Log archive is now formatted as expected.
  • Layered Navigation now contains previously missing category filters.
  • The WYSIWYG editor no longer removes HTML5 tags.
  • We now include .gitignore as part of the project package. (GITHUB-4358)
  • The PHP code migration tool no longer fails with this error: “Call to a member function xpath() on a non-object”.
  • You can now add new Content CMS New Blocks.
  • Deployed static view files no longer contain references to BaseURL.
  • Magento now generates data in production mode.
  • Fatal errors no longer occur when you save configuration from the Admin panel.
  • Magento now displays an error stating that user is prohibited from disabling the only default store view when you try to disable the default storeview for a store.
  • You can now change Video Role and Image Role.
  • Magento now displays a checkbox during the create user role ACL if minification is set to on.
  • You can now update an existing variation of a configurable product.
  • Magento now applies the Cart price rule for payment method conditions. * Admin User sessions no longer expire prematurely in installations that are running Redis for session storage. Previously, you were directed back to the login page after logging in to the Admin panel, waiting a short period time (less than the Admin Session Lifetime value), and trying to navigate to the Dashboard.
  • Fatal errors no longer occur when running CLI commands after compilation in some regression environments.
  • You can now save a product after applying an update for it.
  • Newly created categories now appear as expected on the Navigation menu.
  • Magento no longer references empty targets in other targets.
  • Category pages now display swatches of configurable products based on color swatch attribute.
  • Magento now successfully saves future special dates in the Advanced Price page.
  • You can now filter entries in the Product Reviews report by date.
  • Catalog Price Rules are now applied as expected, depending upon the time frame stated in the Price Rule.
  • The permissions set for a category are now applied as expected.
  • Phrases with escaped slash characters are now translated. Previously, if a phrase were wrapped with single quotes, Magento would not display it correctly.
  • Downloadable products are no longer shown as out of stock on the Category page.
  • Changes to Customer group are now immediately applied to logged-in customers.
  • You can now successfully save products with custom options.
  • You can now configure a product whose last attribute has a price of zero, and the correct total price results. (GITHUB-3912) * Optional dropdown product attributes can now be left blank.
  • You can now view configurable products when using sample data.
  • Layered navigation now includes a list of all product attributes.
  • The collectRates() method now obtains the full address details for a registered customer.
  • The Customer Address tab is populated as expected after you create a new order. Previously, Magento did not list addresses on this tab when you’d create a new order.
  • Logo folders have been added to the list of allowed resources. (GITHUB-4078)
  • The Force Sign-in button now works as expected.
  • Magento no longer makes unexpected calls when you view a product in the storefront.
  • Gift Message information is now present as expected in the extension_attributes when you request this list by Web API. Previously, if you placed an order with a Gift Message, and then performed a Web API request to get the list of orders, Gift Message information would be absent in the extension_attributes. (GITHUB-4414)
  • The getPassword() and getPasswordConfirm() methods now return the password and passwordconfirm parameters as strings. (GITHUB-4355)
  • The OAuth Token exchange expiration period is now calculated correctly. (GITHUB-3449)
  • Product update operations by either customers or store administrators no longer result in locking queries on catalog category product index. (GITHUB-4342)
  • The Order Repository GetList method no longer returns the same shipping address for all orders. (GITHUB-4019)
  • Magento now displays the correct product prices on the Configurable product page when catalog prices include tax. (GITHUB-2471)
  • The i18n:collect-phrases -m command now works correctly. Previously, this command would not find all important Magento phrases. (GITHUB-2630)
  • Plugins/interceptors now work with early stage single instance objects in Developer mode. (GITHUB-2674)
  • Admin order creation no longer fails when the “Include Tax In Order Total” option is set to YES. (GITHUB-2675)
  • The setup:di:compile script now compiles all files as expected. (GITHUB-2888)
  • Attribute ‘setup_version’ is missing for module error when defined as optional. (GITHUB-1493)
  • The CC model now assigns cc data that is passed in the additional_data field. (GITHUB-4741)
  • The locale for Chinese translation now works as expected. (GITHUB-1547)
  • Products > Catalog “Change status” mass action now works properly. (GITHUB-1559)
  • Magento now converts shipping_discount_amount to different currencies as needed. (GITHUB-2708)
  • You can now translate the phrases “records found” and “selected” that appear in the Admin panel. (GITHUB-2155)
  • Magento now displays information in the dashboard when the Use Aggregated Data setting is turned on. (GITHUB-3459)
  • Magento now checks for all return values used by the currency converter. (GITHUB-3118)
  • The Credit Memo form no longer assumes that shipping amount excludes VAT when both catalog prices and shipping prices are set to ‘including tax’. (GITHUB-3406)
  • You can now resend order emails from the Admin interface when using Async mail. (GITHUB-4507)
  • system.log behavior has changed to reduce the number of distracting logged broken references. (GITHUB-3507) * UI form components now support customer custom attributes of ‘file’ type. * Magento now identifies email validation errors after you finish typing the email address. * Fixed issues with the New Accounts Report. * Magento no longer calls plugin methods multiple times when a proxy exists for subject class. * Magento now applies a discount only for the correct attribute. * Fixed issue with wrong AMQP connection alias creating message failures. * Magento no longer throws an unmasked fatal error when you supply an invalid product ID.
    * Catalog Price Rules now work when based on configurable attributes * Fixed issue with Magento populating var/cache and var/page_cache after cache configuration.
  • Form: Validation is disabled when you disable a field. * Fixed issue with performance of customer form creation for many customers. * Fixed issue with the Code Migration tool’s handling of password hashes.
    * Fixed issue with rendering of the “Remember Me” pop-up. * We edited the error message that Magento displays when you upload a custom option file to avoid displaying internal code structure.
  • “Custom option” prices are now present in Configurable product order calculations. * Unauthenticated users can no longer delete product reviews from a store. * Message structure is now enforced on encoder.
  • Magento now updates topology after module installation. * Magento now rejects messages if an exception happens on business logic. * Fixed issue with area code not being set for the consumer command. * Category fields now contain the Use Default Value option in Store and StoreView scope. * Improved performance of the checkbox and removed duplicate labels.
  • Unnecessary StoreCookie plugins are no longer executed on each request. * Unnecessary MessageBox plugin no longer duplicate message logic. * MessageBox plugin is no longer triggered by frontend requests.
  • URL Rewrites now work for products that you access through the category landing pages. * Magento now displays customer attribute options on the Attribute Edit page. * Fixed issue with JaveScript errors when loading the product grid after cleaning the cache and static files .
  • Product images now switch as expected when you click on a swatch. * Varnish now properly invalidates or refreshes the both Catalog Event change in the Product page and Advance Inventory changes.
    * Quote are no longer lost after you cancel an order with the Worldpay payment method.
  • You can now create a simple product with custom options. * The Create an Account form now opens as expected after checkout has been completed for a customer who is not logged in.
  • Fixed issue with incorrect or missing scope labels on the Product Creation/Editing page. * You can now configure multiple websites using NGINX.
  • Magento now displays the prices for Grouped Products in the storefront.
  • You can now successfully sort products by swatch attribute. * You can now create an order from the Admin interface while using non-default website. * Magento now displays product attributes for a product on the storefront as expected. * Fixed issue with resetting password after waiting an hour.
  • Magento now provides an additional field in the Admin and customer login forms that prevent web browsers from caching login credentials. * Magento now loads product image from product page when minification is enabled. * Remove usages of DummyAttributeLoader.
  • Fixed issue with changing product images. * A configurable product image’s JSON isMain attribute is no longer always set to false. * Magento no longer throws an exception when an admin user requests a password reset password while working on a site that does not support email (for example, Vagrant). * Fixed issue with Sales Order extension_attributes. (GITHUB-3967) * Fixed issue with clearing the End Date. * Fixed incorrect translation function usage in template. * Fixed issues with Category page caching for different users on one web client.
  • Magento no longer displays a 400 Bad request error when clearing Varnish cache on GoDaddy.
    * Fixed issue with displaying special prices on the catalog or product page for the configurable products. * Corrected an issue where Magento applied the wrong discount for orders when Apply to Shipping Amount is set to YES.
  • Fixed issue with incorrect default rows value for Dynamic Rows pagination.
  • Magento now displays an error message (instead of throwing an exception) on the Catalog product edit page with an invalid param ID.
  • Magento now correctly displays Catalog Events Carousel widgets.
  • Fixed issue with selecting correct number of filtered rows on Related Products.
  • Changing configurations in an update no longer changes the original configurations.
  • Magento no longer throws a fatal error when you click on the related banner grid in Cart Price Rule form while in production mode. * Customer grid indexer performance has been enhanced. * Rule-based free shipping now works as expected. * You can now assign a product to a custom website. * We’ve enhanced the performance of the Sync button. * Fixed issue with CMS Pages being corrupted during mass actions.
  • Removing all rows from a CMS grid no longer results in an error message. * Magento now fills the confirmed email column as expected for confirmed customers. * The default full page cache (FPC) implementation no longer caches content with non-HTML Content-Type headers (for example, text/css, application/JavaScript), before re-serving this content as text/HTML.
  • Fixed issue with storefront prices not accurately reflecting products’ custom options settings.
  • Magento now displays a Threshold message after a customer buys a product and its quantity does not decrease.
  • You can now change the base currency in website scope. * Fixed issue with the missing Delete button on the Edit Store and Store View pages on websites with multiple stores and storeviews.
  • Fixed issue with downloadable product Links section on global scope level after edit on the storeview level.
  • Fixed issue with cache file permissions. * The Configurable Product page now displays the Create Configurations button.
  • Fixed problem using Internet Explorer 11 to access editable fields in a configurable product’s Current Variations grid.
  • Magento now correctly displays the stock status of a product with a custom attribute set after you save the product while creating it.
  • The variations matrix is now populated as expected after you update a configurable product.
  • The default address checkboxes are checked as expected on the Customer View page.
  • Magento now displays images for configurable product variations on the storefront.
  • Magento now creates a new attribute set as expected after you use the Configurable Product wizard to create a new product.
  • The checkout page now loads correctly after you add an extension attribute to CartItemInterface. (GITHUB-3640)
  • The Admin URL is no longer indexed in Google.
  • Fixed issue with fatal error while reordering.
  • Deleting a category’s image on a custom storeview no longer deletes the image on all store views.
  • We’ve enhanced the decimal precision on the Product page.
  • Fixed issue with the WYSIWYG editor not saving changes of raw content.
  • You can now remove a Gift Card Product’s fixed amount.
  • You can now create a store view after selecting Save and duplicate option while creating a simple product.
  • Fixed issue with updater/cron.php processing newlines.
  • Fixed invalid view ID and changelog name for the customer grid indexer.
  • Magento no longer throws SQL errors when you clone a product with custom options when you have CatalogStaging enabled.
  • Magento no longer removes a configurable product from the shopping cart when you add another product.
  • New Accounts Report now correctly calculates accounts for multiple websites.
  • Fixed miscellaneous errors in cron log.
  • Fixed issue with AMQP consumer message processing after duplicate message.
  • Customer account lockout now works as expected if the account has been unlocked previously.
  • Fixed issue with the Add Product to Cart with Minimum Qty Allowed Set feature.
  • Magento now transfers order data to the new order when you initiate a reorder.
  • Fixed problems with the layout of the search results page for a search on related orders for billing agreement.
  • Fixed problem with exception message on admin/mui/index/render/ page.
  • Magento no longer produces an exception when you add a configurable product with out-of-stock items to your shopping cart.
  • The cron updater now displays error messages instead of exceptions for permissions issues.
  • Fixed issues with placing orders using FedEx shipping method.
  • Cache is not invalidated or refreshed when product website visibility changes.
  • Magento no longer throws an exception when you create a custom widget .
  • Fixed issue with updating Category products on the storefront.
  • You can now change the title of the Product Details tab.
  • Magento no longer redirects customers to checkout instead of My Account if guest checkout is disabled.
  • Magento no longer saves Category global attributes twice.
  • Online payment methods now display as expected when you place an order for a virtual product as a guest.
  • You can now dynamically switch product types when creating a new product.
  • You can now create a credit memo when placing an order using Eway payment method when the payment action setting is set to Authorize only.
  • Setting category permissions to DENY now hides the category as expected.
  • Fixed issue with the display of forms incorporating new UI component in Single-Store mode.
  • You can now save bookmarks you’ve created in Admin data tables.
  • Fixed issue with setting Custom attribute to Yes/No.
  • We’ve improved the performance of local caching that uses Zend_Cache_Backend_File.
  • When you enable PayPal Express Checkout but disable PayPal Credit, only one PayPal Express Checkout option is available when the customer checks out.
  • Fixed the test dev/tests/integration/testsuite/Magento/Framework/Filesystem/Driver/FileTest.php to properly set file permissions.
  • The Use default value checkbox on a product in a non-default store view function properly.
  • Tests in dev/tests/integration/testsuite/Magento/Catalog/Model/ProductTest.php are executed as expected.
  • Corrected issues with HTML minification.
  • The REST API call POST /V1/products/attributes/ now creates a product’s attributes properly.
  • Saving a category with an invalid URL (such as a duplicate of another category’s) fails as expected.
  • Assigning to an existing Staging edit no longer causes a 500 (Internal Server Error).
  • You can now place an order with PayPal Secure Checkout if your site uses secure URLs.
  • Fixed Fatal error: Maximum execution time of 60 seconds exceeded when deploying static files. (GITHUB-2461)
  • We improved the error message when you install the Magento software using composer install with the –no-dev option. (Only developers who contribute to the Magento codebase typically use composer install.) (GITHUB-2561)
  • A quick edit of a CMS page no longer switches the store view to the default store.
  • Resolved an exception during setup or upgrade that resulted from a non-existent directory.
  • You can now use an empty value for a non-required configurable swatch attribute.
  • Resolved issues with shipping providers for one-page checkout.
  • Updated packages on to remove conflicts between Magento Open Source and Magento Commerce components.
  • User notifications work as expected.
  • Removed the listing of arguments from Magento\Framework\DataObject::__call() - print_r() to avoid memory leaks.
  • You can now apply a Catalog Price rule to a product created using the Web API.
  • Fixed issue with Category products not being loaded as expected to a second website.
  • Using the default values for the Enable Product and Product name fields on a non-default site during product update no longer causes the original data to be lost.
  • Fixed issues with minification in forms.
  • The Order grid filter now works as expected for Purchase Date.
  • You can now issue a partial refund.
  • You can now unassign a product from all websites.
  • We’ve improved the Catalog Events Carousel widget.
  • Fixed error that occurred during the creation of an international USPS shipment label with dimensions specified in inches.
  • You can now create a shipping label for the FedEx shipping method.
  • Magento now applies the license agreement automatically if Terms & Conditions are in automatic application mode.
  • We’ve corrected errors with currency codes in invoices. (GITHUB-4264)
  • Invoice amounts now display the currency symbol of the currency used on the store view.
  • Magento no longer displays Payment Review order status to the customer after the Fraud filters are triggered.
  • Invoice status now reflects the status of the captured saved invoice. (GITHUB-4385)
  • The eWay capture transaction no longer closes after creating a partial refund.
  • Magento no longer ignores tax when calculating totals for the shopping cart and checkout.
  • Fixed an issue with unexpected behavior of the Password Strength Validator on Create Customer Storefront page.
  • Cache behavior on checkout now works as expected (the only pages uncached belong to the order (products and category of the products). (GITHUB-4222)
  • Fixed issue with the sign-in modal overlay on the checkout page. (GITHUB-4083)
  • The Save button now works as expected on the Category Edit page after you’ve manipulated CatalogPermissions elements.
  • Setting Merge CSS Files = Yes no longer erodes Magento performance. (GITHUB-4710)
  • Image previewer now works with images that contain spaces in their name.
  • The setStoreId method now checks for StoreInterface and Store.
  • Dynamic Rows are now draggable.
  • Fixed issue with the Go Today button not working for the dates range component.
  • Magento no longer prompts you to select a dropdown attribute after you’ve selected one. (GITHUB-4899)
  • The Media Uploader error messages now make clear that we do not support SVG format. (GITHUB-2958)
  • The Web Setup Wizard now works when Magento is installed in /pub. (GITHUB-4159)
  • Fixed issue with template minification on the product frontend. (GITHUB-4365)
  • Added support for Chinese currency code for UPS shipping method. (GITHUB-4578)
  • Move to Shopping Cart action does not work inside creation offline order.
  • The Price vs. Destination value for the condition field in the Table Rate Shipping method now works as expected.
  • Magento now displays error messages on the page where the error occurred.
  • Fixed issue with rendering of the category permissions landing page config control. * Magento now caches catalog event statuses when event status changes.
  • Magento now creates product URL rewrites as expected on mass update to a new website.
  • Switching to Varnish causes category menu to force HTTPS links. (GITHUB-4540)
  • You can now log in to the product frontend when inline translation is enabled. (GITHUB-4925)
  • Magento now uses the XML schema location in both the etc/adminhtml/system.xml and the Magento/Config/etc/system_file.xsd schema. (GITHUB-2372)
  • Categories path for product URLs now working for Sample Data. (GITHUB-2619)
  • SynchronizePersistentInfoObserver is no longer subscribed to a nonexistent event. (GITHUB-2693)
  • Fixed possible memory leak in \Magento\Framework\Image\Adapter\Gd2. (GITHUB-2696)
  • Fixed issue with selecting a product template for a configurable attribute. (GITHUB-2567)
  • The Code Migration tool now recognizes all Magento 1.x resource models and collection classes.
  • You can now print both shipment and invoice information from My Orders page. (GITHUB-2500)
  • Fixed issue in the $product->load($id) method for specific products. (GITHUB-2800)
  • You can now log in on the product frontend when inline translation is enabled. (GITHUB-4925)

System requirements

Our technology stack is built on PHP and MySQL. For details, see Technology stack requirements

For more information, System Requirements.

Installation and upgrade instructions

You can install Magento Magento Commerce 2.1 General Availability (GA) using Composer.

Install the Magento software

See one of the following sections:

Get Magento Commerce using Composer

Magento Commerce (formerly Enterprise Edition) is available from Before installing the Magento Commerce software using Composer, familiarize yourself with these prerequisites, then run:

composer create-project --repository= magento/project-enterprise-edition=<version> <installation directory name>

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

For example, to install 2.1.1 in the magento2 directory:

composer create-project --repository= magento/project-enterprise-edition=2.1.1 magento2

Get Magento Commerce using a compressed archive

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

  • Magento Commerce software only
  • Magento Commerce 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 Commerce archive:

  1. Go to your account on
  2. Log in with your Magento username and password.
  3. In the left navigation bar, click Downloads.
  4. In the right pane, click Magento Commerce 2.X > Full Release or Magento Commerce 2.X > Full Release + Sample Data for the software.
  5. Follow the instructions on your screen to complete the Magento Commerce download:

    • Magento-EE-<version>.* (without sample data)
    • Magento-EE-<version>+Samples.* (with sample data)
  6. Transfer the installation package to your development system.

Complete the installation

After you get the Commerce software:

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

Upgrade from an earlier version

To upgrade to Magento Commerce 2.1 from an earlier version, see 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.

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.