Magento Commerce 2.1 Release Candidate 1 (RC1) Release Notes

We are pleased to present Magento 2.1 Release Candidate 1 (RC1). 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! Magento Commerce 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 an 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.0 Backward Incompatible Changes.

Highlights

Magento Commerce (formerly Enterprise Edition) 2.1 includes several new 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 Commerce 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 in-context checkout helps to increase conversion rates by allowing shoppers to pay with PayPal without leaving the merchant’s site. PayPal saved credit card capabilities allow merchants to securely store credit cards with PayPal so shoppers can make future purchases without re-entering their credit card information.

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

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

Issue: Enabling Varnish causes the category menu to switch from http to https (GITHUB-4540)

Work-around: To use Varnish caching with an HTTP site, add rewrite rules such as the following in Magento’s root .htaccess:

RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} /yellow-fruit.html
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [L]
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} /red-fruit.html
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [L]

Fixed issues

This release includes fixes for the following GitHub issues:

  • Web APIs no longer allow anonymous access by default. (GITHUB-3786)
  • The OAuth Token exchange expiration period is now calculated correctly. (GITHUB-3449)
  • Shipping Address is now exposed for the Orders API. (GITHUB-2628)
  • A Credit Memo REST API issue with updating attributes has been fixed. Previously, certain attributes (such as Order Status) were not updated when the user took action through the API. However, Magento updates these attributes when the same action is completed in the Admin interface. (GITHUB-4329)
  • 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)
  • A configurable product’s last attribute with price of zero (0) no longer results in an error. The user can configure the product, and the correct price results. (GITHUB-3912)
  • An error message that users typically received during upgrade has been improved. The message now clearly states when a user must login first to magento.com before continuing the upgrade process. (GITHUB-3059)
  • 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)

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 1 (RC1) 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-rc1 --no-update
    composer update
    

    To upgrade to Magento Open Source 2.1 RC1, enter:

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

    To upgrade to Magento Commerce 2.1 RC1, enter:

    composer require magento/product-enterprise-edition 2.1.0-rc1 --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 Open Source:

      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