Magento Commerce 2.1 Release Candidate 2 (RC2) Release Notes

We are pleased to present Magento 2.1 Release Candidate 2 (RC2). This release candidate build is not intended for production purposes. Instead, it provides the development community opportunities to:

  • preview the new features and fixes that Magento 2.1 GA will contain

  • contribute to the Magento 2.1 code base by identifying unresolved issues

  • test your 2.0 extensions against 2.1

We welcome your participation in this process! Enterprise Edition customers can provide feedback in these two ways:

  • Magento Commerce GitHub repository. For more information on how to provide feedback and contribute on GitHub, see Code contributions.

  • Email to DL-Magento-2.1-Feedback@magento.com.

This Release Candidate is available from repo.magento.com if you have a Magento Commerce license or GitHub if you have previously signed an agreement to access Magento Commerce 2.0 beta software on GitHub.

Backward-incompatible changes are documented in Magento 2.1 Backward Incompatible Changes.

Highlights

Magento Commerce 2.1 includes several new and exciting features:

  • Content Staging and Preview improves productivity by enabling business teams to easily create, preview, and schedule a wide range of content updates without involving IT. Merchants can make updates to products, categories, CMS content, promotions, and pricing and can preview these changes based on specific dates and times or store views. User-friendly dashboards provide greater visibility into all planned site changes and updates can be automatically deployed at scheduled times.

  • Elasticsearch is a next-generation 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 configure stop words and synonyms to ensure high quality 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 enhancements enable merchants to qualify for the simplest set of PCI compliance requirements by using Braintree Hosted Fields to collect all sensitive cardholder information in checkout. Merchants retain complete control over their checkout style and layout because Braintree uses small, transparent iframes to replace individual payment fields. Merchants can now also access Braintree settlement reports from within the Magento Admin interface.

  • 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.

Known issues

Magento 2.1 RC2 includes the following known issues:

  • Magento does not apply the Cart Price or Catalog Price sales rules accordingly to the store website’s timezone, as expected.
  • You cannot update from Magento 2.0.x to Magento 2.1.x with Sample Data.

Fixed issues

Solr search

  • 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 displays all products as expected in search results.

Checkout

  • Several address-related issues associated with Checkout have been resolved.
  • 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.

Bundle products

  • The Add Products to Option button now works as expected when you create a new update for a Bundle product.
  • Quotation marks can now be included in Bundle product names. (GITHUB-4414)

Miscellaneous

  • Reflected cross-site scripting (XSS) can no longer occur through the Authorizenet module’s redirect data.
  • Admin User sessions no longer expire prematurely in installations 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.
  • Magento now returns available services in WSDL schema. Previously, you could not process SOAP requests as expected.
  • 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.
  • You can now run all integration tests in developer mode.
  • 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.
  • After you install and enable a module, the System > Extensions > Integrations page lists the new Integration generated by the module. (GITHUB-4023)
  • 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.
  • Magento now successfully migrates data when Google Analytics’s “Content Experiments” is enabled.
  • Cart now updates and lists rates for custom shipping methods as expected when you change the shipping address. (GITHUB-4679)
  • 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.
  • 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)
  • 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-4309)
  • The getPassword() and getPasswordConfirm() methods now return the password and passwordconfirm parameters as strings. (GITHUB-4355)

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 AMPQ specifications.

Staging

  • 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.

Technology stack

Our technology stack is built on PHP and MySQL. Magento 2.1 RC3 supports:

  • PHP 5.6
  • PHP 7.0.2
  • PHP 7.0.6 + up until 7.1
  • MySQL 5.6.

We do not support PHP 5.5.x or 7.0.5.

Installation and upgrade instructions

You can install Magento Commerce 2.1 Release Candidate 2 (RC2) using Composer.

This Release Candidate is for test purposes only. Do not install it in a production environment.

See one of the following sections:

Install using Composer

This Release Candidate is available from repo.magento.com. Before installing this Release Candidate using Composer, familiarize yourself with these prerequisites, then run:

	composer create-project --repository-url=https://repo.magento.com/ magento/project-enterprise-edition=2.1.0-rc2 <installation directory name>

Upgrade existing installations

This section discusses how to upgrade to a Release Candidate without sample data.

If you installed optional sample data, see Upgrade to an RC with sample data instead.

Do not upgrade to a Release Candidate on a production system. Upgrade to a Release Candidate on a development system only.

Upgrade using the Setup Wizard

Use the instructions in Start System Upgrade. When prompted to choose a version, choose a Release Candidate.

Upgrade an existing installation from the GitHub repository

Developers who contribute to the Open Source codebase can upgrade manually from the Magento Open Source GitHub repository.

  1. Go to the Contributing Developers page.

  2. Follow the instructions to pull the updates from the repository and update using Composer.

Upgrade using the command line

To upgrade to a Release Candidate using the command line:
  1. Log in to your Magento server as, or switch to, the Magento file system owner.
  2. Change to the directory in which you installed the Magento software.

    For example, cd /var/www/html/magento2

  3. Enter the following commands in the order shown:

    composer require <product> 2.1.0-rc2 --no-update
    composer update
    

    To upgrade to Magento Open Source 2.1 RC2, enter:

    composer require magento/product-community-edition 2.1.0-rc2 --no-update
    composer update
    

    To upgrade to Magento Commerce 2.1 RC2, enter:

    composer require magento/product-enterprise-edition 2.1.0-rc2 --no-update
    composer update
    
  4. If prompted, enter your authentication keys.
  5. Update the database schema and data:

     php bin/magento setup:upgrade
    

Upgrade to an RC with sample data

These instructions apply to Magento Community Edition (CE) and Magento Enterprise Edition (EE) users only if all of the following are true:

  • You have installed optional sample data
  • You’re upgrading to Magento 2.1 (including a Release Candidate) from any earlier version using the command line
Click to expand/collapse content

To upgrade to Magento 2.1 sample data using the command line:

  1. Log in to your Magento server as, or switch to, the Magento file system owner.
  2. Change to the Magento installation directory.
  3. Back up your current composer.json:

    cp composer.json composer.json.bak
    
  4. Enter one of the following commands to upgrade the Magento software version to 2.1.0 (GA release):

    composer require <product> <version> --no-update
    composer require <sample data module-1>:<version> ... <sample data module-n>:<version> --no-update
    
    • Magento CE:

      composer require magento/product-community-edition 2.1.0 --no-update
      
      composer require magento/module-bundle-sample-data:100.1.0 magento/module-widget-sample-data:100.1.0 magento/module-theme-sample-data:100.1.0 magento/module-catalog-sample-data:100.1.0 magento/module-customer-sample-data:100.1.0 magento/module-cms-sample-data:100.1.0  magento/module-catalog-rule-sample-data:100.1.0 magento/module-sales-rule-sample-data:100.1.0 magento/module-review-sample-data:100.1.0 magento/module-tax-sample-data:100.1.0 magento/module-sales-sample-data:100.1.0 magento/module-grouped-product-sample-data:100.1.0 magento/module-downloadable-sample-data:100.1.0 magento/module-msrp-sample-data:100.1.0 magento/module-configurable-sample-data:100.1.0 magento/module-product-links-sample-data:100.1.0 magento/module-wishlist-sample-data:100.1.0 magento/module-swatches-sample-data:100.1.0 magento/sample-data-media:100.1.0 magento/module-offline-shipping-sample-data:100.1.0 --no-update 
      
    • Magento EE:

      composer require magento/product-enterprise-edition 2.1.0 --no-update
      
      composer require magento/module-bundle-sample-data:100.1.0 magento/module-widget-sample-data:100.1.0 magento/module-theme-sample-data:100.1.0 magento/module-catalog-sample-data:100.1.0 magento/module-customer-sample-data:100.1.0 magento/module-cms-sample-data:100.1.0  magento/module-catalog-rule-sample-data:100.1.0 magento/module-sales-rule-sample-data:100.1.0 magento/module-review-sample-data:100.1.0 magento/module-tax-sample-data:100.1.0 magento/module-sales-sample-data:100.1.0 magento/module-grouped-product-sample-data:100.1.0 magento/module-downloadable-sample-data:100.1.0 magento/module-msrp-sample-data:100.1.0 magento/module-configurable-sample-data:100.1.0 magento/module-product-links-sample-data:100.1.0 magento/module-wishlist-sample-data:100.1.0 magento/module-swatches-sample-data:100.1.0 magento/sample-data-media:100.1.0 magento/module-offline-shipping-sample-data:100.1.0 magento/module-gift-card-sample-data:100.1.0 magento/module-customer-balance-sample-data:100.1.0 magento/module-target-rule-sample-data:100.1.0 magento/module-gift-registry-sample-data:100.1.0 magento/module-multiple-wishlist-sample-data:100.1.0 --no-update
      

    To upgrade to a Release Candidate, append -rc<x> to the version of each module. For example, -rc3.

  5. Update dependencies:

    composer update
    
  6. If prompted, enter your authentication keys.
  7. Wait for dependencies to update.

Finish your upgrade

After you’ve reset file system permissions:

  1. If you haven’t done so already, log in to your Magento server as, or switch to, the Magento file system owner.
  2. Change to your Magento installation directory.
  3. Manually clear the var/cache, var/page_cache, and var/generation directories.

    A sample command follows:

    rm -rf var/cache/* var/page_cache/* var/generation/*
    
  4. Enter the following command from your Magento installation directory:

    php bin/magento setup:upgrade
    

Apply file system permissions and ownership

As part of the sample data upgrade process, you must apply current file system permission and ownership as discussed in the following sections. Failure to do so will cause your upgrade to fail.

For more information about file system ownership and permissions since the Magento 2.0.6 release, see Overview of ownership and permissions.

One-user ownership and permissions

If you run the Magento application as one user (which is typical of shared hosting environments), change file system permissions and ownership as follows:

cd <your Magento install dir>
find var vendor pub/static pub/media app/etc -type f -exec chmod g+w {} \;
find var vendor pub/static pub/media app/etc -type d -exec chmod g+w {} \;
chmod u+x bin/magento

To optionally enter all commands on one line, enter the following assuming Magento is installed in /var/www/html/magento2:

cd /var/www/html/magento2 && find var vendor pub/static pub/media app/etc -type f -exec chmod g+w {} \; && find var vendor pub/static pub/media app/etc -type d -exec chmod g+w {} \; && chmod u+x bin/magento

After you set file system permissions, manually clear the var/cache, var/page_cache, and var/generation directories.

A sample command follows:

rm -rf var/cache/* var/page_cache/* var/generation/*

Two-user ownership and permissions

If you run the Magento application with two users, enter the following commands as a user with root privileges:

cd <your Magento install dir>
find var vendor pub/static pub/media app/etc -type f -exec chmod g+w {} \;
find var vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} \;
chown -R :<web server group> .
chmod u+x bin/magento

To optionally enter all commands on one line, enter the following assuming Magento is installed in /var/www/html/magento2 and the web server group name is apache:

cd /var/www/html/magento2 && find var vendor pub/static pub/media app/etc -type f -exec chmod g+w {} \; && find var vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} \; && chown -R :apache . && chmod u+x bin/magento

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.