diff --git a/.htaccess b/.htaccess
index f1ef8719ba1a8421e3d58aeceee851da731e4f77..404488eb7ff0ecc6197ab8c100555c79eb1cf0ce 100644
--- a/.htaccess
+++ b/.htaccess
@@ -1,3 +1,8 @@
+############################################
+## uncomment the line below to enable developer mode
+
+#   SetEnv MAGE_MODE developer
+
 ############################################
 ## uncomment these lines for CGI mode
 ## make sure to specify the correct cgi php binary file name
@@ -167,15 +172,11 @@
 ## http://developer.yahoo.com/performance/rules.html#expires
 
     ExpiresDefault "access plus 1 year"
+    ExpiresByType text/html A0
+    ExpiresByType text/plain A0
 
 </IfModule>
 
-############################################
-## By default allow all access
-
-    Order allow,deny
-    Allow from all
-
 ###########################################
 ## Deny access to release notes to prevent disclosure of the installed Magento version
 
diff --git a/.htaccess.sample b/.htaccess.sample
index 47944ce310559c42972741d1459ed4e98a332b0f..133ce7de2c59badd5df4a159bb921e8a99f05eb7 100644
--- a/.htaccess.sample
+++ b/.htaccess.sample
@@ -1,3 +1,8 @@
+############################################
+## uncomment the line below to enable developer mode
+
+#   SetEnv MAGE_MODE developer
+
 ############################################
 ## uncomment these lines for CGI mode
 ## make sure to specify the correct cgi php binary file name
@@ -164,15 +169,11 @@
 ## http://developer.yahoo.com/performance/rules.html#expires
 
     ExpiresDefault "access plus 1 year"
+    ExpiresByType text/html A0
+    ExpiresByType text/plain A0
 
 </IfModule>
 
-############################################
-## By default allow all access
-
-    Order allow,deny
-    Allow from all
-
 ###########################################
 ## Deny access to release notes to prevent disclosure of the installed Magento version
 
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 31cb8dff708ee9dc46ba8a1d67159a8fe93f5269..338ab6cf7da11ec471acb79edb367b2fedddf175 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,174 @@
+0.74.0-beta1
+=============
+* Various
+    * Inline JS code is eliminated
+    * Fixed XSS vulnerability issues
+    * "Last login time" functionality is moved from Magento_Log module to Magento_Customer module
+    * Implemented two-strategies JS translation
+    * Improved backend menu keyboard accessibility
+    * Accessibility improvements: WAI-ARIA in product item on category page and related products
+    * Checkout flow code can work with separate DB storage
+    * Unit tests moved to component directories
+    * Addressed naming inconsistencies in REST routes
+    * Added Advanced Developer Workflow for frontend developers
+* Setup
+    * Utilized Magento error handler in Setup application to convert errors and warnings to exceptions
+    * Fixed error when private content handling doesn't work when HTML profiler and developer mode are on
+    * Fixed error with packages uninstall using Magento Composer Installer failed for the last package
+    * Fixed fatal error in Setup application, after ran composer install with --no-dev option
+    * Fixed JS error when expanding list of modules at "Customize Your Store" step in installation wizard
+    * Fixed JS error when going back to "Customize Your Store" step from "Create Admin Account" step in installation wizard
+* Framework
+    * New module Magento_MediaStorage is created and holds components from Magento_Core module
+    * New module Magento_MediaStorage is created and holds components from Magento_Core module
+    * Implemented JS resources bundling (server side pre-processing)
+    * Zend_Locale replaced with Native PHP Implementation
+    * Zend_Date replaced with native PHP DateTime object/functions
+    * Magento\Framework\Exception\LocalizedException constructor is refactored
+    * Magento\Framework\Validator\ValidatorException is renamed
+    * Magento\Framework\Controller\Result\JSON is renamed to meet PSR standard
+    * Library oyejorge/less.php is updated to the latest version
+    * Refactored WebApi framework to support concrete types for custom attributes
+    * Version used in SOAP declarations is now taken from routes declared in webapi.xml
+    * Added ability to extend API data interfaces using extension attributes
+    * Magento_Core module is removed
+* Web API Framework
+    * Factories are used instead of builders
+    * Removed auto generation of builders
+    * Made interfaceName a required parameter in Magento\Framework\Api\DataObjectHelper::populateWithArray method
+* Performance
+    * Increased caching coverage of Magento storefront pages: Cart, Register, Login, My Account
+    * finished work around HHVM Compatibility
+    * Fixed EAV caching on storefront
+    * Optimized DI compilation for interception
+* Design
+    * New design in Backend
+    * New messages design in Installation Wizard
+    * New design for MAP on Catalog Frontend Pages
+* Fixed bugs
+    * Catch syntax error in module.xml files
+    * Profiling of cache operations was permanently disabled
+    * Session was not cleared when layout is cached
+    * Page cache was invalidated by cron jobs after reindexing, even in case nothing is changed
+    * Typo in method name in Adminhtml/Index/Grid.php
+    * Missing validation of table prefix in 'Step 2: Add a Database' of Web Setup wizard
+    * User hint of password strength validator in Web Setup wizard to be consistent with the algorithm used
+    * New Logger cannot format exception and debug info correctly
+    * Wrong styles structure
+    * Customer is redirected to shopping cart by clicking on mini shopping cart after adding product
+    * Gift Message information for Order level is not presented on frontend/backend orders
+    * Wrong "customer_id" value for GiftMessages created using API service
+    * No ability to place order for guest customer using API service
+    * Shopping Cart was displayed partly broken if contained a Product with an image as a custom option
+    * Impossible to add product to the shopping cart with Custom option of type="file"
+    * Adding to cart dialog widget with MSRP price on product page is broken
+    * Copy and Paste detector is run against test files that are blacklisted
+    * Displaying the wrong price on product page when selecting an option for configurable product
+    * Tax amount (tax on full shipping) is refunded, when partial shipping amount is refunded
+    * Tax Calculation Based On Shipping Address, when the discount coupon is applied
+    * Price (including tax) is shown on product page when configuration is set to display excluding tax
+    * FPT is not applied in shopping cart and order for registered user
+    * FPT not applied for registered users when FPC is disabled
+    * "All categoryName" menu link is absent, subcategories are shown on hover of parent category
+    * Horizontal scrolling appears when browser width is resized to mobile size
+    * Broken design for "select store" element in CMS grid filter
+    * Attribute value uniqueness isn't checked for custom product template
+    * Category tree is not displayed in conditions for Catalog Price Rules
+    * Remove hard coded IDs from catalog API code
+    * Bottom margin for "Wishlist Search" Widget
+    * Custom option image with limits view for frontend
+    * Category page displayed outdated prices after catalog price rule was deleted
+    * Cart quantity is more than in stock amount
+    * Page layout configuration: not being possible to extend/override on the theme level
+    * Page layout with custom set of containers causing fatal error
+    * Reset password e-mails requested from second store view has link and name of the first main store
+    * There is no ability to place order for virtual product with customer address attribute from backend
+    * Specified details for Bundle product are lost after adding to wishlist
+    * Customer address is set to non default after changing account information
+    * Unable to save newsletter subscription information of customer in backend
+    * Guest can't add product to wishlist while registering
+    * Cron job for Shipping
+    * Solution for issue with attributes with list of countries
+    * Unable to generate variations while creating configurable product
+    * Variations are created with Out of Stock status if configurable product has been switched from simple product
+    * Impossible search Downloadable product using file title
+    * Change order of loading integration tests (load config annotations before fixtures)
+    * Impossible to upload files in Configuration
+    * Creating shipment for an order
+    * Price displaying on product page for bundle product
+    * Display bug for tier prices
+    * Required marker is displayed on wrong line in Backend
+    * Categories' titles in Frontend navigation Menu overlap "expand" button on mobile
+    * Backend Login form alignment for ie9
+    * JS loader position for Backend
+    * Display checkboxes on Update Attributes page via Mass Action
+    * Removed Test\Unit from cached DI configuration, as it brings performance degradation
+    * Impossible to place order with DHL EU shipping method
+    * Updates while tables recreation in setup process
+    * Pagination on downloadable products tab in customer account
+    * Adding existing attribute on New Product page
+    * "Manage Stock" is not saving for bundle product
+    * Filter did not work for Order Total report
+    * Error on reports for Order Totals if grouped by Year
+    * Customer can't find Order on Frontend
+    * Postal code is still mandatory for Non-US addresses that don't use it
+    * Price of simple product isn't recalculated after selecting options on product page
+    * Don't load bundle quantity from options on bundle page
+    * It's impossible to remove added row from "Minimum Qty Allowed in Shopping Cart" in config
+    * It's impossible to add Product with required Custom Options of "Field" and/or "Area" type to Shopping Cart
+    * Syntax error in New Shipment email template
+    * Removed admin only web service route for using customer user password reset tokens and setting new passwords
+    * Remove the relevant URL Rewrites configuration after removing a category
+    * Static obsolete code test did not recognize partial namespaces
+    * Magento breaks when set specific locale
+    * An error on Shipping Method page which appeared on MultiAddress Checkout
+    * Impossible to update Gift Message from backend
+    * Impossible to create configurable product
+    * Impossible to create new attribute through Product Creation page
+    * Product Template page did not work in IE9 and FF
+    * Product image could added only after double click in IE9
+    * Inconsistent timestamp return for Magento admin panel timezone
+    * Few problems with HTML minification
+    * 404 page is displayed on any action with order that it viewed under guest
+    * "500 Internal Server Error" in case of excess "Maximum Qty Allowed in Shopping Cart" value
+    * MAP link is displayed for a product on category page after delete Catalog Price Rule
+    * Deploy script modifies LESS files with "@urls-resolved: true"
+    * Zip code field is missing in customers addresses on backend
+    * Impossible to add bundle product with required option to shopping cart without selecting all available options
+    * Empty email is sent when a registered user changes password in the front end
+    * Tabs widget does not initialize sometimes on Product Creation page
+    * Fatal error when trying to send notify customer by email about shipment
+* Tests
+    * Fixed an issue with WebDriverException for iframes in functional tests
+    * Added functional test for backend menu navigation
+    * Replaced end-to-end test for online one-page checkout with injectable test
+    * Replaced end-to-end test for admin user with injectable test
+    * Replaced end-to-end test for catalog price rule with injectable test
+    * Replaced end-to-end test for store view with injectable test
+    * Increased integration tests coverage for Magento_Indexer module
+    * Increased unit test coverage for Magento_Cms, Magento_Email and Magento_Sales module
+* GitHub issues and requests:
+    * [#533] (https://github.com/magento/magento2/issues/533) -- Remove Allow all access in .htaccess
+    * [#850] (https://github.com/magento/magento2/issues/850) -- HTML Profiler and pub/static Resources
+    * [#919] (https://github.com/magento/magento2/issues/919) -- System information error when error is fixed but page wasn't refreshed
+    * [#987] (https://github.com/magento/magento2/pull/987) -- Fix mod_expires for dynamic content
+    * [#1004] (https://github.com/magento/magento2/issues/1004) -- Problem with template luma
+    * [#1014] (https://github.com/magento/magento2/issues/1014) -- php index.php update - Class Magento\Store\Model\StoreManagerInterface does not exist
+    * [#1015] (https://github.com/magento/magento2/issues/1015) -- After success setup/index.php update - "Missing required argument $engines of Magento\Framework\View\TemplateEngineFactory"
+    * [#1016] (https://github.com/magento/magento2/issues/1016) -- Backend Javascript Errors (new instalation)
+    * [#1020] (https://github.com/magento/magento2/issues/1020) -- Bug generating Sitemap Cron expression
+    * [#1029] (https://github.com/magento/magento2/issues/1029) -- Admin dashboard Most Viewed Products Tab issue (without product list)
+    * [#1035] (https://github.com/magento/magento2/issues/1035) -- Bug in Magento\Framework\Simplexml\Element::appendChild
+    * [#1042] (https://github.com/magento/magento2/issues/1042) -- Lost catalog rewrite url after page/list-mode/limit changed
+    * [#1045] (https://github.com/magento/magento2/issues/1045) -- Bad rendering frontend category menu
+    * [#1048] (https://github.com/magento/magento2/pull/1048) -- Make possible to upload SVG logo by admin
+    * [#1052] (https://github.com/magento/magento2/pull/1052) -- Fix history cleanup for missed cron jobs
+    * [#1062] (https://github.com/magento/magento2/pull/1062) -- Add check to see if PHP > 5.6 and always_populate_raw_post_data = -1
+    * [#1082] (https://github.com/magento/magento2/pull/1082) -- Fix incorrect variable name ($schema -> $scheme)
+    * [#1086] (https://github.com/magento/magento2/issues/1086) -- Email message containing non English character is displayed incorrectly on the receiver
+    * [#1088] (https://github.com/magento/magento2/pull/1088) -- Add developer mode example to .htaccess
+    * [#1107] (https://github.com/magento/magento2/issues/1107) -- Serious security issue in Customer Address edit section
+
 0.42.0-beta11
 =============
 * Various improvements:
@@ -127,30 +298,30 @@
 0.42.0-beta7
 =============
 * Various improvements:
-    * Added Varnish 4 support 
-    * Added CSS minification 
-    * Improved the performance toolkit 
+    * Added Varnish 4 support
+    * Added CSS minification
+    * Improved the performance toolkit
 * Fixed bugs:
-    * Fixed an issue where the compiler for the single tenant mode did not resolve Repositories 
-    * Fixed an issue where the "Select all" mass action on the Customers page did not select all customers 
+    * Fixed an issue where the compiler for the single tenant mode did not resolve Repositories
+    * Fixed an issue where the "Select all" mass action on the Customers page did not select all customers
     * Fixed an issue where values for a customer  attribute of multiple-select type were not saved
     * Fixed an issue where the parental wakeup() method was not called in interceptors
-    * Fixed an issue where bundle products with the same configurations added from different pages were displayed in the wishlist as separate items 
+    * Fixed an issue where bundle products with the same configurations added from different pages were displayed in the wishlist as separate items
     * Fixed an issue where the number of items added to the wishlist was not displayed on certain pages
-    * Fixed an issue where logging was broken 
-    * Fixed an issue where it was impossible to use \Magento\Customer\Model\Resource\AddressRepository::getList with predefined direction(sortOrder) 
-    * Fixed an issue where editing a product from wishlist led caused a fatal error 
-    * Fixed an issue where the redirect link to continue shopping was absent in the success message after adding product to a wishlist 
+    * Fixed an issue where logging was broken
+    * Fixed an issue where it was impossible to use \Magento\Customer\Model\Resource\AddressRepository::getList with predefined direction(sortOrder)
+    * Fixed an issue where editing a product from wishlist led caused a fatal error
+    * Fixed an issue where the redirect link to continue shopping was absent in the success message after adding product to a wishlist
     * Fixed an issue where HTML tags where displayed in product prices on the Customer's Wishlist page in Admin
     * Fixed an issue where the Name and Email fields were not automatically when creating an email using the Email to Friend functionality
     * Fixed an issue with the redirect after searching product in a customer wishlist in Admin
     * Fixed an issue where a configurable product did not go out of stock when last subitem of some option was sold
     * Fixed an issue with varnish config generation for multiple IPs in access list field
     * Fixed the wrong di.xml in the Magento_Developer module
-    * Fixed an issue where changes were not saved when default billing/shipping address was not selected in customer addresses 
+    * Fixed an issue where changes were not saved when default billing/shipping address was not selected in customer addresses
     * Fixed the issue where the Update Qty button looked disabled during a partial invoice creation
     * Fixed an issue where the creation date was not displayed in invoices and credit memo grids
-    * Fixed an issue where it was impossible to install Magento_Quote on PHP 5.6 
+    * Fixed an issue where it was impossible to install Magento_Quote on PHP 5.6
     * Fixed an issue that changes are not saved when default billing/shipping address is unchecked in customer addresses
     * Fixed an issue where "Update Qty" button looks disabled while creating partial invoice
     * Fixed an issue where date created column is not populated in invoices and credit memo grid
@@ -158,9 +329,9 @@
     * Fixed an issue with wrong link "File Permission Help"
     * Fixed an issue where dev/tools are broken when DI compiler is used due to skipped by the compiler dev/tools/Magento folder
 * Framework improvements:
-    * JavaScript testsuites divided into frontend, backend and lib suites 
+    * JavaScript testsuites divided into frontend, backend and lib suites
     * Implemented image compression on server side upload
-    * Implemented frontend page resources sorting 
+    * Implemented frontend page resources sorting
     * Removed the Magic __call method usage in templates
     * Introduced Jasmine + PhantomJS JavaScript testing infrastructure
     * Removed support of PHP 5.4
@@ -170,30 +341,30 @@
 * GitHub requests :
     * [#593](https://github.com/magento/magento2/issues/593) -- Allow to use "0" as customer group
     * [#804](https://github.com/magento/magento2/issues/804) -- Comment about VAT number displayed under different field in Customer Configuration
-    
+
 0.42.0-beta6
 =============
 * Various improvements:
-    * Implemented caching for WebAPI configuration 
-    * Improved tests coverage of the CurrencySymbol module 
-    * Table catalogsearch_fulltext is setting up with ENGINE=InnoDB 
-    * Improved unit test coverage of the Catalog related functionality 
-    * Optimized JS dependencies 
-    * Refactored controller actions in the Sales module 
-    * Refactored controller actions in the Customer module 
-    * Removed the assertion for the exact number of attributes in API-functional tests for customer metadata. 
-    * Refactored API code for the CheckoutAgreements module 
-    * Refactored API code for the GiftMessage module 
-    * Refactored API for the Checkout module 
+    * Implemented caching for WebAPI configuration
+    * Improved tests coverage of the CurrencySymbol module
+    * Table catalogsearch_fulltext is setting up with ENGINE=InnoDB
+    * Improved unit test coverage of the Catalog related functionality
+    * Optimized JS dependencies
+    * Refactored controller actions in the Sales module
+    * Refactored controller actions in the Customer module
+    * Removed the assertion for the exact number of attributes in API-functional tests for customer metadata.
+    * Refactored API code for the CheckoutAgreements module
+    * Refactored API code for the GiftMessage module
+    * Refactored API for the Checkout module
 * Fixed bugs:
-    * Fixed an where issue were WebAPI generated the wrong WSDL 
-    * Fixed an issue where Catalog, Checkout, Customer API ACLs did not support AJAX use case(s) 
-    * Fixed an issue where SOAP tests failed after upgrading to ZF 1.12.9 
-    * Fixed an issue where the 'There is no data for export' message was displayed permanently after invalid search 
-    * Fixed an issue where there was no ability to set category position during creation it 
-    * Fixed a CSS issue where certain images were absent on banners () 
+    * Fixed an where issue were WebAPI generated the wrong WSDL
+    * Fixed an issue where Catalog, Checkout, Customer API ACLs did not support AJAX use case(s)
+    * Fixed an issue where SOAP tests failed after upgrading to ZF 1.12.9
+    * Fixed an issue where the 'There is no data for export' message was displayed permanently after invalid search
+    * Fixed an issue where there was no ability to set category position during creation it
+    * Fixed a CSS issue where certain images were absent on banners ()
     * Fixed an issue where the 'Date Of Birth' value was i reset to current date on the customer form)
-    * Fixed an issue where the behavior of the "Terms and Conditions" validation on multiple address checkout was different from the one for the onepage checkout 
+    * Fixed an issue where the behavior of the "Terms and Conditions" validation on multiple address checkout was different from the one for the onepage checkout
     * Fixed an issue where it was impossible to checkout with multiple addresses
     * Fixed an issue where the 'This is a required field ' message was not displayed for "Terms and Conditions" if the latter  was not selected
 * GitHub Requests:
@@ -202,9 +373,9 @@
     * [#866](https://github.com/magento/magento2/issues/866) -- Configurable product attribute scope
     * [#965](https://github.com/magento/magento2/pull/965) -- extra tests for current interception behavior
 * Service Contracts:
-    * The Downloadable module basic implementation 
+    * The Downloadable module basic implementation
 * Framework improvements:
-    * Refactored and covered with tests the classes with high CRAP value (>50) 
+    * Refactored and covered with tests the classes with high CRAP value (>50)
     * Moved Theme Management changes, Design changes, Design\Backend modules, and Observer components from the Core module to the Theme module
     * Moved Debug Hints models from the Core module to the newly added Developer module
     * Moved URL components, Factory, and EntityFactory from the Core module to the Magento Framework
@@ -212,14 +383,14 @@
     * Compressed and resized images
     * Added new base styles for the Admin re-design
     * Added the WAI-ARIA attributes are to the Search Autocomplete on the storefront
-    * Added visual style for the 'skip to content' attribute on the storefront 
-    * Fixed the style of persistent login messages on the storefront for all themes 
-    * Fixed the style of scrolling for Categories with long names in the Admin 
-    * Fixed the "css/print.css" file path on the storefront pages for all themes 
+    * Added visual style for the 'skip to content' attribute on the storefront
+    * Fixed the style of persistent login messages on the storefront for all themes
+    * Fixed the style of scrolling for Categories with long names in the Admin
+    * Fixed the "css/print.css" file path on the storefront pages for all themes
 * Tests improvements:
-    * Converted all fixtures/repositories for functional tests to .xml files 
+    * Converted all fixtures/repositories for functional tests to .xml files
     * Improved interaction between webdriver and the new Magento JS forms
-    * Increased unit and integration tests coverage 
+    * Increased unit and integration tests coverage
 
 0.42.0-beta5
 =============
diff --git a/app/code/Magento/AdminNotification/composer.json b/app/code/Magento/AdminNotification/composer.json
index faf93f3ce5e415ba8c380067ee7504432d168f5c..26fe4843a27f037e11f00c3b6d2bbace9e0c9ba3 100644
--- a/app/code/Magento/AdminNotification/composer.json
+++ b/app/code/Magento/AdminNotification/composer.json
@@ -3,15 +3,15 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-media-storage": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-media-storage": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "lib-libxml": "*",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Authorization/composer.json b/app/code/Magento/Authorization/composer.json
index d2a5c21759bde47605eacd07ab2ac6abe67e69ea..77ff967c18683861bf28bd13b3dd7760bbc053aa 100644
--- a/app/code/Magento/Authorization/composer.json
+++ b/app/code/Magento/Authorization/composer.json
@@ -3,12 +3,12 @@
     "description": "Authorization module provides access to Magento ACL functionality.",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Backend/Block/Menu.php b/app/code/Magento/Backend/Block/Menu.php
index 9d3713006ef4e57407f23ebc17cd360d17a88fd1..a8d6e31c13dd8cd54336a901599577625cf32b2a 100644
--- a/app/code/Magento/Backend/Block/Menu.php
+++ b/app/code/Magento/Backend/Block/Menu.php
@@ -210,16 +210,24 @@ class Menu extends \Magento\Backend\Block\Template
      */
     protected function _renderAnchor($menuItem, $level)
     {
-        return '<a href="' . $menuItem->getUrl() . '" ' . $this->_renderItemAnchorTitle(
-            $menuItem
-        ) . $this->_renderItemOnclickFunction(
-            $menuItem
-        ) . ' class="' . $this->_renderAnchorCssClass(
-            $menuItem,
-            $level
-        ) . '">' . '<span>' . $this->_getAnchorLabel(
-            $menuItem
-        ) . '</span>' . '</a>';
+        if ($level == 1 && $menuItem->getUrl() == '#') {
+            $output = '<strong class="submenu-group-title" role="presentation">'
+                . '<span>' . $this->_getAnchorLabel($menuItem) . '</span>'
+                . '</strong>';
+        } else {
+            $output = '<a href="' . $menuItem->getUrl() . '" ' . $this->_renderItemAnchorTitle(
+                $menuItem
+            ) . $this->_renderItemOnclickFunction(
+                $menuItem
+            ) . ' class="' . $this->_renderAnchorCssClass(
+                $menuItem,
+                $level
+            ) . '">' . '<span>' . $this->_getAnchorLabel(
+                $menuItem
+            ) . '</span>' . '</a>';
+        }
+
+        return $output;
     }
 
     /**
@@ -397,15 +405,16 @@ class Menu extends \Magento\Backend\Block\Template
      * @param \Magento\Backend\Model\Menu\Item $menuItem
      * @param int $level
      * @param int $limit
+     * @param $id int
      * @return string HTML code
      */
-    protected function _addSubMenu($menuItem, $level, $limit)
+    protected function _addSubMenu($menuItem, $level, $limit, $id = null)
     {
         $output = '';
         if (!$menuItem->hasChildren()) {
             return $output;
         }
-        $output .= '<div class="submenu">';
+        $output .= '<div class="submenu"' . ($level == 0 && isset($id) ? ' aria-labelledby="' . $id . '"' : '') . '>';
         $colStops = null;
         if ($level == 0 && $limit) {
             $colStops = $this->_columnBrake($menuItem->getChildren(), $limit);
@@ -426,6 +435,7 @@ class Menu extends \Magento\Backend\Block\Template
      * @param int $limit
      * @param array $colBrakes
      * @return string HTML
+     * @SuppressWarnings(PHPMD.NPathComplexity)
      */
     public function renderNavigation($menu, $level = 0, $limit = 0, $colBrakes = [])
     {
@@ -443,18 +453,21 @@ class Menu extends \Magento\Backend\Block\Template
                 $output .= '</ul></li><li class="column"><ul role="menu">';
             }
 
+            $id = $this->getJsId($menuItem->getId());
             $output .= '<li ' . $this->getUiId(
                 $menuItem->getId()
             ) . ' class="item-' . $itemClass . ' ' . $this->_renderItemCssClass(
                 $menuItem,
                 $level
-            ) . '" role="menu-item">' . $this->_renderAnchor(
+            ) . ($level == 0 ? '" id="' . $id . '" aria-haspopup="true' : '')
+                . '" role="menu-item">' . $this->_renderAnchor(
                 $menuItem,
                 $level
             ) . $this->_addSubMenu(
                 $menuItem,
                 $level,
-                $limit
+                $limit,
+                $id
             ) . '</li>';
             $itemPosition++;
         }
diff --git a/app/code/Magento/Backend/Test/Unit/App/Action/Plugin/MassactionKeyTest.php b/app/code/Magento/Backend/Test/Unit/App/Action/Plugin/MassactionKeyTest.php
index 696120273cdbd2aaeded1dee977851cf5628ae41..87dad8b6edd4152ab5fba42b1ef5a06986c59e78 100644
--- a/app/code/Magento/Backend/Test/Unit/App/Action/Plugin/MassactionKeyTest.php
+++ b/app/code/Magento/Backend/Test/Unit/App/Action/Plugin/MassactionKeyTest.php
@@ -49,7 +49,7 @@ class MassactionKeyTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Backend\App\Action\Plugin\MassactionKey::aroundDispatch
+     * @covers \Magento\Backend\App\Action\Plugin\MassactionKey::aroundDispatch
      *
      * @param $postData array|string
      * @param array $convertedData
@@ -84,7 +84,7 @@ class MassactionKeyTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Backend\App\Action\Plugin\MassactionKey::aroundDispatch
+     * @covers \Magento\Backend\App\Action\Plugin\MassactionKey::aroundDispatch
      */
     public function testAroundDispatchWhenMassactionPrepareKeyRequestNotExists()
     {
diff --git a/app/code/Magento/Backend/Test/Unit/App/Router/NoRouteHandlerTest.php b/app/code/Magento/Backend/Test/Unit/App/Router/NoRouteHandlerTest.php
index af87476b315bccae72b57f5ce80edcbf0488d147..1414d0ec01d779f06fc766b5e33d98de2efcc157 100644
--- a/app/code/Magento/Backend/Test/Unit/App/Router/NoRouteHandlerTest.php
+++ b/app/code/Magento/Backend/Test/Unit/App/Router/NoRouteHandlerTest.php
@@ -37,7 +37,7 @@ class NoRouteHandlerTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers Magento\Backend\App\Router\NoRouteHandler::process
+     * @covers \Magento\Backend\App\Router\NoRouteHandler::process
      */
     public function testProcessWithBackendAreaFrontName()
     {
@@ -86,7 +86,7 @@ class NoRouteHandlerTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers Magento\Backend\App\Router\NoRouteHandler::process
+     * @covers \Magento\Backend\App\Router\NoRouteHandler::process
      */
     public function testProcessWithoutAreaFrontName()
     {
diff --git a/app/code/Magento/Backend/Test/Unit/Block/Page/System/Config/Robots/ResetTest.php b/app/code/Magento/Backend/Test/Unit/Block/Page/System/Config/Robots/ResetTest.php
index b710fd40ffaf9821c130165d08c6224be9c3ecb7..1c39c59e762d5ce8518e631b869c21235deb622b 100644
--- a/app/code/Magento/Backend/Test/Unit/Block/Page/System/Config/Robots/ResetTest.php
+++ b/app/code/Magento/Backend/Test/Unit/Block/Page/System/Config/Robots/ResetTest.php
@@ -35,7 +35,7 @@ class ResetTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Backend\Block\Page\System\Config\Robots\Reset::getRobotsDefaultCustomInstructions
+     * @covers \Magento\Backend\Block\Page\System\Config\Robots\Reset::getRobotsDefaultCustomInstructions
      */
     public function testGetRobotsDefaultCustomInstructions()
     {
diff --git a/app/code/Magento/Backend/Test/Unit/Block/Widget/ButtonTest.php b/app/code/Magento/Backend/Test/Unit/Block/Widget/ButtonTest.php
index f8b1f51ee95e08d27fac5811749ac36bade38dbe..08e12225518998f9811ea7d2852e07ef1a72f866 100644
--- a/app/code/Magento/Backend/Test/Unit/Block/Widget/ButtonTest.php
+++ b/app/code/Magento/Backend/Test/Unit/Block/Widget/ButtonTest.php
@@ -51,7 +51,7 @@ class ButtonTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Backend\Block\Widget\Button::getAttributesHtml
+     * @covers \Magento\Backend\Block\Widget\Button::getAttributesHtml
      * @dataProvider getAttributesHtmlDataProvider
      */
     public function testGetAttributesHtml($data, $expect)
diff --git a/app/code/Magento/Backend/Test/Unit/Block/Widget/Grid/Column/Renderer/CurrencyTest.php b/app/code/Magento/Backend/Test/Unit/Block/Widget/Grid/Column/Renderer/CurrencyTest.php
index d3c7b6f48ce8d04470a3c5caecafcef49cabf907..9f7571c5cb11378ac0fd9d906e5a11fecea8242e 100644
--- a/app/code/Magento/Backend/Test/Unit/Block/Widget/Grid/Column/Renderer/CurrencyTest.php
+++ b/app/code/Magento/Backend/Test/Unit/Block/Widget/Grid/Column/Renderer/CurrencyTest.php
@@ -109,7 +109,7 @@ class CurrencyTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Backend\Block\Widget\Grid\Column\Renderer\Currency::render
+     * @covers \Magento\Backend\Block\Widget\Grid\Column\Renderer\Currency::render
      */
     public function testRenderWithDefaultCurrency()
     {
diff --git a/app/code/Magento/Backend/Test/Unit/Block/Widget/Grid/ColumnTest.php b/app/code/Magento/Backend/Test/Unit/Block/Widget/Grid/ColumnTest.php
index ac33a6a8c08272c5f17bab81adf1295ff3992080..26dfaeb4ed974443cd7ba20b34164a256743d7a8 100644
--- a/app/code/Magento/Backend/Test/Unit/Block/Widget/Grid/ColumnTest.php
+++ b/app/code/Magento/Backend/Test/Unit/Block/Widget/Grid/ColumnTest.php
@@ -97,8 +97,8 @@ class ColumnTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Backend\Block\Widget\Grid\Column::getFilter
-     * covers \Magento\Backend\Block\Widget\Grid\Column::setFilterType
+     * @covers \Magento\Backend\Block\Widget\Grid\Column::getFilter
+     * @covers \Magento\Backend\Block\Widget\Grid\Column::setFilterType
      */
     public function testGetFilterWithSetEmptyCustomFilterType()
     {
@@ -108,7 +108,7 @@ class ColumnTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Backend\Block\Widget\Grid\Column::getFilter
+     * @covers \Magento\Backend\Block\Widget\Grid\Column::getFilter
      */
     public function testGetFilterWithInvalidFilterTypeWhenUseDefaultFilter()
     {
@@ -128,7 +128,7 @@ class ColumnTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Backend\Block\Widget\Grid\Column::getFilter
+     * @covers \Magento\Backend\Block\Widget\Grid\Column::getFilter
      */
     public function testGetFilterWhenUseCustomFilter()
     {
@@ -149,8 +149,8 @@ class ColumnTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Backend\Block\Widget\Grid\Column::getFilter
-     * covers \Magento\Backend\Block\Widget\Grid\Column::setFilter
+     * @covers \Magento\Backend\Block\Widget\Grid\Column::getFilter
+     * @covers \Magento\Backend\Block\Widget\Grid\Column::setFilter
      */
     public function testGetFilterWhenFilterWasSetPreviously()
     {
@@ -213,7 +213,7 @@ class ColumnTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Backend\Block\Widget\Grid\Column::getRenderer
+     * @covers \Magento\Backend\Block\Widget\Grid\Column::getRenderer
      */
     public function testGetRendererWheRendererSetFalse()
     {
@@ -235,8 +235,8 @@ class ColumnTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Backend\Block\Widget\Grid\Column::getRenderer
-     * covers \Magento\Backend\Block\Widget\Grid\Column::setRendererType
+     * @covers \Magento\Backend\Block\Widget\Grid\Column::getRenderer
+     * @covers \Magento\Backend\Block\Widget\Grid\Column::setRendererType
      */
     public function testGetRendererWhenUseCustomRenderer()
     {
@@ -259,8 +259,8 @@ class ColumnTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Backend\Block\Widget\Grid\Column::getRenderer
-     * covers \Magento\Backend\Block\Widget\Grid\Column::setRenderer
+     * @covers \Magento\Backend\Block\Widget\Grid\Column::getRenderer
+     * @covers \Magento\Backend\Block\Widget\Grid\Column::setRenderer
      */
     public function testGetRendererWhenRendererWasSetPreviously()
     {
diff --git a/app/code/Magento/Backend/Test/Unit/Model/Locale/ManagerTest.php b/app/code/Magento/Backend/Test/Unit/Model/Locale/ManagerTest.php
index 3afce6cc1c2417a3b185f21f1ac8033ea7b8020e..000c861f11d8eba4c098f8427df867287de61c2d 100644
--- a/app/code/Magento/Backend/Test/Unit/Model/Locale/ManagerTest.php
+++ b/app/code/Magento/Backend/Test/Unit/Model/Locale/ManagerTest.php
@@ -67,7 +67,7 @@ class ManagerTest extends \PHPUnit_Framework_TestCase
     /**
      * @param string $locale
      * @dataProvider switchBackendInterfaceLocaleDataProvider
-     * covers \Magento\Backend\Model\Locale\Manager::switchBackendInterfaceLocale
+     * @covers \Magento\Backend\Model\Locale\Manager::switchBackendInterfaceLocale
      */
     public function testSwitchBackendInterfaceLocale($locale)
     {
@@ -81,7 +81,7 @@ class ManagerTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Backend\Model\Locale\Manager::getUserInterfaceLocale
+     * @covers \Magento\Backend\Model\Locale\Manager::getUserInterfaceLocale
      */
     public function testGetUserInterfaceLocaleDefault()
     {
@@ -91,7 +91,7 @@ class ManagerTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Backend\Model\Locale\Manager::getUserInterfaceLocale
+     * @covers \Magento\Backend\Model\Locale\Manager::getUserInterfaceLocale
      */
     public function testGetUserInterfaceLocale()
     {
diff --git a/app/code/Magento/Backend/composer.json b/app/code/Magento/Backend/composer.json
index 33daed277cc4b124fdeedafb5f54564493ceadf4..659cf679b5a1d1a927053f423a23a8ecf8b3bed1 100644
--- a/app/code/Magento/Backend/composer.json
+++ b/app/code/Magento/Backend/composer.json
@@ -3,27 +3,27 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-directory": "0.42.0-beta11",
-        "magento/module-developer": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-cron": "0.42.0-beta11",
-        "magento/module-theme": "0.42.0-beta11",
-        "magento/module-reports": "0.42.0-beta11",
-        "magento/module-sales": "0.42.0-beta11",
-        "magento/module-quote": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-user": "0.42.0-beta11",
-        "magento/module-backup": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-translation": "0.42.0-beta11",
-        "magento/module-require-js": "0.42.0-beta11",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-directory": "0.74.0-beta1",
+        "magento/module-developer": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-cron": "0.74.0-beta1",
+        "magento/module-theme": "0.74.0-beta1",
+        "magento/module-reports": "0.74.0-beta1",
+        "magento/module-sales": "0.74.0-beta1",
+        "magento/module-quote": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-user": "0.74.0-beta1",
+        "magento/module-backup": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-translation": "0.74.0-beta1",
+        "magento/module-require-js": "0.74.0-beta1",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Backup/composer.json b/app/code/Magento/Backup/composer.json
index 73c91afc1ebc3f09dcb1224d12f2cebc5340f79a..714e41e7aae2b3e55c16fc813238911341d8dcc0 100644
--- a/app/code/Magento/Backup/composer.json
+++ b/app/code/Magento/Backup/composer.json
@@ -3,14 +3,14 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-cron": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-cron": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Bundle/Model/Resource/Indexer/Price.php b/app/code/Magento/Bundle/Model/Resource/Indexer/Price.php
index decc168ec2ffff14ec7b2e01ede79d020bf7baf2..e4a7ceb99903b0987bbd38eebc3464895efe4d25 100644
--- a/app/code/Magento/Bundle/Model/Resource/Indexer/Price.php
+++ b/app/code/Magento/Bundle/Model/Resource/Indexer/Price.php
@@ -529,27 +529,6 @@ class Price extends \Magento\Catalog\Model\Resource\Product\Indexer\Price\Defaul
         $this->_prepareBundlePriceByType(\Magento\Bundle\Model\Product\Price::PRICE_TYPE_FIXED, $entityIds);
         $this->_prepareBundlePriceByType(\Magento\Bundle\Model\Product\Price::PRICE_TYPE_DYNAMIC, $entityIds);
 
-        /**
-         * Add possibility modify prices from external events
-         */
-        $select = $this->_getWriteAdapter()->select()->join(
-            ['wd' => $this->_getWebsiteDateTable()],
-            'i.website_id = wd.website_id',
-            []
-        );
-        $this->_eventManager->dispatch(
-            'prepare_catalog_product_price_index_table',
-            [
-                'index_table' => ['i' => $this->_getBundlePriceTable()],
-                'select' => $select,
-                'entity_id' => 'i.entity_id',
-                'customer_group_id' => 'i.customer_group_id',
-                'website_id' => 'i.website_id',
-                'website_date' => 'wd.website_date',
-                'update_fields' => ['price', 'min_price', 'max_price']
-            ]
-        );
-
         $this->_calculateBundleOptionPrice();
         $this->_applyCustomOption();
 
diff --git a/app/code/Magento/Bundle/Test/Unit/Helper/Catalog/Product/ConfigurationTest.php b/app/code/Magento/Bundle/Test/Unit/Helper/Catalog/Product/ConfigurationTest.php
index 41a19f62325b612620e0f3ec27bd5bb4d15674aa..78685f8da844d414d10f0d3410b06e37ca3e650f 100644
--- a/app/code/Magento/Bundle/Test/Unit/Helper/Catalog/Product/ConfigurationTest.php
+++ b/app/code/Magento/Bundle/Test/Unit/Helper/Catalog/Product/ConfigurationTest.php
@@ -70,7 +70,7 @@ class ConfigurationTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Bundle\Helper\Catalog\Product\Configuration::getSelectionFinalPrice
+     * @covers \Magento\Bundle\Helper\Catalog\Product\Configuration::getSelectionFinalPrice
      */
     public function testGetSelectionFinalPrice()
     {
diff --git a/app/code/Magento/Bundle/Test/Unit/Model/OptionTest.php b/app/code/Magento/Bundle/Test/Unit/Model/OptionTest.php
index b70c5fc5e730ecf9f83a7e9eb52e498b1d4f1182..a7595da535d5f9ac71bdad675f75a2ef4c47281b 100644
--- a/app/code/Magento/Bundle/Test/Unit/Model/OptionTest.php
+++ b/app/code/Magento/Bundle/Test/Unit/Model/OptionTest.php
@@ -58,7 +58,7 @@ class OptionTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Bundle\Model\Option::addSelection
+     * @covers \Magento\Bundle\Model\Option::addSelection
      */
     public function testAddSelection()
     {
diff --git a/app/code/Magento/Bundle/Test/Unit/Model/Product/Attribute/Source/Price/ViewTest.php b/app/code/Magento/Bundle/Test/Unit/Model/Product/Attribute/Source/Price/ViewTest.php
index fef8d5b8006ed4f72c2aaca91fbde4af0e2bd33b..584eb71c4893e98a3a88f86c8e6ec1d8aef2acb6 100644
--- a/app/code/Magento/Bundle/Test/Unit/Model/Product/Attribute/Source/Price/ViewTest.php
+++ b/app/code/Magento/Bundle/Test/Unit/Model/Product/Attribute/Source/Price/ViewTest.php
@@ -68,7 +68,7 @@ class ViewTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Bundle\Model\Product\Attribute\Source\Price\View::getOptionText
+     * @covers \Magento\Bundle\Model\Product\Attribute\Source\Price\View::getOptionText
      */
     public function testGetOptionTextForExistLabel()
     {
@@ -78,7 +78,7 @@ class ViewTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Bundle\Model\Product\Attribute\Source\Price\View::getOptionText
+     * @covers \Magento\Bundle\Model\Product\Attribute\Source\Price\View::getOptionText
      */
     public function testGetOptionTextForNotExistLabel()
     {
diff --git a/app/code/Magento/Bundle/Test/Unit/Model/Product/PriceTest.php b/app/code/Magento/Bundle/Test/Unit/Model/Product/PriceTest.php
index b9655df8181cc90bb13470f413b8b83ee5eceefb..8db5283f5b38d2b0048695c64c0897b33b2316b6 100644
--- a/app/code/Magento/Bundle/Test/Unit/Model/Product/PriceTest.php
+++ b/app/code/Magento/Bundle/Test/Unit/Model/Product/PriceTest.php
@@ -95,8 +95,8 @@ class PriceTest extends \PHPUnit_Framework_TestCase
      * @param bool $dateInInterval
      * @param float $expected
      *
-     * covers \Magento\Bundle\Model\Product\Price::calculateSpecialPrice
-     * covers \Magento\Bundle\Model\Product\Price::__construct
+     * @covers \Magento\Bundle\Model\Product\Price::calculateSpecialPrice
+     * @covers \Magento\Bundle\Model\Product\Price::__construct
      * @dataProvider calculateSpecialPrice
      */
     public function testCalculateSpecialPrice($finalPrice, $specialPrice, $callsNumber, $dateInInterval, $expected)
diff --git a/app/code/Magento/Bundle/Test/Unit/Pricing/Price/TierPriceTest.php b/app/code/Magento/Bundle/Test/Unit/Pricing/Price/TierPriceTest.php
index 9a438011c6404c901720b09a3b591174528db63c..f1cbd5196abe41a5ed67980146da518d2a517eb3 100644
--- a/app/code/Magento/Bundle/Test/Unit/Pricing/Price/TierPriceTest.php
+++ b/app/code/Magento/Bundle/Test/Unit/Pricing/Price/TierPriceTest.php
@@ -74,7 +74,7 @@ class TierPriceTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Bundle\Pricing\Price\TierPrice::isFirstPriceBetter
+     * @covers \Magento\Bundle\Pricing\Price\TierPrice::isFirstPriceBetter
      * @dataProvider providerForGetterTierPriceList
      */
     public function testGetterTierPriceList($tierPrices, $basePrice, $expectedResult)
diff --git a/app/code/Magento/Bundle/composer.json b/app/code/Magento/Bundle/composer.json
index 69d80ed65073ba0ddc4bdb03c5ed47f769b3e569..bd5de2331605a8ed5e2ef03bceed9054d2dd995e 100644
--- a/app/code/Magento/Bundle/composer.json
+++ b/app/code/Magento/Bundle/composer.json
@@ -3,28 +3,28 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-tax": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-sales": "0.42.0-beta11",
-        "magento/module-checkout": "0.42.0-beta11",
-        "magento/module-catalog-inventory": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-catalog-rule": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/module-gift-message": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
-        "magento/module-quote": "0.42.0-beta11",
-        "magento/module-media-storage": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-tax": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-sales": "0.74.0-beta1",
+        "magento/module-checkout": "0.74.0-beta1",
+        "magento/module-catalog-inventory": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-catalog-rule": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/module-gift-message": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
+        "magento/module-quote": "0.74.0-beta1",
+        "magento/module-media-storage": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "suggest": {
-        "magento/module-webapi": "0.42.0-beta11"
+        "magento/module-webapi": "0.74.0-beta1"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Bundle/view/frontend/templates/catalog/product/view/type/bundle/option/checkbox.phtml b/app/code/Magento/Bundle/view/frontend/templates/catalog/product/view/type/bundle/option/checkbox.phtml
index 00938f3c70c0f58427e5b1302dc9c77f3ee6ed0c..505a554fe65a1a36a891522dcbc8e9e505efb825 100644
--- a/app/code/Magento/Bundle/view/frontend/templates/catalog/product/view/type/bundle/option/checkbox.phtml
+++ b/app/code/Magento/Bundle/view/frontend/templates/catalog/product/view/type/bundle/option/checkbox.phtml
@@ -29,7 +29,7 @@
                         <input class="bundle-option-<?php echo $_option->getId() ?> checkbox product bundle option change-container-classname"
                                id="bundle-option-<?php echo $_option->getId() ?>-<?php echo $_selection->getSelectionId() ?>"
                                type="checkbox"
-                               <?php if ($_option->getRequired()) echo 'data-validate="{\'validate-one-required-by-name\':true}"'?>
+                               <?php if ($_option->getRequired()) echo 'data-validate="{\'validate-one-required-by-name\':\'input[name^=&quot;bundle_option[' . $_option->getId() . ']&quot;]:checked\'}"'?>
                                name="bundle_option[<?php echo $_option->getId() ?>][<?php echo $_selection->getId() ?>]"
                                <?php if ($block->isSelected($_selection)) echo ' checked="checked"' ?>
                                <?php if (!$_selection->isSaleable()) echo ' disabled="disabled"' ?>
diff --git a/app/code/Magento/Captcha/Test/Unit/Helper/Adminhtml/DataTest.php b/app/code/Magento/Captcha/Test/Unit/Helper/Adminhtml/DataTest.php
index a073c452954efdb249a3c6660614c7a19b10f95e..8385a018b79910bee97da9b3e5686628290843e8 100644
--- a/app/code/Magento/Captcha/Test/Unit/Helper/Adminhtml/DataTest.php
+++ b/app/code/Magento/Captcha/Test/Unit/Helper/Adminhtml/DataTest.php
@@ -47,7 +47,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Captcha\Helper\Adminhtml\Data::_getWebsiteCode
+     * @covers \Magento\Captcha\Helper\Adminhtml\Data::_getWebsiteCode
      */
     public function testGetWebsiteId()
     {
diff --git a/app/code/Magento/Captcha/Test/Unit/Helper/DataTest.php b/app/code/Magento/Captcha/Test/Unit/Helper/DataTest.php
index 032907fed83b71e815fc416c10dcea390458a93f..2e4452bc096686830b57a14f9293c0e1aed4e092 100644
--- a/app/code/Magento/Captcha/Test/Unit/Helper/DataTest.php
+++ b/app/code/Magento/Captcha/Test/Unit/Helper/DataTest.php
@@ -46,7 +46,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Captcha\Helper\Data::getCaptcha
+     * @covers \Magento\Captcha\Helper\Data::getCaptcha
      */
     public function testGetCaptcha()
     {
@@ -81,7 +81,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Captcha\Helper\Data::getConfig
+     * @covers \Magento\Captcha\Helper\Data::getConfig
      */
     public function testGetConfigNode()
     {
@@ -137,8 +137,8 @@ class DataTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Captcha\Model\DefaultModel::getImgDir
-     * covers \Magento\Captcha\Helper\Data::getImgDir
+     * @covers \Magento\Captcha\Model\DefaultModel::getImgDir
+     * @covers \Magento\Captcha\Helper\Data::getImgDir
      */
     public function testGetImgDir()
     {
@@ -177,8 +177,8 @@ class DataTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Captcha\Model\DefaultModel::getImgUrl
-     * covers \Magento\Captcha\Helper\Data::getImgUrl
+     * @covers \Magento\Captcha\Model\DefaultModel::getImgUrl
+     * @covers \Magento\Captcha\Helper\Data::getImgUrl
      */
     public function testGetImgUrl()
     {
diff --git a/app/code/Magento/Captcha/Test/Unit/Model/DefaultTest.php b/app/code/Magento/Captcha/Test/Unit/Model/DefaultTest.php
index e1c2b07fad3404a0253cfc49c8d6143f663672f7..d195bd29bf24fd141af8b1ab3fa2fe4f1578c80d 100644
--- a/app/code/Magento/Captcha/Test/Unit/Model/DefaultTest.php
+++ b/app/code/Magento/Captcha/Test/Unit/Model/DefaultTest.php
@@ -136,7 +136,7 @@ class DefaultTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Captcha\Model\DefaultModel::getBlockName
+     * @covers \Magento\Captcha\Model\DefaultModel::getBlockName
      */
     public function testGetBlockName()
     {
@@ -144,7 +144,7 @@ class DefaultTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Captcha\Model\DefaultModel::isRequired
+     * @covers \Magento\Captcha\Model\DefaultModel::isRequired
      */
     public function testIsRequired()
     {
@@ -152,7 +152,7 @@ class DefaultTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Captcha\Model\DefaultModel::isCaseSensitive
+     * @covers \Magento\Captcha\Model\DefaultModel::isCaseSensitive
      */
     public function testIsCaseSensitive()
     {
@@ -163,7 +163,7 @@ class DefaultTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Captcha\Model\DefaultModel::getFont
+     * @covers \Magento\Captcha\Model\DefaultModel::getFont
      */
     public function testGetFont()
     {
@@ -171,8 +171,8 @@ class DefaultTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Captcha\Model\DefaultModel::getTimeout
-     * covers \Magento\Captcha\Model\DefaultModel::getExpiration
+     * @covers \Magento\Captcha\Model\DefaultModel::getTimeout
+     * @covers \Magento\Captcha\Model\DefaultModel::getExpiration
      */
     public function testGetTimeout()
     {
@@ -180,7 +180,7 @@ class DefaultTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Captcha\Model\DefaultModel::isCorrect
+     * @covers \Magento\Captcha\Model\DefaultModel::isCorrect
      */
     public function testIsCorrect()
     {
@@ -193,7 +193,7 @@ class DefaultTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Captcha\Model\DefaultModel::getImgSrc
+     * @covers \Magento\Captcha\Model\DefaultModel::getImgSrc
      */
     public function testGetImgSrc()
     {
@@ -204,7 +204,7 @@ class DefaultTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Captcha\Model\DefaultModel::logAttempt
+     * @covers \Magento\Captcha\Model\DefaultModel::logAttempt
      */
     public function testLogAttempt()
     {
@@ -221,7 +221,7 @@ class DefaultTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Captcha\Model\DefaultModel::getWord
+     * @covers \Magento\Captcha\Model\DefaultModel::getWord
      */
     public function testGetWord()
     {
diff --git a/app/code/Magento/Captcha/composer.json b/app/code/Magento/Captcha/composer.json
index 8203866281b29e5ab54fd3ba2cc27d432c204766..a00471c9759f5616e89b021b324ccb5c5116bd67 100644
--- a/app/code/Magento/Captcha/composer.json
+++ b/app/code/Magento/Captcha/composer.json
@@ -3,15 +3,15 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-checkout": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-checkout": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Inventory.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Inventory.php
index ba94a199a96ff91d0fdf14113cc511182f60dcfd..72ad16576f1ca238d01a068f5cf53be714755b30 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Inventory.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Inventory.php
@@ -5,6 +5,8 @@
  */
 namespace Magento\Catalog\Block\Adminhtml\Product\Edit\Tab;
 
+use Magento\Framework\Api\SimpleDataObjectConverter;
+
 /**
  * Product inventory data
  */
@@ -133,7 +135,7 @@ class Inventory extends \Magento\Backend\Block\Widget
     {
         $stockItem = $this->getStockItem();
         if ($stockItem->getItemId()) {
-            $method = 'get' . \Magento\Framework\Api\SimpleDataObjectConverter::snakeCaseToUpperCamelCase($field);
+            $method = 'get' . SimpleDataObjectConverter::snakeCaseToUpperCamelCase($field);
             if (method_exists($stockItem, $method)) {
                 return $stockItem->{$method}();
             }
@@ -149,7 +151,7 @@ class Inventory extends \Magento\Backend\Block\Widget
     {
         $stockItem = $this->getStockItem();
         if ($stockItem->getItemId()) {
-            $method = 'getUseConfig' . \Magento\Framework\Api\SimpleDataObjectConverter::snakeCaseToUpperCamelCase(
+            $method = 'getUseConfig' . SimpleDataObjectConverter::snakeCaseToUpperCamelCase(
                 $field
             );
             if (method_exists($stockItem, $method)) {
diff --git a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Gallery/Upload.php b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Gallery/Upload.php
index 507f86a2673ce96ccfc4c3399d31aba7ba4727b7..fb6511ec6bb0d0bf2bc2a9d36640ba6ba36aacff 100644
--- a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Gallery/Upload.php
+++ b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Gallery/Upload.php
@@ -11,20 +11,20 @@ use Magento\Framework\App\Filesystem\DirectoryList;
 class Upload extends \Magento\Backend\App\Action
 {
     /**
-     * @var \Magento\Framework\Controller\Result\JsonFactory
+     * @var \Magento\Framework\Controller\Result\RawFactory
      */
-    protected $resultJsonFactory;
+    protected $resultRawFactory;
 
     /**
      * @param \Magento\Backend\App\Action\Context $context
-     * @param \Magento\Framework\Controller\Result\JsonFactory $resultJsonFactory
+     * @param \Magento\Framework\Controller\Result\RawFactory $resultRawFactory
      */
     public function __construct(
         \Magento\Backend\App\Action\Context $context,
-        \Magento\Framework\Controller\Result\JsonFactory $resultJsonFactory
+        \Magento\Framework\Controller\Result\RawFactory $resultRawFactory
     ) {
         parent::__construct($context);
-        $this->resultJsonFactory = $resultJsonFactory;
+        $this->resultRawFactory = $resultRawFactory;
     }
 
     /**
@@ -36,7 +36,7 @@ class Upload extends \Magento\Backend\App\Action
     }
 
     /**
-     * @return \Magento\Framework\Controller\Result\Json
+     * @return \Magento\Framework\Controller\Result\Raw
      */
     public function execute()
     {
@@ -72,6 +72,10 @@ class Upload extends \Magento\Backend\App\Action
             $result = ['error' => $e->getMessage(), 'errorcode' => $e->getCode()];
         }
 
-        return $this->resultJsonFactory->create()->setData($result);
+        /** @var \Magento\Framework\Controller\Result\Raw $response */
+        $response = $this->resultRawFactory->create();
+        $response->setHeader('Content-type', 'text/plain');
+        $response->setContents(json_encode($result));
+        return $response;
     }
 }
diff --git a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Validate.php b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Validate.php
old mode 100755
new mode 100644
index 40fb55c7a6626723e2ecd66afe8a16a3f36fb860..1992bfc3de3b445d25a265551b38d44c1d03e101
--- a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Validate.php
+++ b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Validate.php
@@ -90,7 +90,7 @@ class Validate extends \Magento\Catalog\Controller\Adminhtml\Product
             if ($storeId) {
                 $product->setStoreId($storeId);
             }
-            $setId = $this->getRequest()->getPost('set');
+            $setId = $this->getRequest()->getPost('set') ?: $this->getRequest()->getParam('set');
             if ($setId) {
                 $product->setAttributeSetId($setId);
             }
diff --git a/app/code/Magento/Catalog/Model/Observer.php b/app/code/Magento/Catalog/Model/Observer.php
index dac92e427e266bdd07f63eb1e3ce3c5edf18c7dc..39e72883f68add9d3672497199eb7c744480a7db 100644
--- a/app/code/Magento/Catalog/Model/Observer.php
+++ b/app/code/Magento/Catalog/Model/Observer.php
@@ -5,6 +5,9 @@
  */
 namespace Magento\Catalog\Model;
 
+/**
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
 class Observer
 {
     /**
@@ -62,16 +65,23 @@ class Observer
     protected $_productResourceFactory;
 
     /**
-     * @param \Magento\Catalog\Model\Resource\Category $categoryResource
-     * @param \Magento\Catalog\Model\Resource\Product $catalogProduct
+     * @var \Magento\Framework\Registry
+     */
+    protected $_registry;
+
+    /**
+     * @param \Magento\Framework\Registry $registry
+     * @param Resource\Category $categoryResource
+     * @param Resource\Product $catalogProduct
      * @param \Magento\Store\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Catalog\Model\Layer\Resolver $layerResolver
+     * @param Layer\Resolver $layerResolver
      * @param \Magento\Catalog\Helper\Category $catalogCategory
      * @param \Magento\Catalog\Helper\Data $catalogData
      * @param Indexer\Category\Flat\State $categoryFlatState
-     * @param \Magento\Catalog\Model\Resource\ProductFactory $productResourceFactory
+     * @param Resource\ProductFactory $productResourceFactory
      */
     public function __construct(
+        \Magento\Framework\Registry $registry,
         \Magento\Catalog\Model\Resource\Category $categoryResource,
         \Magento\Catalog\Model\Resource\Product $catalogProduct,
         \Magento\Store\Model\StoreManagerInterface $storeManager,
@@ -81,6 +91,7 @@ class Observer
         \Magento\Catalog\Model\Indexer\Category\Flat\State $categoryFlatState,
         \Magento\Catalog\Model\Resource\ProductFactory $productResourceFactory
     ) {
+        $this->_registry = $registry;
         $this->_categoryResource = $categoryResource;
         $this->_catalogProduct = $catalogProduct;
         $this->_storeManager = $storeManager;
@@ -137,11 +148,20 @@ class Observer
             $block->addIdentity(\Magento\Catalog\Model\Category::CACHE_TAG . '_' . $category->getId());
 
             $tree = $parentCategoryNode->getTree();
+
+            $isActiveCategory = false;
+            /** @var \Magento\Catalog\Model\Category $currentCategory */
+            $currentCategory = $this->_registry->registry('current_category');
+            if ($currentCategory && $currentCategory->getId() == $category->getId()) {
+                $isActiveCategory = true;
+            }
+
             $categoryData = [
                 'name' => $category->getName(),
                 'id' => $nodeId,
                 'url' => $this->_catalogCategory->getCategoryUrl($category),
-                'is_active' => $this->_isActiveMenuCategory($category),
+                'has_active' => $this->hasActive($category),
+                'is_active' => $isActiveCategory
             ];
             $categoryNode = new \Magento\Framework\Data\Tree\Node($categoryData, 'id', $tree, $parentCategoryNode);
             $parentCategoryNode->addChild($categoryNode);
@@ -162,7 +182,7 @@ class Observer
      * @param \Magento\Framework\Data\Tree\Node $category
      * @return bool
      */
-    protected function _isActiveMenuCategory($category)
+    protected function hasActive($category)
     {
         if (!$this->_catalogLayer) {
             return false;
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Price/DefaultPrice.php b/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Price/DefaultPrice.php
index 6d97bd9583af83f82f7dc3a904b13a105d9a000b..b0185bcf1397171d73550b750766a591ba08487b 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Price/DefaultPrice.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Price/DefaultPrice.php
@@ -318,28 +318,6 @@ class DefaultPrice extends \Magento\Catalog\Model\Resource\Product\Indexer\Abstr
 
         $query = $select->insertFromSelect($this->_getDefaultFinalPriceTable(), [], false);
         $write->query($query);
-
-        /**
-         * Add possibility modify prices from external events
-         */
-        $select = $write->select()->join(
-            ['wd' => $this->_getWebsiteDateTable()],
-            'i.website_id = wd.website_id',
-            []
-        );
-        $this->_eventManager->dispatch(
-            'prepare_catalog_product_price_index_table',
-            [
-                'index_table' => ['i' => $this->_getDefaultFinalPriceTable()],
-                'select' => $select,
-                'entity_id' => 'i.entity_id',
-                'customer_group_id' => 'i.customer_group_id',
-                'website_id' => 'i.website_id',
-                'website_date' => 'wd.website_date',
-                'update_fields' => ['price', 'min_price', 'max_price']
-            ]
-        );
-
         return $this;
     }
 
diff --git a/app/code/Magento/Catalog/Test/Unit/Block/Adminhtml/Category/AbstractCategoryTest.php b/app/code/Magento/Catalog/Test/Unit/Block/Adminhtml/Category/AbstractCategoryTest.php
index f055d2ddad4fc32da1ea38876896fc51a78dc741..51ffc7e98d1be02fdcd1967fb027b3b79fe0010f 100644
--- a/app/code/Magento/Catalog/Test/Unit/Block/Adminhtml/Category/AbstractCategoryTest.php
+++ b/app/code/Magento/Catalog/Test/Unit/Block/Adminhtml/Category/AbstractCategoryTest.php
@@ -94,8 +94,8 @@ class AbstractCategoryTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Catalog\Block\Adminhtml\Category\AbstractCategory::getStore
-     * covers \Magento\Catalog\Block\Adminhtml\Category\AbstractCategory::getSaveUrl
+     * @covers \Magento\Catalog\Block\Adminhtml\Category\AbstractCategory::getStore
+     * @covers \Magento\Catalog\Block\Adminhtml\Category\AbstractCategory::getSaveUrl
      */
     public function testGetSaveUrl()
     {
diff --git a/app/code/Magento/Catalog/Test/Unit/Block/Product/AbstractProductTest.php b/app/code/Magento/Catalog/Test/Unit/Block/Product/AbstractProductTest.php
index 36c0b45138afb9fb2655757292778725d635ee85..3ccc88ca231410e3c7140b9f87f9c604bdd9dd38 100644
--- a/app/code/Magento/Catalog/Test/Unit/Block/Product/AbstractProductTest.php
+++ b/app/code/Magento/Catalog/Test/Unit/Block/Product/AbstractProductTest.php
@@ -74,8 +74,8 @@ class AbstractProductTest extends \PHPUnit_Framework_TestCase
     /**
      * Test for method getProductPrice
      *
-     * covers \Magento\Catalog\Block\Product\AbstractProduct::getProductPriceHtml
-     * covers \Magento\Catalog\Block\Product\AbstractProduct::getProductPrice
+     * @covers \Magento\Catalog\Block\Product\AbstractProduct::getProductPriceHtml
+     * @covers \Magento\Catalog\Block\Product\AbstractProduct::getProductPrice
      */
     public function testGetProductPrice()
     {
diff --git a/app/code/Magento/Catalog/Test/Unit/Controller/Adminhtml/Product/Initialization/HelperTest.php b/app/code/Magento/Catalog/Test/Unit/Controller/Adminhtml/Product/Initialization/HelperTest.php
index 8c3396eb54daaf0915b886c944c8b6d1c0d800cf..78cd0113a6afd567261cbfd3df05a8db1ec16500 100644
--- a/app/code/Magento/Catalog/Test/Unit/Controller/Adminhtml/Product/Initialization/HelperTest.php
+++ b/app/code/Magento/Catalog/Test/Unit/Controller/Adminhtml/Product/Initialization/HelperTest.php
@@ -105,7 +105,7 @@ class HelperTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers Magento\Catalog\Controller\Adminhtml\Product\Initialization\Helper::initialize
+     * @covers \Magento\Catalog\Controller\Adminhtml\Product\Initialization\Helper::initialize
      * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
      */
     public function testInitialize()
diff --git a/app/code/Magento/Catalog/Test/Unit/Controller/Adminhtml/Product/Initialization/StockDataFilterTest.php b/app/code/Magento/Catalog/Test/Unit/Controller/Adminhtml/Product/Initialization/StockDataFilterTest.php
index c04da2b78aefee6db05fbd3578eebfa92bac422a..605749f143b72f65a47d10c0e31ca12c509ddb02 100644
--- a/app/code/Magento/Catalog/Test/Unit/Controller/Adminhtml/Product/Initialization/StockDataFilterTest.php
+++ b/app/code/Magento/Catalog/Test/Unit/Controller/Adminhtml/Product/Initialization/StockDataFilterTest.php
@@ -51,7 +51,7 @@ class StockDataFilterTest extends \PHPUnit_Framework_TestCase
      * @param array $inputStockData
      * @param array $outputStockData
      *
-     * covers Magento\Catalog\Controller\Adminhtml\Product\Initialization\StockDataFilter::filter
+     * @covers \Magento\Catalog\Controller\Adminhtml\Product\Initialization\StockDataFilter::filter
      * @dataProvider filterDataProvider
      */
     public function testFilter(array $inputStockData, array $outputStockData)
diff --git a/app/code/Magento/Catalog/Test/Unit/Controller/Adminhtml/Product/ValidateTest.php b/app/code/Magento/Catalog/Test/Unit/Controller/Adminhtml/Product/ValidateTest.php
index 2de489fa7a9e3a5eff966359a1dd3e5eb3e65e09..9c6a309197f2e790a373f98aea95fdd9b7ead69e 100644
--- a/app/code/Magento/Catalog/Test/Unit/Controller/Adminhtml/Product/ValidateTest.php
+++ b/app/code/Magento/Catalog/Test/Unit/Controller/Adminhtml/Product/ValidateTest.php
@@ -28,9 +28,9 @@ class ValidateTest extends \Magento\Catalog\Test\Unit\Controller\Adminhtml\Produ
     protected $initializationHelper;
     /** @var \Magento\Catalog\Model\ProductFactory|\PHPUnit_Framework_MockObject_MockObject */
     protected $productFactory;
-    /** @var \Magento\Framework\Controller\Result\JSON|\PHPUnit_Framework_MockObject_MockObject */
+    /** @var \Magento\Framework\Controller\Result\Json|\PHPUnit_Framework_MockObject_MockObject */
     protected $resultJson;
-    /** @var \Magento\Framework\Controller\Result\JSONFactory|\PHPUnit_Framework_MockObject_MockObject */
+    /** @var \Magento\Framework\Controller\Result\JsonFactory|\PHPUnit_Framework_MockObject_MockObject */
     protected $resultJsonFactory;
 
     protected function setUp()
@@ -104,8 +104,8 @@ class ValidateTest extends \Magento\Catalog\Test\Unit\Controller\Adminhtml\Produ
             ->getMock();
         $this->productFactory->expects($this->any())->method('create')->willReturn($this->product);
 
-        $this->resultJson = $this->getMock('Magento\Framework\Controller\Result\JSON', [], [], '', false);
-        $this->resultJsonFactory = $this->getMockBuilder('Magento\Framework\Controller\Result\JSONFactory')
+        $this->resultJson = $this->getMock('Magento\Framework\Controller\Result\Json', [], [], '', false);
+        $this->resultJsonFactory = $this->getMockBuilder('Magento\Framework\Controller\Result\JsonFactory')
             ->disableOriginalConstructor()
             ->setMethods(['create'])
             ->getMock();
@@ -126,15 +126,21 @@ class ValidateTest extends \Magento\Catalog\Test\Unit\Controller\Adminhtml\Produ
         );
     }
 
-    /**
-     * @return void
-     */
-    public function testAttributeSetIsObtainedFromPost()
+    public function testAttributeSetIsObtainedFromPostByDefault()
     {
+        $this->request->expects($this->any())->method('getParam')->willReturnMap([['set', null, 4]]);
         $this->request->expects($this->any())->method('getPost')->willReturnMap([['set', null, 9]]);
-
         $this->product->expects($this->once())->method('setAttributeSetId')->with(9);
 
         $this->action->execute();
     }
+
+    public function testAttributeSetIsObtainedFromGetWhenThereIsNoOneInPost()
+    {
+        $this->request->expects($this->any())->method('getParam')->willReturnMap([['set', null, 4]]);
+        $this->request->expects($this->any())->method('getPost')->willReturnMap([['set', null, null]]);
+        $this->product->expects($this->once())->method('setAttributeSetId')->with(4);
+
+        $this->action->execute();
+    }
 }
diff --git a/app/code/Magento/Catalog/Test/Unit/Model/ConfigTest.php b/app/code/Magento/Catalog/Test/Unit/Model/ConfigTest.php
index ad9c4980fd9bd63257aaaf1b0bed92ab08021c49..a74f7fef63ea8e4a917f7d57c2cc65e393b776c9 100644
--- a/app/code/Magento/Catalog/Test/Unit/Model/ConfigTest.php
+++ b/app/code/Magento/Catalog/Test/Unit/Model/ConfigTest.php
@@ -9,7 +9,7 @@ namespace Magento\Catalog\Test\Unit\Model;
 class ConfigTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * covers Magento\Catalog\Model\Config::loadAttributeSets
+     * @covers \Magento\Catalog\Model\Config::loadAttributeSets
      * @return object
      */
     public function testLoadAttributeSets()
@@ -50,7 +50,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @depends testLoadAttributeSets
-     * covers Magento\Catalog\Model\Config::getAttributeSetName
+     * @covers \Magento\Catalog\Model\Config::getAttributeSetName
      */
     public function testGetAttributeSetName($model)
     {
@@ -59,7 +59,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
     }
     /**
      * @depends testLoadAttributeSets
-     * covers Magento\Catalog\Model\Config::getAttributeSetId
+     * @covers \Magento\Catalog\Model\Config::getAttributeSetId
      */
     public function testGetAttributeSetId($model)
     {
@@ -68,7 +68,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers Magento\Catalog\Model\Config::loadAttributeGroups
+     * @covers \Magento\Catalog\Model\Config::loadAttributeGroups
      * @return object
      */
     public function testLoadAttributeGroups()
@@ -112,7 +112,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @depends testLoadAttributeGroups
-     * covers Magento\Catalog\Model\Config::getAttributeGroupName
+     * @covers \Magento\Catalog\Model\Config::getAttributeGroupName
      */
     public function testGetAttributeGroupName($model)
     {
@@ -121,7 +121,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
     }
     /**
      * @depends testLoadAttributeGroups
-     * covers Magento\Catalog\Model\Config::getAttributeGroupId
+     * @covers \Magento\Catalog\Model\Config::getAttributeGroupId
      */
     public function testGetAttributeGroupId($model)
     {
@@ -130,7 +130,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers Magento\Catalog\Model\Config::loadProductTypes
+     * @covers \Magento\Catalog\Model\Config::loadProductTypes
      * @return object
      */
     public function testLoadProductTypes()
@@ -153,7 +153,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @depends testLoadProductTypes
-     * covers Magento\Catalog\Model\Config::getProductTypeId
+     * @covers \Magento\Catalog\Model\Config::getProductTypeId
      */
     public function testGetProductTypeId($model)
     {
@@ -163,7 +163,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @depends testLoadProductTypes
-     * covers Magento\Catalog\Model\Config::getProductTypeName
+     * @covers \Magento\Catalog\Model\Config::getProductTypeName
      */
     public function testGetProductTypeName($model)
     {
@@ -176,7 +176,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
      * @param $data
      * @param $search
      *
-     * covers Magento\Catalog\Model\Config::getSourceOptionId
+     * @covers \Magento\Catalog\Model\Config::getSourceOptionId
      * @dataProvider getSourceOptionIdDataProvider
      */
     public function testGetSourceOptionId($expected, $data, $search)
@@ -263,7 +263,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers Magento\Catalog\Model\Config::getAttributesUsedInProductListing
+     * @covers \Magento\Catalog\Model\Config::getAttributesUsedInProductListing
      * return object
      */
     public function testGetAttributesUsedInProductListing()
@@ -275,7 +275,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @depends testGetAttributesUsedInProductListing
-     * covers Magento\Catalog\Model\Config::getProductAttributes
+     * @covers \Magento\Catalog\Model\Config::getProductAttributes
      */
     public function testGetProductAttributes($model)
     {
@@ -283,7 +283,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers Magento\Catalog\Model\Config::getAttributesUsedForSortBy
+     * @covers \Magento\Catalog\Model\Config::getAttributesUsedForSortBy
      */
     public function testGetAttributesUsedForSortBy()
     {
@@ -292,7 +292,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers Magento\Catalog\Model\Config::getAttributeUsedForSortByArray
+     * @covers \Magento\Catalog\Model\Config::getAttributeUsedForSortByArray
      */
     public function testGetAttributeUsedForSortByArray()
     {
@@ -301,7 +301,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers Magento\Catalog\Model\Config::getProductListDefaultSortBy
+     * @covers \Magento\Catalog\Model\Config::getProductListDefaultSortBy
      */
     public function testGetProductListDefaultSortBy()
     {
diff --git a/app/code/Magento/Catalog/Test/Unit/Model/Layer/Category/AvailabilityFlagTest.php b/app/code/Magento/Catalog/Test/Unit/Model/Layer/Category/AvailabilityFlagTest.php
index 2311783a0f141e231491b6e0a94a8b58f105e200..3871f40c01a21f9922229deccb683833c41b4015 100644
--- a/app/code/Magento/Catalog/Test/Unit/Model/Layer/Category/AvailabilityFlagTest.php
+++ b/app/code/Magento/Catalog/Test/Unit/Model/Layer/Category/AvailabilityFlagTest.php
@@ -54,8 +54,8 @@ class AvailabilityFlagTest extends \PHPUnit_Framework_TestCase
      * @param bool $expectedResult
      *
      * @dataProvider isEnabledDataProvider
-     * covers \Magento\Catalog\Model\Layer\Category\AvailabilityFlag::isEnabled
-     * covers \Magento\Catalog\Model\Layer\Category\AvailabilityFlag::canShowOptions
+     * @covers \Magento\Catalog\Model\Layer\Category\AvailabilityFlag::isEnabled
+     * @covers \Magento\Catalog\Model\Layer\Category\AvailabilityFlag::canShowOptions
      */
     public function testIsEnabled($itemsCount, $filters, $expectedResult)
     {
diff --git a/app/code/Magento/Catalog/Test/Unit/Model/Layer/Category/CollectionFilterTest.php b/app/code/Magento/Catalog/Test/Unit/Model/Layer/Category/CollectionFilterTest.php
index 20cb2395e6469f95cd444da69527ff746686020d..96d02813542880d863c5919261778aae4b6d7ca4 100644
--- a/app/code/Magento/Catalog/Test/Unit/Model/Layer/Category/CollectionFilterTest.php
+++ b/app/code/Magento/Catalog/Test/Unit/Model/Layer/Category/CollectionFilterTest.php
@@ -37,8 +37,8 @@ class CollectionFilterTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Catalog\Model\Layer\Category\CollectionFilter::filter
-     * covers \Magento\Catalog\Model\Layer\Category\CollectionFilter::__construct
+     * @covers \Magento\Catalog\Model\Layer\Category\CollectionFilter::filter
+     * @covers \Magento\Catalog\Model\Layer\Category\CollectionFilter::__construct
      */
     public function testFilter()
     {
diff --git a/app/code/Magento/Catalog/Test/Unit/Model/Layer/Category/StateKeyTest.php b/app/code/Magento/Catalog/Test/Unit/Model/Layer/Category/StateKeyTest.php
index 8a4018ef30ed4bf829c9b3976cedec7708c79131..58abff91ef06dae1938b4fabe5e89ffe7ec82d54 100644
--- a/app/code/Magento/Catalog/Test/Unit/Model/Layer/Category/StateKeyTest.php
+++ b/app/code/Magento/Catalog/Test/Unit/Model/Layer/Category/StateKeyTest.php
@@ -33,8 +33,8 @@ class StateKeyTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Catalog\Model\Layer\Category\StateKey::toString
-     * covers \Magento\Catalog\Model\Layer\Category\StateKey::__construct
+     * @covers \Magento\Catalog\Model\Layer\Category\StateKey::toString
+     * @covers \Magento\Catalog\Model\Layer\Category\StateKey::__construct
      */
     public function testToString()
     {
diff --git a/app/code/Magento/Catalog/Test/Unit/Model/Layer/FilterListTest.php b/app/code/Magento/Catalog/Test/Unit/Model/Layer/FilterListTest.php
index af5ae499c331d8e909babee29a10f834b108d927..e962c36145330fe6ba482c250232a56ab80a5dcf 100644
--- a/app/code/Magento/Catalog/Test/Unit/Model/Layer/FilterListTest.php
+++ b/app/code/Magento/Catalog/Test/Unit/Model/Layer/FilterListTest.php
@@ -64,9 +64,9 @@ class FilterListTest extends \PHPUnit_Framework_TestCase
      * @param string $expectedClass
      * @dataProvider getFiltersDataProvider
      *
-     * covers \Magento\Catalog\Model\Layer\FilterList::getFilters
-     * covers \Magento\Catalog\Model\Layer\FilterList::createAttributeFilter
-     * covers \Magento\Catalog\Model\Layer\FilterList::__construct
+     * @covers \Magento\Catalog\Model\Layer\FilterList::getFilters
+     * @covers \Magento\Catalog\Model\Layer\FilterList::createAttributeFilter
+     * @covers \Magento\Catalog\Model\Layer\FilterList::__construct
      */
     public function testGetFilters($method, $value, $expectedClass)
     {
diff --git a/app/code/Magento/Catalog/Test/Unit/Model/Layer/Search/CollectionFilterTest.php b/app/code/Magento/Catalog/Test/Unit/Model/Layer/Search/CollectionFilterTest.php
index ca0308fa8e077638d103a395514b025b1fe14fc8..1e9ac542cc1939d6c48d527aa3eed27616b8c024 100644
--- a/app/code/Magento/Catalog/Test/Unit/Model/Layer/Search/CollectionFilterTest.php
+++ b/app/code/Magento/Catalog/Test/Unit/Model/Layer/Search/CollectionFilterTest.php
@@ -49,8 +49,8 @@ class CollectionFilterTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Catalog\Model\Layer\Search\CollectionFilter::filter
-     * covers \Magento\Catalog\Model\Layer\Search\CollectionFilter::__construct
+     * @covers \Magento\Catalog\Model\Layer\Search\CollectionFilter::filter
+     * @covers \Magento\Catalog\Model\Layer\Search\CollectionFilter::__construct
      */
     public function testFilter()
     {
diff --git a/app/code/Magento/Catalog/Test/Unit/Model/Layer/Search/FilterableAttributeListTest.php b/app/code/Magento/Catalog/Test/Unit/Model/Layer/Search/FilterableAttributeListTest.php
index 4919c1d22ba2b2fbd3bb0664890b0866d81ce37b..74dee9e602128a7ede3d30010cc2c70111c2403f 100644
--- a/app/code/Magento/Catalog/Test/Unit/Model/Layer/Search/FilterableAttributeListTest.php
+++ b/app/code/Magento/Catalog/Test/Unit/Model/Layer/Search/FilterableAttributeListTest.php
@@ -61,7 +61,7 @@ class FilterableAttributeListTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Catalog\Model\Layer\Search\FilterableAttributeList::_prepareAttributeCollection()
+     * @covers \Magento\Catalog\Model\Layer\Search\FilterableAttributeList::_prepareAttributeCollection()
      */
     public function testGetList()
     {
diff --git a/app/code/Magento/Catalog/Test/Unit/Model/Layer/Search/StateKeyTest.php b/app/code/Magento/Catalog/Test/Unit/Model/Layer/Search/StateKeyTest.php
index c761c952c6ac46a112c0723f88398f3377615b13..bd90888a92adccef5e5e9d2fb7077496a500bdb7 100644
--- a/app/code/Magento/Catalog/Test/Unit/Model/Layer/Search/StateKeyTest.php
+++ b/app/code/Magento/Catalog/Test/Unit/Model/Layer/Search/StateKeyTest.php
@@ -46,8 +46,8 @@ class StateKeyTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\CatalogSearch\Model\Layer\Search\StateKey::toString
-     * covers \Magento\CatalogSearch\Model\Layer\Search\StateKey::__construct
+     * @covers \Magento\CatalogSearch\Model\Layer\Search\StateKey::toString
+     * @covers \Magento\CatalogSearch\Model\Layer\Search\StateKey::__construct
      */
     public function testToString()
     {
diff --git a/app/code/Magento/Catalog/Test/Unit/Model/Plugin/LogTest.php b/app/code/Magento/Catalog/Test/Unit/Model/Plugin/LogTest.php
index ecf31cfb88d256ab5ff8df7ace922686b2fd10b2..4c26baf8f9b745c9bd3c2f2ad3381c56135cbe87 100644
--- a/app/code/Magento/Catalog/Test/Unit/Model/Plugin/LogTest.php
+++ b/app/code/Magento/Catalog/Test/Unit/Model/Plugin/LogTest.php
@@ -42,7 +42,7 @@ class LogTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Catalog\Model\Plugin\Log::afterClean
+     * @covers \Magento\Catalog\Model\Plugin\Log::afterClean
      */
     public function testAfterClean()
     {
diff --git a/app/code/Magento/Catalog/Test/Unit/Model/Product/ReservedAttributeListTest.php b/app/code/Magento/Catalog/Test/Unit/Model/Product/ReservedAttributeListTest.php
index 7fbfe0432f332c2aa428bb0711d2c6c50967b8d9..b173820dcff05e7d57b9fd9f9f89a4fbecfbcf59 100644
--- a/app/code/Magento/Catalog/Test/Unit/Model/Product/ReservedAttributeListTest.php
+++ b/app/code/Magento/Catalog/Test/Unit/Model/Product/ReservedAttributeListTest.php
@@ -20,7 +20,7 @@ class ReservedAttributeListTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Catalog\Model\Product\ReservedAttributeList::isReservedAttribute
+     * @covers \Magento\Catalog\Model\Product\ReservedAttributeList::isReservedAttribute
      * @dataProvider dataProvider
      */
     public function testIsReservedAttribute($isUserDefined, $attributeCode, $expected)
diff --git a/app/code/Magento/Catalog/Test/Unit/Model/Product/UrlTest.php b/app/code/Magento/Catalog/Test/Unit/Model/Product/UrlTest.php
index 0f2c40e305d67c7496881ce3727c05ad888a37ef..473d3605648af8157546d6beb61c10127d52c331 100644
--- a/app/code/Magento/Catalog/Test/Unit/Model/Product/UrlTest.php
+++ b/app/code/Magento/Catalog/Test/Unit/Model/Product/UrlTest.php
@@ -103,9 +103,9 @@ class UrlTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @dataProvider getUrlDataProvider
-     * covers Magento\Catalog\Model\Product\Url::getUrl
-     * covers Magento\Catalog\Model\Product\Url::getUrlInStore
-     * covers Magento\Catalog\Model\Product\Url::getProductUrl
+     * @covers \Magento\Catalog\Model\Product\Url::getUrl
+     * @covers \Magento\Catalog\Model\Product\Url::getUrlInStore
+     * @covers \Magento\Catalog\Model\Product\Url::getProductUrl
      *
      * @param $getUrlMethod
      * @param $routePath
diff --git a/app/code/Magento/Catalog/Test/Unit/Pricing/Price/TierPriceTest.php b/app/code/Magento/Catalog/Test/Unit/Pricing/Price/TierPriceTest.php
index 0d37388ea0d8e7e59d5c662377a6b8844c520d79..bed320a21dc3c87a48fb29e9037c2a2ee8d62b96 100644
--- a/app/code/Magento/Catalog/Test/Unit/Pricing/Price/TierPriceTest.php
+++ b/app/code/Magento/Catalog/Test/Unit/Pricing/Price/TierPriceTest.php
@@ -110,10 +110,10 @@ class TierPriceTest extends \PHPUnit_Framework_TestCase
     /**
      * Test base initialization of tier price
      *
-     * covers \Magento\Catalog\Pricing\Price\TierPrice::__construct
-     * covers \Magento\Catalog\Pricing\Price\TierPrice::getValue
-     * covers \Magento\Catalog\Pricing\Price\TierPrice::getStoredTierPrices
-     * covers \Magento\Catalog\Pricing\Price\TierPrice::canApplyTierPrice
+     * @covers \Magento\Catalog\Pricing\Price\TierPrice::__construct
+     * @covers \Magento\Catalog\Pricing\Price\TierPrice::getValue
+     * @covers \Magento\Catalog\Pricing\Price\TierPrice::getStoredTierPrices
+     * @covers \Magento\Catalog\Pricing\Price\TierPrice::canApplyTierPrice
      * @dataProvider providerForBaseInitialization
      */
     public function testBaseInitialization($tierPrices, $expectedValue)
@@ -208,8 +208,8 @@ class TierPriceTest extends \PHPUnit_Framework_TestCase
     /**
      * Test getter stored tier prices from eav model
      *
-     * covers \Magento\Catalog\Pricing\Price\TierPrice::__construct
-     * covers \Magento\Catalog\Pricing\Price\TierPrice::getStoredTierPrices
+     * @covers \Magento\Catalog\Pricing\Price\TierPrice::__construct
+     * @covers \Magento\Catalog\Pricing\Price\TierPrice::getStoredTierPrices
      */
     public function testGetterStoredTierPrices()
     {
@@ -252,13 +252,13 @@ class TierPriceTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Catalog\Pricing\Price\TierPrice::__construct
-     * covers \Magento\Catalog\Pricing\Price\TierPrice::getTierPriceList
-     * covers \Magento\Catalog\Pricing\Price\TierPrice::getStoredTierPrices
-     * covers \Magento\Catalog\Pricing\Price\TierPrice::applyAdjustment
-     * covers \Magento\Catalog\Pricing\Price\TierPrice::getTierPriceCount
-     * covers \Magento\Catalog\Pricing\Price\TierPrice::filterTierPrices
-     * covers \Magento\Catalog\Pricing\Price\TierPrice::getBasePrice
+     * @covers \Magento\Catalog\Pricing\Price\TierPrice::__construct
+     * @covers \Magento\Catalog\Pricing\Price\TierPrice::getTierPriceList
+     * @covers \Magento\Catalog\Pricing\Price\TierPrice::getStoredTierPrices
+     * @covers \Magento\Catalog\Pricing\Price\TierPrice::applyAdjustment
+     * @covers \Magento\Catalog\Pricing\Price\TierPrice::getTierPriceCount
+     * @covers \Magento\Catalog\Pricing\Price\TierPrice::filterTierPrices
+     * @covers \Magento\Catalog\Pricing\Price\TierPrice::getBasePrice
      * @dataProvider providerForGetterTierPriceList
      */
     public function testGetterTierPriceList($tierPrices, $basePrice, $expectedResult)
@@ -358,9 +358,9 @@ class TierPriceTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Catalog\Pricing\Price\TierPrice::__construct
-     * covers \Magento\Catalog\Pricing\Price\TierPrice::getSavePercent
-     * covers \Magento\Catalog\Pricing\Price\TierPrice::getBasePrice
+     * @covers \Magento\Catalog\Pricing\Price\TierPrice::__construct
+     * @covers \Magento\Catalog\Pricing\Price\TierPrice::getSavePercent
+     * @covers \Magento\Catalog\Pricing\Price\TierPrice::getBasePrice
      * @dataProvider dataProviderGetSavePercent
      */
     public function testGetSavePercent($basePrice, $tierPrice, $savedPercent)
diff --git a/app/code/Magento/Catalog/composer.json b/app/code/Magento/Catalog/composer.json
index f6e7adcc008d5c41bcffa81f1aad61c587900316..9a8170b92698efcd808b3e06769ad1fbf619ab8b 100644
--- a/app/code/Magento/Catalog/composer.json
+++ b/app/code/Magento/Catalog/composer.json
@@ -3,37 +3,37 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-cms": "0.42.0-beta11",
-        "magento/module-indexer": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-theme": "0.42.0-beta11",
-        "magento/module-checkout": "0.42.0-beta11",
-        "magento/module-log": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-widget": "0.42.0-beta11",
-        "magento/module-wishlist": "0.42.0-beta11",
-        "magento/module-tax": "0.42.0-beta11",
-        "magento/module-msrp": "0.42.0-beta11",
-        "magento/module-catalog-inventory": "0.42.0-beta11",
-        "magento/module-directory": "0.42.0-beta11",
-        "magento/module-catalog-rule": "0.42.0-beta11",
-        "magento/module-product-alert": "0.42.0-beta11",
-        "magento/module-url-rewrite": "0.42.0-beta11",
-        "magento/module-catalog-url-rewrite": "0.42.0-beta11",
-        "magento/module-page-cache": "0.42.0-beta11",
-        "magento/module-quote": "0.42.0-beta11",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/module-media-storage": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-cms": "0.74.0-beta1",
+        "magento/module-indexer": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-theme": "0.74.0-beta1",
+        "magento/module-checkout": "0.74.0-beta1",
+        "magento/module-log": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-widget": "0.74.0-beta1",
+        "magento/module-wishlist": "0.74.0-beta1",
+        "magento/module-tax": "0.74.0-beta1",
+        "magento/module-msrp": "0.74.0-beta1",
+        "magento/module-catalog-inventory": "0.74.0-beta1",
+        "magento/module-directory": "0.74.0-beta1",
+        "magento/module-catalog-rule": "0.74.0-beta1",
+        "magento/module-product-alert": "0.74.0-beta1",
+        "magento/module-url-rewrite": "0.74.0-beta1",
+        "magento/module-catalog-url-rewrite": "0.74.0-beta1",
+        "magento/module-page-cache": "0.74.0-beta1",
+        "magento/module-quote": "0.74.0-beta1",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/module-media-storage": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "suggest": {
-        "magento/module-cookie": "0.42.0-beta11"
+        "magento/module-cookie": "0.74.0-beta1"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/category/checkboxes/tree.phtml b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/category/checkboxes/tree.phtml
index 999e11608c9218837b8b8ddec5f542c9afb84431..abad86787ba366a3014cbb674dd7ed3559a76772 100644
--- a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/category/checkboxes/tree.phtml
+++ b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/category/checkboxes/tree.phtml
@@ -10,7 +10,9 @@
 
 <?php $_divId = 'tree-div_' . time() ?>
 <div id="<?php echo $_divId ?>" class="tree"></div>
-
+<!--[if IE]>
+<script id="ie-deferred-loader" defer="defer" src=""></script>
+<![endif]-->
 <script>
     require([
         'jquery',
diff --git a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/category/tree.phtml b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/category/tree.phtml
index f80c4d2ac53cdf71f504450e1c6b74ce4cff440a..26731afb65e187e36e8220b4069611391fd39f6c 100644
--- a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/category/tree.phtml
+++ b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/category/tree.phtml
@@ -35,7 +35,9 @@
        <div><?php echo __('This operation can take much time'); ?></div>
     </div>
 </div>
-
+<!--[if IE]>
+<script id="ie-deferred-loader" defer="defer" src=""></script>
+<![endif]-->
 <script>
 var tree;
 require([
diff --git a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/category/widget/tree.phtml b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/category/widget/tree.phtml
index c578a7e5e17b2dadf607f62421daefcc24ba8866..83a74e0ccb12e1b18339338d4b7307d239ad3e6a 100644
--- a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/category/widget/tree.phtml
+++ b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/category/widget/tree.phtml
@@ -10,7 +10,9 @@
 
 <?php $_divId = 'tree' . $block->getId() ?>
 <div id="<?php echo $_divId ?>" class="tree"></div>
-
+<!--[if IE]>
+<script id="ie-deferred-loader" defer="defer" src=""></script>
+<![endif]-->
 <script>
 require(['jquery', "prototype", "extjs/ext-tree-checkbox"], function(jQuery){
 
diff --git a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/attribute/set/main.phtml b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/attribute/set/main.phtml
index 90cd852985271955248cca1c4b2b69a88239300b..019eb3d595e8d1d6c95712d524a32f6ec646de1e 100644
--- a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/attribute/set/main.phtml
+++ b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/attribute/set/main.phtml
@@ -38,8 +38,11 @@ require([
             <span class="title"><?php echo __('Unassigned Attributes') ?></span>
         </div>
         <div id="tree-div2" class="attribute-set-tree"></div>
+        <!--[if IE]>
+        <script id="ie-deferred-loader" defer="defer" src=""></script>
+        <![endif]-->
             <script>
-require(["jquery", "extjs/ext-tree-checkbox", "prototype"], function(jQuery){
+define("tree-panel", ["jquery", "extjs/ext-tree-checkbox", "prototype"], function(jQuery){
 
             //<![CDATA[
             var allowDragAndDrop = <?php echo($block->getIsReadOnly() ? 'false' : 'true'); ?>;
@@ -406,6 +409,7 @@ require(["jquery", "extjs/ext-tree-checkbox", "prototype"], function(jQuery){
             //]]>
 
 });
+require(["tree-panel"]);
 </script>
     </div>
 </div>
diff --git a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/action/inventory.phtml b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/action/inventory.phtml
index 018794ce0f1506e3ee2ccee9e31a21e41c29ddf9..3d11c5d746dc2e2404b2cbbae15f88164fc0947b 100644
--- a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/action/inventory.phtml
+++ b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/action/inventory.phtml
@@ -50,7 +50,7 @@
                                 class="select" disabled="disabled">
                             <option value="1"><?php echo __('Yes') ?></option>
                             <option
-                                value="0"<?php if ($block->getConfigFieldValue('manage_stock') == 0): ?> selected="selected"<?php endif; ?>><?php echo __('No') ?></option>
+                                value="0"<?php if ($block->getFieldValue('manage_stock') == 0): ?> selected="selected"<?php endif; ?>><?php echo __('No') ?></option>
                         </select>
                     </div>
                     <div class="field choice">
diff --git a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/tab/inventory.phtml b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/tab/inventory.phtml
index 0325421256235550fb23e0d3e9de072c1d6326b9..d728e6346f4e11404534210ef9ea04ae772385cf 100644
--- a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/tab/inventory.phtml
+++ b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/tab/inventory.phtml
@@ -24,7 +24,7 @@
     <div class="control">
         <select id="inventory_manage_stock" name="<?php echo $block->getFieldSuffix() ?>[stock_data][manage_stock]" <?php echo $_readonly;?>>
             <option value="1"><?php echo __('Yes') ?></option>
-            <option value="0"<?php if ($block->getConfigFieldValue('manage_stock') == 0): ?> selected="selected"<?php endif; ?>><?php echo __('No') ?></option>
+            <option value="0"<?php if ($block->getFieldValue('manage_stock') == 0): ?> selected="selected"<?php endif; ?>><?php echo __('No') ?></option>
         </select>
         <input type="hidden" id="inventory_manage_stock_default" value="<?php echo $block->getDefaultConfigValue('manage_stock'); ?>">
         <?php $_checked = ($block->getFieldValue('use_config_manage_stock') || $block->IsNew()) ? 'checked="checked"' : '' ?>
diff --git a/app/code/Magento/Catalog/view/adminhtml/templates/product/edit/attribute/search.phtml b/app/code/Magento/Catalog/view/adminhtml/templates/product/edit/attribute/search.phtml
index 98dbe730e1e75657221f838fb97deedd071d2f58..0d786cd9581e630ab893ef08e97f92dad962ebef 100644
--- a/app/code/Magento/Catalog/view/adminhtml/templates/product/edit/attribute/search.phtml
+++ b/app/code/Magento/Catalog/view/adminhtml/templates/product/edit/attribute/search.phtml
@@ -25,7 +25,7 @@
     <ul data-mage-init='{"menu":[]}'>
         <% if (data.items.length) { %>
         <% _.each(data.items, function(value){ %>
-        <li <%- data.optionData(value) %>><a href="#"><%- value.label %></a></li>
+        <li <%= data.optionData(value) %>><a href="#"><%- value.label %></a></li>
         <% }); %>
         <% } else { %><span class="mage-suggest-no-records"><%- data.noRecordsText %></span><% } %>
     </ul>
@@ -50,7 +50,7 @@
                 data: {'template_id': data.id}
             });
         });
-        
+
         $suggest.mage('suggest', <?php echo $this->helper('Magento\Framework\Json\Helper\Data')->jsonEncode($block->getSelectorOptions())?>)
             .on('suggestselect', function (e, ui) {
                 $(this).val('');
diff --git a/app/code/Magento/Catalog/view/base/web/js/price-utils.js b/app/code/Magento/Catalog/view/base/web/js/price-utils.js
index 603b5f309a28081c88c4aac8dbfa000c66dfc32f..f97e01f14117009660556a343d0504436c668f6d 100644
--- a/app/code/Magento/Catalog/view/base/web/js/price-utils.js
+++ b/app/code/Magento/Catalog/view/base/web/js/price-utils.js
@@ -3,8 +3,9 @@
  * See COPYING.txt for license details.
  */
 define([
+    'jquery',
     'underscore'
-], function (_) {
+], function ($, _) {
     'use strict';
 
     var globalPriceFormat = {
diff --git a/app/code/Magento/Catalog/view/frontend/templates/product/view/options/type/text.phtml b/app/code/Magento/Catalog/view/frontend/templates/product/view/options/type/text.phtml
index 46838701a81f86b62b4d5ba8ab1c5c69108364fc..0708395034465b18f17a0d85f3e6766a5307d3a5 100644
--- a/app/code/Magento/Catalog/view/frontend/templates/product/view/options/type/text.phtml
+++ b/app/code/Magento/Catalog/view/frontend/templates/product/view/options/type/text.phtml
@@ -33,9 +33,9 @@ $class = ($_option->getIsRequire()) ? ' required' : '';
             <input type="text"
                    id="options_<?php echo $_option->getId() ?>_text"
                    class="input-text product-custom-option"
-                   <?php if (!empty($_textValidate)) {
-    echo 'data-validate=' . json_encode($_textValidate);
-} ?>
+                   <?php if (!empty($_textValidate)) {?>
+                   data-validate="<?php echo  $block->escapeHtml(json_encode($_textValidate));?>"
+                   <?php } ?>
                    name="options[<?php echo $_option->getId() ?>]"
                    value="<?php echo $block->escapeHtml($block->getDefaultValue()) ?>"/>
         <?php elseif ($_option->getType() == \Magento\Catalog\Model\Product\Option::OPTION_TYPE_AREA): ?>
@@ -49,9 +49,9 @@ $class = ($_option->getIsRequire()) ? ' required' : '';
             ?>
             <textarea id="options_<?php echo $_option->getId() ?>_text"
                       class="product-custom-option"
-                      <?php if (!empty($_textAreaValidate)) {
-    echo 'data-validate=' . json_encode($_textAreaValidate);
-} ?>
+                    <?php if (!empty($_textAreaValidate)) {?>
+                        data-validate="<?php echo $block->escapeHtml(json_encode($_textAreaValidate));?>"
+                    <?php } ?>
                       name="options[<?php echo $_option->getId() ?>]"
                       rows="5"
                       cols="25"><?php echo $block->escapeHtml($block->getDefaultValue()) ?></textarea>
diff --git a/app/code/Magento/Catalog/view/frontend/web/js/catalog-add-to-cart.js b/app/code/Magento/Catalog/view/frontend/web/js/catalog-add-to-cart.js
index faf107ba5487008c6652a589ae45f10571d235db..0f51c233b4946ece7747e1f7744593dffc46fdc2 100644
--- a/app/code/Magento/Catalog/view/frontend/web/js/catalog-add-to-cart.js
+++ b/app/code/Magento/Catalog/view/frontend/web/js/catalog-add-to-cart.js
@@ -39,7 +39,7 @@ define([
 
         submitForm: function(form) {
             var self = this;
-            if (form.has('input[type="file"]').length) {
+            if (form.has('input[type="file"]').length  && form.find('input[type="file"]').val() !== '') {
                 self.element.off('submit');
                 form.submit();
             } else {
diff --git a/app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/Product/Type/OptionTest.php b/app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/Product/Type/OptionTest.php
index db437d612291d05474c6c714880dcc50bc66196e..57aa38a39d16721114a731920249284875dcb5cd 100644
--- a/app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/Product/Type/OptionTest.php
+++ b/app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/Product/Type/OptionTest.php
@@ -558,7 +558,7 @@ class OptionTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::getEntityTypeCode
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::getEntityTypeCode
      */
     public function testGetEntityTypeCode()
     {
@@ -566,15 +566,15 @@ class OptionTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::importData
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::_importData
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::_saveOptions
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::_saveTitles
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::_savePrices
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::_saveSpecificTypeValues
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::_saveSpecificTypePrices
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::_saveSpecificTypeTitles
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::_updateProducts
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::importData
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::_importData
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::_saveOptions
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::_saveTitles
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::_savePrices
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::_saveSpecificTypeValues
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::_saveSpecificTypePrices
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::_saveSpecificTypeTitles
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::_updateProducts
      */
     public function testImportDataAppendBehavior()
     {
@@ -582,8 +582,8 @@ class OptionTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::_importData
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::_deleteEntities
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::_importData
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::_deleteEntities
      */
     public function testImportDataDeleteBehavior()
     {
@@ -632,7 +632,7 @@ class OptionTest extends \PHPUnit_Framework_TestCase
     /**
      * Test for validation of row without custom option
      *
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::_isRowWithCustomOption
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::_isRowWithCustomOption
      */
     public function testValidateRowNoCustomOption()
     {
@@ -646,15 +646,15 @@ class OptionTest extends \PHPUnit_Framework_TestCase
      * @param array $rowData
      * @param array $errors
      *
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::validateRow
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::_isRowWithCustomOption
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::_isMainOptionRow
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::_isSecondaryOptionRow
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::_validateMainRow
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::_validateMainRowAdditionalData
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::_validateSecondaryRow
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::_validateSpecificTypeParameters
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::_validateSpecificParameterData
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::validateRow
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::_isRowWithCustomOption
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::_isMainOptionRow
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::_isSecondaryOptionRow
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::_validateMainRow
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::_validateMainRowAdditionalData
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::_validateSecondaryRow
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::_validateSpecificTypeParameters
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::_validateSpecificParameterData
      * @dataProvider validateRowDataProvider
      */
     public function testValidateRow(array $rowData, array $errors)
@@ -675,11 +675,11 @@ class OptionTest extends \PHPUnit_Framework_TestCase
      * @param string|null $behavior
      * @param int $numberOfValidations
      *
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::validateAmbiguousData
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::_findNewOptionsWithTheSameTitles
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::_findOldOptionsWithTheSameTitles
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::_findNewOldOptionsTypeMismatch
-     * covers \Magento\CatalogImportExport\Model\Import\Product\Option::_saveNewOptionData
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::validateAmbiguousData
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::_findNewOptionsWithTheSameTitles
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::_findOldOptionsWithTheSameTitles
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::_findNewOldOptionsTypeMismatch
+     * @covers \Magento\CatalogImportExport\Model\Import\Product\Option::_saveNewOptionData
      * @dataProvider validateAmbiguousDataDataProvider
      */
     public function testValidateAmbiguousData(
diff --git a/app/code/Magento/CatalogImportExport/composer.json b/app/code/Magento/CatalogImportExport/composer.json
index e7d2be7e347536cbdbc8fa8e8074517cff30da15..3bb4b80527dc8989ba4ef59f37efcd9377882ab8 100644
--- a/app/code/Magento/CatalogImportExport/composer.json
+++ b/app/code/Magento/CatalogImportExport/composer.json
@@ -3,20 +3,20 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-import-export": "0.42.0-beta11",
-        "magento/module-indexer": "0.42.0-beta11",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-catalog-inventory": "0.42.0-beta11",
-        "magento/module-media-storage": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-import-export": "0.74.0-beta1",
+        "magento/module-indexer": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-catalog-inventory": "0.74.0-beta1",
+        "magento/module-media-storage": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "ext-ctype": "*",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/CatalogInventory/composer.json b/app/code/Magento/CatalogInventory/composer.json
index 1f8771b0c1708cb6290a8fb8202fe76a2b88f48c..a99f0c15c70591434e213c94bd370e5acc14c7b5 100644
--- a/app/code/Magento/CatalogInventory/composer.json
+++ b/app/code/Magento/CatalogInventory/composer.json
@@ -3,18 +3,18 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-indexer": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-quote": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-indexer": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-quote": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/CatalogRule/Model/Observer.php b/app/code/Magento/CatalogRule/Model/Observer.php
index 88f24410e253ea30111561745a82532154f4952f..9d636b0ae60b1c9288526410b048c92e3c5de6d8 100644
--- a/app/code/Magento/CatalogRule/Model/Observer.php
+++ b/app/code/Magento/CatalogRule/Model/Observer.php
@@ -47,11 +47,6 @@ class Observer
      */
     protected $_customerSession;
 
-    /**
-     * @var Price
-     */
-    protected $_productPrice;
-
     /**
      * @var \Magento\CatalogRule\Model\Resource\Rule\CollectionFactory
      */
@@ -86,7 +81,6 @@ class Observer
      * @param Resource\RuleFactory $resourceRuleFactory
      * @param Resource\Rule $resourceRule
      * @param Resource\Rule\CollectionFactory $ruleCollectionFactory
-     * @param Price $productPrice
      * @param StoreManagerInterface $storeManager
      * @param TimezoneInterface $localeDate
      * @param CustomerModelSession $customerSession
@@ -100,7 +94,6 @@ class Observer
         Resource\RuleFactory $resourceRuleFactory,
         Resource\Rule $resourceRule,
         Resource\Rule\CollectionFactory $ruleCollectionFactory,
-        Rule\Product\Price $productPrice,
         StoreManagerInterface $storeManager,
         TimezoneInterface $localeDate,
         CustomerModelSession $customerSession,
@@ -111,7 +104,6 @@ class Observer
         $this->_resourceRuleFactory = $resourceRuleFactory;
         $this->_resourceRule = $resourceRule;
         $this->_ruleCollectionFactory = $ruleCollectionFactory;
-        $this->_productPrice = $productPrice;
         $this->_storeManager = $storeManager;
         $this->_localeDate = $localeDate;
         $this->_customerSession = $customerSession;
@@ -215,36 +207,6 @@ class Observer
         $this->_rulePrices = [];
     }
 
-    /**
-     * Calculate minimal final price with catalog rule price
-     *
-     * @param EventObserver $observer
-     * @return $this
-     */
-    public function prepareCatalogProductPriceIndexTable(EventObserver $observer)
-    {
-        $select = $observer->getEvent()->getSelect();
-
-        $indexTable = $observer->getEvent()->getIndexTable();
-        $entityId = $observer->getEvent()->getEntityId();
-        $customerGroupId = $observer->getEvent()->getCustomerGroupId();
-        $websiteId = $observer->getEvent()->getWebsiteId();
-        $websiteDate = $observer->getEvent()->getWebsiteDate();
-        $updateFields = $observer->getEvent()->getUpdateFields();
-
-        $this->_productPrice->applyPriceRuleToIndexTable(
-            $select,
-            $indexTable,
-            $entityId,
-            $customerGroupId,
-            $websiteId,
-            $updateFields,
-            $websiteDate
-        );
-
-        return $this;
-    }
-
     /**
      * @param EventObserver $observer
      * @return $this
diff --git a/app/code/Magento/CatalogRule/composer.json b/app/code/Magento/CatalogRule/composer.json
index 6a4603978014cd24961f7b33ab1c3f97af727401..d7523d37ba568775f8fe18fabdb4585b482856fa 100644
--- a/app/code/Magento/CatalogRule/composer.json
+++ b/app/code/Magento/CatalogRule/composer.json
@@ -3,19 +3,19 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-rule": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-indexer": "0.42.0-beta11",
-        "magento/module-import-export": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-rule": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-indexer": "0.74.0-beta1",
+        "magento/module-import-export": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/CatalogRule/etc/events.xml b/app/code/Magento/CatalogRule/etc/events.xml
deleted file mode 100644
index 646d1de75082550ea731b69746dde56286d45953..0000000000000000000000000000000000000000
--- a/app/code/Magento/CatalogRule/etc/events.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0"?>
-<!--
-/**
- * Copyright © 2015 Magento. All rights reserved.
- * See COPYING.txt for license details.
- */
--->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Event/etc/events.xsd">
-    <event name="prepare_catalog_product_price_index_table">
-        <observer name="catalogrule" instance="Magento\CatalogRule\Model\Observer" method="prepareCatalogProductPriceIndexTable" />
-    </event>
-</config>
diff --git a/app/code/Magento/CatalogSearch/composer.json b/app/code/Magento/CatalogSearch/composer.json
index 6f18c48c09539f25b5ed88d00c92ed9b5334e7c4..9c69ab5a1b10fea15fa6fa4d44323e926a1b0c4c 100644
--- a/app/code/Magento/CatalogSearch/composer.json
+++ b/app/code/Magento/CatalogSearch/composer.json
@@ -3,20 +3,20 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-search": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-directory": "0.42.0-beta11",
-        "magento/module-indexer": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-theme": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-search": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-directory": "0.74.0-beta1",
+        "magento/module-indexer": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-theme": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/CatalogUrlRewrite/Model/Category/Plugin/Category/Remove.php b/app/code/Magento/CatalogUrlRewrite/Model/Category/Plugin/Category/Remove.php
index f489cbd34e0ff23ecf77e8e0664240d3a65b5201..4f4c8feaae9e54670efcd61e760f7cb18dd696b9 100644
--- a/app/code/Magento/CatalogUrlRewrite/Model/Category/Plugin/Category/Remove.php
+++ b/app/code/Magento/CatalogUrlRewrite/Model/Category/Plugin/Category/Remove.php
@@ -5,7 +5,7 @@
  */
 namespace Magento\CatalogUrlRewrite\Model\Category\Plugin\Category;
 
-use Magento\Catalog\Model\Category;
+use Magento\Catalog\Api\Data\CategoryInterface;
 use Magento\CatalogUrlRewrite\Model\Category\ChildrenCategoriesProvider;
 use Magento\CatalogUrlRewrite\Model\CategoryUrlRewriteGenerator;
 use Magento\CatalogUrlRewrite\Model\ProductUrlRewriteGenerator;
@@ -41,15 +41,20 @@ class Remove
     /**
      * Remove product urls from storage
      *
-     * @param Category $category
+     * @param \Magento\Catalog\Model\Resource\Category $subject
      * @param callable $proceed
+     * @param CategoryInterface $category
      * @return mixed
+     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
      */
-    public function aroundDelete(Category $category, \Closure $proceed)
-    {
+    public function aroundDelete(
+        \Magento\Catalog\Model\Resource\Category $subject,
+        \Closure $proceed,
+        CategoryInterface $category
+    ) {
         $categoryIds = $this->childrenCategoriesProvider->getChildrenIds($category, true);
         $categoryIds[] = $category->getId();
-        $result = $proceed();
+        $result = $proceed($category);
         foreach ($categoryIds as $categoryId) {
             $this->deleteRewritesForCategory($categoryId);
         }
diff --git a/app/code/Magento/CatalogUrlRewrite/composer.json b/app/code/Magento/CatalogUrlRewrite/composer.json
index 4a580fe66dccd16f87760604369c6f05f4256b19..de90f444789d867ebda8453f31af08074193e769 100644
--- a/app/code/Magento/CatalogUrlRewrite/composer.json
+++ b/app/code/Magento/CatalogUrlRewrite/composer.json
@@ -3,18 +3,18 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-catalog-import-export": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-import-export": "0.42.0-beta11",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-url-rewrite": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-catalog-import-export": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-import-export": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-url-rewrite": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/CatalogUrlRewrite/etc/adminhtml/di.xml b/app/code/Magento/CatalogUrlRewrite/etc/adminhtml/di.xml
index 0a809f1793b60fe2c1cf215f88ff41e268186cec..f8ebe710c95fa752db5aab2ec0c9bd10c91bdf33 100644
--- a/app/code/Magento/CatalogUrlRewrite/etc/adminhtml/di.xml
+++ b/app/code/Magento/CatalogUrlRewrite/etc/adminhtml/di.xml
@@ -12,14 +12,12 @@
     <type name="Magento\Store\Model\Resource\Group">
         <plugin name="group_plugin" type="Magento\CatalogUrlRewrite\Model\Category\Plugin\Store\Group"/>
     </type>
-    <type name="Magento\Catalog\Model\Category">
-        <plugin name="category_delete_plugin" type="Magento\CatalogUrlRewrite\Model\Category\Plugin\Category\Remove"/>
-    </type>
     <type name="Magento\CatalogImportExport\Model\Import\Product">
         <plugin name="import_save_plugin" type="Magento\CatalogUrlRewrite\Model\Product\Plugin\Import"/>
     </type>
     <type name="Magento\Catalog\Model\Resource\Category">
         <plugin name="category_move_plugin" type="Magento\CatalogUrlRewrite\Model\Category\Plugin\Category\Move"/>
+        <plugin name="category_delete_plugin" type="Magento\CatalogUrlRewrite\Model\Category\Plugin\Category\Remove"/>
     </type>
     <type name="Magento\UrlRewrite\Model\StorageInterface">
         <plugin name="storage_plugin" type="Magento\CatalogUrlRewrite\Model\Category\Plugin\Storage"/>
diff --git a/app/code/Magento/CatalogUrlRewrite/etc/di.xml b/app/code/Magento/CatalogUrlRewrite/etc/di.xml
index f30bfcbfb4aed7261ae156ecbcc8b73648c5a499..c2bdc96137ba92616b9353801b58fca5a57b09b5 100644
--- a/app/code/Magento/CatalogUrlRewrite/etc/di.xml
+++ b/app/code/Magento/CatalogUrlRewrite/etc/di.xml
@@ -16,4 +16,8 @@
             <argument name="urlFinder" xsi:type="object">Magento\CatalogUrlRewrite\Model\Storage\DbStorage</argument>
         </arguments>
     </type>
+    <type name="Magento\Catalog\Model\Resource\Category">
+        <plugin name="category_move_plugin" type="Magento\CatalogUrlRewrite\Model\Category\Plugin\Category\Move"/>
+        <plugin name="category_delete_plugin" type="Magento\CatalogUrlRewrite\Model\Category\Plugin\Category\Remove"/>
+    </type>
 </config>
diff --git a/app/code/Magento/CatalogUrlRewrite/etc/events.xml b/app/code/Magento/CatalogUrlRewrite/etc/events.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d56dff9193a7161064fc457b4a7212c3c75bd753
--- /dev/null
+++ b/app/code/Magento/CatalogUrlRewrite/etc/events.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+-->
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Event/etc/events.xsd">
+    <event name="catalog_category_prepare_save">
+        <observer name="category_save_rewrites_history_setter" instance="Magento\CatalogUrlRewrite\Observer\CategorySaveRewritesHistorySetter" method="invoke"/>
+    </event>
+    <event name="catalog_category_save_after">
+        <observer name="process_url_rewrite_saving" instance="Magento\CatalogUrlRewrite\Model\Category\Observer" method="processUrlRewriteSaving"/>
+    </event>
+</config>
diff --git a/app/code/Magento/CatalogWidget/composer.json b/app/code/Magento/CatalogWidget/composer.json
index 38d68cb4be5b1f67ea0aa3462eca11d684c9b1a2..8b533a13e21623868e280a344d074c008b2c1098 100644
--- a/app/code/Magento/CatalogWidget/composer.json
+++ b/app/code/Magento/CatalogWidget/composer.json
@@ -3,19 +3,19 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-widget": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-rule": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-wishlist": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-widget": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-rule": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-wishlist": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Centinel/Test/Unit/Model/ServiceTest.php b/app/code/Magento/Centinel/Test/Unit/Model/ServiceTest.php
index 0d992a5643d7149dd601edd4faeef07446143c9a..e9b5237e16ead347fa64ebafda32d99533ba6392 100644
--- a/app/code/Magento/Centinel/Test/Unit/Model/ServiceTest.php
+++ b/app/code/Magento/Centinel/Test/Unit/Model/ServiceTest.php
@@ -12,8 +12,8 @@ namespace Magento\Centinel\Test\Unit\Model;
 class ServiceTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * covers \Magento\Centinel\Model\Service::getAuthenticationStartUrl
-     * covers \Magento\Centinel\Model\Service::_getUrl
+     * @covers \Magento\Centinel\Model\Service::getAuthenticationStartUrl
+     * @covers \Magento\Centinel\Model\Service::_getUrl
      */
     public function testGetAuthenticationStartUrl()
     {
diff --git a/app/code/Magento/Centinel/composer.json b/app/code/Magento/Centinel/composer.json
index 78cdf53ce4d7b9324bbad2319b41f85dde732814..2270659643400f47167fa405dd0219815331ce13 100644
--- a/app/code/Magento/Centinel/composer.json
+++ b/app/code/Magento/Centinel/composer.json
@@ -3,15 +3,15 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-checkout": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-sales": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-checkout": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-sales": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Checkout/Test/Unit/Block/Cart/Item/RendererTest.php b/app/code/Magento/Checkout/Test/Unit/Block/Cart/Item/RendererTest.php
index ea78661984115e725d71ff5f3153d51a093e688e..575eebc4188964d8eb8365f41068006d263e5e6f 100644
--- a/app/code/Magento/Checkout/Test/Unit/Block/Cart/Item/RendererTest.php
+++ b/app/code/Magento/Checkout/Test/Unit/Block/Cart/Item/RendererTest.php
@@ -114,8 +114,8 @@ class RendererTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Checkout\Block\Cart\Item\Renderer::getProductPriceHtml
-     * covers \Magento\Checkout\Block\Cart\Item\Renderer::getPriceRender
+     * @covers \Magento\Checkout\Block\Cart\Item\Renderer::getProductPriceHtml
+     * @covers \Magento\Checkout\Block\Cart\Item\Renderer::getPriceRender
      */
     public function testGetProductPriceHtml()
     {
diff --git a/app/code/Magento/Checkout/composer.json b/app/code/Magento/Checkout/composer.json
index ed8f574a7005d5cf7aa498cff6670c9cf6027f40..6c15c5a46c36fabb60a805f4c8a2a8ca3bf0b75c 100644
--- a/app/code/Magento/Checkout/composer.json
+++ b/app/code/Magento/Checkout/composer.json
@@ -3,31 +3,31 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-sales": "0.42.0-beta11",
-        "magento/module-catalog-inventory": "0.42.0-beta11",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-payment": "0.42.0-beta11",
-        "magento/module-tax": "0.42.0-beta11",
-        "magento/module-directory": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-gift-message": "0.42.0-beta11",
-        "magento/module-wishlist": "0.42.0-beta11",
-        "magento/module-page-cache": "0.42.0-beta11",
-        "magento/module-theme": "0.42.0-beta11",
-        "magento/module-msrp": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
-        "magento/module-ui": "0.42.0-beta11",
-        "magento/module-quote": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-sales": "0.74.0-beta1",
+        "magento/module-catalog-inventory": "0.74.0-beta1",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-payment": "0.74.0-beta1",
+        "magento/module-tax": "0.74.0-beta1",
+        "magento/module-directory": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-gift-message": "0.74.0-beta1",
+        "magento/module-wishlist": "0.74.0-beta1",
+        "magento/module-page-cache": "0.74.0-beta1",
+        "magento/module-theme": "0.74.0-beta1",
+        "magento/module-msrp": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
+        "magento/module-ui": "0.74.0-beta1",
+        "magento/module-quote": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "suggest": {
-        "magento/module-cookie": "0.42.0-beta11"
+        "magento/module-cookie": "0.74.0-beta1"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/CheckoutAgreements/Test/Unit/Model/AgreementTest.php b/app/code/Magento/CheckoutAgreements/Test/Unit/Model/AgreementTest.php
index b71c88d74d8c39378a6b1de98728fea18761a9dc..54c5119771cca6a4ede61a3f84360ad7f0440adf 100644
--- a/app/code/Magento/CheckoutAgreements/Test/Unit/Model/AgreementTest.php
+++ b/app/code/Magento/CheckoutAgreements/Test/Unit/Model/AgreementTest.php
@@ -19,7 +19,7 @@ class AgreementTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\CheckoutAgreements\Model\Agreement::validateData
+     * @covers \Magento\CheckoutAgreements\Model\Agreement::validateData
      *
      * @dataProvider validateDataDataProvider
      * @param \Magento\Framework\Object $inputData
diff --git a/app/code/Magento/CheckoutAgreements/composer.json b/app/code/Magento/CheckoutAgreements/composer.json
index 764b8b4e97b92f66fa7f711b7e08fc0ef22c057b..1597afb38007873a927009646947de57b7408854 100644
--- a/app/code/Magento/CheckoutAgreements/composer.json
+++ b/app/code/Magento/CheckoutAgreements/composer.json
@@ -3,14 +3,14 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-checkout": "0.42.0-beta11",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-checkout": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Cms/Test/Unit/Block/Adminhtml/Block/EditTest.php b/app/code/Magento/Cms/Test/Unit/Block/Adminhtml/Block/EditTest.php
index 3b0d1837ed3b1dd99d33f5dc0bfe2bb7a3121e4d..4d6b28b79746db90ec65c329016cdc185f889b00 100644
--- a/app/code/Magento/Cms/Test/Unit/Block/Adminhtml/Block/EditTest.php
+++ b/app/code/Magento/Cms/Test/Unit/Block/Adminhtml/Block/EditTest.php
@@ -6,7 +6,7 @@
 namespace Magento\Cms\Test\Unit\Block\Adminhtml\Block;
 
 /**
- * covers \Magento\Cms\Block\Adminhtml\Block\Edit
+ * @covers \Magento\Cms\Block\Adminhtml\Block\Edit
  */
 class EditTest extends \PHPUnit_Framework_TestCase
 {
@@ -59,7 +59,7 @@ class EditTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Cms\Block\Adminhtml\Block\Edit::getHeaderText
+     * @covers \Magento\Cms\Block\Adminhtml\Block\Edit::getHeaderText
      * @param integer|null $modelBlockId
      *
      * @dataProvider getHeaderTextDataProvider
diff --git a/app/code/Magento/Cms/Test/Unit/Block/Adminhtml/Block/Widget/ChooserTest.php b/app/code/Magento/Cms/Test/Unit/Block/Adminhtml/Block/Widget/ChooserTest.php
index d43a564165b9a5c91442b430ae381773e31f9453..0c075194e3330d099d7bb12b2427b971621f8a81 100644
--- a/app/code/Magento/Cms/Test/Unit/Block/Adminhtml/Block/Widget/ChooserTest.php
+++ b/app/code/Magento/Cms/Test/Unit/Block/Adminhtml/Block/Widget/ChooserTest.php
@@ -6,7 +6,7 @@
 namespace Magento\Cms\Test\Unit\Block\Adminhtml\Block\Widget;
 
 /**
- * covers \Magento\Cms\Block\Adminhtml\Block\Widget\Chooser
+ * @covers \Magento\Cms\Block\Adminhtml\Block\Widget\Chooser
  */
 class ChooserTest extends \PHPUnit_Framework_TestCase
 {
@@ -127,7 +127,7 @@ class ChooserTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Cms\Block\Adminhtml\Block\Widget\Chooser::prepareElementHtml
+     * @covers \Magento\Cms\Block\Adminhtml\Block\Widget\Chooser::prepareElementHtml
      * @param string $elementValue
      * @param integer|null $modelBlockId
      *
@@ -231,7 +231,7 @@ class ChooserTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Cms\Block\Adminhtml\Block\Widget\Chooser::getGridUrl
+     * @covers \Magento\Cms\Block\Adminhtml\Block\Widget\Chooser::getGridUrl
      */
     public function testGetGridUrl()
     {
diff --git a/app/code/Magento/Cms/Test/Unit/Controller/Adminhtml/Wysiwyg/DirectiveTest.php b/app/code/Magento/Cms/Test/Unit/Controller/Adminhtml/Wysiwyg/DirectiveTest.php
index feb1701022ff0619a8c61ee8ae8d385ab9d51adc..7d0ec584d46755e871a355c748937cccf94b2364 100644
--- a/app/code/Magento/Cms/Test/Unit/Controller/Adminhtml/Wysiwyg/DirectiveTest.php
+++ b/app/code/Magento/Cms/Test/Unit/Controller/Adminhtml/Wysiwyg/DirectiveTest.php
@@ -157,7 +157,7 @@ class DirectiveTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Cms\Controller\Adminhtml\Wysiwyg\Directive::execute
+     * @covers \Magento\Cms\Controller\Adminhtml\Wysiwyg\Directive::execute
      */
     public function testExecute()
     {
@@ -193,7 +193,7 @@ class DirectiveTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Cms\Controller\Adminhtml\Wysiwyg\Directive::execute
+     * @covers \Magento\Cms\Controller\Adminhtml\Wysiwyg\Directive::execute
      */
     public function testExecuteException()
     {
diff --git a/app/code/Magento/Cms/Test/Unit/Helper/PageTest.php b/app/code/Magento/Cms/Test/Unit/Helper/PageTest.php
old mode 100755
new mode 100644
index d7c680fd689c462728719dddde67c65d6b9a53c7..4b7e6861eec6c399f4a4be17ee39f240d80b2caa
--- a/app/code/Magento/Cms/Test/Unit/Helper/PageTest.php
+++ b/app/code/Magento/Cms/Test/Unit/Helper/PageTest.php
@@ -6,7 +6,7 @@
 namespace Magento\Cms\Test\Unit\Helper;
 
 /**
- * covers \Magento\Cms\Helper\Page
+ * @covers \Magento\Cms\Helper\Page
  *
  * @SuppressWarnings(PHPMD.TooManyFields)
  * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
@@ -208,7 +208,7 @@ class PageTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Cms\Helper\Page::prepareResultPage
+     * @covers \Magento\Cms\Helper\Page::prepareResultPage
      * @param integer|null $pageId
      * @param integer|null $internalPageId
      * @param integer $pageLoadResultIndex
@@ -422,7 +422,7 @@ class PageTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Cms\Helper\Page::getPageUrl
+     * @covers \Magento\Cms\Helper\Page::getPageUrl
      * @param integer|null $pageId
      * @param integer|null $internalPageId
      * @param integer $pageLoadResultIndex
diff --git a/app/code/Magento/Cms/Test/Unit/Model/ObserverTest.php b/app/code/Magento/Cms/Test/Unit/Model/ObserverTest.php
index 80950d4e02fb0638adaf04263715f5126b13eb9d..f18bd6c6d5d3fb4ccb53a834df8be66a16d93854 100644
--- a/app/code/Magento/Cms/Test/Unit/Model/ObserverTest.php
+++ b/app/code/Magento/Cms/Test/Unit/Model/ObserverTest.php
@@ -6,7 +6,7 @@
 namespace Magento\Cms\Test\Unit\Model;
 
 /**
- * covers \Magento\Cms\Model\Observer
+ * @covers \Magento\Cms\Model\Observer
  */
 class ObserverTest extends \PHPUnit_Framework_TestCase
 {
@@ -92,7 +92,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Cms\Model\Observer::noRoute
+     * @covers \Magento\Cms\Model\Observer::noRoute
      */
     public function testNoRoute()
     {
@@ -129,7 +129,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Cms\Model\Observer::noCookies
+     * @covers \Magento\Cms\Model\Observer::noCookies
      * @param string $pageUrl
      * @dataProvider noCookiesDataProvider
      */
diff --git a/app/code/Magento/Cms/Test/Unit/Model/PageTest.php b/app/code/Magento/Cms/Test/Unit/Model/PageTest.php
index 6fd6dd57d8b9b647ae1d62fef1607fb14e16775f..8d08e7402b896f5dd655380a0d5a831389c30538 100644
--- a/app/code/Magento/Cms/Test/Unit/Model/PageTest.php
+++ b/app/code/Magento/Cms/Test/Unit/Model/PageTest.php
@@ -6,7 +6,7 @@
 namespace Magento\Cms\Test\Unit\Model;
 
 /**
- * covers \Magento\Cms\Model\Page
+ * @covers \Magento\Cms\Model\Page
  */
 class PageTest extends \PHPUnit_Framework_TestCase
 {
@@ -91,7 +91,7 @@ class PageTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Cms\Model\Page::noRoutePage
+     * @covers \Magento\Cms\Model\Page::noRoutePage
      */
     public function testNoRoutePage()
     {
@@ -99,7 +99,7 @@ class PageTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Cms\Model\Page::checkIdentifier
+     * @covers \Magento\Cms\Model\Page::checkIdentifier
      */
     public function testCheckIdentifier()
     {
diff --git a/app/code/Magento/Cms/Test/Unit/Model/Template/FilterProviderTest.php b/app/code/Magento/Cms/Test/Unit/Model/Template/FilterProviderTest.php
index e43575d48ac3b92f2f4f92a8c7bdf62b67f00ce8..284b8e68874a89d1a7204b2fc3eb480276bc84ee 100644
--- a/app/code/Magento/Cms/Test/Unit/Model/Template/FilterProviderTest.php
+++ b/app/code/Magento/Cms/Test/Unit/Model/Template/FilterProviderTest.php
@@ -31,7 +31,7 @@ class FilterProviderTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Cms\Model\Template\FilterProvider::getBlockFilter
+     * @covers \Magento\Cms\Model\Template\FilterProvider::getBlockFilter
      */
     public function testGetBlockFilter()
     {
@@ -39,7 +39,7 @@ class FilterProviderTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Cms\Model\Template\FilterProvider::getPageFilter
+     * @covers \Magento\Cms\Model\Template\FilterProvider::getPageFilter
      */
     public function testGetPageFilter()
     {
@@ -47,7 +47,7 @@ class FilterProviderTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Cms\Model\Template\FilterProvider::getPageFilter
+     * @covers \Magento\Cms\Model\Template\FilterProvider::getPageFilter
      */
     public function testGetPageFilterInnerCache()
     {
@@ -57,7 +57,7 @@ class FilterProviderTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Cms\Model\Template\FilterProvider::getPageFilter
+     * @covers \Magento\Cms\Model\Template\FilterProvider::getPageFilter
      * @expectedException \Exception
      */
     public function testGetPageWrongInstance()
diff --git a/app/code/Magento/Cms/Test/Unit/Model/Template/FilterTest.php b/app/code/Magento/Cms/Test/Unit/Model/Template/FilterTest.php
index 6ce36d5834508fb871e05d76aba012578c7bc45e..f5c4a7b15637e518d2f81c5b3f0dcce828be8ed3 100644
--- a/app/code/Magento/Cms/Test/Unit/Model/Template/FilterTest.php
+++ b/app/code/Magento/Cms/Test/Unit/Model/Template/FilterTest.php
@@ -6,7 +6,7 @@
 namespace Magento\Cms\Test\Unit\Model\Template;
 
 /**
- * covers \Magento\Cms\Model\Template\Filter
+ * @covers \Magento\Cms\Model\Template\Filter
  */
 class FilterTest extends \PHPUnit_Framework_TestCase
 {
@@ -44,7 +44,7 @@ class FilterTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Cms\Model\Template\Filter::mediaDirective
+     * @covers \Magento\Cms\Model\Template\Filter::mediaDirective
      */
     public function testMediaDirective()
     {
diff --git a/app/code/Magento/Cms/Test/Unit/Model/Wysiwyg/ConfigTest.php b/app/code/Magento/Cms/Test/Unit/Model/Wysiwyg/ConfigTest.php
index bcaf1187a3d1453946c90cdf206e9413e3bfd691..f939b8dc6006a10d757183440589a0531a0daa88 100644
--- a/app/code/Magento/Cms/Test/Unit/Model/Wysiwyg/ConfigTest.php
+++ b/app/code/Magento/Cms/Test/Unit/Model/Wysiwyg/ConfigTest.php
@@ -6,7 +6,7 @@
 namespace Magento\Cms\Test\Unit\Model\Wysiwyg;
 
 /**
- * covers \Magento\Cms\Model\Wysiwyg\Config
+ * @covers \Magento\Cms\Model\Wysiwyg\Config
  */
 class ConfigTest extends \PHPUnit_Framework_TestCase
 {
@@ -116,7 +116,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Cms\Model\Wysiwyg\Config::getConfig
+     * @covers \Magento\Cms\Model\Wysiwyg\Config::getConfig
      * @param array $data
      * @param boolean $isAuthorizationAllowed
      * @param array $expectedResults
@@ -187,7 +187,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Cms\Model\Wysiwyg\Config::getSkinImagePlaceholderPath
+     * @covers \Magento\Cms\Model\Wysiwyg\Config::getSkinImagePlaceholderPath
      */
     public function testGetSkinImagePlaceholderPath()
     {
@@ -213,7 +213,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Cms\Model\Wysiwyg\Config::isEnabled
+     * @covers \Magento\Cms\Model\Wysiwyg\Config::isEnabled
      * @param string $wysiwygState
      * @param boolean $expectedResult
      *
@@ -245,7 +245,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Cms\Model\Wysiwyg\Config::isHidden
+     * @covers \Magento\Cms\Model\Wysiwyg\Config::isHidden
      * @param string $status
      * @param boolean $expectedResult
      *
diff --git a/app/code/Magento/Cms/Test/Unit/Model/Wysiwyg/Images/StorageTest.php b/app/code/Magento/Cms/Test/Unit/Model/Wysiwyg/Images/StorageTest.php
index 2e890e13e92af72e8e69c137a56b7aeabc6c3a84..f06f1346e7b960dd8b3099ede27862ee4e9e3c3f 100644
--- a/app/code/Magento/Cms/Test/Unit/Model/Wysiwyg/Images/StorageTest.php
+++ b/app/code/Magento/Cms/Test/Unit/Model/Wysiwyg/Images/StorageTest.php
@@ -225,7 +225,7 @@ class StorageTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Cms\Model\Wysiwyg\Images\Storage::getResizeWidth
+     * @covers \Magento\Cms\Model\Wysiwyg\Images\Storage::getResizeWidth
      */
     public function testGetResizeWidth()
     {
@@ -233,7 +233,7 @@ class StorageTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Cms\Model\Wysiwyg\Images\Storage::getResizeHeight
+     * @covers \Magento\Cms\Model\Wysiwyg\Images\Storage::getResizeHeight
      */
     public function testGetResizeHeight()
     {
@@ -241,7 +241,7 @@ class StorageTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Cms\Model\Wysiwyg\Images\Storage::deleteDirectory
+     * @covers \Magento\Cms\Model\Wysiwyg\Images\Storage::deleteDirectory
      */
     public function testDeleteDirectoryOverRoot()
     {
@@ -253,7 +253,7 @@ class StorageTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Cms\Model\Wysiwyg\Images\Storage::deleteDirectory
+     * @covers \Magento\Cms\Model\Wysiwyg\Images\Storage::deleteDirectory
      */
     public function testDeleteRootDirectory()
     {
diff --git a/app/code/Magento/Cms/Ui/DataProvider/Block/Row/Actions.php b/app/code/Magento/Cms/Ui/DataProvider/Block/Row/Actions.php
index 8b6e6916618c73725bb58fe490be333f30d73e16..ed4f5370f1737be78cdec41348555c9648aa192b 100644
--- a/app/code/Magento/Cms/Ui/DataProvider/Block/Row/Actions.php
+++ b/app/code/Magento/Cms/Ui/DataProvider/Block/Row/Actions.php
@@ -34,14 +34,18 @@ class Actions implements RowInterface
     /**
      * Get data
      *
-     * @param array $dataRow
-     * @return mixed
+     * @param array $rowData
+     * @param array $rowActionConfig
+     * @return array
      */
-    public function getData(array $dataRow)
+    public function getData(array $rowData, array $rowActionConfig = [])
     {
         return [
             'edit' => [
-                'href' => $this->urlBuilder->getUrl(static::URL_PATH, ['block_id' => $dataRow['block_id']]),
+                'href' => $this->urlBuilder->getUrl(
+                    isset($rowActionConfig['url_path']) ? $rowActionConfig['url_path'] : static::URL_PATH,
+                    ['block_id' => $rowData['block_id']]
+                ),
                 'label' => __('Edit'),
             ]
         ];
diff --git a/app/code/Magento/Cms/Ui/DataProvider/Page/Row/Actions.php b/app/code/Magento/Cms/Ui/DataProvider/Page/Row/Actions.php
index f0504b6e781d806e45966ee21453c32adc89c8a6..644812f14bb6287df4a1efa7e910a752062db12d 100644
--- a/app/code/Magento/Cms/Ui/DataProvider/Page/Row/Actions.php
+++ b/app/code/Magento/Cms/Ui/DataProvider/Page/Row/Actions.php
@@ -44,23 +44,27 @@ class Actions implements RowInterface
     /**
      * Get data
      *
-     * @param array $dataRow
-     * @return mixed
+     * @param array $rowData
+     * @param array $rowActionConfig
+     * @return array
      */
-    public function getData(array $dataRow)
+    public function getData(array $rowData, array $rowActionConfig = [])
     {
         return [
             'edit' => [
-                'href' => $this->urlBuilder->getUrl(static::URL_PATH, ['page_id' => $dataRow['page_id']]),
+                'href' => $this->urlBuilder->getUrl(
+                    isset($rowActionConfig['url_path']) ? $rowActionConfig['url_path'] : static::URL_PATH,
+                    ['page_id' => $rowData['page_id']]
+                ),
                 'label' => __('Edit'),
                 'hidden' => true,
 
             ],
             'preview' => [
                 'href' => $this->actionUrlBuilder->getUrl(
-                    $dataRow['identifier'],
-                    isset($dataRow['_first_store_id']) ? $dataRow['_first_store_id'] : null,
-                    isset($dataRow['store_code']) ? $dataRow['store_code'] : null
+                    $rowData['identifier'],
+                    isset($rowData['_first_store_id']) ? $rowData['_first_store_id'] : null,
+                    isset($rowData['store_code']) ? $rowData['store_code'] : null
                 ),
                 'label' => __('Preview'),
             ]
diff --git a/app/code/Magento/Cms/composer.json b/app/code/Magento/Cms/composer.json
index 9384e914ed55cc731ca124669284e5432773b4b1..bb170a779ef25fc387efcdcb606f631f9dfcf0b5 100644
--- a/app/code/Magento/Cms/composer.json
+++ b/app/code/Magento/Cms/composer.json
@@ -3,20 +3,20 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-theme": "0.42.0-beta11",
-        "magento/module-widget": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-email": "0.42.0-beta11",
-        "magento/module-ui": "0.42.0-beta11",
-        "magento/module-variable": "0.42.0-beta11",
-        "magento/module-media-storage": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-theme": "0.74.0-beta1",
+        "magento/module-widget": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-email": "0.74.0-beta1",
+        "magento/module-ui": "0.74.0-beta1",
+        "magento/module-variable": "0.74.0-beta1",
+        "magento/module-media-storage": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/CmsUrlRewrite/composer.json b/app/code/Magento/CmsUrlRewrite/composer.json
index 584c86836e4a91f043f8c863b54f64c1c73d0daa..7f4ce715dab58c3447aa8f84308990613b359ae1 100644
--- a/app/code/Magento/CmsUrlRewrite/composer.json
+++ b/app/code/Magento/CmsUrlRewrite/composer.json
@@ -3,14 +3,14 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-cms": "0.42.0-beta11",
-        "magento/module-url-rewrite": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-cms": "0.74.0-beta1",
+        "magento/module-url-rewrite": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Config/Block/System/Config/Form/Field/FieldArray/AbstractFieldArray.php b/app/code/Magento/Config/Block/System/Config/Form/Field/FieldArray/AbstractFieldArray.php
index 40efdbd9e646f9bb9881cbb377135ec100fa16fe..bf4b9348c8ddfabc79e6ce20e948d0fbab5f92b4 100644
--- a/app/code/Magento/Config/Block/System/Config/Form/Field/FieldArray/AbstractFieldArray.php
+++ b/app/code/Magento/Config/Block/System/Config/Form/Field/FieldArray/AbstractFieldArray.php
@@ -181,7 +181,7 @@ abstract class AbstractFieldArray extends \Magento\Config\Block\System\Config\Fo
      */
     protected function _getCellInputElementName($columnName)
     {
-        return $this->getElement()->getName() . '[#{_id}][' . $columnName . ']';
+        return $this->getElement()->getName() . '[<%- _id %>][' . $columnName . ']';
     }
 
     /**
@@ -203,7 +203,7 @@ abstract class AbstractFieldArray extends \Magento\Config\Block\System\Config\Fo
             return $column['renderer']->setInputName(
                 $inputName
             )->setInputId(
-                $this->_getCellInputElementId('#{_id}', $columnName)
+                $this->_getCellInputElementId('<%- _id %>', $columnName)
             )->setColumnName(
                 $columnName
             )->setColumn(
@@ -212,15 +212,15 @@ abstract class AbstractFieldArray extends \Magento\Config\Block\System\Config\Fo
         }
 
         return '<input type="text" id="' . $this->_getCellInputElementId(
-            '#{_id}',
+            '<%- _id %>',
             $columnName
         ) .
             '"' .
             ' name="' .
             $inputName .
-            '" value="#{' .
+            '" value="<%- ' .
             $columnName .
-            '}" ' .
+            ' %>" ' .
             ($column['size'] ? 'size="' .
             $column['size'] .
             '"' : '') .
diff --git a/app/code/Magento/Config/Block/System/Config/Form/Field/Regexceptions.php b/app/code/Magento/Config/Block/System/Config/Form/Field/Regexceptions.php
index cd1f8280a8f1afbf95bcbc20b523da15c9efb275..76829b5b31a46733df95aca451dfc4c4e11a4b27 100644
--- a/app/code/Magento/Config/Block/System/Config/Form/Field/Regexceptions.php
+++ b/app/code/Magento/Config/Block/System/Config/Form/Field/Regexceptions.php
@@ -69,7 +69,7 @@ class Regexceptions extends \Magento\Config\Block\System\Config\Form\Field\Field
             )->setName(
                 $this->_getCellInputElementName($columnName)
             )->setHtmlId(
-                $this->_getCellInputElementId('#{_id}', $columnName)
+                $this->_getCellInputElementId('<%- _id %>', $columnName)
             )->setValues(
                 $options
             );
diff --git a/app/code/Magento/Config/Model/Config/Backend/Image/Logo.php b/app/code/Magento/Config/Model/Config/Backend/Image/Logo.php
index 97088f1cf6894047b84d5ad77552b8d5b428bb55..46ecba3bf52244420f3d3b538bffb2c91a5b1fc6 100644
--- a/app/code/Magento/Config/Model/Config/Backend/Image/Logo.php
+++ b/app/code/Magento/Config/Model/Config/Backend/Image/Logo.php
@@ -37,4 +37,14 @@ class Logo extends \Magento\Config\Model\Config\Backend\Image
     {
         return true;
     }
+
+    /**
+     * Getter for allowed extensions of uploaded files.
+     *
+     * @return string[]
+     */
+    protected function _getAllowedExtensions()
+    {
+        return ['jpg', 'jpeg', 'gif', 'png', 'svg'];
+    }
 }
diff --git a/app/code/Magento/Config/Model/Config/Backend/Locale/Timezone.php b/app/code/Magento/Config/Model/Config/Backend/Locale/Timezone.php
index 65afbb44bbe73bf88423631b922e7008b82c127f..53f96af852651d822f038a9b4049dd2a7fb87ab2 100644
--- a/app/code/Magento/Config/Model/Config/Backend/Locale/Timezone.php
+++ b/app/code/Magento/Config/Model/Config/Backend/Locale/Timezone.php
@@ -19,7 +19,7 @@ class Timezone extends \Magento\Framework\App\Config\Value
      */
     public function beforeSave()
     {
-        if (!in_array($this->getValue(), \DateTimeZone::listIdentifiers(\DateTimeZone::ALL_WITH_BC))) {
+        if (!in_array($this->getValue(), \DateTimeZone::listIdentifiers(\DateTimeZone::ALL))) {
             throw new LocalizedException(__('Please correct the timezone.'));
         }
         return $this;
diff --git a/app/code/Magento/Config/Test/Unit/Model/Config/Backend/Image/LogoTest.php b/app/code/Magento/Config/Test/Unit/Model/Config/Backend/Image/LogoTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..57cd48359d056288535705d6d2214babe6c68b4a
--- /dev/null
+++ b/app/code/Magento/Config/Test/Unit/Model/Config/Backend/Image/LogoTest.php
@@ -0,0 +1,79 @@
+<?php
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+namespace Magento\Config\Test\Unit\Model\Config\Backend\Image;
+
+class LogoTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Config\Model\Config\Backend\Image\Logo
+     */
+    private $model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    private $uploaderFactoryMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    private $uploaderMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    private $requestDataMock;
+
+    public function setUp()
+    {
+        $helper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
+        $this->uploaderFactoryMock = $this->getMockBuilder('\Magento\MediaStorage\Model\File\UploaderFactory')
+            ->setMethods(['create'])
+            ->disableOriginalConstructor()
+            ->getMock();
+        $this->uploaderMock = $this->getMockBuilder('\Magento\MediaStorage\Model\File\Uploader')
+            ->setMethods(['setAllowedExtensions', 'save'])
+            ->disableOriginalConstructor()
+            ->getMock();
+        $this->uploaderFactoryMock
+            ->expects($this->once())
+            ->method('create')
+            ->will($this->returnValue($this->uploaderMock));
+        $this->requestDataMock = $this
+            ->getMockBuilder('\Magento\Config\Model\Config\Backend\File\RequestData\RequestDataInterface')
+            ->setMethods(['getTmpName'])
+            ->getMockForAbstractClass();
+        $mediaDirectoryMock = $this->getMockBuilder('\Magento\Framework\Filesystem\Directory\WriteInterface')
+            ->disableOriginalConstructor()
+            ->getMockForAbstractClass();
+        $filesystemMock = $this->getMockBuilder('\Magento\Framework\Filesystem')
+            ->disableOriginalConstructor()
+            ->setMethods(['getDirectoryWrite'])
+            ->getMock();
+        $filesystemMock->expects($this->once())
+            ->method('getDirectoryWrite')
+            ->will($this->returnValue($mediaDirectoryMock));
+        $this->model = $helper->getObject(
+            'Magento\Config\Model\Config\Backend\Image\Logo',
+            [
+                'uploaderFactory' => $this->uploaderFactoryMock,
+                'requestData' => $this->requestDataMock,
+                'filesystem' => $filesystemMock,
+            ]
+        );
+    }
+
+    public function testBeforeSave()
+    {
+        $this->requestDataMock->expects($this->once())
+            ->method('getTmpName')
+            ->will($this->returnValue('/tmp/val'));
+        $this->uploaderMock->expects($this->once())
+            ->method('setAllowedExtensions')
+            ->with($this->equalTo(['jpg', 'jpeg', 'gif', 'png', 'svg']));
+        $this->model->beforeSave();
+    }
+}
diff --git a/app/code/Magento/Config/composer.json b/app/code/Magento/Config/composer.json
index 9fdfc97389801480818889a96c47d96ce1b2dd11..f67e70b620e702c1490466ca08f342f94db2da28 100644
--- a/app/code/Magento/Config/composer.json
+++ b/app/code/Magento/Config/composer.json
@@ -3,17 +3,17 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/framework": "0.42.0-beta11",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-cron": "0.42.0-beta11",
-        "magento/module-email": "0.42.0-beta11",
-        "magento/module-directory": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-media-storage": "0.42.0-beta11",
+        "magento/framework": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-cron": "0.74.0-beta1",
+        "magento/module-email": "0.74.0-beta1",
+        "magento/module-directory": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-media-storage": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Config/view/adminhtml/templates/system/config/form/field/array.phtml b/app/code/Magento/Config/view/adminhtml/templates/system/config/form/field/array.phtml
index bda103c5bd600b6fc93c6459d922988fd8a300ef..089f5a6eb8cfea743e889fac4cb29a78f7e372a4 100644
--- a/app/code/Magento/Config/view/adminhtml/templates/system/config/form/field/array.phtml
+++ b/app/code/Magento/Config/view/adminhtml/templates/system/config/form/field/array.phtml
@@ -42,7 +42,7 @@ $_colspan = $block->isAddAfter() ? 2 : 1;
             'prototype'
         ], function (mageTemplate) {
         // create row creator
-        var arrayRow<?php echo $_htmlId ?> = {
+        window.arrayRow<?php echo $_htmlId ?> = {
 
             // define row prototypeJS template
             template: mageTemplate(
diff --git a/app/code/Magento/ConfigurableImportExport/composer.json b/app/code/Magento/ConfigurableImportExport/composer.json
index b7070263ad41b0cc8bce0435e0e341c80f7fe886..1144bb9390be0053eb5a529ccf54861e62a08172 100644
--- a/app/code/Magento/ConfigurableImportExport/composer.json
+++ b/app/code/Magento/ConfigurableImportExport/composer.json
@@ -3,16 +3,16 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-catalog-import-export": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-import-export": "0.42.0-beta11",
-        "magento/module-configurable-product": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-catalog-import-export": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-import-export": "0.74.0-beta1",
+        "magento/module-configurable-product": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/ConfigurableProduct/composer.json b/app/code/Magento/ConfigurableProduct/composer.json
index 8e5ed6d41420f3511ea04f64c73aae01705a0d98..b5a49513dedb3ce1b0e367e796d92ba436d9c7e1 100644
--- a/app/code/Magento/ConfigurableProduct/composer.json
+++ b/app/code/Magento/ConfigurableProduct/composer.json
@@ -3,26 +3,26 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-catalog-inventory": "0.42.0-beta11",
-        "magento/module-sales": "0.42.0-beta11",
-        "magento/module-checkout": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-catalog-rule": "0.42.0-beta11",
-        "magento/module-directory": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
-        "magento/module-media-storage": "0.42.0-beta11",
-        "magento/module-quote": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-catalog-inventory": "0.74.0-beta1",
+        "magento/module-sales": "0.74.0-beta1",
+        "magento/module-checkout": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-catalog-rule": "0.74.0-beta1",
+        "magento/module-directory": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
+        "magento/module-media-storage": "0.74.0-beta1",
+        "magento/module-quote": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "suggest": {
-      "magento/module-webapi": "0.42.0-beta11"
+      "magento/module-webapi": "0.74.0-beta1"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/ConfigurableProduct/view/adminhtml/templates/catalog/product/attribute/set/js.phtml b/app/code/Magento/ConfigurableProduct/view/adminhtml/templates/catalog/product/attribute/set/js.phtml
index de98e821af8f83701eef899ac52b6dfeebf66bd0..f1445c3798d2668b5adb12b29d1efbf042617d2a 100644
--- a/app/code/Magento/ConfigurableProduct/view/adminhtml/templates/catalog/product/attribute/set/js.phtml
+++ b/app/code/Magento/ConfigurableProduct/view/adminhtml/templates/catalog/product/attribute/set/js.phtml
@@ -9,7 +9,7 @@
 
 ?>
 <script>
-require(['jquery'], function(){
+require(["tree-panel"], function(){
 ConfigurableNodeExists = function(currentNode) {
     for (var i in currentNode.childNodes ) {
         if (currentNode.childNodes[i].id) {
diff --git a/app/code/Magento/Contact/composer.json b/app/code/Magento/Contact/composer.json
index 5cf852865c8884a34f1b0d5a7196170762fa292d..85af063ad24caf5edd01ce7305a966e184d28722 100644
--- a/app/code/Magento/Contact/composer.json
+++ b/app/code/Magento/Contact/composer.json
@@ -3,15 +3,15 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-cms": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-cms": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Cookie/composer.json b/app/code/Magento/Cookie/composer.json
index 677da5785a19e3b5091339135af9fdc2c7b6e7e5..d671460b9f065a3d80741d81be7bf1508060d346 100644
--- a/app/code/Magento/Cookie/composer.json
+++ b/app/code/Magento/Cookie/composer.json
@@ -3,15 +3,15 @@
     "description": "N/A",
     "require": {
         "php": "~5.4.11|~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "suggest": {
-        "magento/module-backend": "0.42.0-beta11"
+        "magento/module-backend": "0.74.0-beta1"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Cron/Model/Config/Backend/Sitemap.php b/app/code/Magento/Cron/Model/Config/Backend/Sitemap.php
index 4e4a4569f621ff3eb12c83ea7435b47b201464a7..425dd36671b275388604c32239a0d1fa4b988cbb 100644
--- a/app/code/Magento/Cron/Model/Config/Backend/Sitemap.php
+++ b/app/code/Magento/Cron/Model/Config/Backend/Sitemap.php
@@ -65,7 +65,7 @@ class Sitemap extends \Magento\Framework\App\Config\Value
     public function afterSave()
     {
         $time = $this->getData('groups/generate/fields/time/value');
-        $frequency = $this->getData('groups/generate/frequency/value');
+        $frequency = $this->getData('groups/generate/fields/frequency/value');
 
         $cronExprArray = [
             intval($time[1]), //Minute
diff --git a/app/code/Magento/Cron/Model/Observer.php b/app/code/Magento/Cron/Model/Observer.php
index 2f8a1dafaa0a468261865288cb11bbdd0951566b..800e1e732710d455b0a12a728df25a01f486ba5f 100644
--- a/app/code/Magento/Cron/Model/Observer.php
+++ b/app/code/Magento/Cron/Model/Observer.php
@@ -87,6 +87,11 @@ class Observer
      */
     protected $_shell;
 
+    /**
+     * @var \Magento\Framework\Stdlib\DateTime\TimezoneInterface
+     */
+    protected $timezone;
+
     /**
      * @param \Magento\Framework\ObjectManagerInterface $objectManager
      * @param ScheduleFactory $scheduleFactory
@@ -95,6 +100,7 @@ class Observer
      * @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
      * @param \Magento\Framework\App\Console\Request $request
      * @param \Magento\Framework\ShellInterface $shell
+     * @param \Magento\Framework\Stdlib\DateTime\TimezoneInterface $timezone
      */
     public function __construct(
         \Magento\Framework\ObjectManagerInterface $objectManager,
@@ -103,7 +109,8 @@ class Observer
         \Magento\Cron\Model\ConfigInterface $config,
         \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig,
         \Magento\Framework\App\Console\Request $request,
-        \Magento\Framework\ShellInterface $shell
+        \Magento\Framework\ShellInterface $shell,
+        \Magento\Framework\Stdlib\DateTime\TimezoneInterface $timezone
     ) {
         $this->_objectManager = $objectManager;
         $this->_scheduleFactory = $scheduleFactory;
@@ -112,6 +119,7 @@ class Observer
         $this->_scopeConfig = $scopeConfig;
         $this->_request = $request;
         $this->_shell = $shell;
+        $this->timezone = $timezone;
     }
 
     /**
@@ -128,30 +136,29 @@ class Observer
     public function dispatch($observer)
     {
         $pendingJobs = $this->_getPendingSchedules();
-        $currentTime = time();
+        $currentTime = $this->timezone->scopeTimeStamp();
         $jobGroupsRoot = $this->_config->getJobs();
 
         foreach ($jobGroupsRoot as $groupId => $jobsRoot) {
-            if ($this->_request->getParam(
-                'group'
-            ) === null && $this->_scopeConfig->getValue(
-                'system/cron/' . $groupId . '/use_separate_process',
-                \Magento\Store\Model\ScopeInterface::SCOPE_STORE
-            ) == 1
-            ) {
+            if ($this->_request->getParam('group') !== null && $this->_request->getParam('group') != $groupId) {
+                continue;
+            }
+            if (($this->_request->getParam('standaloneProcessStarted') !== '1') && (
+                    $this->_scopeConfig->getValue(
+                        'system/cron/' . $groupId . '/use_separate_process',
+                        \Magento\Store\Model\ScopeInterface::SCOPE_STORE
+                    ) == 1
+                )) {
                 $this->_shell->execute(
-                    '%s -f %s -- --group=%s',
+                    'php -f %s -- --group=%s --standaloneProcessStarted=%s',
                     [
-                        PHP_BINARY,
                         BP . '/' . DirectoryList::PUB . '/cron.php',
-                        $groupId
+                        $groupId,
+                        '1'
                     ]
                 );
                 continue;
             }
-            if ($this->_request->getParam('group') !== null && $this->_request->getParam('group') != $groupId) {
-                continue;
-            }
 
             foreach ($pendingJobs as $schedule) {
                 $jobConfig = isset($jobsRoot[$schedule->getJobCode()]) ? $jobsRoot[$schedule->getJobCode()] : null;
@@ -160,12 +167,14 @@ class Observer
                 }
 
                 $scheduledTime = strtotime($schedule->getScheduledAt());
-                if ($scheduledTime > $currentTime || !$schedule->tryLockJob()) {
+                if ($scheduledTime > $currentTime) {
                     continue;
                 }
 
                 try {
-                    $this->_runJob($scheduledTime, $currentTime, $jobConfig, $schedule, $groupId);
+                    if ($schedule->tryLockJob()) {
+                        $this->_runJob($scheduledTime, $currentTime, $jobConfig, $schedule, $groupId);
+                    }
                 } catch (\Exception $e) {
                     $schedule->setMessages($e->getMessage());
                 }
@@ -213,11 +222,14 @@ class Observer
             );
         }
 
-        $schedule->setExecutedAt(strftime('%Y-%m-%d %H:%M:%S', time()))->save();
+        $schedule->setExecutedAt(strftime('%Y-%m-%d %H:%M:%S', $this->timezone->scopeTimeStamp()))->save();
 
         call_user_func_array($callback, [$schedule]);
 
-        $schedule->setStatus(Schedule::STATUS_SUCCESS)->setFinishedAt(strftime('%Y-%m-%d %H:%M:%S', time()));
+        $schedule->setStatus(Schedule::STATUS_SUCCESS)->setFinishedAt(strftime(
+            '%Y-%m-%d %H:%M:%S',
+            $this->timezone->scopeTimeStamp()
+        ));
     }
 
     /**
@@ -253,7 +265,7 @@ class Observer
             \Magento\Store\Model\ScopeInterface::SCOPE_STORE
         );
         $schedulePeriod = $rawSchedulePeriod * self::SECONDS_IN_MINUTE;
-        if ($lastRun > time() - $schedulePeriod) {
+        if ($lastRun > $this->timezone->scopeTimeStamp() - $schedulePeriod) {
             return $this;
         }
 
@@ -273,7 +285,12 @@ class Observer
         /**
          * save time schedules generation was ran with no expiration
          */
-        $this->_cache->save(time(), self::CACHE_KEY_LAST_SCHEDULE_GENERATE_AT . $groupId, ['crontab'], null);
+        $this->_cache->save(
+            $this->timezone->scopeTimeStamp(),
+            self::CACHE_KEY_LAST_SCHEDULE_GENERATE_AT . $groupId,
+            ['crontab'],
+            null
+        );
 
         return $this;
     }
@@ -324,10 +341,17 @@ class Observer
             'system/cron/' . $groupId . '/' . self::XML_PATH_HISTORY_CLEANUP_EVERY,
             \Magento\Store\Model\ScopeInterface::SCOPE_STORE
         );
-        if ($lastCleanup > time() - $historyCleanUp * self::SECONDS_IN_MINUTE) {
+        if ($lastCleanup > $this->timezone->scopeTimeStamp() - $historyCleanUp * self::SECONDS_IN_MINUTE) {
             return $this;
         }
 
+        // check how long the record should stay unprocessed before marked as MISSED
+        $scheduleLifetime = (int)$this->_scopeConfig->getValue(
+            'system/cron/' . $groupId . '/' . self::XML_PATH_SCHEDULE_LIFETIME,
+            \Magento\Store\Model\ScopeInterface::SCOPE_STORE
+        );
+        $scheduleLifetime = $scheduleLifetime * self::SECONDS_IN_MINUTE;
+
         /**
          * @var \Magento\Cron\Model\Resource\Schedule\Collection $history
          */
@@ -350,16 +374,23 @@ class Observer
             Schedule::STATUS_ERROR => $historyFailure * self::SECONDS_IN_MINUTE,
         ];
 
-        $now = time();
+        $now = $this->timezone->scopeTimeStamp();
         /** @var Schedule $record */
         foreach ($history as $record) {
-            if (strtotime($record->getExecutedAt()) < $now - $historyLifetimes[$record->getStatus()]) {
+            $checkTime = $record->getExecutedAt() ? strtotime($record->getExecutedAt()) :
+                strtotime($record->getScheduledAt()) + $scheduleLifetime;
+            if ($checkTime < $now - $historyLifetimes[$record->getStatus()]) {
                 $record->delete();
             }
         }
 
         // save time history cleanup was ran with no expiration
-        $this->_cache->save(time(), self::CACHE_KEY_LAST_HISTORY_CLEANUP_AT . $groupId, ['crontab'], null);
+        $this->_cache->save(
+            $this->timezone->scopeTimeStamp(),
+            self::CACHE_KEY_LAST_HISTORY_CLEANUP_AT . $groupId,
+            ['crontab'],
+            null
+        );
 
         return $this;
     }
@@ -387,7 +418,7 @@ class Observer
      */
     protected function saveSchedule($jobCode, $cronExpression, $timeInterval, $exists)
     {
-        $currentTime = time();
+        $currentTime = $this->timezone->scopeTimeStamp();
         $timeAhead = $currentTime + $timeInterval;
         for ($time = $currentTime; $time < $timeAhead; $time += self::SECONDS_IN_MINUTE) {
             $ts = strftime('%Y-%m-%d %H:%M:00', $time);
@@ -395,11 +426,11 @@ class Observer
                 // already scheduled
                 continue;
             }
-
             $schedule = $this->generateSchedule($jobCode, $cronExpression, $time);
             if ($schedule->trySchedule()) {
                 // time matches cron expression
                 $schedule->save();
+                return;
             }
         }
     }
@@ -416,7 +447,7 @@ class Observer
             ->setCronExpr($cronExpression)
             ->setJobCode($jobCode)
             ->setStatus(Schedule::STATUS_PENDING)
-            ->setCreatedAt(strftime('%Y-%m-%d %H:%M:%S', time()))
+            ->setCreatedAt(strftime('%Y-%m-%d %H:%M:%S', $this->timezone->scopeTimeStamp()))
             ->setScheduledAt(strftime('%Y-%m-%d %H:%M', $time));
 
         return $schedule;
diff --git a/app/code/Magento/Cron/Model/Schedule.php b/app/code/Magento/Cron/Model/Schedule.php
index eeb13bde4cde959b646efe452c10db48b158da0b..1725413c3f27ff1be624769a5b94c97a23a5f0a1 100644
--- a/app/code/Magento/Cron/Model/Schedule.php
+++ b/app/code/Magento/Cron/Model/Schedule.php
@@ -44,15 +44,9 @@ class Schedule extends \Magento\Framework\Model\AbstractModel
 
     const STATUS_ERROR = 'error';
 
-    /**
-     * @var \Magento\Framework\Stdlib\DateTime\TimezoneInterface
-     */
-    protected $timezone;
-
     /**
      * @param \Magento\Framework\Model\Context $context
      * @param \Magento\Framework\Registry $registry
-     * @param \Magento\Framework\Stdlib\DateTime\TimezoneInterface $timezone
      * @param \Magento\Framework\Model\Resource\AbstractResource $resource
      * @param \Magento\Framework\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -60,12 +54,10 @@ class Schedule extends \Magento\Framework\Model\AbstractModel
     public function __construct(
         \Magento\Framework\Model\Context $context,
         \Magento\Framework\Registry $registry,
-        \Magento\Framework\Stdlib\DateTime\TimezoneInterface $timezone,
         \Magento\Framework\Model\Resource\AbstractResource $resource = null,
         \Magento\Framework\Data\Collection\Db $resourceCollection = null,
         array $data = []
     ) {
-        $this->timezone = $timezone;
         parent::__construct($context, $registry, $resource, $resourceCollection, $data);
     }
 
@@ -111,14 +103,11 @@ class Schedule extends \Magento\Framework\Model\AbstractModel
         if (!is_numeric($time)) {
             $time = strtotime($time);
         }
-
-        $dateWithTimezone = $this->timezone->date($time);
-
-        $match = $this->matchCronExpression($e[0], $dateWithTimezone->format('i'))
-            && $this->matchCronExpression($e[1], $dateWithTimezone->format('H'))
-            && $this->matchCronExpression($e[2], $dateWithTimezone->format('d'))
-            && $this->matchCronExpression($e[3], $dateWithTimezone->format('m'))
-            && $this->matchCronExpression($e[4], $dateWithTimezone->format('N'));
+        $match = $this->matchCronExpression($e[0], strftime('%M', $time))
+            && $this->matchCronExpression($e[1], strftime('%H', $time))
+            && $this->matchCronExpression($e[2], strftime('%d', $time))
+            && $this->matchCronExpression($e[3], strftime('%m', $time))
+            && $this->matchCronExpression($e[4], strftime('%w', $time));
 
         return $match;
     }
diff --git a/app/code/Magento/Cron/Test/Unit/Model/ObserverTest.php b/app/code/Magento/Cron/Test/Unit/Model/ObserverTest.php
index cfa401743a12fc824676b2b9c5c5e81773195cb1..1f67cb67065623e9bc84a9e41c12baa9bb4a8ae7 100644
--- a/app/code/Magento/Cron/Test/Unit/Model/ObserverTest.php
+++ b/app/code/Magento/Cron/Test/Unit/Model/ObserverTest.php
@@ -5,6 +5,8 @@
  */
 namespace Magento\Cron\Test\Unit\Model;
 
+use Magento\Cron\Model\Schedule;
+
 /**
  * Class \Magento\Cron\Test\Unit\Model\ObserverTest
  * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
@@ -59,6 +61,11 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
      */
     protected $_cronGroupConfig;
 
+    /**
+     * @var \Magento\Framework\Stdlib\DateTime\TimezoneInterface
+     */
+    protected $timezone;
+
     /**
      * Prepare parameters
      */
@@ -93,6 +100,8 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
             ['execute']
         )->getMock();
 
+        $this->timezone = $this->getMock('Magento\Framework\Stdlib\DateTime\TimezoneInterface');
+        $this->timezone->expects($this->any())->method('scopeTimeStamp')->will($this->returnValue(time()));
         $this->_observer = new \Magento\Cron\Model\Observer(
             $this->_objectManager,
             $this->_scheduleFactory,
@@ -100,7 +109,8 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
             $this->_config,
             $this->_scopeConfig,
             $this->_request,
-            $this->_shell
+            $this->_shell,
+            $this->timezone
         );
     }
 
@@ -161,16 +171,17 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
         $lastRun = time() + 10000000;
         $this->_cache->expects($this->any())->method('load')->will($this->returnValue($lastRun));
         $this->_scopeConfig->expects($this->any())->method('getValue')->will($this->returnValue(0));
-
+        $this->_request->expects($this->any())->method('getParam')->will($this->returnValue('test_group'));
         $schedule = $this->getMockBuilder(
             'Magento\Cron\Model\Schedule'
         )->setMethods(
-            ['getJobCode', 'tryLockJob', 'getScheduledAt', '__wakeup']
+            ['getJobCode', 'tryLockJob', 'getScheduledAt', '__wakeup', 'save']
         )->disableOriginalConstructor()->getMock();
         $schedule->expects($this->any())->method('getJobCode')->will($this->returnValue('test_job1'));
         $schedule->expects($this->once())->method('getScheduledAt')->will($this->returnValue('-1 day'));
         $schedule->expects($this->once())->method('tryLockJob')->will($this->returnValue(false));
-
+        $abstractModel = $this->getMock('Magento\Framework\Model\AbstractModel', [], [], '', false);
+        $schedule->expects($this->any())->method('save')->will($this->returnValue($abstractModel));
         $this->_collection->addItem($schedule);
 
         $this->_config->expects(
@@ -198,7 +209,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
         $lastRun = time() + 10000000;
         $this->_cache->expects($this->any())->method('load')->will($this->returnValue($lastRun));
         $this->_scopeConfig->expects($this->any())->method('getValue')->will($this->returnValue(0));
-
+        $this->_request->expects($this->any())->method('getParam')->will($this->returnValue('test_group'));
         $schedule = $this->getMockBuilder(
             'Magento\Cron\Model\Schedule'
         )->setMethods(
@@ -262,7 +273,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
         );
         $schedule->expects($this->once())->method('setMessages')->with($this->equalTo($exceptionMessage));
         $schedule->expects($this->once())->method('save');
-
+        $this->_request->expects($this->any())->method('getParam')->will($this->returnValue('test_group'));
         $this->_collection->addItem($schedule);
 
         $jobConfig = ['test_group' => ['test_job1' => ['instance' => 'Some_Class']]];
@@ -293,7 +304,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
         ];
 
         $exceptionMessage = 'Invalid callback: Not_Existed_Class::notExistedMethod can\'t be called';
-
+        $this->_request->expects($this->any())->method('getParam')->will($this->returnValue('test_group'));
         $schedule = $this->getMockBuilder(
             'Magento\Cron\Model\Schedule'
         )->setMethods(
@@ -349,6 +360,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
         $jobConfig = [
             'test_group' => ['test_job1' => ['instance' => 'CronJob', 'method' => 'execute']],
         ];
+        $this->_request->expects($this->any())->method('getParam')->will($this->returnValue('test_group'));
 
         $scheduleMethods = [
             'getJobCode',
@@ -430,7 +442,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
         )->will(
             $this->returnValue(['test_group' => []])
         );
-
+        $this->_request->expects($this->any())->method('getParam')->will($this->returnValue('test_group'));
         $this->_cache->expects(
             $this->at(0)
         )->method(
@@ -501,7 +513,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
             ],
         ];
         $this->_config->expects($this->at(1))->method('getJobs')->will($this->returnValue($jobs));
-
+        $this->_request->expects($this->any())->method('getParam')->will($this->returnValue('test_group'));
         $this->_cache->expects(
             $this->at(0)
         )->method(
@@ -568,7 +580,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
         )->getMock();
         $schedule->expects($this->any())->method('getExecutedAt')->will($this->returnValue('-1 day'));
         $schedule->expects($this->any())->method('getStatus')->will($this->returnValue('success'));
-
+        $this->_request->expects($this->any())->method('getParam')->will($this->returnValue('test_group'));
         $this->_collection->addItem($schedule);
 
         $this->_config->expects($this->once())->method('getJobs')->will($this->returnValue($jobConfig));
@@ -597,4 +609,84 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
 
         $this->_observer->dispatch('');
     }
+
+    public function testMissedJobsCleanedInTime()
+    {
+        /* 1. Initialize dependencies of _generate() method which is called first */
+        $jobConfig = [
+            'test_group' => ['test_job1' => ['instance' => 'CronJob', 'method' => 'execute']],
+        ];
+
+        // This item was scheduled 2 days ago
+        $schedule1 = $this->getMockBuilder(
+            'Magento\Cron\Model\Schedule'
+        )->disableOriginalConstructor()->setMethods(
+            ['getExecutedAt', 'getScheduledAt', 'getStatus', 'delete', '__wakeup']
+        )->getMock();
+        $schedule1->expects($this->any())->method('getExecutedAt')->will($this->returnValue(null));
+        $schedule1->expects($this->any())->method('getScheduledAt')->will($this->returnValue('-2 day -1 hour'));
+        $schedule1->expects($this->any())->method('getStatus')->will($this->returnValue(Schedule::STATUS_MISSED));
+        //we expect this job be deleted from the list
+        $schedule1->expects($this->once())->method('delete')->will($this->returnValue(true));
+
+        // This item was scheduled 1 day ago
+        $schedule2 = $this->getMockBuilder(
+            'Magento\Cron\Model\Schedule'
+        )->disableOriginalConstructor()->setMethods(
+            ['getExecutedAt', 'getScheduledAt', 'getStatus', 'delete', '__wakeup']
+        )->getMock();
+        $schedule2->expects($this->any())->method('getExecutedAt')->will($this->returnValue(null));
+        $schedule2->expects($this->any())->method('getScheduledAt')->will($this->returnValue('-1 day'));
+        $schedule2->expects($this->any())->method('getStatus')->will($this->returnValue(Schedule::STATUS_MISSED));
+        //we don't expect this job be deleted from the list
+        $schedule2->expects($this->never())->method('delete');
+
+        $this->_collection->addItem($schedule1);
+        $this->_config->expects($this->once())->method('getJobs')->will($this->returnValue($jobConfig));
+
+        //get configuration value CACHE_KEY_LAST_HISTORY_CLEANUP_AT in the "_generate()"
+        $this->_cache->expects($this->at(0))->method('load')->will($this->returnValue(time() + 10000000));
+        //get configuration value CACHE_KEY_LAST_HISTORY_CLEANUP_AT in the "_cleanup()"
+        $this->_cache->expects($this->at(1))->method('load')->will($this->returnValue(time() - 10000000));
+
+        $this->_scopeConfig->expects($this->at(0))->method('getValue')
+            ->with($this->equalTo('system/cron/test_group/use_separate_process'))
+            ->will($this->returnValue(0));
+        $this->_scopeConfig->expects($this->at(1))->method('getValue')
+            ->with($this->equalTo('system/cron/test_group/schedule_generate_every'))
+            ->will($this->returnValue(0));
+        $this->_scopeConfig->expects($this->at(2))->method('getValue')
+            ->with($this->equalTo('system/cron/test_group/history_cleanup_every'))
+            ->will($this->returnValue(0));
+        $this->_scopeConfig->expects($this->at(3))->method('getValue')
+            ->with($this->equalTo('system/cron/test_group/schedule_lifetime'))
+            ->will($this->returnValue(2*24*60));
+        $this->_scopeConfig->expects($this->at(4))->method('getValue')
+            ->with($this->equalTo('system/cron/test_group/history_success_lifetime'))
+            ->will($this->returnValue(0));
+        $this->_scopeConfig->expects($this->at(5))->method('getValue')
+            ->with($this->equalTo('system/cron/test_group/history_failure_lifetime'))
+            ->will($this->returnValue(0));
+
+        /* 2. Initialize dependencies of _cleanup() method which is called second */
+        $scheduleMock = $this->getMockBuilder('Magento\Cron\Model\Schedule')->disableOriginalConstructor()->getMock();
+        $scheduleMock->expects($this->any())->method('getCollection')->will($this->returnValue($this->_collection));
+        $this->_scheduleFactory->expects($this->at(0))->method('create')->will($this->returnValue($scheduleMock));
+
+        $collection = $this->getMockBuilder(
+            'Magento\Cron\Model\Resource\Schedule\Collection'
+        )->setMethods(
+            ['addFieldToFilter', 'load', '__wakeup']
+        )->disableOriginalConstructor()->getMock();
+        $collection->expects($this->any())->method('addFieldToFilter')->will($this->returnSelf());
+        $collection->expects($this->any())->method('load')->will($this->returnSelf());
+        $collection->addItem($schedule1);
+        $collection->addItem($schedule2);
+
+        $scheduleMock = $this->getMockBuilder('Magento\Cron\Model\Schedule')->disableOriginalConstructor()->getMock();
+        $scheduleMock->expects($this->any())->method('getCollection')->will($this->returnValue($collection));
+        $this->_scheduleFactory->expects($this->at(1))->method('create')->will($this->returnValue($scheduleMock));
+
+        $this->_observer->dispatch('');
+    }
 }
diff --git a/app/code/Magento/Cron/Test/Unit/Model/ScheduleTest.php b/app/code/Magento/Cron/Test/Unit/Model/ScheduleTest.php
index a5678197291887d8de73ee75f918da7c80310d72..8b757c187c23e4af107017c8f06ee832f9ac9c70 100644
--- a/app/code/Magento/Cron/Test/Unit/Model/ScheduleTest.php
+++ b/app/code/Magento/Cron/Test/Unit/Model/ScheduleTest.php
@@ -158,29 +158,14 @@ class ScheduleTest extends \PHPUnit_Framework_TestCase
     public function testTrySchedule($scheduledAt, $cronExprArr, $expected)
     {
         // 1. Create mocks
-        $timezoneMock = $this->getMockBuilder('Magento\Framework\Stdlib\DateTime\TimezoneInterface')
-            ->disableOriginalConstructor()
-            ->setMethods(['date'])
-            ->getMockForAbstractClass();
-
         /** @var \Magento\Cron\Model\Schedule $model */
         $model = $this->helper->getObject(
-            'Magento\Cron\Model\Schedule',
-            [
-                'timezone' => $timezoneMock
-            ]
+            'Magento\Cron\Model\Schedule'
         );
 
         // 2. Set fixtures
         $model->setScheduledAt($scheduledAt);
         $model->setCronExprArr($cronExprArr);
-        if ($scheduledAt && $cronExprArr) {
-            $date = is_numeric($scheduledAt) ? $scheduledAt : strtotime($scheduledAt);
-            $timezoneMock->expects($this->once())
-                ->method('date')
-                ->with($date)
-                ->willReturn((new \DateTime())->setTimestamp($date));
-        }
 
         // 3. Run tested method
         $result = $model->trySchedule();
diff --git a/app/code/Magento/Cron/composer.json b/app/code/Magento/Cron/composer.json
index 537fc35fcb0e7e8782c198e2172a8725acc286ca..58c67083c1b1c0d7580e5de643fed7716ad1424f 100644
--- a/app/code/Magento/Cron/composer.json
+++ b/app/code/Magento/Cron/composer.json
@@ -3,13 +3,13 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/CurrencySymbol/composer.json b/app/code/Magento/CurrencySymbol/composer.json
index cf12bc45c09290b14863a145c89b8c52c6d09814..3c4206446733865d0afe6c82bfc3255463db6ac2 100644
--- a/app/code/Magento/CurrencySymbol/composer.json
+++ b/app/code/Magento/CurrencySymbol/composer.json
@@ -3,16 +3,16 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-page-cache": "0.42.0-beta11",
-        "magento/module-directory": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-page-cache": "0.74.0-beta1",
+        "magento/module-directory": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Customer/Block/Address/Edit.php b/app/code/Magento/Customer/Block/Address/Edit.php
index 2d4ff95fae9dccb77a31b2ff832779f8f6135153..ef7e323cf59a8e365942aeffd69f6f8cc7eaf778 100644
--- a/app/code/Magento/Customer/Block/Address/Edit.php
+++ b/app/code/Magento/Customer/Block/Address/Edit.php
@@ -106,6 +106,9 @@ class Edit extends \Magento\Directory\Block\Data
         if ($addressId = $this->getRequest()->getParam('id')) {
             try {
                 $this->_address = $this->_addressRepository->getById($addressId);
+                if ($this->_address->getCustomerId() != $this->_customerSession->getCustomerId()) {
+                    $this->_address = null;
+                }
             } catch (NoSuchEntityException $e) {
                 $this->_address = null;
             }
@@ -113,17 +116,12 @@ class Edit extends \Magento\Directory\Block\Data
 
         if ($this->_address === null || !$this->_address->getId()) {
             $this->_address = $this->addressDataFactory->create();
-            $this->_address->setPrefix(
-                $this->getCustomer()->getPrefix()
-            )->setFirstname(
-                $this->getCustomer()->getFirstname()
-            )->setMiddlename(
-                $this->getCustomer()->getMiddlename()
-            )->setLastname(
-                $this->getCustomer()->getLastname()
-            )->setSuffix(
-                $this->getCustomer()->getSuffix()
-            );
+            $customer = $this->getCustomer();
+            $this->_address->setPrefix($customer->getPrefix());
+            $this->_address->setFirstname($customer->getFirstname());
+            $this->_address->setMiddlename($customer->getMiddlename());
+            $this->_address->setLastname($customer->getLastname());
+            $this->_address->setSuffix($customer->getSuffix());
         }
 
         $this->pageConfig->getTitle()->set($this->getTitle());
diff --git a/app/code/Magento/Customer/Model/AccountManagement.php b/app/code/Magento/Customer/Model/AccountManagement.php
index 129f46990118ab34ef0bd442198d93f5a5d325c3..59fbcb7f9f09fd5e28a2bc50faaff02255938ecc 100644
--- a/app/code/Magento/Customer/Model/AccountManagement.php
+++ b/app/code/Magento/Customer/Model/AccountManagement.php
@@ -839,6 +839,7 @@ class AccountManagement implements AccountManagementInterface
             $storeId = $this->getWebsiteStoreId($customer);
         }
 
+        $customerEmailData = $this->getFullCustomerObject($customer);
         /** @var \Magento\Framework\Mail\TransportInterface $transport */
         $transport = $this->transportBuilder->setTemplateIdentifier(
             $this->scopeConfig->getValue(
@@ -849,7 +850,7 @@ class AccountManagement implements AccountManagementInterface
         )->setTemplateOptions(
             ['area' => \Magento\Framework\App\Area::AREA_FRONTEND, 'store' => $storeId]
         )->setTemplateVars(
-            ['customer' => $customer, 'store' => $this->storeManager->getStore($storeId)]
+            ['customer' => $customerEmailData, 'store' => $this->storeManager->getStore($storeId)]
         )->setFrom(
             $this->scopeConfig->getValue(
                 self::XML_PATH_FORGOT_EMAIL_IDENTITY,
diff --git a/app/code/Magento/Customer/Model/Customer.php b/app/code/Magento/Customer/Model/Customer.php
index 414ec4dbefebaafb3f2b765d14ae63c7244eb431..d6792e7d47c2a33d77b8b6991754a7dad31c3e56 100644
--- a/app/code/Magento/Customer/Model/Customer.php
+++ b/app/code/Magento/Customer/Model/Customer.php
@@ -725,7 +725,7 @@ class Customer extends \Magento\Framework\Model\AbstractModel
 
         $primaryShipping = $this->getPrimaryShippingAddress();
         if ($primaryShipping) {
-            if ($primaryBilling->getId() == $primaryShipping->getId()) {
+            if ($primaryBilling && $primaryBilling->getId() == $primaryShipping->getId()) {
                 $primaryBilling->setIsPrimaryShipping(true);
             } else {
                 $primaryShipping->setIsPrimaryShipping(true);
diff --git a/app/code/Magento/Customer/Test/Unit/Block/Address/EditTest.php b/app/code/Magento/Customer/Test/Unit/Block/Address/EditTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..c356f2f352c2907446d85ba4efc67372640b8879
--- /dev/null
+++ b/app/code/Magento/Customer/Test/Unit/Block/Address/EditTest.php
@@ -0,0 +1,453 @@
+<?php
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+namespace Magento\Customer\Test\Unit\Block\Address;
+
+class EditTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Framework\TestFramework\Unit\Helper\ObjectManager
+     */
+    protected $objectManager;
+
+    /**
+     * @var \Magento\Framework\App\RequestInterface|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $requestMock;
+
+    /**
+     * @var \Magento\Customer\Api\AddressRepositoryInterface|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $addressRepositoryMock;
+
+    /**
+     * @var \Magento\Customer\Model\Session|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $customerSessionMock;
+
+    /**
+     * @var \Magento\Framework\View\Page\Config|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $pageConfigMock;
+
+    /**
+     * @var \Magento\Framework\Api\DataObjectHelper|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $dataObjectHelperMock;
+
+    /**
+     * @var \Magento\Customer\Api\Data\AddressInterfaceFactory|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $addressDataFactoryMock;
+
+    /**
+     * @var \Magento\Customer\Helper\Session\CurrentCustomer|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $currentCustomerMock;
+
+    /**
+     * @var \Magento\Customer\Block\Address\Edit
+     */
+    protected $model;
+
+    protected function setUp()
+    {
+        $this->objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
+
+        $this->requestMock = $this->getMockBuilder('Magento\Framework\App\RequestInterface')
+            ->getMock();
+
+        $this->addressRepositoryMock = $this->getMockBuilder('Magento\Customer\Api\AddressRepositoryInterface')
+            ->getMock();
+
+        $this->customerSessionMock = $this->getMockBuilder('Magento\Customer\Model\Session')
+            ->disableOriginalConstructor()
+            ->setMethods(['getAddressFormData', 'getCustomerId'])
+            ->getMock();
+
+        $this->pageConfigMock = $this->getMockBuilder('Magento\Framework\View\Page\Config')
+            ->disableOriginalConstructor()
+            ->getMock();
+
+        $this->dataObjectHelperMock = $this->getMockBuilder('Magento\Framework\Api\DataObjectHelper')
+            ->disableOriginalConstructor()
+            ->getMock();
+
+        $this->addressDataFactoryMock = $this->getMockBuilder('Magento\Customer\Api\Data\AddressInterfaceFactory')
+            ->disableOriginalConstructor()
+            ->getMock();
+
+        $this->currentCustomerMock = $this->getMockBuilder('Magento\Customer\Helper\Session\CurrentCustomer')
+            ->disableOriginalConstructor()
+            ->getMock();
+
+        $this->model = $this->objectManager->getObject(
+            'Magento\Customer\Block\Address\Edit',
+            [
+                'request' => $this->requestMock,
+                'addressRepository' => $this->addressRepositoryMock,
+                'customerSession' => $this->customerSessionMock,
+                'pageConfig' => $this->pageConfigMock,
+                'dataObjectHelper' => $this->dataObjectHelperMock,
+                'addressDataFactory' => $this->addressDataFactoryMock,
+                'currentCustomer' => $this->currentCustomerMock,
+            ]
+        );
+    }
+
+    public function testSetLayoutWithOwnAddressAndPostedData()
+    {
+        $addressId = 1;
+        $customerId = 1;
+        $title = __('Edit Address');
+        $postedData = [
+            'region_id' => 1,
+            'region' => 'region',
+        ];
+        $newPostedData = $postedData;
+        $newPostedData['region'] = $postedData;
+
+        $layoutMock = $this->getMockBuilder('Magento\Framework\View\LayoutInterface')
+            ->getMock();
+
+        $this->requestMock->expects($this->once())
+            ->method('getParam')
+            ->with('id', null)
+            ->willReturn($addressId);
+
+        $addressMock = $this->getMockBuilder('Magento\Customer\Api\Data\AddressInterface')
+            ->getMock();
+        $this->addressRepositoryMock->expects($this->once())
+            ->method('getById')
+            ->with($addressId)
+            ->willReturn($addressMock);
+
+        $addressMock->expects($this->once())
+            ->method('getCustomerId')
+            ->willReturn($customerId);
+
+        $this->customerSessionMock->expects($this->at(0))
+            ->method('getCustomerId')
+            ->willReturn($customerId);
+
+        $addressMock->expects($this->exactly(2))
+            ->method('getId')
+            ->willReturn($addressId);
+
+        $pageTitleMock = $this->getMockBuilder('Magento\Framework\View\Page\Title')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $this->pageConfigMock->expects($this->once())
+            ->method('getTitle')
+            ->willReturn($pageTitleMock);
+
+        $pageTitleMock->expects($this->once())
+            ->method('set')
+            ->with($title)
+            ->willReturnSelf();
+
+        $this->customerSessionMock->expects($this->at(1))
+            ->method('getAddressFormData')
+            ->with(true)
+            ->willReturn($postedData);
+
+        $this->dataObjectHelperMock->expects($this->once())
+            ->method('populateWithArray')
+            ->with(
+                $addressMock,
+                $newPostedData,
+                '\Magento\Customer\Api\Data\AddressInterface'
+            )->willReturnSelf();
+
+        $this->assertEquals($this->model, $this->model->setLayout($layoutMock));
+        $this->assertEquals($layoutMock, $this->model->getLayout());
+    }
+
+    /**
+     * @throws \Magento\Framework\Exception
+     * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
+     */
+    public function testSetLayoutWithAlienAddress()
+    {
+        $addressId = 1;
+        $customerId = 1;
+        $customerPrefix = 'prefix';
+        $customerFirstName = 'firstname';
+        $customerMiddlename = 'middlename';
+        $customerLastname = 'lastname';
+        $customerSuffix = 'suffix';
+        $title = __('Add New Address');
+
+        $layoutMock = $this->getMockBuilder('Magento\Framework\View\LayoutInterface')
+            ->getMock();
+
+        $this->requestMock->expects($this->once())
+            ->method('getParam')
+            ->with('id', null)
+            ->willReturn($addressId);
+
+        $addressMock = $this->getMockBuilder('Magento\Customer\Api\Data\AddressInterface')
+            ->getMock();
+        $this->addressRepositoryMock->expects($this->once())
+            ->method('getById')
+            ->with($addressId)
+            ->willReturn($addressMock);
+
+        $addressMock->expects($this->once())
+            ->method('getCustomerId')
+            ->willReturn($customerId);
+
+        $this->customerSessionMock->expects($this->at(0))
+            ->method('getCustomerId')
+            ->willReturn($customerId + 1);
+
+        $newAddressMock = $this->getMockBuilder('Magento\Customer\Api\Data\AddressInterface')
+            ->getMock();
+        $this->addressDataFactoryMock->expects($this->once())
+            ->method('create')
+            ->with([])
+            ->willReturn($newAddressMock);
+
+        $customerMock = $this->getMockBuilder('Magento\Customer\Api\Data\CustomerInterface')
+            ->getMock();
+        $this->currentCustomerMock->expects($this->once())
+            ->method('getCustomer')
+            ->willReturn($customerMock);
+
+        $customerMock->expects($this->once())
+            ->method('getPrefix')
+            ->willReturn($customerPrefix);
+        $customerMock->expects($this->once())
+            ->method('getFirstname')
+            ->willReturn($customerFirstName);
+        $customerMock->expects($this->once())
+            ->method('getMiddlename')
+            ->willReturn($customerMiddlename);
+        $customerMock->expects($this->once())
+            ->method('getLastname')
+            ->willReturn($customerLastname);
+        $customerMock->expects($this->once())
+            ->method('getSuffix')
+            ->willReturn($customerSuffix);
+
+        $newAddressMock->expects($this->once())
+            ->method('setPrefix')
+            ->with($customerPrefix)
+            ->willReturnSelf();
+        $newAddressMock->expects($this->once())
+            ->method('setFirstname')
+            ->with($customerFirstName)
+            ->willReturnSelf();
+        $newAddressMock->expects($this->once())
+            ->method('setMiddlename')
+            ->with($customerMiddlename)
+            ->willReturnSelf();
+        $newAddressMock->expects($this->once())
+            ->method('setLastname')
+            ->with($customerLastname)
+            ->willReturnSelf();
+        $newAddressMock->expects($this->once())
+            ->method('setSuffix')
+            ->with($customerSuffix)
+            ->willReturnSelf();
+
+        $newAddressMock->expects($this->once())
+            ->method('getId')
+            ->willReturn(null);
+
+        $pageTitleMock = $this->getMockBuilder('Magento\Framework\View\Page\Title')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $this->pageConfigMock->expects($this->once())
+            ->method('getTitle')
+            ->willReturn($pageTitleMock);
+
+        $pageTitleMock->expects($this->once())
+            ->method('set')
+            ->with($title)
+            ->willReturnSelf();
+
+        $this->assertEquals($this->model, $this->model->setLayout($layoutMock));
+        $this->assertEquals($layoutMock, $this->model->getLayout());
+    }
+
+    public function testSetLayoutWithoutAddressId()
+    {
+        $customerPrefix = 'prefix';
+        $customerFirstName = 'firstname';
+        $customerMiddlename = 'middlename';
+        $customerLastname = 'lastname';
+        $customerSuffix = 'suffix';
+        $title = 'title';
+
+        $layoutMock = $this->getMockBuilder('Magento\Framework\View\LayoutInterface')
+            ->getMock();
+
+        $this->requestMock->expects($this->once())
+            ->method('getParam')
+            ->with('id', null)
+            ->willReturn('');
+
+        $newAddressMock = $this->getMockBuilder('Magento\Customer\Api\Data\AddressInterface')
+            ->getMock();
+        $this->addressDataFactoryMock->expects($this->once())
+            ->method('create')
+            ->with([])
+            ->willReturn($newAddressMock);
+
+        $customerMock = $this->getMockBuilder('Magento\Customer\Api\Data\CustomerInterface')
+            ->getMock();
+        $this->currentCustomerMock->expects($this->once())
+            ->method('getCustomer')
+            ->willReturn($customerMock);
+
+        $customerMock->expects($this->once())
+            ->method('getPrefix')
+            ->willReturn($customerPrefix);
+        $customerMock->expects($this->once())
+            ->method('getFirstname')
+            ->willReturn($customerFirstName);
+        $customerMock->expects($this->once())
+            ->method('getMiddlename')
+            ->willReturn($customerMiddlename);
+        $customerMock->expects($this->once())
+            ->method('getLastname')
+            ->willReturn($customerLastname);
+        $customerMock->expects($this->once())
+            ->method('getSuffix')
+            ->willReturn($customerSuffix);
+
+        $newAddressMock->expects($this->once())
+            ->method('setPrefix')
+            ->with($customerPrefix)
+            ->willReturnSelf();
+        $newAddressMock->expects($this->once())
+            ->method('setFirstname')
+            ->with($customerFirstName)
+            ->willReturnSelf();
+        $newAddressMock->expects($this->once())
+            ->method('setMiddlename')
+            ->with($customerMiddlename)
+            ->willReturnSelf();
+        $newAddressMock->expects($this->once())
+            ->method('setLastname')
+            ->with($customerLastname)
+            ->willReturnSelf();
+        $newAddressMock->expects($this->once())
+            ->method('setSuffix')
+            ->with($customerSuffix)
+            ->willReturnSelf();
+
+        $pageTitleMock = $this->getMockBuilder('Magento\Framework\View\Page\Title')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $this->pageConfigMock->expects($this->once())
+            ->method('getTitle')
+            ->willReturn($pageTitleMock);
+
+        $this->model->setData('title', $title);
+
+        $pageTitleMock->expects($this->once())
+            ->method('set')
+            ->with($title)
+            ->willReturnSelf();
+
+        $this->assertEquals($this->model, $this->model->setLayout($layoutMock));
+        $this->assertEquals($layoutMock, $this->model->getLayout());
+    }
+
+    public function testSetLayoutWithoutAddress()
+    {
+        $addressId = 1;
+        $customerPrefix = 'prefix';
+        $customerFirstName = 'firstname';
+        $customerMiddlename = 'middlename';
+        $customerLastname = 'lastname';
+        $customerSuffix = 'suffix';
+        $title = 'title';
+
+        $layoutMock = $this->getMockBuilder('Magento\Framework\View\LayoutInterface')
+            ->getMock();
+
+        $this->requestMock->expects($this->once())
+            ->method('getParam')
+            ->with('id', null)
+            ->willReturn($addressId);
+
+        $this->addressRepositoryMock->expects($this->once())
+            ->method('getById')
+            ->with($addressId)
+            ->willThrowException(
+                \Magento\Framework\Exception\NoSuchEntityException::singleField('addressId', $addressId)
+            );
+
+        $newAddressMock = $this->getMockBuilder('Magento\Customer\Api\Data\AddressInterface')
+            ->getMock();
+        $this->addressDataFactoryMock->expects($this->once())
+            ->method('create')
+            ->with([])
+            ->willReturn($newAddressMock);
+
+        $customerMock = $this->getMockBuilder('Magento\Customer\Api\Data\CustomerInterface')
+            ->getMock();
+        $this->currentCustomerMock->expects($this->once())
+            ->method('getCustomer')
+            ->willReturn($customerMock);
+
+        $customerMock->expects($this->once())
+            ->method('getPrefix')
+            ->willReturn($customerPrefix);
+        $customerMock->expects($this->once())
+            ->method('getFirstname')
+            ->willReturn($customerFirstName);
+        $customerMock->expects($this->once())
+            ->method('getMiddlename')
+            ->willReturn($customerMiddlename);
+        $customerMock->expects($this->once())
+            ->method('getLastname')
+            ->willReturn($customerLastname);
+        $customerMock->expects($this->once())
+            ->method('getSuffix')
+            ->willReturn($customerSuffix);
+
+        $newAddressMock->expects($this->once())
+            ->method('setPrefix')
+            ->with($customerPrefix)
+            ->willReturnSelf();
+        $newAddressMock->expects($this->once())
+            ->method('setFirstname')
+            ->with($customerFirstName)
+            ->willReturnSelf();
+        $newAddressMock->expects($this->once())
+            ->method('setMiddlename')
+            ->with($customerMiddlename)
+            ->willReturnSelf();
+        $newAddressMock->expects($this->once())
+            ->method('setLastname')
+            ->with($customerLastname)
+            ->willReturnSelf();
+        $newAddressMock->expects($this->once())
+            ->method('setSuffix')
+            ->with($customerSuffix)
+            ->willReturnSelf();
+
+        $pageTitleMock = $this->getMockBuilder('Magento\Framework\View\Page\Title')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $this->pageConfigMock->expects($this->once())
+            ->method('getTitle')
+            ->willReturn($pageTitleMock);
+
+        $this->model->setData('title', $title);
+
+        $pageTitleMock->expects($this->once())
+            ->method('set')
+            ->with($title)
+            ->willReturnSelf();
+
+        $this->assertEquals($this->model, $this->model->setLayout($layoutMock));
+        $this->assertEquals($layoutMock, $this->model->getLayout());
+    }
+}
diff --git a/app/code/Magento/Customer/Test/Unit/Controller/Account/LoginPostTest.php b/app/code/Magento/Customer/Test/Unit/Controller/Account/LoginPostTest.php
index 7837c811df305141807f92c816cc06155298ee00..ec6f760539217ba90f229ed0728b77d6e6350460 100644
--- a/app/code/Magento/Customer/Test/Unit/Controller/Account/LoginPostTest.php
+++ b/app/code/Magento/Customer/Test/Unit/Controller/Account/LoginPostTest.php
@@ -172,7 +172,7 @@ class LoginPostTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Customer\Controller\Account::getAllowedActions
+     * @covers \Magento\Customer\Controller\Account::getAllowedActions
      * @return void
      */
     public function testGetAllowedActions()
diff --git a/app/code/Magento/Customer/composer.json b/app/code/Magento/Customer/composer.json
index fac52511ebdd845a9b76fbb26ffa8acccbc2a5b6..c7fe524a9cd1af4ecf0af22154559c3006ce9bdf 100644
--- a/app/code/Magento/Customer/composer.json
+++ b/app/code/Magento/Customer/composer.json
@@ -3,33 +3,33 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-directory": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-newsletter": "0.42.0-beta11",
-        "magento/module-sales": "0.42.0-beta11",
-        "magento/module-checkout": "0.42.0-beta11",
-        "magento/module-wishlist": "0.42.0-beta11",
-        "magento/module-theme": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-review": "0.42.0-beta11",
-        "magento/module-tax": "0.42.0-beta11",
-        "magento/module-page-cache": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
-        "magento/module-authorization": "0.42.0-beta11",
-        "magento/module-integration": "0.42.0-beta11",
-        "magento/module-media-storage": "0.42.0-beta11",
-        "magento/module-ui": "0.42.0-beta11",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/module-quote": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-directory": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-newsletter": "0.74.0-beta1",
+        "magento/module-sales": "0.74.0-beta1",
+        "magento/module-checkout": "0.74.0-beta1",
+        "magento/module-wishlist": "0.74.0-beta1",
+        "magento/module-theme": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-review": "0.74.0-beta1",
+        "magento/module-tax": "0.74.0-beta1",
+        "magento/module-page-cache": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
+        "magento/module-authorization": "0.74.0-beta1",
+        "magento/module-integration": "0.74.0-beta1",
+        "magento/module-media-storage": "0.74.0-beta1",
+        "magento/module-ui": "0.74.0-beta1",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/module-quote": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "suggest": {
-        "magento/module-cookie": "0.42.0-beta11"
+        "magento/module-cookie": "0.74.0-beta1"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Customer/etc/data_source/customer_address.xml b/app/code/Magento/Customer/etc/data_source/customer_address.xml
index 8f14043d29d8b1e7fcbbfc851103957e50b1cc19..e3e88b578a12604b97419639750b8317019d0e51 100644
--- a/app/code/Magento/Customer/etc/data_source/customer_address.xml
+++ b/app/code/Magento/Customer/etc/data_source/customer_address.xml
@@ -48,11 +48,13 @@
                 </constraints>
             </field>
             <field name="region" source="eav" formElement="input" visible="false"/>
-            <field name="postcode" source="eav">
+
+            <field name="postcode" source="eav" formElement="post_code" >
                 <constraints>
                     <validate name="required-entry"/>
                 </constraints>
             </field>
+
             <field name="telephone" source="eav" label="Phone Number">
                 <constraints>
                     <validate name="required-entry"/>
diff --git a/app/code/Magento/Customer/etc/webapi.xml b/app/code/Magento/Customer/etc/webapi.xml
index c5a78103007bd798e2b674b72b17e3259f7b0a1b..f86073a571c151ee3b05a7e9489a8dde8b96436c 100644
--- a/app/code/Magento/Customer/etc/webapi.xml
+++ b/app/code/Magento/Customer/etc/webapi.xml
@@ -188,12 +188,6 @@
             <resource ref="anonymous"/>
         </resources>
     </route>
-    <route url="/V1/customers/:customerId/password" method="PUT">
-        <service class="Magento\Customer\Api\AccountManagementInterface" method="resetPassword"/>
-        <resources>
-            <resource ref="Magento_Customer::manage"/>
-        </resources>
-    </route>
     <route url="/V1/customers/:customerId/confirm" method="GET">
         <service class="Magento\Customer\Api\AccountManagementInterface" method="getConfirmationStatus"/>
         <resources>
diff --git a/app/code/Magento/CustomerImportExport/Test/Unit/Model/Export/AddressTest.php b/app/code/Magento/CustomerImportExport/Test/Unit/Model/Export/AddressTest.php
index 0ee06c93a5ee802dfdfd0fa4d582d72e7d59bccd..c65ced0ca675d39810394b2217b2fdc16fe02722 100644
--- a/app/code/Magento/CustomerImportExport/Test/Unit/Model/Export/AddressTest.php
+++ b/app/code/Magento/CustomerImportExport/Test/Unit/Model/Export/AddressTest.php
@@ -247,7 +247,7 @@ class AddressTest extends \PHPUnit_Framework_TestCase
     /**
      * Test for method exportItem()
      *
-     * covers \Magento\CustomerImportExport\Model\Export\Address::exportItem
+     * @covers \Magento\CustomerImportExport\Model\Export\Address::exportItem
      */
     public function testExportItem()
     {
diff --git a/app/code/Magento/CustomerImportExport/Test/Unit/Model/Export/CustomerTest.php b/app/code/Magento/CustomerImportExport/Test/Unit/Model/Export/CustomerTest.php
index 1772c6d834613ed8bfd17822b1cbcd58b5e0e74c..69980ac8e37d86388070b7b01c9a4fbcead37225 100644
--- a/app/code/Magento/CustomerImportExport/Test/Unit/Model/Export/CustomerTest.php
+++ b/app/code/Magento/CustomerImportExport/Test/Unit/Model/Export/CustomerTest.php
@@ -186,7 +186,7 @@ class CustomerTest extends \PHPUnit_Framework_TestCase
     /**
      * Test for method exportItem()
      *
-     * covers \Magento\CustomerImportExport\Model\Export\Customer::exportItem
+     * @covers \Magento\CustomerImportExport\Model\Export\Customer::exportItem
      */
     public function testExportItem()
     {
diff --git a/app/code/Magento/CustomerImportExport/Test/Unit/Model/Import/AddressTest.php b/app/code/Magento/CustomerImportExport/Test/Unit/Model/Import/AddressTest.php
index 0b6e24e1920e5179f14a31b03902552eee6bf58b..bcfdb86cdf64d6cd64b388e0ced47f1a27e2a006 100644
--- a/app/code/Magento/CustomerImportExport/Test/Unit/Model/Import/AddressTest.php
+++ b/app/code/Magento/CustomerImportExport/Test/Unit/Model/Import/AddressTest.php
@@ -565,8 +565,8 @@ class AddressTest extends \PHPUnit_Framework_TestCase
      * Test Address::validateRow()
      * with 2 rows with identical PKs in case when add/update behavior is performed
      *
-     * covers \Magento\CustomerImportExport\Model\Import\Address::validateRow
-     * covers \Magento\CustomerImportExport\Model\Import\Address::_validateRowForUpdate
+     * @covers \Magento\CustomerImportExport\Model\Import\Address::validateRow
+     * @covers \Magento\CustomerImportExport\Model\Import\Address::_validateRowForUpdate
      */
     public function testValidateRowForUpdateDuplicateRows()
     {
@@ -615,7 +615,7 @@ class AddressTest extends \PHPUnit_Framework_TestCase
     /**
      * Test Address::validateRow() with delete action
      *
-     * covers \Magento\CustomerImportExport\Model\Import\Address::validateRow
+     * @covers \Magento\CustomerImportExport\Model\Import\Address::validateRow
      * @dataProvider validateRowForDeleteDataProvider
      *
      * @param array $rowData
@@ -664,7 +664,7 @@ class AddressTest extends \PHPUnit_Framework_TestCase
     /**
      * Test if correct methods are invoked according to different custom behaviours
      *
-     * covers \Magento\CustomerImportExport\Model\Import\Address::_importData
+     * @covers \Magento\CustomerImportExport\Model\Import\Address::_importData
      */
     public function testImportDataWithCustomBehaviour()
     {
diff --git a/app/code/Magento/CustomerImportExport/Test/Unit/Model/Resource/Import/CustomerComposite/DataTest.php b/app/code/Magento/CustomerImportExport/Test/Unit/Model/Resource/Import/CustomerComposite/DataTest.php
index f99869e4f20c4754a079e9b23c495746e20c8327..a6f971e272dce792bfa5e6a7a4f09ab723805221 100644
--- a/app/code/Magento/CustomerImportExport/Test/Unit/Model/Resource/Import/CustomerComposite/DataTest.php
+++ b/app/code/Magento/CustomerImportExport/Test/Unit/Model/Resource/Import/CustomerComposite/DataTest.php
@@ -82,9 +82,9 @@ class DataTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\CustomerImportExport\Model\Resource\Import\CustomerComposite\Data::getNextBunch
-     * covers \Magento\CustomerImportExport\Model\Resource\Import\CustomerComposite\Data::_prepareRow
-     * covers \Magento\CustomerImportExport\Model\Resource\Import\CustomerComposite\Data::_prepareAddressRowData
+     * @covers \Magento\CustomerImportExport\Model\Resource\Import\CustomerComposite\Data::getNextBunch
+     * @covers \Magento\CustomerImportExport\Model\Resource\Import\CustomerComposite\Data::_prepareRow
+     * @covers \Magento\CustomerImportExport\Model\Resource\Import\CustomerComposite\Data::_prepareAddressRowData
      *
      * @dataProvider getNextBunchDataProvider
      * @param string $entityType
diff --git a/app/code/Magento/CustomerImportExport/composer.json b/app/code/Magento/CustomerImportExport/composer.json
index 13e08d12eaa476831a6bcff80b833a797c93be2b..45ff4fa4dc755ae1e1c81d7f170153189125ac44 100644
--- a/app/code/Magento/CustomerImportExport/composer.json
+++ b/app/code/Magento/CustomerImportExport/composer.json
@@ -3,17 +3,17 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-import-export": "0.42.0-beta11",
-        "magento/module-directory": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-import-export": "0.74.0-beta1",
+        "magento/module-directory": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/DesignEditor/Test/Unit/Block/Adminhtml/Editor/ContainerTest.php b/app/code/Magento/DesignEditor/Test/Unit/Block/Adminhtml/Editor/ContainerTest.php
index 058d4d55ee52488e692d3fae61497bd898f55ac7..232781b829ad001fe8385ed6c25761cf903e8e90 100644
--- a/app/code/Magento/DesignEditor/Test/Unit/Block/Adminhtml/Editor/ContainerTest.php
+++ b/app/code/Magento/DesignEditor/Test/Unit/Block/Adminhtml/Editor/ContainerTest.php
@@ -37,8 +37,8 @@ class ContainerTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\DesignEditor\Block\Adminhtml\Editor\Container::setFrameUrl
-     * covers \Magento\DesignEditor\Block\Adminhtml\Editor\Container::getFrameUrl
+     * @covers \Magento\DesignEditor\Block\Adminhtml\Editor\Container::setFrameUrl
+     * @covers \Magento\DesignEditor\Block\Adminhtml\Editor\Container::getFrameUrl
      */
     public function testGetSetFrameUrl()
     {
@@ -52,7 +52,7 @@ class ContainerTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\DesignEditor\Block\Adminhtml\Editor\Container::_prepareLayout
+     * @covers \Magento\DesignEditor\Block\Adminhtml\Editor\Container::_prepareLayout
      */
     public function testPrepareLayout()
     {
diff --git a/app/code/Magento/DesignEditor/Test/Unit/Block/Adminhtml/Editor/Tools/Code/CustomTest.php b/app/code/Magento/DesignEditor/Test/Unit/Block/Adminhtml/Editor/Tools/Code/CustomTest.php
index f8538e3a5e63104270184075abee07abc5605d48..079eec5479836f6b5a5d00e3e595a9d7e6bac8fb 100644
--- a/app/code/Magento/DesignEditor/Test/Unit/Block/Adminhtml/Editor/Tools/Code/CustomTest.php
+++ b/app/code/Magento/DesignEditor/Test/Unit/Block/Adminhtml/Editor/Tools/Code/CustomTest.php
@@ -80,7 +80,7 @@ class CustomTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\DesignEditor\Block\Adminhtml\Editor\Tools\Code\Custom::getDownloadCustomCssUrl
+     * @covers \Magento\DesignEditor\Block\Adminhtml\Editor\Tools\Code\Custom::getDownloadCustomCssUrl
      */
     public function testGetDownloadCustomCssUrl()
     {
diff --git a/app/code/Magento/DesignEditor/Test/Unit/Block/Adminhtml/Editor/Tools/Code/JsTest.php b/app/code/Magento/DesignEditor/Test/Unit/Block/Adminhtml/Editor/Tools/Code/JsTest.php
index 78af39c17b9799798221a35ba3ec1d6af39c46de..bc4862eb8c8941bb74e80ba0536c0c1d24c49640 100644
--- a/app/code/Magento/DesignEditor/Test/Unit/Block/Adminhtml/Editor/Tools/Code/JsTest.php
+++ b/app/code/Magento/DesignEditor/Test/Unit/Block/Adminhtml/Editor/Tools/Code/JsTest.php
@@ -88,7 +88,7 @@ class JsTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\DesignEditor\Block\Adminhtml\Editor\Tools\Code\Js::getJsUploadUrl
+     * @covers \Magento\DesignEditor\Block\Adminhtml\Editor\Tools\Code\Js::getJsUploadUrl
      */
     public function testGetDownloadCustomCssUrl()
     {
@@ -108,7 +108,7 @@ class JsTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\DesignEditor\Block\Adminhtml\Editor\Tools\Code\Js::getJsReorderUrl
+     * @covers \Magento\DesignEditor\Block\Adminhtml\Editor\Tools\Code\Js::getJsReorderUrl
      */
     public function testGetJsReorderUrl()
     {
@@ -128,7 +128,7 @@ class JsTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\DesignEditor\Block\Adminhtml\Editor\Tools\Code\Js::getTitle
+     * @covers \Magento\DesignEditor\Block\Adminhtml\Editor\Tools\Code\Js::getTitle
      */
     public function testGetTitle()
     {
@@ -136,7 +136,7 @@ class JsTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\DesignEditor\Block\Adminhtml\Editor\Tools\Code\Js::getFiles
+     * @covers \Magento\DesignEditor\Block\Adminhtml\Editor\Tools\Code\Js::getFiles
      */
     public function testGetJsFiles()
     {
diff --git a/app/code/Magento/DesignEditor/Test/Unit/Block/Adminhtml/ThemeTest.php b/app/code/Magento/DesignEditor/Test/Unit/Block/Adminhtml/ThemeTest.php
index 2c50ead0e4bdd2759d001d9d6fdd564ac2a2a04b..bd36831dc0ef319c1f9283b7c97409755adaddf0 100644
--- a/app/code/Magento/DesignEditor/Test/Unit/Block/Adminhtml/ThemeTest.php
+++ b/app/code/Magento/DesignEditor/Test/Unit/Block/Adminhtml/ThemeTest.php
@@ -8,9 +8,9 @@ namespace Magento\DesignEditor\Test\Unit\Block\Adminhtml;
 class ThemeTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * covers \Magento\DesignEditor\Block\Adminhtml\Theme::addButton
-     * covers \Magento\DesignEditor\Block\Adminhtml\Theme::clearButtons
-     * covers \Magento\DesignEditor\Block\Adminhtml\Theme::getButtonsHtml
+     * @covers \Magento\DesignEditor\Block\Adminhtml\Theme::addButton
+     * @covers \Magento\DesignEditor\Block\Adminhtml\Theme::clearButtons
+     * @covers \Magento\DesignEditor\Block\Adminhtml\Theme::getButtonsHtml
      */
     public function testButtons()
     {
diff --git a/app/code/Magento/DesignEditor/Test/Unit/Model/Editor/QuickStyles/Renderer/BackgroundImageTest.php b/app/code/Magento/DesignEditor/Test/Unit/Model/Editor/QuickStyles/Renderer/BackgroundImageTest.php
index c7afc969bbfffab72a7c64de3ee137c0f38f674c..72f8a22da0ca8a75859a06f98b508fe1f7ec9e64 100644
--- a/app/code/Magento/DesignEditor/Test/Unit/Model/Editor/QuickStyles/Renderer/BackgroundImageTest.php
+++ b/app/code/Magento/DesignEditor/Test/Unit/Model/Editor/QuickStyles/Renderer/BackgroundImageTest.php
@@ -12,7 +12,7 @@ namespace Magento\DesignEditor\Test\Unit\Model\Editor\QuickStyles\Renderer;
 class BackgroundImageTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * covers \Magento\DesignEditor\Model\Editor\Tools\QuickStyles\Renderer\BackgroundImage::toCss
+     * @covers \Magento\DesignEditor\Model\Editor\Tools\QuickStyles\Renderer\BackgroundImage::toCss
      * @dataProvider backgroundImageData
      */
     public function testToCss($expectedResult, $data)
@@ -30,7 +30,7 @@ class BackgroundImageTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\DesignEditor\Model\Editor\Tools\QuickStyles\Renderer\BackgroundImage::toCss
+     * @covers \Magento\DesignEditor\Model\Editor\Tools\QuickStyles\Renderer\BackgroundImage::toCss
      * @dataProvider backgroundImageDataClearDefault
      */
     public function testToCssClearDefault($expectedResult, $data)
diff --git a/app/code/Magento/DesignEditor/Test/Unit/Model/Editor/QuickStyles/Renderer/DefaultTest.php b/app/code/Magento/DesignEditor/Test/Unit/Model/Editor/QuickStyles/Renderer/DefaultTest.php
index 1d471ac5a59e1e290d308bb2695f326fc38bcfb6..26c8e109038b575879706e370f855cb5c4efaabd 100644
--- a/app/code/Magento/DesignEditor/Test/Unit/Model/Editor/QuickStyles/Renderer/DefaultTest.php
+++ b/app/code/Magento/DesignEditor/Test/Unit/Model/Editor/QuickStyles/Renderer/DefaultTest.php
@@ -12,7 +12,7 @@ namespace Magento\DesignEditor\Test\Unit\Model\Editor\QuickStyles\Renderer;
 class DefaultTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * covers \Magento\DesignEditor\Model\Editor\Tools\QuickStyles\Renderer\DefaultRenderer::toCss
+     * @covers \Magento\DesignEditor\Model\Editor\Tools\QuickStyles\Renderer\DefaultRenderer::toCss
      * @dataProvider colorPickerData
      */
     public function testToCss($expectedResult, $data)
diff --git a/app/code/Magento/DesignEditor/composer.json b/app/code/Magento/DesignEditor/composer.json
index b586021a18a00604aae4aafaf79715569e724084..7d56ea7bf7d9fb4675bf40b8e6b4de2b07f09c46 100644
--- a/app/code/Magento/DesignEditor/composer.json
+++ b/app/code/Magento/DesignEditor/composer.json
@@ -3,18 +3,18 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-theme": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-translation": "0.42.0-beta11",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/module-media-storage": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-theme": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-translation": "0.74.0-beta1",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/module-media-storage": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/DesignEditor/view/adminhtml/templates/editor/tools/files/tree.phtml b/app/code/Magento/DesignEditor/view/adminhtml/templates/editor/tools/files/tree.phtml
index c16bce0be3303278b3aa6c8643b22e77229a034b..8fc73edc256a57f361b13ddee9bd569577c8b5a7 100644
--- a/app/code/Magento/DesignEditor/view/adminhtml/templates/editor/tools/files/tree.phtml
+++ b/app/code/Magento/DesignEditor/view/adminhtml/templates/editor/tools/files/tree.phtml
@@ -28,7 +28,9 @@
 </div>
 
 <div id="tree" style="width:100%; overflow:auto;"></div>
-
+<!--[if IE]>
+<script id="ie-deferred-loader" defer="defer" src=""></script>
+<![endif]-->
 <script>
 require([
     'jquery',
diff --git a/app/code/Magento/Developer/Model/Less/FileGenerator/PublicationDecorator.php b/app/code/Magento/Developer/Model/Less/FileGenerator/PublicationDecorator.php
new file mode 100644
index 0000000000000000000000000000000000000000..d99f32d515e38db2784169e6f21c5fa0fe4034ed
--- /dev/null
+++ b/app/code/Magento/Developer/Model/Less/FileGenerator/PublicationDecorator.php
@@ -0,0 +1,49 @@
+<?php
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+namespace Magento\Developer\Model\Less\FileGenerator;
+
+use Magento\Framework\Less\FileGenerator\RelatedGenerator;
+use Magento\Framework\View\Asset\LocalInterface;
+
+/**
+ * Class PublicationDecorator
+ * Decorates generator of related assets and publishes them
+ *
+ * @package Magento\Developer\Model\Less\FileGenerator
+ */
+class PublicationDecorator extends RelatedGenerator
+{
+    /**
+     * @var \Magento\Framework\App\View\Asset\Publisher
+     */
+    private $publisher;
+
+    /**
+     * @param \Magento\Framework\Filesystem $filesystem
+     * @param \Magento\Framework\View\Asset\Repository $assetRepo
+     * @param \Magento\Framework\Less\File\Temporary $temporaryFile
+     * @param \Magento\Framework\App\View\Asset\Publisher $publisher
+     */
+    public function __construct(
+        \Magento\Framework\Filesystem $filesystem,
+        \Magento\Framework\View\Asset\Repository $assetRepo,
+        \Magento\Framework\Less\File\Temporary $temporaryFile,
+        \Magento\Framework\App\View\Asset\Publisher $publisher
+    ) {
+        parent::__construct($filesystem, $assetRepo, $temporaryFile);
+        $this->publisher = $publisher;
+    }
+
+    /**
+     * {inheritdoc}
+     */
+    protected function generateRelatedFile($relatedFileId, LocalInterface $asset)
+    {
+        $relatedAsset = parent::generateRelatedFile($relatedFileId, $asset);
+        $this->publisher->publish($relatedAsset);
+        return $relatedAsset;
+    }
+}
diff --git a/app/code/Magento/Developer/composer.json b/app/code/Magento/Developer/composer.json
index 97d4a9ab9538d681a73400e500b4c4f8b002dc75..11372d7006e1095473b280e83646581040a1cd43 100644
--- a/app/code/Magento/Developer/composer.json
+++ b/app/code/Magento/Developer/composer.json
@@ -3,12 +3,12 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Dhl/composer.json b/app/code/Magento/Dhl/composer.json
index 6c64a3d0f59f0196fa54970d40fb641cf582323c..3318cc573a782ab25fd78bfa1255db5569a0348c 100644
--- a/app/code/Magento/Dhl/composer.json
+++ b/app/code/Magento/Dhl/composer.json
@@ -3,22 +3,22 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-shipping": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-directory": "0.42.0-beta11",
-        "magento/module-sales": "0.42.0-beta11",
-        "magento/module-checkout": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-catalog-inventory": "0.42.0-beta11",
-        "magento/module-quote": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-shipping": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-directory": "0.74.0-beta1",
+        "magento/module-sales": "0.74.0-beta1",
+        "magento/module-checkout": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-catalog-inventory": "0.74.0-beta1",
+        "magento/module-quote": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "lib-libxml": "*",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Directory/Model/Resource/Country/Collection.php b/app/code/Magento/Directory/Model/Resource/Country/Collection.php
index 43baa2bf22a8c4df546c335b4ce943fd177be691..b35c86a727a609d2ce0c93258d0762d3912fc1c7 100644
--- a/app/code/Magento/Directory/Model/Resource/Country/Collection.php
+++ b/app/code/Magento/Directory/Model/Resource/Country/Collection.php
@@ -11,6 +11,10 @@
  */
 namespace Magento\Directory\Model\Resource\Country;
 
+/**
+ * Class Collection
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
 class Collection extends \Magento\Framework\Model\Resource\Db\Collection\AbstractCollection
 {
     /**
@@ -44,6 +48,11 @@ class Collection extends \Magento\Framework\Model\Resource\Db\Collection\Abstrac
      */
     protected $_localeResolver;
 
+    /**
+     * @var \Magento\Directory\Helper\Data
+     */
+    protected $helperData;
+
     /**
      * @param \Magento\Framework\Data\Collection\EntityFactory $entityFactory
      * @param \Psr\Log\LoggerInterface $logger
@@ -54,6 +63,7 @@ class Collection extends \Magento\Framework\Model\Resource\Db\Collection\Abstrac
      * @param \Magento\Directory\Model\Resource\CountryFactory $countryFactory
      * @param \Magento\Framework\Stdlib\ArrayUtils $arrayUtils
      * @param \Magento\Framework\Locale\ResolverInterface $localeResolver
+     * @param \Magento\Framework\App\Helper\AbstractHelper $helperData
      * @param mixed $connection
      * @param \Magento\Framework\Model\Resource\Db\AbstractDb $resource
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
@@ -68,6 +78,7 @@ class Collection extends \Magento\Framework\Model\Resource\Db\Collection\Abstrac
         \Magento\Directory\Model\Resource\CountryFactory $countryFactory,
         \Magento\Framework\Stdlib\ArrayUtils $arrayUtils,
         \Magento\Framework\Locale\ResolverInterface $localeResolver,
+        \Magento\Framework\App\Helper\AbstractHelper $helperData,
         $connection = null,
         \Magento\Framework\Model\Resource\Db\AbstractDb $resource = null
     ) {
@@ -77,6 +88,7 @@ class Collection extends \Magento\Framework\Model\Resource\Db\Collection\Abstrac
         $this->_localeResolver = $localeResolver;
         $this->_countryFactory = $countryFactory;
         $this->_arrayUtils = $arrayUtils;
+        $this->helperData = $helperData;
     }
 
     /**
@@ -208,7 +220,11 @@ class Collection extends \Magento\Framework\Model\Resource\Db\Collection\Abstrac
         }
         $options = [];
         foreach ($sort as $label => $value) {
-            $options[] = ['value' => $value, 'label' => $label];
+            $option = ['value' => $value, 'label' => $label];
+            if ($this->helperData->isRegionRequired($value)) {
+                $option['is_region_required'] = true;
+            }
+            $options[] = $option;
         }
 
         if (count($options) > 0 && $emptyLabel !== false) {
diff --git a/app/code/Magento/Directory/Test/Unit/Model/Resource/Country/CollectionTest.php b/app/code/Magento/Directory/Test/Unit/Model/Resource/Country/CollectionTest.php
index dae3855e55d57f020f4ca1c1020c47c80eb9c813..4fc709b98781162a16b60a457f8f131f458aa3c7 100644
--- a/app/code/Magento/Directory/Test/Unit/Model/Resource/Country/CollectionTest.php
+++ b/app/code/Magento/Directory/Test/Unit/Model/Resource/Country/CollectionTest.php
@@ -47,6 +47,13 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
             '',
             false
         );
+        $helperDataMock = $this->getMock(
+            'Magento\Directory\Helper\Data',
+            [],
+            [],
+            '',
+            false
+        );
         $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
         $arguments = [
             'logger' => $logger,
@@ -57,6 +64,7 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
             'scopeConfig' => $scopeConfigMock,
             'countryFactory' => $countryFactory,
             'resource' => $resource,
+            'helperData' => $helperDataMock
         ];
         $this->_model = $objectManager->getObject('Magento\Directory\Model\Resource\Country\Collection', $arguments);
     }
diff --git a/app/code/Magento/Directory/composer.json b/app/code/Magento/Directory/composer.json
index d13968038ae92aa7d937ba680efeaaf6f043de8f..27c2fd01b7b7e449f5ada161f5c5af47b6b6caa3 100644
--- a/app/code/Magento/Directory/composer.json
+++ b/app/code/Magento/Directory/composer.json
@@ -3,15 +3,15 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "lib-libxml": "*",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Directory/etc/di.xml b/app/code/Magento/Directory/etc/di.xml
index 150a7e6c5be2286ff96afab80573bf198f03e662..36d16743f8363c39e4aa87e8019fcb0a51014af5 100644
--- a/app/code/Magento/Directory/etc/di.xml
+++ b/app/code/Magento/Directory/etc/di.xml
@@ -6,7 +6,6 @@
  */
 -->
 <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/ObjectManager/etc/config.xsd">
-    <type name="Magento\Directory\Model\Resource\Country\Collection" shared="false" />
     <type name="Magento\Directory\Model\Currency\Import\Config">
         <arguments>
             <argument name="servicesConfig" xsi:type="array">
@@ -17,4 +16,15 @@
             </argument>
         </arguments>
     </type>
+
+    <virtualType name="DirectoryHelperDataProxy" type="Magento\Directory\Helper\Data\Proxy">
+        <arguments>
+            <argument name="instanceName" xsi:type="string">Magento\Directory\Helper\Data</argument>
+        </arguments>
+    </virtualType>
+    <type name="Magento\Directory\Model\Resource\Country\Collection" shared="false">
+        <arguments>
+            <argument name="helperData" xsi:type="object">DirectoryHelperDataProxy</argument>
+        </arguments>
+    </type>
 </config>
diff --git a/app/code/Magento/Downloadable/Block/Customer/Products/ListProducts.php b/app/code/Magento/Downloadable/Block/Customer/Products/ListProducts.php
index 1e09a35920dae97946d759c147f82b3b264ef7e0..bfb80edb76793cec627911ce8108bb3271a27c85 100644
--- a/app/code/Magento/Downloadable/Block/Customer/Products/ListProducts.php
+++ b/app/code/Magento/Downloadable/Block/Customer/Products/ListProducts.php
@@ -99,7 +99,7 @@ class ListProducts extends \Magento\Framework\View\Element\Template
             'downloadable.customer.products.pager'
         )->setCollection(
             $this->getItems()
-        );
+        )->setPath('downloadable/customer/products');
         $this->setChild('pager', $pager);
         $this->getItems()->load();
         foreach ($this->getItems() as $item) {
diff --git a/app/code/Magento/Downloadable/composer.json b/app/code/Magento/Downloadable/composer.json
index bc329ac59326dfd8271a8a56d34c5fed9634adf1..e56b7b434fa6573d1bd8dfa7179fa98014f606e0 100644
--- a/app/code/Magento/Downloadable/composer.json
+++ b/app/code/Magento/Downloadable/composer.json
@@ -3,28 +3,28 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-tax": "0.42.0-beta11",
-        "magento/module-theme": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-sales": "0.42.0-beta11",
-        "magento/module-checkout": "0.42.0-beta11",
-        "magento/module-directory": "0.42.0-beta11",
-        "magento/module-wishlist": "0.42.0-beta11",
-        "magento/module-gift-message": "0.42.0-beta11",
-        "magento/module-catalog-inventory": "0.42.0-beta11",
-        "magento/module-msrp": "0.42.0-beta11",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/module-media-storage": "0.42.0-beta11",
-        "magento/module-quote": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-tax": "0.74.0-beta1",
+        "magento/module-theme": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-sales": "0.74.0-beta1",
+        "magento/module-checkout": "0.74.0-beta1",
+        "magento/module-directory": "0.74.0-beta1",
+        "magento/module-wishlist": "0.74.0-beta1",
+        "magento/module-gift-message": "0.74.0-beta1",
+        "magento/module-catalog-inventory": "0.74.0-beta1",
+        "magento/module-msrp": "0.74.0-beta1",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/module-media-storage": "0.74.0-beta1",
+        "magento/module-quote": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Downloadable/view/adminhtml/templates/product/edit/downloadable.phtml b/app/code/Magento/Downloadable/view/adminhtml/templates/product/edit/downloadable.phtml
index db3a01d67c3cf61a3b8469d5b995c2dbd79b0810..b09be18c66169f4c3d0e1242cdd2585609a50499 100644
--- a/app/code/Magento/Downloadable/view/adminhtml/templates/product/edit/downloadable.phtml
+++ b/app/code/Magento/Downloadable/view/adminhtml/templates/product/edit/downloadable.phtml
@@ -26,7 +26,7 @@ require([
 var uploaderTemplate = '<div class="no-display" id="[[idName]]-template">' +
                                 '<div id="<%- data.id %>" class="file-row file-row-narrow">' +
                                     '<span class="file-info">' +
-                                        '<span class="file-info-name"><%- data.name %></span>' +
+                                        '<span class="file-info-name"><%= data.name %></span>' +
                                         ' ' +
                                         '<span class="file-info-size">(<%- data.size %>)</span>' +
                                     '</span>' +
@@ -41,7 +41,7 @@ var uploaderTemplate = '<div class="no-display" id="[[idName]]-template">' +
                                 '</div>';
 
     var fileListTemplate = '<span class="file-info">' +
-                                '<span class="file-info-name"><%- data.name %></span>' +
+                                '<span class="file-info-name"><%= data.name %></span>' +
                                 ' ' +
                                 '<span class="file-info-size">(<%- data.size %>)</span>' +
                             '</span>';
diff --git a/app/code/Magento/Downloadable/view/adminhtml/templates/product/edit/downloadable/links.phtml b/app/code/Magento/Downloadable/view/adminhtml/templates/product/edit/downloadable/links.phtml
index bf2b72140ba8a082faa3e7824016fe7310ce724b..c7db53b3b85d63a7a0a6568f3efe26dea28270e1 100644
--- a/app/code/Magento/Downloadable/view/adminhtml/templates/product/edit/downloadable/links.phtml
+++ b/app/code/Magento/Downloadable/view/adminhtml/templates/product/edit/downloadable/links.phtml
@@ -15,58 +15,61 @@
 ?>
 <?php $_product = $block->getProduct()?>
 <?php $block->getConfigJson() ?>
-<div class="form-inline">
-    <div class="field">
-        <label class="label" for="name"><span><?php echo __('Title')?></span></label>
-        <div class="control">
-            <input type="text" class="input-text" id="downloadable_links_title" name="product[links_title]" value="<?php echo $block->getLinksTitle() ?>" <?php echo($_product->getStoreId() && $block->getUsedDefault()) ? 'disabled="disabled"' : '' ?>>
-            <?php if ($_product->getStoreId()): ?>
-                <input id="link_title_default" type="checkbox" name="use_default[]" value="links_title" onclick="toggleValueElements(this, this.parentNode.parentNode)" <?php echo $block->getUsedDefault() ? 'checked="checked"' : '' ?> />
-                <label class="normal" for="link_title_default"><?php echo __('Use Default Value'); ?></label>
-            <?php endif; ?>
-        </div>
-        <div class="field-service">
-            <?php echo !$block->isSingleStoreMode() ? __('[STORE VIEW]') : ''; ?>
+<div class="admin__scope">
+    <fieldset class="admin__fieldset downloadable-form">
+
+        <div class="admin__field" <?php echo !$block->isSingleStoreMode() ? ' data-config-scope="' . __('[STORE VIEW]') . '"' : ''; ?>>
+            <label class="admin__field-label" for="downloadable_links_title"><span><?php echo __('Title')?></span></label>
+            <div class="admin__field-control">
+                <input type="text" class="admin__control-text" id="downloadable_links_title" name="product[links_title]" value="<?php echo $block->getLinksTitle() ?>" <?php echo($_product->getStoreId() && $block->getUsedDefault()) ? 'disabled="disabled"' : '' ?>>
+                <?php if ($_product->getStoreId()): ?>
+                    <div class="admin__field admin__field-option">
+                        <input id="link_title_default" class="admin__control-checkbox" type="checkbox" name="use_default[]" value="links_title" onclick="toggleValueElements(this, this.parentNode.parentNode)" <?php echo $block->getUsedDefault() ? 'checked="checked"' : '' ?> />
+                        <label class="admin__field-label" for="link_title_default"><span><?php echo __('Use Default Value'); ?></span></label>
+                    </div>
+                <?php endif; ?>
+            </div>
         </div>
-    </div>
 
-    <div class="field">
-        <label class="label" for="name"><span><?php echo __('Links can be purchased separately')?></span></label>
-        <div class="control">
-            <?php echo $block->getPurchasedSeparatelySelect()?>
+        <div class="admin__field" <?php echo !$block->isSingleStoreMode() ? ' data-config-scope="' . __('[GLOBAL]') . '"' : ''; ?>>
+            <label class="admin__field-label" for="downloadable_link_purchase_type"><span><?php echo __('Links can be purchased separately')?></span></label>
+            <div class="admin__field-control">
+                <?php echo $block->getPurchasedSeparatelySelect()?>
+            </div>
         </div>
-        <div class="field-service">
-            <?php echo !$block->isSingleStoreMode() ? __('[GLOBAL]') : ''; ?>
+        <div class="admin__field admin__field-wide">
+            <div class="admin__field-control">
+                <div class="admin__control-table-wrapper">
+                    <table cellspacing="0" class="admin__control-table">
+                        <thead>
+                            <tr>
+                                <th class="col-title _required"><span><?php echo __('Title') ?></span></th>
+                                <?php if ($block->getCanReadPrice() !== false) : ?>
+                                    <th class="col-price"><span><?php echo __('Price') ?></span></th>
+                                <?php endif; ?>
+                                <th class="col-limit"><span><?php echo __('Max. Downloads') ?></span></th>
+                                <th class="col-option"><span><?php echo __('Shareable') ?></span></th>
+                                <th class="col-sample"><span><?php echo __('Sample') ?></span></th>
+                                <th class="col-file"><span><?php echo __('File') ?></span></th>
+                                <th class="col-sort"><span><?php echo __('Sort Order') ?></span></th>
+                                <th class="col-actions">&nbsp;</th>
+                            </tr>
+                        </thead>
+                        <tfoot>
+                            <tr>
+                                <td class="col-actions-add" colspan="8"><?php echo $block->getAddButtonHtml() ?></td>
+                            </tr>
+                        </tfoot>
+                        <tbody id="link_items_body">
+                        </tbody>
+                    </table>
+                </div>
+                <div class="admin__field-note">
+                    <span><?php echo __('Alphanumeric, dash and underscore characters are recommended for filenames. Improper characters are replaced with \'_\'.')?></span>
+                </div>
+            </div>
         </div>
-    </div>
-
-    <table cellspacing="0" class="data-table">
-        <thead>
-            <tr>
-                <th><?php echo __('Title')?> <span class="required">*</span></th>
-                <?php if ($block->getCanReadPrice() !== false) : ?>
-                <th><?php echo __('Price')?></th>
-                <?php endif; ?>
-                <th><?php echo __('Max. Downloads')?></th>
-                <th><?php echo __('Shareable')?></th>
-                <th><?php echo __('Sample')?></th>
-                <th><?php echo __('File')?></th>
-                <th><?php echo __('Sort Order')?></th>
-                <th class="col-delete">&nbsp;</th>
-            </tr>
-        </thead>
-        <tfoot>
-            <tr>
-                <td colspan="8" class="col-actions-add"><?php echo $block->getAddButtonHtml()?></td>
-            </tr>
-        </tfoot>
-        <tbody id="link_items_body">
-        </tbody>
-    </table>
-
-<div><small><?php echo __('Alphanumeric, dash and underscore characters are recommended for filenames. Improper characters are replaced with \'_\'.')?></small></div>
-
-
+    </fieldset>
 </div>
 <script>
 require([
@@ -79,15 +82,15 @@ require([
 ], function(jQuery, registry, mageTemplate){
     registry.get('downloadable', function (Downloadable) {
         var linkTemplate = '<tr>'+
-            '<td>'+
+            '<td class="col-title">'+
                 '<input type="hidden" class="__delete__" name="downloadable[link][<%- data.id %>][is_delete]" value="" />'+
                 '<input type="hidden" name="downloadable[link][<%- data.id %>][link_id]" value="<%- data.link_id %>" />'+
-                '<input type="text" class="required-entry input-text" name="downloadable[link][<%- data.id %>][title]" value="<%- data.title %>" />'+
+                '<input type="text" class="required-entry input-text admin__control-text" name="downloadable[link][<%- data.id %>][title]" value="<%- data.title %>" />'+
                 '<?php echo $_product->getStoreId() ? '<input type="checkbox" id="downloadable_link_<%- data.id %>_title" name="downloadable[link][<%- data.id %>][use_default_title]" value="1" /><label class="normal" for="downloadable_link_<%- data.id %>_title">Use Default Value</label>' : '' ?>'+
             '</td>'+
             <?php if ($block->getCanReadPrice() !== false) : ?>
-            '<td class="input-price">'+
-                '<input type="text" id="downloadable_link_<%- data.id %>_price_value" class="input-text validate-number link-prices<?php if ($block->getCanEditPrice() === false) : ?> disabled<?php endif; ?>" name="downloadable[link][<%- data.id %>][price]" value="<%- data.price %>"<?php if ($block->getCanEditPrice() === false) : ?> disabled="disabled"<?php endif; ?> /> ' +
+            '<td class="input-price col-price">'+
+                '<input type="text" id="downloadable_link_<%- data.id %>_price_value" class="input-text admin__control-text validate-number link-prices<?php if ($block->getCanEditPrice() === false) : ?> disabled<?php endif; ?>" name="downloadable[link][<%- data.id %>][price]" value="<%- data.price %>"<?php if ($block->getCanEditPrice() === false) : ?> disabled="disabled"<?php endif; ?> /> ' +
                 '<label>[<?php echo $block->getBaseCurrencyCode($_product->getStoreId()) ?>]</label>' +
                 <?php if ($_product->getStoreId() && $block->getIsPriceWebsiteScope()) : ?>
                 '<br /><input type="checkbox" id="downloadable_link_<%- data.id %>_price" name="downloadable[link][<%- data.id %>][use_default_price]" value="1"<?php if ($block->getCanEditPrice() === false) : ?> disabled="disabled"<?php endif; ?> /> <label for="downloadable_link_<%- data.id %>_price">Use Default Value</label>' +
@@ -99,16 +102,16 @@ require([
             '<input type="hidden" id="downloadable_link_<%- data.id %>_price" name="downloadable[link][<%- data.id %>][use_default_price]" value="1" />' +
             <?php endif; ?>
             <?php endif; ?>
-            '<td><input type="text" id="downloadable_link_<%- data.id %>_downloads" name="downloadable[link][<%- data.id %>][number_of_downloads]" class="input-text downloads" value="<%- data.number_of_downloads %>" />'+
+            '<td class="col-limit"><input type="text" id="downloadable_link_<%- data.id %>_downloads" name="downloadable[link][<%- data.id %>][number_of_downloads]" class="input-text admin__control-text downloads" value="<%- data.number_of_downloads %>" />'+
             '<p><input type="checkbox" class="checkbox" id="downloadable_link_<%- data.id %>_is_unlimited" name="downloadable[link][<%- data.id %>][is_unlimited]" value="1" <%- data.is_unlimited %> /> <label for="downloadable_link_<%- data.id %>_is_unlimited">Unlimited</label></p></td>'+
-            '<td>'+
+            '<td class="col-share">'+
                 '<select id="downloadable_link _<%- data.id %>_shareable" name="downloadable[link][<%- data.id %>][is_shareable]">'+
                     '<option value="1">Yes</option>'+
                     '<option value="0">No</option>'+
                     '<option value="2" selected="selected">Use config</option>'+
                 '</select>'+
             '</td>'+
-            '<td>'+
+            '<td class="col-file">'+
                 '<div class="files">'+
                     '<div class="row">'+
                         '<label for="downloadable_link_<%- data.id %>_sample_file_type"><input type="radio" class="radio" id="downloadable_link_<%- data.id %>_sample_file_type" name="downloadable[link][<%- data.id %>][sample][type]" value="file"<%- data.sample_file_checked %> /> File:</label>'+
@@ -127,14 +130,14 @@ require([
                         '</div>'+
                     '</div>'+
                     '<div class="row">'+
-                        '<label for="downloadable_link_<%- data.id %>_sample_url_type"><input type="radio" class="radio" id="downloadable_link_<%- data.id %>_sample_url_type" name="downloadable[link][<%- data.id %>][sample][type]" value="url"<%- data.sample_url_checked %> /> URL:</label><input type="text" class="input-text validate-downloadable-url validate-url" name="downloadable[link][<%- data.id %>][sample][url]" value="<%- data.sample_url %>" />'+
+                        '<label for="downloadable_link_<%- data.id %>_sample_url_type"><input type="radio" class="radio" id="downloadable_link_<%- data.id %>_sample_url_type" name="downloadable[link][<%- data.id %>][sample][type]" value="url"<%- data.sample_url_checked %> /> URL:</label><input type="text" class="input-text admin__control-text validate-downloadable-url validate-url" name="downloadable[link][<%- data.id %>][sample][url]" value="<%- data.sample_url %>" />'+
                     '</div>'+
                     '<div>'+
                         '<span id="downloadable_link_<%- data.id %>_sample_container"></span>'+
                     '</div>'+
                 '</div>'+
             '</td>'+
-            '<td>'+
+            '<td class="col-file">'+
                 '<div class="files">'+
                     '<div class="row">'+
                         '<label for="downloadable_link_<%- data.id %>_file_type"><input type="radio" class="radio validate-one-required-by-name" id="downloadable_link_<%- data.id %>_file_type" name="downloadable[link][<%- data.id %>][type]" value="file"<%- data.file_checked %> /> File:</label>'+
@@ -153,16 +156,16 @@ require([
                         '</div>'+
                     '</div>'+
                     '<div class="row">'+
-                        '<label for="downloadable_link_<%- data.id %>_url_type"><input type="radio" class="radio validate-one-required-by-name" id="downloadable_link_<%- data.id %>_url_type" name="downloadable[link][<%- data.id %>][type]" value="url"<%- data.url_checked %> /> URL:</label><input type="text" class="validate-downloadable-url validate-url input-text" name="downloadable[link][<%- data.id %>][link_url]" value="<%- data.link_url %>" />'+
+                        '<label for="downloadable_link_<%- data.id %>_url_type"><input type="radio" class="radio validate-one-required-by-name" id="downloadable_link_<%- data.id %>_url_type" name="downloadable[link][<%- data.id %>][type]" value="url"<%- data.url_checked %> /> URL:</label><input type="text" class="validate-downloadable-url validate-url input-text admin__control-text" name="downloadable[link][<%- data.id %>][link_url]" value="<%- data.link_url %>" />'+
                     '</div>'+
                     '<div>'+
                         '<span id="downloadable_link_<%- data.id %>_link_container"></span>'+
                     '</div>'+
                 '</div>'+
             '</td>'+
-            '<td><input type="text" name="downloadable[link][<%- data.id %>][sort_order]" value="<%- data.sort_order %>" class="input-text sort" /></td>'+
-            '<td class="col-delete">'+
-                '<button id="downloadable_link_<%- data.id %>_delete_button" type="button" class="action- scalable delete delete-link-item"><span><span><span><?php echo __('Delete'); ?></span></span></span></button>'+
+            '<td class="col-sort"><input type="text" name="downloadable[link][<%- data.id %>][sort_order]" value="<%- data.sort_order %>" class="input-text admin__control-text sort" /></td>'+
+            '<td class="col-action">'+
+                '<button id="downloadable_link_<%- data.id %>_delete_button" type="button" class="action-remove"><span><?php echo __('Delete'); ?></span></button>'+
             '</td>'+
         '</tr>';
 
@@ -309,7 +312,7 @@ require([
                 }
             },
             bindRemoveButtons : function(){
-                var buttons = $$('tbody#link_items_body .delete-link-item');
+                var buttons = $$('tbody#link_items_body .action-remove');
                 for(var i=0;i<buttons.length;i++){
                     if(!$(buttons[i]).binded && !$(buttons[i]).hasClassName('disabled')){
                         $(buttons[i]).binded = true;
@@ -351,7 +354,7 @@ require([
                             if ($(id + ' .progressbar-container').length) {
                                 $(id + ' .progressbar-container').parent().remove();
                             }
-                            
+
                             fileSize = typeof file.size == "undefined" ?
                                 $.mage.__('We could not detect a size.') :
                                 byteConvert(file.size);
diff --git a/app/code/Magento/Downloadable/view/adminhtml/templates/product/edit/downloadable/samples.phtml b/app/code/Magento/Downloadable/view/adminhtml/templates/product/edit/downloadable/samples.phtml
index 525009f591747a531c55553aeb251e81cad8d6b4..85b099dd18a06cddb89a558f594cf399b3d4b7f3 100644
--- a/app/code/Magento/Downloadable/view/adminhtml/templates/product/edit/downloadable/samples.phtml
+++ b/app/code/Magento/Downloadable/view/adminhtml/templates/product/edit/downloadable/samples.phtml
@@ -15,40 +15,47 @@
 $_product = $block->getProduct();
 $block->getConfigJson();
 ?>
-<div class="form-inline">
-    <div class="field">
-        <label class="label" for="name"><span><?php echo __('Title')?></span></label>
-        <div class="control">
-            <input type="text" class="input-text" name="product[samples_title]" value="<?php echo $block->getSamplesTitle() ?>" <?php echo($_product->getStoreId() && $block->getUsedDefault()) ? 'disabled="disabled"' : '' ?>>
-            <?php if ($_product->getStoreId()): ?>
-                <input id="sample_title_default" type="checkbox" name="use_default[]" value="samples_title" onclick="toggleValueElements(this, this.parentNode.parentNode)" <?php echo $block->getUsedDefault() ? 'checked="checked"' : '' ?> />
-                <label class="normal" for="sample_title_default">Use Default Value</label>
-            <?php endif; ?>
+<div class="admin__scope">
+    <fieldset class="admin__fieldset  downloadable-form">
+        <div class="admin__field"<?php echo !$block->isSingleStoreMode() ? ' data-config-scope="' . __('[STORE VIEW]') . '"' : ''; ?>>
+            <label class="admin__field-label" for="downloadable_samples_title"><span><?php echo __('Title')?></span></label>
+            <div class="admin__field-control">
+                <input type="text" class="admin__control-text" id="downloadable_samples_title" name="product[samples_title]" value="<?php echo $block->getSamplesTitle() ?>" <?php echo($_product->getStoreId() && $block->getUsedDefault()) ? 'disabled="disabled"' : '' ?>>
+                <?php if ($_product->getStoreId()): ?>
+                    <div class="admin__field admin__field-option">
+                        <input id="sample_title_default" class="admin__control-checkbox" type="checkbox" name="use_default[]" value="samples_title" onclick="toggleValueElements(this, this.parentNode.parentNode)" <?php echo $block->getUsedDefault() ? 'checked="checked"' : '' ?> />
+                        <label class="admin__field-label" for="sample_title_default"><span>Use Default Value</span></label>
+                    </div>
+                <?php endif; ?>
+            </div>
         </div>
-        <div class="field-service">
-            <?php echo !$block->isSingleStoreMode() ? __('[STORE VIEW]') : ''; ?>
+        <div class="admin__field admin__field-wide">
+            <div class="admin__field-control">
+                <div class="admin__control-table-wrapper">
+                    <table cellspacing="0" class="admin__control-table">
+                        <thead>
+                            <tr>
+                                <th class="_required col-title"><span><?php echo __('Title') ?></span></th>
+                                <th class="col-file"><span><?php echo __('File') ?></span></th>
+                                <th class="col-sort"><span><?php echo __('Sort Order') ?></span></th>
+                                <th class="col-actions">&nbsp;</th>
+                            </tr>
+                        </thead>
+                        <tfoot>
+                            <tr>
+                                <td colspan="4" class="col-actions"><?php echo $block->getAddButtonHtml() ?></td>
+                            </tr>
+                        </tfoot>
+                        <tbody id="sample_items_body">
+                        </tbody>
+                    </table>
+                </div>
+                <div class="admin__field-note">
+                    <span><?php echo __('Alphanumeric, dash and underscore characters are recommended for filenames. Improper characters are replaced with \'_\'.')?></span>
+                </div>
+            </div>
         </div>
-    </div>
-
-    <table cellspacing="0" class="data-table">
-        <thead>
-            <tr>
-                <th><?php echo __('Title') ?> <span class="required">*</span></th>
-                <th><?php echo __('File') ?></th>
-                <th><?php echo __('Sort Order') ?></th>
-                <th class="col-delete">&nbsp;</th>
-            </tr>
-        </thead>
-        <tfoot>
-            <tr>
-                <td colspan="4" class="col-actions-add"><?php echo $block->getAddButtonHtml() ?></td>
-            </tr>
-        </tfoot>
-        <tbody id="sample_items_body">
-        </tbody>
-    </table>
-
-    <div><small><?php echo __('Alphanumeric, dash and underscore characters are recommended for filenames. Improper characters are replaced with \'_\'.')?></small></div>
+    </fieldset>
 </div>
 <script>
 require([
@@ -60,13 +67,13 @@ require([
 ], function (jQuery, registry, mageTemplate) {
     registry.get('downloadable', function (Downloadable) {
         var sampleTemplate = '<tr>'+
-                            '<td>'+
+                            '<td class="col-title">'+
                                 '<input type="hidden" class="__delete__" name="downloadable[sample][<%- data.id %>][is_delete]" value="" />'+
                                 '<input type="hidden" name="downloadable[sample][<%- data.id %>][sample_id]" value="<%- data.sample_id %>" />'+
-                                '<input type="text" class="required-entry input-text" name="downloadable[sample][<%- data.id %>][title]" value="<%- data.title %>" />'+
+                                '<input type="text" class="required-entry input-text admin__control-text" name="downloadable[sample][<%- data.id %>][title]" value="<%- data.title %>" />'+
                                 '<?php echo $_product->getStoreId() ? '<br /><input type="checkbox" id="downloadable_sample_<%- data.id %>_title" name="downloadable[sample][<%- data.id %>][use_default_title]" value="1" /><label class="normal" for="downloadable_sample_<%- data.id %>_title">Use Default Value</label>' : '' ?>'+
                             '</td>'+
-                            '<td>'+
+                            '<td class="col-file">'+
                                 '<div class="files-wide">'+
                                     '<div class="row">'+
                                         '<label for="downloadable_sample_<%- data.id %>_file_type"><input type="radio" class="radio validate-one-required-by-name" id="downloadable_sample_<%- data.id %>_file_type" name="downloadable[sample][<%- data.id %>][type]" value="file"<%- data.file_checked %> /> File:</label>'+
@@ -87,7 +94,7 @@ require([
                                         '</div>'+
                                     '</div>'+
                                     '<div class="row">'+
-                                        '<label for="downloadable_sample_<%- data.id %>_url_type"><input type="radio" class="radio validate-one-required-by-name" id="downloadable_sample_<%- data.id %>_url_type" name="downloadable[sample][<%- data.id %>][type]" value="url"<%- data.url_checked %> /> URL:</label> <input type="text" class="validate-downloadable-url validate-url input-text" name="downloadable[sample][<%- data.id %>][sample_url]" value="<%- data.sample_url %>" />'+
+                                        '<label for="downloadable_sample_<%- data.id %>_url_type"><input type="radio" class="radio validate-one-required-by-name" id="downloadable_sample_<%- data.id %>_url_type" name="downloadable[sample][<%- data.id %>][type]" value="url"<%- data.url_checked %> /> URL:</label> <input type="text" class="validate-downloadable-url validate-url input-text admin__control-text" name="downloadable[sample][<%- data.id %>][sample_url]" value="<%- data.sample_url %>" />'+
                                     '</div>'+
                                     '<div>'+
                                         '<span id="downloadable_sample_<%- data.id %>_container"></span>'+
@@ -95,9 +102,9 @@ require([
                                 '</div>'+
 
                             '</td>'+
-                            '<td><input type="text" name="downloadable[sample][<%- data.id %>][sort_order]" value="<%- data.sort_order %>" class="input-text sort" /></td>'+
-                            '<td class="col-delete">'+
-                                '<button type="button" class="action- scalable delete icon-btn delete-sample-item"><span>Delete</span></button>'+
+                            '<td class="col-sort"><input type="text" name="downloadable[sample][<%- data.id %>][sort_order]" value="<%- data.sort_order %>" class="input-text sort admin__control-text" /></td>'+
+                            '<td class="col-actions">'+
+                                '<button type="button" class="action-remove"><span>Delete</span></button>'+
                             '</td>'+
                         '</tr>';
         sampleItems = {
@@ -178,7 +185,7 @@ require([
                 }
             },
             bindRemoveButtons: function() {
-                var buttons = $$('tbody#sample_items_body .delete-sample-item');
+                var buttons = $$('tbody#sample_items_body .action-remove');
                 for(var i=0;i<buttons.length;i++){
                     if(!$(buttons[i]).binded){
                         $(buttons[i]).binded = true;
diff --git a/app/code/Magento/Eav/Test/Unit/Helper/DataTest.php b/app/code/Magento/Eav/Test/Unit/Helper/DataTest.php
index 85191d49f74409a1c1c002b5d6680ec9a80e089e..bfe1c345dc78cec4b2c81ab77b43f1bd3eb0032a 100644
--- a/app/code/Magento/Eav/Test/Unit/Helper/DataTest.php
+++ b/app/code/Magento/Eav/Test/Unit/Helper/DataTest.php
@@ -67,8 +67,8 @@ class DataTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Eav\Helper\Data::getFrontendClasses
-     * covers \Magento\Eav\Helper\Data::_getDefaultFrontendClasses
+     * @covers \Magento\Eav\Helper\Data::getFrontendClasses
+     * @covers \Magento\Eav\Helper\Data::_getDefaultFrontendClasses
      */
     public function testGetFrontendClasses()
     {
@@ -79,7 +79,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Eav\Helper\Data::getAttributeLockedFields
+     * @covers \Magento\Eav\Helper\Data::getAttributeLockedFields
      */
     public function testGetAttributeLockedFieldsNoEntityCode()
     {
@@ -88,7 +88,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Eav\Helper\Data::getAttributeLockedFields
+     * @covers \Magento\Eav\Helper\Data::getAttributeLockedFields
      */
     public function testGetAttributeLockedFieldsNonCachedLockedFiled()
     {
@@ -100,7 +100,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Eav\Helper\Data::getAttributeLockedFields
+     * @covers \Magento\Eav\Helper\Data::getAttributeLockedFields
      */
     public function testGetAttributeLockedFieldsCachedLockedFiled()
     {
@@ -114,7 +114,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Eav\Helper\Data::getAttributeLockedFields
+     * @covers \Magento\Eav\Helper\Data::getAttributeLockedFields
      */
     public function testGetAttributeLockedFieldsNoLockedFields()
     {
diff --git a/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/AbstractDataTest.php b/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/AbstractDataTest.php
index 21107ccaf8d5066e1b942e50814108c4edeab97b..dea0ef0f1e430708d3763660532ed0a4086eb146 100644
--- a/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/AbstractDataTest.php
+++ b/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/AbstractDataTest.php
@@ -29,8 +29,8 @@ class AbstractDataTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Eav\Model\Attribute\Data\AbstractData::getEntity
-     * covers \Magento\Eav\Model\Attribute\Data\AbstractData::setEntity
+     * @covers \Magento\Eav\Model\Attribute\Data\AbstractData::getEntity
+     * @covers \Magento\Eav\Model\Attribute\Data\AbstractData::setEntity
      */
     public function testGetEntity()
     {
@@ -43,7 +43,7 @@ class AbstractDataTest extends \PHPUnit_Framework_TestCase
      * @expectedException \Magento\Framework\Exception\LocalizedException
      * @expectedExceptionMessage Entity object is undefined
      *
-     * covers \Magento\Eav\Model\Attribute\Data\AbstractData::getEntity
+     * @covers \Magento\Eav\Model\Attribute\Data\AbstractData::getEntity
      */
     public function testGetEntityWhenEntityNotSet()
     {
@@ -51,8 +51,8 @@ class AbstractDataTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Eav\Model\Attribute\Data\AbstractData::getExtractedData
-     * covers \Magento\Eav\Model\Attribute\Data\AbstractData::setExtractedData
+     * @covers \Magento\Eav\Model\Attribute\Data\AbstractData::getExtractedData
+     * @covers \Magento\Eav\Model\Attribute\Data\AbstractData::setExtractedData
      *
      * @param string $index
      * @param mixed $expectedResult
@@ -88,7 +88,7 @@ class AbstractDataTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Eav\Model\Attribute\Data\AbstractData::_getRequestValue
+     * @covers \Magento\Eav\Model\Attribute\Data\AbstractData::_getRequestValue
      *
      * @param string $requestScope
      * @param string $value
diff --git a/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/BooleanTest.php b/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/BooleanTest.php
index d5fbb948539950066a76a876e51bd675d7a8bf8a..0633716c029839c59d6794ae0aac565ac5a26995 100644
--- a/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/BooleanTest.php
+++ b/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/BooleanTest.php
@@ -22,7 +22,7 @@ class BooleanTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Eav\Model\Attribute\Data\Boolean::_getOptionText
+     * @covers \Magento\Eav\Model\Attribute\Data\Boolean::_getOptionText
      *
      * @param string $format
      * @param mixed $value
diff --git a/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/DateTest.php b/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/DateTest.php
index 7bf65f0ba3e1edade9c346643e13375f6b5541a2..bef0db9bd32329b9a9d7ddb7e933f8901edf2c75 100644
--- a/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/DateTest.php
+++ b/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/DateTest.php
@@ -23,11 +23,15 @@ class DateTest extends \PHPUnit_Framework_TestCase
         $loggerMock = $this->getMock('\Psr\Log\LoggerInterface', [], [], '', false);
         $localeResolverMock = $this->getMock('\Magento\Framework\Locale\ResolverInterface');
 
-        $this->model = new \Magento\Eav\Model\Attribute\Data\Date($this->timezoneMock, $loggerMock, $localeResolverMock);
+        $this->model = new \Magento\Eav\Model\Attribute\Data\Date(
+            $this->timezoneMock,
+            $loggerMock,
+            $localeResolverMock
+        );
     }
 
     /**
-     * covers \Magento\Eav\Model\Attribute\Data\Date::outputValue
+     * @covers \Magento\Eav\Model\Attribute\Data\Date::outputValue
      *
      * @param string $format
      * @param mixed $value
@@ -70,7 +74,7 @@ class DateTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Eav\Model\Attribute\Data\Date::validateValue
+     * @covers \Magento\Eav\Model\Attribute\Data\Date::validateValue
      *
      * @param mixed $value
      * @param array $rules
@@ -146,7 +150,7 @@ class DateTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Eav\Model\Attribute\Data\Date::compactValue
+     * @covers \Magento\Eav\Model\Attribute\Data\Date::compactValue
      *
      * @param string $value
      * @param string $expectedResult
@@ -177,7 +181,7 @@ class DateTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Eav\Model\Attribute\Data\Date::compactValue
+     * @covers \Magento\Eav\Model\Attribute\Data\Date::compactValue
      */
     public function testCompactValueWithFalseValue()
     {
diff --git a/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/FileTest.php b/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/FileTest.php
index 1819870bcd0309321962ab7b72a33a5d8ab1408c..b7c7504fdd04fcaaca9da6ed70977720c430e243 100644
--- a/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/FileTest.php
+++ b/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/FileTest.php
@@ -43,7 +43,7 @@ class FileTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Eav\Model\Attribute\Data\File::outputValue
+     * @covers \Magento\Eav\Model\Attribute\Data\File::outputValue
      *
      * @param string $format
      * @param mixed $value
@@ -94,8 +94,8 @@ class FileTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Eav\Model\Attribute\Data\File::validateValue
-     * covers \Magento\Eav\Model\Attribute\Data\File::_validateByRules
+     * @covers \Magento\Eav\Model\Attribute\Data\File::validateValue
+     * @covers \Magento\Eav\Model\Attribute\Data\File::_validateByRules
      *
      * @param mixed $value
      * @param mixed $originalValue
diff --git a/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/ImageTest.php b/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/ImageTest.php
index 1d57f9b066cb6e8a2b1d20f215c9bc95a1598066..44ec2364980d068a7751ffc98374360e0281744e 100644
--- a/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/ImageTest.php
+++ b/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/ImageTest.php
@@ -36,7 +36,7 @@ class ImageTest extends \PHPUnit_Framework_TestCase
      * Attention: this test depends on mock of "is_uploaded_file" function in ./FileTest.php,
      * so validates method successfully in batch run of directory tests, separately will fail.
      *
-     * covers \Magento\Eav\Model\Attribute\Data\Image::_validateByRules
+     * @covers \Magento\Eav\Model\Attribute\Data\Image::_validateByRules
      *
      * @param mixed $value
      * @param mixed $originalValue
diff --git a/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/MultilineTest.php b/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/MultilineTest.php
index 091293f4c97e23cbb02823d91f55912e9c3e7e7f..c4ec4af05058892035ae407bcc7a813c8e33d55f 100644
--- a/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/MultilineTest.php
+++ b/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/MultilineTest.php
@@ -24,11 +24,16 @@ class MultilineTest extends \PHPUnit_Framework_TestCase
         $localeResolverMock = $this->getMock('\Magento\Framework\Locale\ResolverInterface');
         $this->stringMock = $this->getMock('\Magento\Framework\Stdlib\String', [], [], '', false);
 
-        $this->model = new \Magento\Eav\Model\Attribute\Data\Multiline($timezoneMock, $loggerMock, $localeResolverMock, $this->stringMock);
+        $this->model = new \Magento\Eav\Model\Attribute\Data\Multiline(
+            $timezoneMock,
+            $loggerMock,
+            $localeResolverMock,
+            $this->stringMock
+        );
     }
 
     /**
-     * covers \Magento\Eav\Model\Attribute\Data\Multiline::extractValue
+     * @covers \Magento\Eav\Model\Attribute\Data\Multiline::extractValue
      *
      * @param mixed $param
      * @param mixed $expectedResult
@@ -64,7 +69,7 @@ class MultilineTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Eav\Model\Attribute\Data\Multiline::outputValue
+     * @covers \Magento\Eav\Model\Attribute\Data\Multiline::outputValue
      *
      * @param string $format
      * @param mixed $expectedResult
@@ -108,8 +113,8 @@ class MultilineTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Eav\Model\Attribute\Data\Multiline::validateValue
-     * covers \Magento\Eav\Model\Attribute\Data\Text::validateValue
+     * @covers \Magento\Eav\Model\Attribute\Data\Multiline::validateValue
+     * @covers \Magento\Eav\Model\Attribute\Data\Text::validateValue
      *
      * @param mixed $value
      * @param bool $isAttributeRequired
diff --git a/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/MultiselectTest.php b/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/MultiselectTest.php
index 909ebe782e76272ea28ae1c07e5ad7af809a74fa..535343e60dccfac3925206395d04bb17ef922898 100644
--- a/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/MultiselectTest.php
+++ b/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/MultiselectTest.php
@@ -18,11 +18,15 @@ class MultiselectTest extends \PHPUnit_Framework_TestCase
         $loggerMock = $this->getMock('\Psr\Log\LoggerInterface', [], [], '', false);
         $localeResolverMock = $this->getMock('\Magento\Framework\Locale\ResolverInterface');
 
-        $this->model = new \Magento\Eav\Model\Attribute\Data\Multiselect($timezoneMock, $loggerMock, $localeResolverMock);
+        $this->model = new \Magento\Eav\Model\Attribute\Data\Multiselect(
+            $timezoneMock,
+            $loggerMock,
+            $localeResolverMock
+        );
     }
 
     /**
-     * covers \Magento\Eav\Model\Attribute\Data\Multiselect::extractValue
+     * @covers \Magento\Eav\Model\Attribute\Data\Multiselect::extractValue
      *
      * @param mixed $param
      * @param mixed $expectedResult
@@ -62,7 +66,7 @@ class MultiselectTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Eav\Model\Attribute\Data\Multiselect::outputValue
+     * @covers \Magento\Eav\Model\Attribute\Data\Multiselect::outputValue
      *
      * @param string $format
      * @param mixed $expectedResult
diff --git a/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/SelectTest.php b/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/SelectTest.php
index 4ef6f7c615e30f11a60eb88428dc88e100be6434..47ebb1c766c7dd89649ef13e5861f016acaa8d1c 100644
--- a/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/SelectTest.php
+++ b/app/code/Magento/Eav/Test/Unit/Model/Attribute/Data/SelectTest.php
@@ -22,7 +22,7 @@ class SelectTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Eav\Model\Attribute\Data\Select::outputValue
+     * @covers \Magento\Eav\Model\Attribute\Data\Select::outputValue
      *
      * @param string $format
      * @param mixed $value
@@ -70,7 +70,7 @@ class SelectTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Eav\Model\Attribute\Data\Select::validateValue
+     * @covers \Magento\Eav\Model\Attribute\Data\Select::validateValue
      *
      * @param mixed $value
      * @param mixed $originalValue
@@ -132,7 +132,7 @@ class SelectTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Eav\Model\Attribute\Data\Select::compactValue
+     * @covers \Magento\Eav\Model\Attribute\Data\Select::compactValue
      */
     public function testCompactValue()
     {
@@ -148,7 +148,7 @@ class SelectTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Eav\Model\Attribute\Data\Select::compactValue
+     * @covers \Magento\Eav\Model\Attribute\Data\Select::compactValue
      */
     public function testCompactValueWithFalseValue()
     {
diff --git a/app/code/Magento/Eav/Test/Unit/Model/AttributeFactoryTest.php b/app/code/Magento/Eav/Test/Unit/Model/AttributeFactoryTest.php
index fb5a4048a73d2603ebc763e22d9d002d8fb3ebc3..bbb578c31492430cdc84a4e9eb5e0979e3d323f4 100644
--- a/app/code/Magento/Eav/Test/Unit/Model/AttributeFactoryTest.php
+++ b/app/code/Magento/Eav/Test/Unit/Model/AttributeFactoryTest.php
@@ -43,7 +43,7 @@ class AttributeFactoryTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Eav\Model\AttributeFactory::createAttribute
+     * @covers \Magento\Eav\Model\AttributeFactory::createAttribute
      */
     public function testCreateAttribute()
     {
diff --git a/app/code/Magento/Eav/Test/Unit/Model/Entity/Attribute/Source/BooleanTest.php b/app/code/Magento/Eav/Test/Unit/Model/Entity/Attribute/Source/BooleanTest.php
index ed531b86d23ad759debeed1e59cc9064e5ea03e9..12ce30d94c25a3ee7a281e72b257a18f65ef5a52 100644
--- a/app/code/Magento/Eav/Test/Unit/Model/Entity/Attribute/Source/BooleanTest.php
+++ b/app/code/Magento/Eav/Test/Unit/Model/Entity/Attribute/Source/BooleanTest.php
@@ -53,7 +53,7 @@ class BooleanTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Eav\Model\Entity\Attribute\Source\Boolean::addValueSortToCollection
+     * @covers \Magento\Eav\Model\Entity\Attribute\Source\Boolean::addValueSortToCollection
      *
      * @dataProvider addValueSortToCollectionDataProvider
      * @param string $direction
diff --git a/app/code/Magento/Eav/Test/Unit/Model/Resource/Entity/AttributeTest.php b/app/code/Magento/Eav/Test/Unit/Model/Resource/Entity/AttributeTest.php
index acd0d2ecfbf720b8952f20081e43d91d0fc44204..bcc3efc76a954fea06a3d936d833ce74b9daebb1 100644
--- a/app/code/Magento/Eav/Test/Unit/Model/Resource/Entity/AttributeTest.php
+++ b/app/code/Magento/Eav/Test/Unit/Model/Resource/Entity/AttributeTest.php
@@ -11,7 +11,7 @@ namespace Magento\Eav\Test\Unit\Model\Resource\Entity;
 class AttributeTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * covers \Magento\Eav\Model\Resource\Entity\Attribute::_saveOption
+     * @covers \Magento\Eav\Model\Resource\Entity\Attribute::_saveOption
      */
     public function testSaveOptionSystemAttribute()
     {
@@ -80,7 +80,7 @@ class AttributeTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Eav\Model\Resource\Entity\Attribute::_saveOption
+     * @covers \Magento\Eav\Model\Resource\Entity\Attribute::_saveOption
      */
     public function testSaveOptionNewUserDefinedAttribute()
     {
@@ -174,7 +174,7 @@ class AttributeTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Eav\Model\Resource\Entity\Attribute::_saveOption
+     * @covers \Magento\Eav\Model\Resource\Entity\Attribute::_saveOption
      */
     public function testSaveOptionNoValue()
     {
diff --git a/app/code/Magento/Eav/composer.json b/app/code/Magento/Eav/composer.json
index 4c271cf979449080663ef1781112db155a6cc3e7..68d77c9d3a8ca314c5c4d98e04ac1d0f1d476e3e 100644
--- a/app/code/Magento/Eav/composer.json
+++ b/app/code/Magento/Eav/composer.json
@@ -3,16 +3,16 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/module-media-storage": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/module-media-storage": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Email/composer.json b/app/code/Magento/Email/composer.json
index cf75e8fdd529bb89688f2cc12bdd4d92efc527f0..bf8f13e936765f2463b88d78cd116045af005df0 100644
--- a/app/code/Magento/Email/composer.json
+++ b/app/code/Magento/Email/composer.json
@@ -3,16 +3,16 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-cms": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-variable": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-cms": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-variable": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Fedex/composer.json b/app/code/Magento/Fedex/composer.json
index 8997dc97ac88704304a484e44b7062d5a0399953..39dea42bc6425365ab31299c40337bf852d7d535 100644
--- a/app/code/Magento/Fedex/composer.json
+++ b/app/code/Magento/Fedex/composer.json
@@ -3,20 +3,20 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-shipping": "0.42.0-beta11",
-        "magento/module-directory": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-sales": "0.42.0-beta11",
-        "magento/module-catalog-inventory": "0.42.0-beta11",
-        "magento/module-quote": "0.42.0-beta11",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-shipping": "0.74.0-beta1",
+        "magento/module-directory": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-sales": "0.74.0-beta1",
+        "magento/module-catalog-inventory": "0.74.0-beta1",
+        "magento/module-quote": "0.74.0-beta1",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "lib-libxml": "*",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/GiftMessage/composer.json b/app/code/Magento/GiftMessage/composer.json
index 575d83a28cc8e0fd75f7b8262697cfe213d19845..a63693d4131512cdb0481b073b7d0f1184852a2d 100644
--- a/app/code/Magento/GiftMessage/composer.json
+++ b/app/code/Magento/GiftMessage/composer.json
@@ -3,20 +3,20 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-checkout": "0.42.0-beta11",
-        "magento/module-multishipping": "0.42.0-beta11",
-        "magento/module-sales": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-quote": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-checkout": "0.74.0-beta1",
+        "magento/module-multishipping": "0.74.0-beta1",
+        "magento/module-sales": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-quote": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/GoogleAdwords/composer.json b/app/code/Magento/GoogleAdwords/composer.json
index 26d64df002ac0cb033536d6d4a34405ad24a2160..dfdd67b7d169a12dc7507775559a32d52819a135 100644
--- a/app/code/Magento/GoogleAdwords/composer.json
+++ b/app/code/Magento/GoogleAdwords/composer.json
@@ -3,13 +3,13 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-sales": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-sales": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/GoogleAnalytics/composer.json b/app/code/Magento/GoogleAnalytics/composer.json
index 3891893165ee1636f560dc84798d312323a3aae3..9b0de3cf5ba2cfde61f55022eedbba4bb6397f6a 100644
--- a/app/code/Magento/GoogleAnalytics/composer.json
+++ b/app/code/Magento/GoogleAnalytics/composer.json
@@ -3,14 +3,14 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-sales": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
-        "magento/module-cookie": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-sales": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
+        "magento/module-cookie": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/GoogleOptimizer/composer.json b/app/code/Magento/GoogleOptimizer/composer.json
index d2a1b785709773c230e05a27869321d6daeec8c8..bf30fc297c18a97ac57c2195c922bef52b1834f7 100644
--- a/app/code/Magento/GoogleOptimizer/composer.json
+++ b/app/code/Magento/GoogleOptimizer/composer.json
@@ -3,16 +3,16 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-google-analytics": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-cms": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-google-analytics": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-cms": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/GoogleShopping/composer.json b/app/code/Magento/GoogleShopping/composer.json
index fdf25142814a5a9ad5a9024dc353b862885674c8..0e87a23f1e6c976f0621cf7680bb03ec2678829d 100644
--- a/app/code/Magento/GoogleShopping/composer.json
+++ b/app/code/Magento/GoogleShopping/composer.json
@@ -3,18 +3,18 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-directory": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-tax": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-directory": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-tax": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/GroupedImportExport/composer.json b/app/code/Magento/GroupedImportExport/composer.json
index b260194c32c4a107dc06e237a66b3cf0852fb696..4d0479944ea3bc8b3b98cce893d5c3f725f66b1a 100644
--- a/app/code/Magento/GroupedImportExport/composer.json
+++ b/app/code/Magento/GroupedImportExport/composer.json
@@ -3,16 +3,16 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-import-export": "0.42.0-beta11",
-        "magento/module-catalog-import-export": "0.42.0-beta11",
-        "magento/module-grouped-product": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-import-export": "0.74.0-beta1",
+        "magento/module-catalog-import-export": "0.74.0-beta1",
+        "magento/module-grouped-product": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/GroupedProduct/Test/Unit/Block/Adminhtml/Product/Composite/Fieldset/GroupedTest.php b/app/code/Magento/GroupedProduct/Test/Unit/Block/Adminhtml/Product/Composite/Fieldset/GroupedTest.php
index c849b1de1789ed9101e1d2fdc139b7d5900fc5cb..caaa76db8362447af861b1cb9d91a357fc174595 100644
--- a/app/code/Magento/GroupedProduct/Test/Unit/Block/Adminhtml/Product/Composite/Fieldset/GroupedTest.php
+++ b/app/code/Magento/GroupedProduct/Test/Unit/Block/Adminhtml/Product/Composite/Fieldset/GroupedTest.php
@@ -63,7 +63,7 @@ class GroupedTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers Magento\GroupedProduct\Block\Adminhtml\Product\Composite\Fieldset\Grouped::getProduct
+     * @covers \Magento\GroupedProduct\Block\Adminhtml\Product\Composite\Fieldset\Grouped::getProduct
      */
     public function testGetProductPositive()
     {
@@ -86,7 +86,7 @@ class GroupedTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers Magento\GroupedProduct\Block\Adminhtml\Product\Composite\Fieldset\Grouped::getProduct
+     * @covers \Magento\GroupedProduct\Block\Adminhtml\Product\Composite\Fieldset\Grouped::getProduct
      */
     public function testGetProductNegative()
     {
@@ -130,7 +130,7 @@ class GroupedTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers Magento\GroupedProduct\Block\Adminhtml\Product\Composite\Fieldset\Grouped::getAssociatedProducts
+     * @covers \Magento\GroupedProduct\Block\Adminhtml\Product\Composite\Fieldset\Grouped::getAssociatedProducts
      */
     public function testGetAssociatedProducts()
     {
@@ -166,7 +166,7 @@ class GroupedTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers Magento\GroupedProduct\Block\Adminhtml\Product\Composite\Fieldset\Grouped::setPreconfiguredValue
+     * @covers \Magento\GroupedProduct\Block\Adminhtml\Product\Composite\Fieldset\Grouped::setPreconfiguredValue
      */
     public function testSetPreconfiguredValue()
     {
@@ -213,7 +213,7 @@ class GroupedTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers Magento\GroupedProduct\Block\Adminhtml\Product\Composite\Fieldset\Grouped::getCanShowProductPrice
+     * @covers \Magento\GroupedProduct\Block\Adminhtml\Product\Composite\Fieldset\Grouped::getCanShowProductPrice
      */
     public function testGetCanShowProductPrice()
     {
@@ -221,7 +221,7 @@ class GroupedTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers Magento\GroupedProduct\Block\Adminhtml\Product\Composite\Fieldset\Grouped::getIsLastFieldset
+     * @covers \Magento\GroupedProduct\Block\Adminhtml\Product\Composite\Fieldset\Grouped::getIsLastFieldset
      */
     public function testGetIsLastFieldsetPositive()
     {
@@ -236,7 +236,7 @@ class GroupedTest extends \PHPUnit_Framework_TestCase
      * @param array|bool $options
      * @param bool $expectedResult
      *
-     * covers Magento\GroupedProduct\Block\Adminhtml\Product\Composite\Fieldset\Grouped::getIsLastFieldset
+     * @covers \Magento\GroupedProduct\Block\Adminhtml\Product\Composite\Fieldset\Grouped::getIsLastFieldset
      * @dataProvider getIsLastFieldsetDataProvider
      */
     public function testGetIsLastFieldsetNegative($options, $expectedResult)
@@ -274,7 +274,7 @@ class GroupedTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers Magento\GroupedProduct\Block\Adminhtml\Product\Composite\Fieldset\Grouped::getCurrencyPrice
+     * @covers \Magento\GroupedProduct\Block\Adminhtml\Product\Composite\Fieldset\Grouped::getCurrencyPrice
      */
     public function testGetCurrencyPrice()
     {
diff --git a/app/code/Magento/GroupedProduct/Test/Unit/Block/Product/Grouped/AssociatedProducts/ListAssociatedProductsTest.php b/app/code/Magento/GroupedProduct/Test/Unit/Block/Product/Grouped/AssociatedProducts/ListAssociatedProductsTest.php
index 804cb62c857576b450747716d4fb6e1afc63b616..f03cf75237208d909dafd7d6a8670165656466d2 100644
--- a/app/code/Magento/GroupedProduct/Test/Unit/Block/Product/Grouped/AssociatedProducts/ListAssociatedProductsTest.php
+++ b/app/code/Magento/GroupedProduct/Test/Unit/Block/Product/Grouped/AssociatedProducts/ListAssociatedProductsTest.php
@@ -72,11 +72,15 @@ class ListAssociatedProductsTest extends \PHPUnit_Framework_TestCase
 
         $this->priceCurrency = $this->getMockBuilder('Magento\Framework\Pricing\PriceCurrencyInterface')->getMock();
 
-        $this->block = new \Magento\GroupedProduct\Block\Product\Grouped\AssociatedProducts\ListAssociatedProducts($this->contextMock, $this->registryMock, $this->priceCurrency);
+        $this->block = new \Magento\GroupedProduct\Block\Product\Grouped\AssociatedProducts\ListAssociatedProducts(
+            $this->contextMock,
+            $this->registryMock,
+            $this->priceCurrency
+        );
     }
 
     /**
-     * covers Magento\GroupedProduct\Block\Product\Grouped\AssociatedProducts\ListAssociatedProducts
+     * @covers \Magento\GroupedProduct\Block\Product\Grouped\AssociatedProducts\ListAssociatedProducts
      *     ::getAssociatedProducts
      */
     public function testGetAssociatedProducts()
diff --git a/app/code/Magento/GroupedProduct/Test/Unit/Block/Product/Grouped/AssociatedProductsTest.php b/app/code/Magento/GroupedProduct/Test/Unit/Block/Product/Grouped/AssociatedProductsTest.php
index 633b0025153e1889a5879990fc25d6611e93c72a..b32cded0747f95689d722fb37f9b34f5700a2fce 100644
--- a/app/code/Magento/GroupedProduct/Test/Unit/Block/Product/Grouped/AssociatedProductsTest.php
+++ b/app/code/Magento/GroupedProduct/Test/Unit/Block/Product/Grouped/AssociatedProductsTest.php
@@ -24,7 +24,7 @@ class AssociatedProductsTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers Magento\GroupedProduct\Block\Product\Grouped\AssociatedProducts::getParentTab
+     * @covers \Magento\GroupedProduct\Block\Product\Grouped\AssociatedProducts::getParentTab
      */
     public function testGetParentTab()
     {
@@ -32,7 +32,7 @@ class AssociatedProductsTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers Magento\GroupedProduct\Block\Product\Grouped\AssociatedProducts::getTabLabel
+     * @covers \Magento\GroupedProduct\Block\Product\Grouped\AssociatedProducts::getTabLabel
      */
     public function testGetTabLabel()
     {
diff --git a/app/code/Magento/GroupedProduct/Test/Unit/Helper/Product/Configuration/Plugin/GroupedTest.php b/app/code/Magento/GroupedProduct/Test/Unit/Helper/Product/Configuration/Plugin/GroupedTest.php
index 642b5345e23af33a8788f70e224d812383bed772..683477dfcec666667e9877c5c3b3c27e1c3feb84 100644
--- a/app/code/Magento/GroupedProduct/Test/Unit/Helper/Product/Configuration/Plugin/GroupedTest.php
+++ b/app/code/Magento/GroupedProduct/Test/Unit/Helper/Product/Configuration/Plugin/GroupedTest.php
@@ -70,7 +70,7 @@ class GroupedTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers Magento\GroupedProduct\Helper\Product\Configuration\Plugin\Grouped::aroundGetOptions
+     * @covers \Magento\GroupedProduct\Helper\Product\Configuration\Plugin\Grouped::aroundGetOptions
      */
     public function testAroundGetOptionsGroupedProductWithAssociated()
     {
@@ -136,7 +136,7 @@ class GroupedTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers Magento\GroupedProduct\Helper\Product\Configuration\Plugin\Grouped::aroundGetOptions
+     * @covers \Magento\GroupedProduct\Helper\Product\Configuration\Plugin\Grouped::aroundGetOptions
      */
     public function testAroundGetOptionsGroupedProductWithoutAssociated()
     {
@@ -173,7 +173,7 @@ class GroupedTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers Magento\GroupedProduct\Helper\Product\Configuration\Plugin\Grouped::aroundGetOptions
+     * @covers \Magento\GroupedProduct\Helper\Product\Configuration\Plugin\Grouped::aroundGetOptions
      */
     public function testAroundGetOptionsAnotherProductType()
     {
diff --git a/app/code/Magento/GroupedProduct/Test/Unit/Model/Product/Type/Grouped/PriceTest.php b/app/code/Magento/GroupedProduct/Test/Unit/Model/Product/Type/Grouped/PriceTest.php
index fd02a7d501c8074cfa9e711da27377441dc892b7..3e9523d19787a4abd1fc652b1ed563e420603123 100644
--- a/app/code/Magento/GroupedProduct/Test/Unit/Model/Product/Type/Grouped/PriceTest.php
+++ b/app/code/Magento/GroupedProduct/Test/Unit/Model/Product/Type/Grouped/PriceTest.php
@@ -29,7 +29,7 @@ class PriceTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers Magento\GroupedProduct\Model\Product\Type\Grouped\Price::getFinalPrice
+     * @covers \Magento\GroupedProduct\Model\Product\Type\Grouped\Price::getFinalPrice
      */
     public function testGetFinalPriceIfQtyIsNullAndFinalPriceExist()
     {
@@ -55,7 +55,7 @@ class PriceTest extends \PHPUnit_Framework_TestCase
      * @param $expectedFinalPrice
      *
      * @dataProvider getFinalPriceDataProvider
-     * covers Magento\GroupedProduct\Model\Product\Type\Grouped\Price::getFinalPrice
+     * @covers \Magento\GroupedProduct\Model\Product\Type\Grouped\Price::getFinalPrice
      */
     public function testGetFinalPrice(
         array $associatedProducts,
diff --git a/app/code/Magento/GroupedProduct/composer.json b/app/code/Magento/GroupedProduct/composer.json
index 66be65aaa588bba8e18420a2d2bf973a27555ecd..ccf2adcab0a397ae21a800994d374e0caa1805a9 100644
--- a/app/code/Magento/GroupedProduct/composer.json
+++ b/app/code/Magento/GroupedProduct/composer.json
@@ -3,22 +3,22 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-catalog-inventory": "0.42.0-beta11",
-        "magento/module-sales": "0.42.0-beta11",
-        "magento/module-checkout": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-media-storage": "0.42.0-beta11",
-        "magento/module-msrp": "0.42.0-beta11",
-        "magento/module-quote": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-catalog-inventory": "0.74.0-beta1",
+        "magento/module-sales": "0.74.0-beta1",
+        "magento/module-checkout": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-media-storage": "0.74.0-beta1",
+        "magento/module-msrp": "0.74.0-beta1",
+        "magento/module-quote": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/ImportExport/Test/Unit/Model/Export/Entity/AbstractEavTest.php b/app/code/Magento/ImportExport/Test/Unit/Model/Export/Entity/AbstractEavTest.php
index 73170fc7371671b9ab5ec9bc3d9bb58951a6c547..036af4df99be1851f501c7ad1ab10936dfd642c0 100644
--- a/app/code/Magento/ImportExport/Test/Unit/Model/Export/Entity/AbstractEavTest.php
+++ b/app/code/Magento/ImportExport/Test/Unit/Model/Export/Entity/AbstractEavTest.php
@@ -50,7 +50,7 @@ class AbstractEavTest extends \PHPUnit_Framework_TestCase
     /**
      * Test for method _addAttributesToCollection()
      *
-     * covers \Magento\ImportExport\Model\Export\Entity\AbstractEav::_addAttributesToCollection
+     * @covers \Magento\ImportExport\Model\Export\Entity\AbstractEav::_addAttributesToCollection
      */
     public function testAddAttributesToCollection()
     {
@@ -70,8 +70,8 @@ class AbstractEavTest extends \PHPUnit_Framework_TestCase
     /**
      * Test for methods _addAttributeValuesToRow()
      *
-     * covers \Magento\ImportExport\Model\Export\Entity\AbstractEav::_initAttributeValues
-     * covers \Magento\ImportExport\Model\Export\Entity\AbstractEav::_addAttributeValuesToRow
+     * @covers \Magento\ImportExport\Model\Export\Entity\AbstractEav::_initAttributeValues
+     * @covers \Magento\ImportExport\Model\Export\Entity\AbstractEav::_addAttributeValuesToRow
      */
     public function testAddAttributeValuesToRow()
     {
diff --git a/app/code/Magento/ImportExport/Test/Unit/Model/Export/EntityAbstractTest.php b/app/code/Magento/ImportExport/Test/Unit/Model/Export/EntityAbstractTest.php
index 4d90c639ce39cdfdfab9dabe22e649729bb9e858..4899445316b8b44952b9b46dc8183995d5b6a1b3 100644
--- a/app/code/Magento/ImportExport/Test/Unit/Model/Export/EntityAbstractTest.php
+++ b/app/code/Magento/ImportExport/Test/Unit/Model/Export/EntityAbstractTest.php
@@ -14,8 +14,8 @@ class EntityAbstractTest extends \PHPUnit_Framework_TestCase
     /**
      * Test for setter and getter of file name property
      *
-     * covers \Magento\ImportExport\Model\Export\AbstractEntity::getFileName
-     * covers \Magento\ImportExport\Model\Export\AbstractEntity::setFileName
+     * @covers \Magento\ImportExport\Model\Export\AbstractEntity::getFileName
+     * @covers \Magento\ImportExport\Model\Export\AbstractEntity::setFileName
      */
     public function testGetFileNameAndSetFileName()
     {
diff --git a/app/code/Magento/ImportExport/Test/Unit/Model/Import/Entity/AbstractTest.php b/app/code/Magento/ImportExport/Test/Unit/Model/Import/Entity/AbstractTest.php
index 1ad7acd3a41803760bcc36a266bcdf8b90d898d4..915632e86021748869ee024f05cf1e6e1da9026e 100644
--- a/app/code/Magento/ImportExport/Test/Unit/Model/Import/Entity/AbstractTest.php
+++ b/app/code/Magento/ImportExport/Test/Unit/Model/Import/Entity/AbstractTest.php
@@ -67,7 +67,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
     /**
      * Test for method validateData()
      *
-     * covers \Magento\ImportExport\Model\Import\Entity\AbstractEntity::validateData
+     * @covers \Magento\ImportExport\Model\Import\Entity\AbstractEntity::validateData
      * @expectedException \Magento\Framework\Exception\LocalizedException
      * @expectedExceptionMessage Columns number: "1" have empty headers
      */
@@ -80,7 +80,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
     /**
      * Test for method validateData()
      *
-     * covers \Magento\ImportExport\Model\Import\Entity\AbstractEntity::validateData
+     * @covers \Magento\ImportExport\Model\Import\Entity\AbstractEntity::validateData
      * @expectedException \Magento\Framework\Exception\LocalizedException
      * @expectedExceptionMessage Columns number: "1" have empty headers
      */
@@ -93,7 +93,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
     /**
      * Test for method validateData()
      *
-     * covers \Magento\ImportExport\Model\Import\Entity\AbstractEntity::validateData
+     * @covers \Magento\ImportExport\Model\Import\Entity\AbstractEntity::validateData
      * @expectedException \Magento\Framework\Exception\LocalizedException
      * @expectedExceptionMessage Column names: "_test1" are invalid
      */
@@ -107,7 +107,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
      * Test for method isAttributeValid()
      *
      * @dataProvider isAttributeValidDataProvider
-     * covers \Magento\ImportExport\Model\Import\Entity\AbstractEntity::isAttributeValid
+     * @covers \Magento\ImportExport\Model\Import\Entity\AbstractEntity::isAttributeValid
      *
      * @param string $attrCode
      * @param array $attrParams
diff --git a/app/code/Magento/ImportExport/Test/Unit/Model/Import/Entity/EavAbstractTest.php b/app/code/Magento/ImportExport/Test/Unit/Model/Import/Entity/EavAbstractTest.php
index 5843560833a7283517a08f4ead58bbcfa1a54b6b..d3a43b4355b99990978cce3e7eb1acea4b001d40 100644
--- a/app/code/Magento/ImportExport/Test/Unit/Model/Import/Entity/EavAbstractTest.php
+++ b/app/code/Magento/ImportExport/Test/Unit/Model/Import/Entity/EavAbstractTest.php
@@ -136,7 +136,7 @@ class EavAbstractTest extends \PHPUnit_Framework_TestCase
     /**
      * Test entity type id getter
      *
-     * covers \Magento\ImportExport\Model\Import\Entity\AbstractEav::getEntityTypeId
+     * @covers \Magento\ImportExport\Model\Import\Entity\AbstractEav::getEntityTypeId
      */
     public function testGetEntityTypeId()
     {
diff --git a/app/code/Magento/ImportExport/Test/Unit/Model/Import/EntityAbstractTest.php b/app/code/Magento/ImportExport/Test/Unit/Model/Import/EntityAbstractTest.php
index e8d0bbdfc5603e4d4a818015e934cb19c545a34b..fbd4bfb1331d22b2cba6d1e3ff40d717eef80d15 100644
--- a/app/code/Magento/ImportExport/Test/Unit/Model/Import/EntityAbstractTest.php
+++ b/app/code/Magento/ImportExport/Test/Unit/Model/Import/EntityAbstractTest.php
@@ -82,7 +82,7 @@ class EntityAbstractTest extends \PHPUnit_Framework_TestCase
     /**
      * Test for method _prepareRowForDb()
      *
-     * covers \Magento\ImportExport\Model\Import\AbstractEntity::_prepareRowForDb
+     * @covers \Magento\ImportExport\Model\Import\AbstractEntity::_prepareRowForDb
      */
     public function testPrepareRowForDb()
     {
@@ -211,7 +211,7 @@ class EntityAbstractTest extends \PHPUnit_Framework_TestCase
     /**
      * Test for method getBehavior() with $rowData argument = null
      *
-     * covers \Magento\ImportExport\Model\Import\AbstractEntity::getBehavior
+     * @covers \Magento\ImportExport\Model\Import\AbstractEntity::getBehavior
      */
     public function testGetBehaviorWithoutRowData()
     {
@@ -375,7 +375,7 @@ class EntityAbstractTest extends \PHPUnit_Framework_TestCase
     /**
      * Test for method getBehavior() with $rowData argument = null
      *
-     * covers \Magento\ImportExport\Model\Import\AbstractEntity::getBehavior
+     * @covers \Magento\ImportExport\Model\Import\AbstractEntity::getBehavior
      *
      * @dataProvider dataProviderForTestGetBehaviorWithRowData
      * @param $inputBehavior
@@ -524,7 +524,7 @@ class EntityAbstractTest extends \PHPUnit_Framework_TestCase
     /**
      * Test for method validateData()
      *
-     * covers \Magento\ImportExport\Model\Import\AbstractEntity::validateData
+     * @covers \Magento\ImportExport\Model\Import\AbstractEntity::validateData
      * @expectedException \Magento\Framework\Exception\LocalizedException
      */
     public function testValidateDataPermanentAttributes()
@@ -543,7 +543,7 @@ class EntityAbstractTest extends \PHPUnit_Framework_TestCase
     /**
      * Test for method validateData()
      *
-     * covers \Magento\ImportExport\Model\Import\AbstractEntity::validateData
+     * @covers \Magento\ImportExport\Model\Import\AbstractEntity::validateData
      * @expectedException \Magento\Framework\Exception\LocalizedException
      */
     public function testValidateDataEmptyColumnName()
@@ -555,7 +555,7 @@ class EntityAbstractTest extends \PHPUnit_Framework_TestCase
     /**
      * Test for method validateData()
      *
-     * covers \Magento\ImportExport\Model\Import\AbstractEntity::validateData
+     * @covers \Magento\ImportExport\Model\Import\AbstractEntity::validateData
      * @expectedException \Magento\Framework\Exception\LocalizedException
      */
     public function testValidateDataColumnNameWithWhitespaces()
@@ -567,7 +567,7 @@ class EntityAbstractTest extends \PHPUnit_Framework_TestCase
     /**
      * Test for method validateData()
      *
-     * covers \Magento\ImportExport\Model\Import\AbstractEntity::validateData
+     * @covers \Magento\ImportExport\Model\Import\AbstractEntity::validateData
      * @expectedException \Magento\Framework\Exception\LocalizedException
      */
     public function testValidateDataAttributeNames()
diff --git a/app/code/Magento/ImportExport/Test/Unit/Model/Resource/CollectionByPagesIteratorTest.php b/app/code/Magento/ImportExport/Test/Unit/Model/Resource/CollectionByPagesIteratorTest.php
index ce3243ef5c97ba13c88931cf16cd5a03f23244e9..a39d5b55bd0e14bc709046e19d478765d87df42a 100644
--- a/app/code/Magento/ImportExport/Test/Unit/Model/Resource/CollectionByPagesIteratorTest.php
+++ b/app/code/Magento/ImportExport/Test/Unit/Model/Resource/CollectionByPagesIteratorTest.php
@@ -27,7 +27,7 @@ class CollectionByPagesIteratorTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\ImportExport\Model\Resource\CollectionByPagesIterator::iterate
+     * @covers \Magento\ImportExport\Model\Resource\CollectionByPagesIterator::iterate
      */
     public function testIterate()
     {
diff --git a/app/code/Magento/ImportExport/Test/Unit/Model/Source/Import/Behavior/BasicTest.php b/app/code/Magento/ImportExport/Test/Unit/Model/Source/Import/Behavior/BasicTest.php
index 460d2aa2ea6f6067a2ac07d9d40391c7b83a5b6c..1476d35fcf6e2745a4a60e31394b2691b980b406 100644
--- a/app/code/Magento/ImportExport/Test/Unit/Model/Source/Import/Behavior/BasicTest.php
+++ b/app/code/Magento/ImportExport/Test/Unit/Model/Source/Import/Behavior/BasicTest.php
@@ -38,7 +38,7 @@ class BasicTest extends \Magento\ImportExport\Test\Unit\Model\Source\Import\Abst
     /**
      * Test toArray method
      *
-     * covers \Magento\ImportExport\Model\Source\Import\Behavior\Basic::toArray
+     * @covers \Magento\ImportExport\Model\Source\Import\Behavior\Basic::toArray
      */
     public function testToArray()
     {
@@ -50,7 +50,7 @@ class BasicTest extends \Magento\ImportExport\Test\Unit\Model\Source\Import\Abst
     /**
      * Test behavior group code
      *
-     * covers \Magento\ImportExport\Model\Source\Import\Behavior\Basic::getCode
+     * @covers \Magento\ImportExport\Model\Source\Import\Behavior\Basic::getCode
      */
     public function testGetCode()
     {
diff --git a/app/code/Magento/ImportExport/Test/Unit/Model/Source/Import/Behavior/CustomTest.php b/app/code/Magento/ImportExport/Test/Unit/Model/Source/Import/Behavior/CustomTest.php
index f27a5630c32e31b378aad4c1c115c044d1414c9a..e5be1a91ba14733c6d7122518d6ba742c65617b0 100644
--- a/app/code/Magento/ImportExport/Test/Unit/Model/Source/Import/Behavior/CustomTest.php
+++ b/app/code/Magento/ImportExport/Test/Unit/Model/Source/Import/Behavior/CustomTest.php
@@ -38,7 +38,7 @@ class CustomTest extends \Magento\ImportExport\Test\Unit\Model\Source\Import\Abs
     /**
      * Test toArray method
      *
-     * covers \Magento\ImportExport\Model\Source\Import\Behavior\Custom::toArray
+     * @covers \Magento\ImportExport\Model\Source\Import\Behavior\Custom::toArray
      */
     public function testToArray()
     {
@@ -50,7 +50,7 @@ class CustomTest extends \Magento\ImportExport\Test\Unit\Model\Source\Import\Abs
     /**
      * Test behavior group code
      *
-     * covers \Magento\ImportExport\Model\Source\Import\Behavior\Custom::getCode
+     * @covers \Magento\ImportExport\Model\Source\Import\Behavior\Custom::getCode
      */
     public function testGetCode()
     {
diff --git a/app/code/Magento/ImportExport/Test/Unit/Model/Source/Import/BehaviorAbstractTest.php b/app/code/Magento/ImportExport/Test/Unit/Model/Source/Import/BehaviorAbstractTest.php
index 8e4d792650408cfe4b4499c4ccc3e203eee05c45..e2a1682eb3738a1833e552af36418c69c24ed972 100644
--- a/app/code/Magento/ImportExport/Test/Unit/Model/Source/Import/BehaviorAbstractTest.php
+++ b/app/code/Magento/ImportExport/Test/Unit/Model/Source/Import/BehaviorAbstractTest.php
@@ -49,7 +49,7 @@ class BehaviorAbstractTest extends \Magento\ImportExport\Test\Unit\Model\Source\
     /**
      * Test for toOptionArray method
      *
-     * covers \Magento\ImportExport\Model\Source\Import\AbstractBehavior::toOptionArray
+     * @covers \Magento\ImportExport\Model\Source\Import\AbstractBehavior::toOptionArray
      */
     public function testToOptionArray()
     {
diff --git a/app/code/Magento/ImportExport/composer.json b/app/code/Magento/ImportExport/composer.json
index 910e6c723cf186716ac5069324d63cb8800f60c2..eaaecbe071b0fb5f992db1889de661bb60cb8f33 100644
--- a/app/code/Magento/ImportExport/composer.json
+++ b/app/code/Magento/ImportExport/composer.json
@@ -3,17 +3,17 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-indexer": "0.42.0-beta11",
-        "magento/module-media-storage": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-indexer": "0.74.0-beta1",
+        "magento/module-media-storage": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "ext-ctype": "*",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Indexer/composer.json b/app/code/Magento/Indexer/composer.json
index f11f09d8331950e9a9068f1e2b082bd9034d94b7..31d4298885d34cf0ae7bcd3225dd0ba71eb4c191 100644
--- a/app/code/Magento/Indexer/composer.json
+++ b/app/code/Magento/Indexer/composer.json
@@ -3,13 +3,13 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-page-cache": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-page-cache": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Integration/composer.json b/app/code/Magento/Integration/composer.json
index 72465a630aff983bc73eb2ab9053a79902b4652e..3a163437da5817ff3ba602c11bb398364c030198 100644
--- a/app/code/Magento/Integration/composer.json
+++ b/app/code/Magento/Integration/composer.json
@@ -3,16 +3,16 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-user": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
-        "magento/module-authorization": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-user": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
+        "magento/module-authorization": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/LayeredNavigation/Test/Unit/Block/NavigationTest.php b/app/code/Magento/LayeredNavigation/Test/Unit/Block/NavigationTest.php
index 6b2e8bb15b3dc2bf9e92d29da8fb9358229e1770..8bd548294cdb6cbbb80ba1fd2977526794fb9b55 100644
--- a/app/code/Magento/LayeredNavigation/Test/Unit/Block/NavigationTest.php
+++ b/app/code/Magento/LayeredNavigation/Test/Unit/Block/NavigationTest.php
@@ -85,9 +85,9 @@ class NavigationTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\LayeredNavigation\Block\Navigation::getLayer()
-     * covers \Magento\LayeredNavigation\Block\Navigation::getFilters()
-     * covers \Magento\LayeredNavigation\Block\Navigation::canShowBlock()
+     * @covers \Magento\LayeredNavigation\Block\Navigation::getLayer()
+     * @covers \Magento\LayeredNavigation\Block\Navigation::getFilters()
+     * @covers \Magento\LayeredNavigation\Block\Navigation::canShowBlock()
      */
     public function testCanShowBlock()
     {
diff --git a/app/code/Magento/LayeredNavigation/composer.json b/app/code/Magento/LayeredNavigation/composer.json
index ed080fb84e1d4d63980ef1581cd6d78fd42c74d5..6ce4ba9dde72193798efbb730fafc2208ad76889 100644
--- a/app/code/Magento/LayeredNavigation/composer.json
+++ b/app/code/Magento/LayeredNavigation/composer.json
@@ -3,13 +3,13 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Log/composer.json b/app/code/Magento/Log/composer.json
index ea86b5146ee38d3ff25628fee70ab424a47258de..889b0c8bc36410ab007e4de7dfe7f14f1540939e 100644
--- a/app/code/Magento/Log/composer.json
+++ b/app/code/Magento/Log/composer.json
@@ -3,15 +3,15 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/MediaStorage/composer.json b/app/code/Magento/MediaStorage/composer.json
index ccc5a944717a31326fcdcb7af0248c7781ab14ce..051e531f2c7bfcb7bd1aa1141477d66a09b1505c 100644
--- a/app/code/Magento/MediaStorage/composer.json
+++ b/app/code/Magento/MediaStorage/composer.json
@@ -3,14 +3,14 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Msrp/composer.json b/app/code/Magento/Msrp/composer.json
index 1202688cb167fa8727bb7d384c12ab4c3307ec11..003e4b9a9910ef6eaf7b1aa0f40303fd0328e621 100644
--- a/app/code/Magento/Msrp/composer.json
+++ b/app/code/Magento/Msrp/composer.json
@@ -3,19 +3,19 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-bundle": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-downloadable": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-grouped-product": "0.42.0-beta11",
-        "magento/module-tax": "0.42.0-beta11",
-        "magento/module-quote": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-bundle": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-downloadable": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-grouped-product": "0.74.0-beta1",
+        "magento/module-tax": "0.74.0-beta1",
+        "magento/module-quote": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Multishipping/composer.json b/app/code/Magento/Multishipping/composer.json
index fb450ad1bb22b553d05a1a25f15b75d9c31805b9..0f052635d1a77f4b7ebedeeee5290907881d2316 100644
--- a/app/code/Magento/Multishipping/composer.json
+++ b/app/code/Magento/Multishipping/composer.json
@@ -3,19 +3,19 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-checkout": "0.42.0-beta11",
-        "magento/module-sales": "0.42.0-beta11",
-        "magento/module-payment": "0.42.0-beta11",
-        "magento/module-tax": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-theme": "0.42.0-beta11",
-        "magento/module-quote": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-checkout": "0.74.0-beta1",
+        "magento/module-sales": "0.74.0-beta1",
+        "magento/module-payment": "0.74.0-beta1",
+        "magento/module-tax": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-theme": "0.74.0-beta1",
+        "magento/module-quote": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Newsletter/composer.json b/app/code/Magento/Newsletter/composer.json
index 53c62793ddf40a1c9e4bf44cd7337543382fcfba..a68b7906027c84a47ebd74e70f09f2613e4f7057 100644
--- a/app/code/Magento/Newsletter/composer.json
+++ b/app/code/Magento/Newsletter/composer.json
@@ -3,20 +3,20 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-widget": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-cms": "0.42.0-beta11",
-        "magento/module-email": "0.42.0-beta11",
-        "magento/module-cron": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-require-js": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-widget": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-cms": "0.74.0-beta1",
+        "magento/module-email": "0.74.0-beta1",
+        "magento/module-cron": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-require-js": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/OfflinePayments/composer.json b/app/code/Magento/OfflinePayments/composer.json
index a0a478d5a64a0dcd7eaf19ac75ebd453fa518abe..d7df360aa89dfd2ca358ced5c1cb7da97a33c91b 100644
--- a/app/code/Magento/OfflinePayments/composer.json
+++ b/app/code/Magento/OfflinePayments/composer.json
@@ -3,12 +3,12 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-payment": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-payment": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/OfflineShipping/composer.json b/app/code/Magento/OfflineShipping/composer.json
index 4ee66ff206e4409ba571eb0acb02c1ec6da28caf..8e0d5b7c01e48d18bdaeffa50a0ae4d41a2101ce 100644
--- a/app/code/Magento/OfflineShipping/composer.json
+++ b/app/code/Magento/OfflineShipping/composer.json
@@ -3,21 +3,21 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-shipping": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-sales": "0.42.0-beta11",
-        "magento/module-sales-rule": "0.42.0-beta11",
-        "magento/module-directory": "0.42.0-beta11",
-        "magento/module-checkout": "0.42.0-beta11",
-        "magento/module-quote": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-shipping": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-sales": "0.74.0-beta1",
+        "magento/module-sales-rule": "0.74.0-beta1",
+        "magento/module-directory": "0.74.0-beta1",
+        "magento/module-checkout": "0.74.0-beta1",
+        "magento/module-quote": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/PageCache/Test/Unit/Block/JavascriptTest.php b/app/code/Magento/PageCache/Test/Unit/Block/JavascriptTest.php
index 79592a636e61cbe6484222ea8a2c5c93c0547d8f..21bcec6253bf058de334d01ec83d0d4b3f667bfc 100644
--- a/app/code/Magento/PageCache/Test/Unit/Block/JavascriptTest.php
+++ b/app/code/Magento/PageCache/Test/Unit/Block/JavascriptTest.php
@@ -6,7 +6,7 @@
 namespace Magento\PageCache\Test\Unit\Block;
 
 /**
- * covers \Magento\PageCache\Block\Javascript
+ * @covers \Magento\PageCache\Block\Javascript
  */
 class JavascriptTest extends \PHPUnit_Framework_TestCase
 {
@@ -80,7 +80,7 @@ class JavascriptTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\PageCache\Block\Javascript::getScriptOptions
+     * @covers \Magento\PageCache\Block\Javascript::getScriptOptions
      * @param bool $isSecure
      * @param string $url
      * @param string $expectedResult
diff --git a/app/code/Magento/PageCache/composer.json b/app/code/Magento/PageCache/composer.json
index b0cd589086158448b674bb60c2e7ecae4ed14959..7176399192439e013fc28d958b519948121c73d1 100644
--- a/app/code/Magento/PageCache/composer.json
+++ b/app/code/Magento/PageCache/composer.json
@@ -3,14 +3,14 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Payment/Test/Unit/Block/Form/ContainerTest.php b/app/code/Magento/Payment/Test/Unit/Block/Form/ContainerTest.php
index ce67d6803293f393199db3f93fe9a11e08b745be..cb7b3bb788c8e810856545c62220680abf7b16ab 100644
--- a/app/code/Magento/Payment/Test/Unit/Block/Form/ContainerTest.php
+++ b/app/code/Magento/Payment/Test/Unit/Block/Form/ContainerTest.php
@@ -12,7 +12,7 @@ namespace Magento\Payment\Test\Unit\Block\Form;
 class ContainerTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * covers \Magento\Payment\Block\Form\Container::getChildBlock
+     * @covers \Magento\Payment\Block\Form\Container::getChildBlock
      */
     public function testSetMethodFormTemplate()
     {
diff --git a/app/code/Magento/Payment/composer.json b/app/code/Magento/Payment/composer.json
index 70a4a9d5af4b13076668fe3c222c99ae589850cd..ed4c8488d654f6a435fc44c2b2fc58e340a2c99b 100644
--- a/app/code/Magento/Payment/composer.json
+++ b/app/code/Magento/Payment/composer.json
@@ -3,17 +3,17 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-sales": "0.42.0-beta11",
-        "magento/module-centinel": "0.42.0-beta11",
-        "magento/module-checkout": "0.42.0-beta11",
-        "magento/module-quote": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-sales": "0.74.0-beta1",
+        "magento/module-centinel": "0.74.0-beta1",
+        "magento/module-checkout": "0.74.0-beta1",
+        "magento/module-quote": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Persistent/Test/Unit/Model/SessionTest.php b/app/code/Magento/Persistent/Test/Unit/Model/SessionTest.php
index 4df282618ee70c2364878e41cb36df1a3ccee2e6..604de5e71376620067f3473d6ee110bdcb376e8d 100644
--- a/app/code/Magento/Persistent/Test/Unit/Model/SessionTest.php
+++ b/app/code/Magento/Persistent/Test/Unit/Model/SessionTest.php
@@ -85,7 +85,7 @@ class SessionTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Persistent\Model\Session::removePersistentCookie
+     * @covers \Magento\Persistent\Model\Session::removePersistentCookie
      */
     public function testAfterDeleteCommit()
     {
diff --git a/app/code/Magento/Persistent/composer.json b/app/code/Magento/Persistent/composer.json
index b09e1e6d7eec9a649f3e9e4f1a69bc5d773dd4ab..11767647b31449cc627a8372c3606319dea190b0 100644
--- a/app/code/Magento/Persistent/composer.json
+++ b/app/code/Magento/Persistent/composer.json
@@ -3,17 +3,17 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-checkout": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-cron": "0.42.0-beta11",
-        "magento/module-page-cache": "0.42.0-beta11",
-        "magento/module-quote": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-checkout": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-cron": "0.74.0-beta1",
+        "magento/module-page-cache": "0.74.0-beta1",
+        "magento/module-quote": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/ProductAlert/composer.json b/app/code/Magento/ProductAlert/composer.json
index 1e456b79f57b23b5b2356e8fc24ac8b82dd0a03f..be38ece6573145e27a836b060d26807eac683370 100644
--- a/app/code/Magento/ProductAlert/composer.json
+++ b/app/code/Magento/ProductAlert/composer.json
@@ -3,14 +3,14 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Quote/Model/Quote.php b/app/code/Magento/Quote/Model/Quote.php
index ef130e2e6597203b74b35e6066678fedc712ac20..1f9fb10d01a1df5eded433b519aae09a7025e7c5 100644
--- a/app/code/Magento/Quote/Model/Quote.php
+++ b/app/code/Magento/Quote/Model/Quote.php
@@ -2042,9 +2042,7 @@ class Quote extends AbstractExtensibleModel implements \Magento\Quote\Api\Data\C
             return $this;
         }
 
-        if (is_string($message)) {
-            $message = $this->messageFactory->create(\Magento\Framework\Message\MessageInterface::TYPE_ERROR, $message);
-        }
+        $message = $this->messageFactory->create(\Magento\Framework\Message\MessageInterface::TYPE_ERROR, $message);
 
         $messages[$index] = $message;
         $this->setData('messages', $messages);
diff --git a/app/code/Magento/Quote/Test/Unit/Model/Quote/Item/RelatedProductsTest.php b/app/code/Magento/Quote/Test/Unit/Model/Quote/Item/RelatedProductsTest.php
index ac849a7e96c254a0bdb185daa03dd77535bd3bbb..94fa209c4f9f51da64e03acccc5b87027a46b998 100644
--- a/app/code/Magento/Quote/Test/Unit/Model/Quote/Item/RelatedProductsTest.php
+++ b/app/code/Magento/Quote/Test/Unit/Model/Quote/Item/RelatedProductsTest.php
@@ -28,7 +28,7 @@ class RelatedProductsTest extends \PHPUnit_Framework_TestCase
      * @param int|bool $productId
      * @param array $expectedResult
      *
-     * covers \Magento\Quote\Model\Quote\Item\RelatedProducts::getRelatedProductIds
+     * @covers \Magento\Quote\Model\Quote\Item\RelatedProducts::getRelatedProductIds
      * @dataProvider getRelatedProductIdsDataProvider
      */
     public function testGetRelatedProductIds($optionValue, $productId, $expectedResult)
@@ -75,7 +75,7 @@ class RelatedProductsTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Quote\Model\Quote\Item\RelatedProducts::getRelatedProductIds
+     * @covers \Magento\Quote\Model\Quote\Item\RelatedProducts::getRelatedProductIds
      */
     public function testGetRelatedProductIdsNoOptions()
     {
diff --git a/app/code/Magento/Quote/composer.json b/app/code/Magento/Quote/composer.json
index 9bc1150e18b91d45761812d46b1cee3690428a46..afc1734fbd94cd125ff2cddcb2fee917123f0605 100644
--- a/app/code/Magento/Quote/composer.json
+++ b/app/code/Magento/Quote/composer.json
@@ -3,23 +3,23 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-catalog-rule": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-authorization": "0.42.0-beta11",
-        "magento/module-payment": "0.42.0-beta11",
-        "magento/module-sales": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-directory": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-tax": "0.42.0-beta11",
-        "magento/module-catalog-inventory": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-catalog-rule": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-authorization": "0.74.0-beta1",
+        "magento/module-payment": "0.74.0-beta1",
+        "magento/module-sales": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-directory": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-tax": "0.74.0-beta1",
+        "magento/module-catalog-inventory": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Reports/Model/Resource/Report/Collection.php b/app/code/Magento/Reports/Model/Resource/Report/Collection.php
index 4c3eff00d4171366fab8490aeafa10413aa21855..c8ee5836cf242cbd0ab366083085fcdf987e0a21 100644
--- a/app/code/Magento/Reports/Model/Resource/Report/Collection.php
+++ b/app/code/Magento/Reports/Model/Resource/Report/Collection.php
@@ -232,7 +232,7 @@ class Collection extends \Magento\Framework\Data\Collection
         $interval = [];
         $interval['period'] = $dateStart->format('Y');
         $interval['start'] = $firstInterval
-            ? $dateStart->format('Y-m-dd 00:00:00')
+            ? $dateStart->format('Y-m-d 00:00:00')
             : $dateStart->format('Y-01-01 00:00:00');
 
         $interval['end'] = $dateStart->diff($dateEnd)->y == 0
diff --git a/app/code/Magento/Reports/Test/Unit/Model/Plugin/LogTest.php b/app/code/Magento/Reports/Test/Unit/Model/Plugin/LogTest.php
index 8fc58020e580eacefbfcb05b0338d2bf916b0e2e..a6585041528a549b1d69b10135614c1270f44937 100644
--- a/app/code/Magento/Reports/Test/Unit/Model/Plugin/LogTest.php
+++ b/app/code/Magento/Reports/Test/Unit/Model/Plugin/LogTest.php
@@ -66,7 +66,7 @@ class LogTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Reports\Model\Plugin\Log::afterClean
+     * @covers \Magento\Reports\Model\Plugin\Log::afterClean
      */
     public function testAfterClean()
     {
diff --git a/app/code/Magento/Reports/composer.json b/app/code/Magento/Reports/composer.json
index 1292a424044d2e91517b7831717a5675abac4228..c11dd26ace010719356a7de27f8059d7d96f8d53 100644
--- a/app/code/Magento/Reports/composer.json
+++ b/app/code/Magento/Reports/composer.json
@@ -3,28 +3,28 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-sales": "0.42.0-beta11",
-        "magento/module-cms": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-widget": "0.42.0-beta11",
-        "magento/module-log": "0.42.0-beta11",
-        "magento/module-wishlist": "0.42.0-beta11",
-        "magento/module-review": "0.42.0-beta11",
-        "magento/module-catalog-inventory": "0.42.0-beta11",
-        "magento/module-tax": "0.42.0-beta11",
-        "magento/module-downloadable": "0.42.0-beta11",
-        "magento/module-sales-rule": "0.42.0-beta11",
-        "magento/module-quote": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-sales": "0.74.0-beta1",
+        "magento/module-cms": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-widget": "0.74.0-beta1",
+        "magento/module-log": "0.74.0-beta1",
+        "magento/module-wishlist": "0.74.0-beta1",
+        "magento/module-review": "0.74.0-beta1",
+        "magento/module-catalog-inventory": "0.74.0-beta1",
+        "magento/module-tax": "0.74.0-beta1",
+        "magento/module-downloadable": "0.74.0-beta1",
+        "magento/module-sales-rule": "0.74.0-beta1",
+        "magento/module-quote": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Reports/view/adminhtml/templates/grid.phtml b/app/code/Magento/Reports/view/adminhtml/templates/grid.phtml
index abc4d3181918b11729ee10eb40e234221757a8ec..c4f544199ee5961e7af2feb2faf1847ef6fb4220 100644
--- a/app/code/Magento/Reports/view/adminhtml/templates/grid.phtml
+++ b/app/code/Magento/Reports/view/adminhtml/templates/grid.phtml
@@ -112,7 +112,7 @@ require([
         period_date_from.adviceContainer = $('<?php echo $block->getSuffixId('period_date_from_advice')?>');
         period_date_to.adviceContainer = $('<?php echo $block->getSuffixId('period_date_to_advice')?>');
 
-        validateFilterDate = function() {
+        var validateFilterDate = function() {
             if (period_date_from && period_date_to) {
                 var valid = true;
                 jQuery(period_date_from).add(period_date_to).each(function() {
diff --git a/app/code/Magento/RequireJs/composer.json b/app/code/Magento/RequireJs/composer.json
index 59c62378ebb104a16e2aa878a789eb4de35fbeba..2475e1bae2fe98fa634e68912d9f55ebb07f9d0a 100644
--- a/app/code/Magento/RequireJs/composer.json
+++ b/app/code/Magento/RequireJs/composer.json
@@ -3,11 +3,11 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/framework": "0.42.0-beta11",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Review/composer.json b/app/code/Magento/Review/composer.json
index 3ac2d8c5deab3948d3df18d6cea4946bdac565c4..fe9732c3832fe5da41ac0dbe2ca73e37207e9e0d 100644
--- a/app/code/Magento/Review/composer.json
+++ b/app/code/Magento/Review/composer.json
@@ -3,22 +3,22 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-theme": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-newsletter": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
-        "magento/module-ui": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-theme": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-newsletter": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
+        "magento/module-ui": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "suggest": {
-        "magento/module-cookie": "0.42.0-beta11"
+        "magento/module-cookie": "0.74.0-beta1"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Rss/composer.json b/app/code/Magento/Rss/composer.json
index d69a3857b7bdba6599ee06ec74351de028f6b779..57d61c78416508948b9db84bf98c21b072ef9c0f 100644
--- a/app/code/Magento/Rss/composer.json
+++ b/app/code/Magento/Rss/composer.json
@@ -3,14 +3,14 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Rule/Test/Unit/Model/Condition/CombineTest.php b/app/code/Magento/Rule/Test/Unit/Model/Condition/CombineTest.php
index ced46fa076b2e173a598db062802887ef7b91ec9..35fd9439db6f61269bf8c82bf77e8e13c8d333c2 100644
--- a/app/code/Magento/Rule/Test/Unit/Model/Condition/CombineTest.php
+++ b/app/code/Magento/Rule/Test/Unit/Model/Condition/CombineTest.php
@@ -62,7 +62,7 @@ class CombineTest extends \PHPUnit_Framework_TestCase
 
     /**
      *
-     * covers \Magento\Rule\Model\Condition\AbstractCondition::getValueName
+     * @covers \Magento\Rule\Model\Condition\AbstractCondition::getValueName
      *
      * @dataProvider optionValuesData
      *
diff --git a/app/code/Magento/Rule/composer.json b/app/code/Magento/Rule/composer.json
index 4f9861088d42dec7d27ebaed53058b9948c2c4f5..1325db3409841ea31efe8eda0424cc1ac1e8c019 100644
--- a/app/code/Magento/Rule/composer.json
+++ b/app/code/Magento/Rule/composer.json
@@ -3,16 +3,16 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "lib-libxml": "*",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Sales/Controller/AbstractController/View.php b/app/code/Magento/Sales/Controller/AbstractController/View.php
index ebc5d087cdd833344c01d3b8a1e508835bf518b3..cd851bc94b9d9001a01552dfc047fa1d09453a9f 100644
--- a/app/code/Magento/Sales/Controller/AbstractController/View.php
+++ b/app/code/Magento/Sales/Controller/AbstractController/View.php
@@ -52,6 +52,7 @@ abstract class View extends Action\Action
         $resultPage = $this->resultPageFactory->create();
         $resultPage->getLayout()->initMessages();
 
+        /** @var \Magento\Framework\View\Element\Html\Links $navigationBlock */
         $navigationBlock = $resultPage->getLayout()->getBlock('customer_account_navigation');
         if ($navigationBlock) {
             $navigationBlock->setActive('sales/order/history');
diff --git a/app/code/Magento/Sales/Controller/Guest/PrintAction.php b/app/code/Magento/Sales/Controller/Guest/PrintAction.php
index cf94ab2f5ffb91a0ec7572169e4125440513e185..7bd563475048da88eda89e2873af3f5471e5ed98 100644
--- a/app/code/Magento/Sales/Controller/Guest/PrintAction.php
+++ b/app/code/Magento/Sales/Controller/Guest/PrintAction.php
@@ -6,6 +6,21 @@
  */
 namespace Magento\Sales\Controller\Guest;
 
+use Magento\Framework\App\Action\Context;
+use Magento\Framework\View\Result\PageFactory;
+
 class PrintAction extends \Magento\Sales\Controller\AbstractController\PrintAction
 {
+    /**
+     * @param Context $context
+     * @param OrderLoader $orderLoader
+     * @param PageFactory $resultPageFactory
+     */
+    public function __construct(
+        Context $context,
+        \Magento\Sales\Controller\Guest\OrderLoader $orderLoader,
+        PageFactory $resultPageFactory
+    ) {
+        parent::__construct($context, $orderLoader, $resultPageFactory);
+    }
 }
diff --git a/app/code/Magento/Sales/Controller/Guest/Reorder.php b/app/code/Magento/Sales/Controller/Guest/Reorder.php
index 745351dc652b4c3799139ab6f00819d01736bfd3..202ceb99a222bddd847be92e32e55942bf1e1d3a 100644
--- a/app/code/Magento/Sales/Controller/Guest/Reorder.php
+++ b/app/code/Magento/Sales/Controller/Guest/Reorder.php
@@ -6,6 +6,23 @@
  */
 namespace Magento\Sales\Controller\Guest;
 
+use Magento\Framework\App\Action;
+use Magento\Framework\Controller\Result\RedirectFactory;
+
 class Reorder extends \Magento\Sales\Controller\AbstractController\Reorder
 {
+    /**
+     * @param Action\Context $context
+     * @param \Magento\Sales\Controller\Guest\OrderLoader $orderLoader
+     * @param \Magento\Framework\Registry $registry
+     * @param \Magento\Framework\Controller\Result\RedirectFactory $resultRedirectFactory
+     */
+    public function __construct(
+        Action\Context $context,
+        \Magento\Sales\Controller\Guest\OrderLoader $orderLoader,
+        \Magento\Framework\Registry $registry,
+        RedirectFactory $resultRedirectFactory
+    ) {
+        parent::__construct($context, $orderLoader, $registry, $resultRedirectFactory);
+    }
 }
diff --git a/app/code/Magento/Sales/Controller/Guest/View.php b/app/code/Magento/Sales/Controller/Guest/View.php
index e2185e0b269cb35b5d105d22ede149c75fb5be76..93de3cab2db471fe463842f980715fe1a185f91e 100644
--- a/app/code/Magento/Sales/Controller/Guest/View.php
+++ b/app/code/Magento/Sales/Controller/Guest/View.php
@@ -1,27 +1,54 @@
 <?php
 /**
- *
  * Copyright © 2015 Magento. All rights reserved.
  * See COPYING.txt for license details.
  */
 namespace Magento\Sales\Controller\Guest;
 
 use Magento\Framework\App\Action;
+use Magento\Sales\Helper\Guest as GuestHelper;
+use Magento\Framework\View\Result\PageFactory;
+use Magento\Framework\Controller\ResultInterface;
 
-class View extends \Magento\Sales\Controller\AbstractController\View
+class View extends Action\Action
 {
     /**
-     * {@inheritdoc}
+     * @var \Magento\Sales\Helper\Guest
+     */
+    protected $guestHelper;
+
+    /**
+     * @var \Magento\Framework\View\Result\PageFactory
+     */
+    protected $resultPageFactory;
+
+    /**
+     * @param \Magento\Framework\App\Action\Context $context
+     * @param \Magento\Sales\Helper\Guest $guestHelper
+     * @param \Magento\Framework\View\Result\PageFactory $resultPageFactory
+     */
+    public function __construct(
+        Action\Context $context,
+        GuestHelper $guestHelper,
+        PageFactory $resultPageFactory
+    ) {
+        $this->guestHelper = $guestHelper;
+        $this->resultPageFactory = $resultPageFactory;
+        parent::__construct($context);
+    }
+
+    /**
+     * @return \Magento\Framework\Controller\ResultInterface
      */
     public function execute()
     {
-        $result = $this->orderLoader->load($this->_request);
-        if ($result instanceof \Magento\Framework\Controller\ResultInterface) {
+        $result = $this->guestHelper->loadValidOrder($this->getRequest());
+        if ($result instanceof ResultInterface) {
             return $result;
         }
-
+        /** @var \Magento\Framework\View\Result\Page $resultPage */
         $resultPage = $this->resultPageFactory->create();
-        $this->_objectManager->get('Magento\Sales\Helper\Guest')->getBreadcrumbs($resultPage);
+        $this->guestHelper->getBreadcrumbs($resultPage);
         return $resultPage;
     }
 }
diff --git a/app/code/Magento/Sales/Test/Unit/Block/Adminhtml/Order/Create/Items/GridTest.php b/app/code/Magento/Sales/Test/Unit/Block/Adminhtml/Order/Create/Items/GridTest.php
index 0c948763c81bafcea06f1b8e2acd9679aa6f05e5..702ff9abb36b9d40025f4c14d64b57921841cfee 100644
--- a/app/code/Magento/Sales/Test/Unit/Block/Adminhtml/Order/Create/Items/GridTest.php
+++ b/app/code/Magento/Sales/Test/Unit/Block/Adminhtml/Order/Create/Items/GridTest.php
@@ -219,7 +219,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Sales\Block\Adminhtml\Order\Create\Items\Grid::getItems
+     * @covers \Magento\Sales\Block\Adminhtml\Order\Create\Items\Grid::getItems
      */
     public function testGetItems()
     {
diff --git a/app/code/Magento/Sales/Test/Unit/Controller/Guest/ViewTest.php b/app/code/Magento/Sales/Test/Unit/Controller/Guest/ViewTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..78aa59f9eedaadb4c2fd51ba6b4d906e5f6e6f2c
--- /dev/null
+++ b/app/code/Magento/Sales/Test/Unit/Controller/Guest/ViewTest.php
@@ -0,0 +1,121 @@
+<?php
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+namespace Magento\Sales\Test\Unit\Controller\Guest;
+
+use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
+
+class ViewTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Sales\Controller\Guest\View
+     */
+    protected $viewController;
+
+    /**
+     * @var \Magento\TestFramework\Helper\ObjectManager
+     */
+    protected $objectManagerHelper;
+
+    /**
+     * @var \Magento\Framework\App\Action\Context
+     */
+    protected $context;
+
+    /**
+     * @var \Magento\Framework\App\RequestInterface|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $requestMock;
+
+    /**
+     * @var \Magento\Sales\Helper\Guest|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $guestHelperMock;
+
+    /**
+     * @var \Magento\Framework\Controller\Result\Redirect|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $resultRedirectMock;
+
+    /**
+     * @var \Magento\Framework\View\Result\PageFactory|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $resultPageFactoryMock;
+
+    /**
+     * @var \Magento\Framework\View\Result\Page|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $resultPageMock;
+
+    /**
+     * @return void
+     */
+    protected function setUp()
+    {
+        $this->requestMock = $this->getMockBuilder('Magento\Framework\App\RequestInterface')
+            ->getMock();
+        $this->guestHelperMock = $this->getMockBuilder('Magento\Sales\Helper\Guest')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $this->resultRedirectMock = $this->getMockBuilder('Magento\Framework\Controller\Result\Redirect')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $this->resultPageFactoryMock = $this->getMockBuilder('Magento\Framework\View\Result\PageFactory')
+            ->disableOriginalConstructor()
+            ->setMethods(['create'])
+            ->getMock();
+        $this->resultPageMock = $this->getMockBuilder('Magento\Framework\View\Result\Page')
+            ->disableOriginalConstructor()
+            ->getMock();
+
+        $this->objectManagerHelper = new ObjectManagerHelper($this);
+        $this->context = $this->objectManagerHelper->getObject(
+            'Magento\Framework\App\Action\Context',
+            [
+                'request' => $this->requestMock
+            ]
+        );
+        $this->viewController = $this->objectManagerHelper->getObject(
+            'Magento\Sales\Controller\Guest\View',
+            [
+                'context' => $this->context,
+                'guestHelper' => $this->guestHelperMock,
+                'resultPageFactory' => $this->resultPageFactoryMock
+            ]
+        );
+    }
+
+    /**
+     * @return void
+     */
+    public function testExecuteOrderLoaded()
+    {
+        $this->guestHelperMock->expects($this->once())
+            ->method('loadValidOrder')
+            ->with($this->requestMock)
+            ->willReturn(true);
+        $this->resultPageFactoryMock->expects($this->once())
+            ->method('create')
+            ->willReturn($this->resultPageMock);
+        $this->guestHelperMock->expects($this->once())
+            ->method('getBreadcrumbs')
+            ->with($this->resultPageMock);
+
+        $this->assertSame($this->resultPageMock, $this->viewController->execute());
+    }
+
+    /**
+     * @return void
+     */
+    public function testExecuteOrderNotFound()
+    {
+        $this->guestHelperMock->expects($this->once())
+            ->method('loadValidOrder')
+            ->with($this->requestMock)
+            ->willReturn($this->resultRedirectMock);
+
+        $this->assertSame($this->resultRedirectMock, $this->viewController->execute());
+    }
+}
diff --git a/app/code/Magento/Sales/composer.json b/app/code/Magento/Sales/composer.json
index 465eb57a56a4b961e16b9fdd415b4b6365bf7339..422223e5139f617720e275ad5d5e0e50d2e5896a 100644
--- a/app/code/Magento/Sales/composer.json
+++ b/app/code/Magento/Sales/composer.json
@@ -3,34 +3,34 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-authorization": "0.42.0-beta11",
-        "magento/module-payment": "0.42.0-beta11",
-        "magento/module-checkout": "0.42.0-beta11",
-        "magento/module-theme": "0.42.0-beta11",
-        "magento/module-sales-rule": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-widget": "0.42.0-beta11",
-        "magento/module-directory": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-tax": "0.42.0-beta11",
-        "magento/module-gift-message": "0.42.0-beta11",
-        "magento/module-reports": "0.42.0-beta11",
-        "magento/module-catalog-inventory": "0.42.0-beta11",
-        "magento/module-wishlist": "0.42.0-beta11",
-        "magento/module-email": "0.42.0-beta11",
-        "magento/module-shipping": "0.42.0-beta11",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/module-media-storage": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
-        "magento/module-ui": "0.42.0-beta11",
-        "magento/module-quote": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-authorization": "0.74.0-beta1",
+        "magento/module-payment": "0.74.0-beta1",
+        "magento/module-checkout": "0.74.0-beta1",
+        "magento/module-theme": "0.74.0-beta1",
+        "magento/module-sales-rule": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-widget": "0.74.0-beta1",
+        "magento/module-directory": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-tax": "0.74.0-beta1",
+        "magento/module-gift-message": "0.74.0-beta1",
+        "magento/module-reports": "0.74.0-beta1",
+        "magento/module-catalog-inventory": "0.74.0-beta1",
+        "magento/module-wishlist": "0.74.0-beta1",
+        "magento/module-email": "0.74.0-beta1",
+        "magento/module-shipping": "0.74.0-beta1",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/module-media-storage": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
+        "magento/module-ui": "0.74.0-beta1",
+        "magento/module-quote": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Sales/view/email/shipment_new.html b/app/code/Magento/Sales/view/email/shipment_new.html
index aca9d92601a297bbc35aa1124ccd66bec8a47da5..a4f948c887a47a03bba1d29345fbe10c4a92a3e7 100644
--- a/app/code/Magento/Sales/view/email/shipment_new.html
+++ b/app/code/Magento/Sales/view/email/shipment_new.html
@@ -19,7 +19,7 @@
 "var order.shipping_address.format('html')":"Shipping Address",
 "var order.shipping_description":"Shipping Description",
 "layout handle=\"sales_email_order_shipment_items\" shipment=$shipment order=$order":"Shipment Items Grid",
-"block type='Magento\Framework\View\Element\Template' area='frontend' template='email/shipment/track.phtml' shipment=$shipment order=$order":"Shipment Track Details",
+"block type='Magento\\Framework\\View\\Element\\Template' area='frontend' template='email/shipment/track.phtml' shipment=$shipment order=$order":"Shipment Track Details",
 "var comment":"Shipment Comment"}
 @-->
 <!--@styles
diff --git a/app/code/Magento/Sales/view/email/shipment_new_guest.html b/app/code/Magento/Sales/view/email/shipment_new_guest.html
index 2f87e645bd00e237664db5fecf2c7d2a66acd486..0a94cfdb194a70cb304381ee8ca99ae43b78212e 100644
--- a/app/code/Magento/Sales/view/email/shipment_new_guest.html
+++ b/app/code/Magento/Sales/view/email/shipment_new_guest.html
@@ -18,7 +18,7 @@
 "var order.shipping_address.format('html')":"Shipping Address",
 "var order.shipping_description":"Shipping Description",
 "layout handle=\"sales_email_order_shipment_items\" shipment=$shipment order=$order":"Shipment Items Grid",
-"block type='Magento\Framework\View\Element\Template' area='frontend' template='email/shipment/track.phtml' shipment=$shipment order=$order":"Shipment Track Details",
+"block type='Magento\\Framework\\View\\Element\\Template' area='frontend' template='email/shipment/track.phtml' shipment=$shipment order=$order":"Shipment Track Details",
 "var comment":"Shipment Comment"}
 @-->
 <!--@styles
diff --git a/app/code/Magento/SalesRule/Test/Unit/Model/Rule/Action/Discount/CartFixedTest.php b/app/code/Magento/SalesRule/Test/Unit/Model/Rule/Action/Discount/CartFixedTest.php
index 2d91015cfcdb62848486ff502ae6c6771286a091..d01b7c2cdcea0cc05721cc401512f290719caa2b 100644
--- a/app/code/Magento/SalesRule/Test/Unit/Model/Rule/Action/Discount/CartFixedTest.php
+++ b/app/code/Magento/SalesRule/Test/Unit/Model/Rule/Action/Discount/CartFixedTest.php
@@ -74,11 +74,15 @@ class CartFixedTest extends \PHPUnit_Framework_TestCase
         );
         $dataFactory->expects($this->any())->method('create')->will($this->returnValue($this->data));
         $this->priceCurrency = $this->getMockBuilder('Magento\Framework\Pricing\PriceCurrencyInterface')->getMock();
-        $this->model = new \Magento\SalesRule\Model\Rule\Action\Discount\CartFixed($this->validator, $dataFactory, $this->priceCurrency);
+        $this->model = new \Magento\SalesRule\Model\Rule\Action\Discount\CartFixed(
+            $this->validator,
+            $dataFactory,
+            $this->priceCurrency
+        );
     }
 
     /**
-     * covers \Magento\SalesRule\Model\Rule\Action\Discount\CartFixed::calculate
+     * @covers \Magento\SalesRule\Model\Rule\Action\Discount\CartFixed::calculate
      */
     public function testCalculate()
     {
diff --git a/app/code/Magento/SalesRule/composer.json b/app/code/Magento/SalesRule/composer.json
index 0ffa29cf56722aab51fffb2e2809d2e8af908eb2..7b6dabaf938042fa2b51407057005cace699102d 100644
--- a/app/code/Magento/SalesRule/composer.json
+++ b/app/code/Magento/SalesRule/composer.json
@@ -3,26 +3,26 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-rule": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-sales": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-directory": "0.42.0-beta11",
-        "magento/module-shipping": "0.42.0-beta11",
-        "magento/module-payment": "0.42.0-beta11",
-        "magento/module-reports": "0.42.0-beta11",
-        "magento/module-catalog-rule": "0.42.0-beta11",
-        "magento/module-widget": "0.42.0-beta11",
-        "magento/module-quote": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-rule": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-sales": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-directory": "0.74.0-beta1",
+        "magento/module-shipping": "0.74.0-beta1",
+        "magento/module-payment": "0.74.0-beta1",
+        "magento/module-reports": "0.74.0-beta1",
+        "magento/module-catalog-rule": "0.74.0-beta1",
+        "magento/module-widget": "0.74.0-beta1",
+        "magento/module-quote": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Search/composer.json b/app/code/Magento/Search/composer.json
index 86fa6587ca018261a4b044ace8c47f182d7b1cd8..415447e9acbc405a7c005793b35d0e22a614f5f5 100644
--- a/app/code/Magento/Search/composer.json
+++ b/app/code/Magento/Search/composer.json
@@ -3,15 +3,15 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/framework": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-catalog-search": "0.42.0-beta11",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-reports": "0.42.0-beta11",
+        "magento/framework": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-catalog-search": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-reports": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Sendfriend/composer.json b/app/code/Magento/Sendfriend/composer.json
index d21e58d9379cc82c66c8aedf50fe91b493192c65..79ff1d7a327d2abc552ae245dab2ec19f579653f 100644
--- a/app/code/Magento/Sendfriend/composer.json
+++ b/app/code/Magento/Sendfriend/composer.json
@@ -3,15 +3,15 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-theme": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-theme": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Shipping/Controller/Adminhtml/Order/Shipment/AddComment.php b/app/code/Magento/Shipping/Controller/Adminhtml/Order/Shipment/AddComment.php
index 8e8662624c7776b8c7878fd32779b9f25880efd2..70310d404c6fa4273b42a117d9d705fd0fd2d9e2 100644
--- a/app/code/Magento/Shipping/Controller/Adminhtml/Order/Shipment/AddComment.php
+++ b/app/code/Magento/Shipping/Controller/Adminhtml/Order/Shipment/AddComment.php
@@ -8,6 +8,7 @@ namespace Magento\Shipping\Controller\Adminhtml\Order\Shipment;
 
 use Magento\Sales\Model\Order\Email\Sender\ShipmentSender;
 use Magento\Backend\App\Action;
+use Magento\Framework\View\Result\LayoutFactory;
 
 class AddComment extends \Magento\Backend\App\Action
 {
@@ -21,18 +22,26 @@ class AddComment extends \Magento\Backend\App\Action
      */
     protected $shipmentSender;
 
+    /**
+     * @var LayoutFactory
+     */
+    protected $resultLayoutFactory;
+
     /**
      * @param Action\Context $context
      * @param \Magento\Shipping\Controller\Adminhtml\Order\ShipmentLoader $shipmentLoader
      * @param ShipmentSender $shipmentSender
+     * @param LayoutFactory $resultLayoutFactory
      */
     public function __construct(
         Action\Context $context,
         \Magento\Shipping\Controller\Adminhtml\Order\ShipmentLoader $shipmentLoader,
-        ShipmentSender $shipmentSender
+        ShipmentSender $shipmentSender,
+        LayoutFactory $resultLayoutFactory
     ) {
         $this->shipmentLoader = $shipmentLoader;
         $this->shipmentSender = $shipmentSender;
+        $this->resultLayoutFactory = $resultLayoutFactory;
         parent::__construct($context);
     }
 
@@ -72,10 +81,9 @@ class AddComment extends \Magento\Backend\App\Action
 
             $this->shipmentSender->send($shipment, !empty($data['is_customer_notified']), $data['comment']);
             $shipment->save();
-
-            $this->_view->loadLayout(false);
-            $this->_view->getPage()->getConfig()->getTitle()->prepend(__('Shipments'));
-            $response = $this->_view->getLayout()->getBlock('shipment_comments')->toHtml();
+            $resultLayout = $this->resultLayoutFactory->create();
+            $resultLayout->addDefaultHandle();
+            $response = $resultLayout->getLayout()->getBlock('shipment_comments')->toHtml();
         } catch (\Magento\Framework\Exception\LocalizedException $e) {
             $response = ['error' => true, 'message' => $e->getMessage()];
         } catch (\Exception $e) {
diff --git a/app/code/Magento/Shipping/Test/Unit/Controller/Adminhtml/Order/Shipment/AddCommentTest.php b/app/code/Magento/Shipping/Test/Unit/Controller/Adminhtml/Order/Shipment/AddCommentTest.php
index 80749ec0001723fc287a435a806f6988324e331b..4bc12ca36516585e31b7e146693ef2641dcbe5b7 100644
--- a/app/code/Magento/Shipping/Test/Unit/Controller/Adminhtml/Order/Shipment/AddCommentTest.php
+++ b/app/code/Magento/Shipping/Test/Unit/Controller/Adminhtml/Order/Shipment/AddCommentTest.php
@@ -30,21 +30,11 @@ class AddCommentTest extends \PHPUnit_Framework_TestCase
      */
     protected $responseMock;
 
-    /**
-     * @var \Magento\Framework\View\Page\Title|\PHPUnit_Framework_MockObject_MockObject
-     */
-    protected $titleMock;
-
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $resultPageMock;
 
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    protected $pageConfigMock;
-
     /**
      * @var \Magento\Sales\Model\Order\Shipment|\PHPUnit_Framework_MockObject_MockObject
      */
@@ -55,6 +45,11 @@ class AddCommentTest extends \PHPUnit_Framework_TestCase
      */
     protected $viewInterfaceMock;
 
+    /**
+     * @var \Magento\Framework\View\Result\LayoutFactory|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $resultLayoutFactoryMock;
+
     /**
      * @var \Magento\Framework\ObjectManagerInterface|\PHPUnit_Framework_MockObject_MockObject
      */
@@ -95,9 +90,9 @@ class AddCommentTest extends \PHPUnit_Framework_TestCase
             '',
             false
         );
-        $this->titleMock = $this->getMock(
-            'Magento\Framework\View\Page\Title',
-            ['prepend', '__wakeup'],
+        $this->resultLayoutFactoryMock = $this->getMock(
+            'Magento\Framework\View\Result\LayoutFactory',
+            ['create'],
             [],
             '',
             false
@@ -106,9 +101,6 @@ class AddCommentTest extends \PHPUnit_Framework_TestCase
         $this->resultPageMock = $this->getMockBuilder('Magento\Framework\View\Result\Page')
             ->disableOriginalConstructor()
             ->getMock();
-        $this->pageConfigMock = $this->getMockBuilder('Magento\Framework\View\Page\Config')
-            ->disableOriginalConstructor()
-            ->getMock();
 
         $this->shipmentMock = $this->getMock(
             'Magento\Sales\Model\Order\Shipment',
@@ -136,15 +128,9 @@ class AddCommentTest extends \PHPUnit_Framework_TestCase
         $this->viewInterfaceMock->expects($this->any())->method('getPage')->will(
             $this->returnValue($this->resultPageMock)
         );
-        $this->resultPageMock->expects($this->any())->method('getConfig')->will(
-            $this->returnValue($this->pageConfigMock)
-        );
-
-        $this->pageConfigMock->expects($this->any())->method('getTitle')->will($this->returnValue($this->titleMock));
 
         $contextMock->expects($this->any())->method('getRequest')->will($this->returnValue($this->requestMock));
         $contextMock->expects($this->any())->method('getResponse')->will($this->returnValue($this->responseMock));
-        $contextMock->expects($this->any())->method('getTitle')->will($this->returnValue($this->titleMock));
         $contextMock->expects($this->any())->method('getView')->will($this->returnValue($this->viewInterfaceMock));
         $contextMock->expects($this->any())
             ->method('getObjectManager')
@@ -153,7 +139,8 @@ class AddCommentTest extends \PHPUnit_Framework_TestCase
         $this->controller = new \Magento\Shipping\Controller\Adminhtml\Order\Shipment\AddComment(
             $contextMock,
             $this->shipmentLoaderMock,
-            $this->shipmentSenderMock
+            $this->shipmentSenderMock,
+            $this->resultLayoutFactoryMock
         );
     }
 
@@ -189,15 +176,19 @@ class AddCommentTest extends \PHPUnit_Framework_TestCase
         $shipment = [];
         $tracking = [];
 
-        $layoutMock = $this->getMock('Magento\Framework\View\Layout', ['getBlock'], [], '', false);
-        $blockMock = $this->getMock('Magento\Shipping\Block\Adminhtml\View\Comments', ['toHtml'], [], '', false);
+        $resultLayoutMock = $this->getMock(
+            'Magento\Framework\View\Result\Layout',
+            ['getBlock', 'getDefaultLayoutHandle', 'addDefaultHandle', 'getLayout'],
+            [],
+            '',
+            false
+        );
 
         $this->requestMock->expects($this->once())->method('setParam')->with('shipment_id', $shipmentId);
         $this->requestMock->expects($this->once())
             ->method('getPost')
             ->with('comment')
             ->will($this->returnValue($data));
-        $this->titleMock->expects($this->once())->method('prepend');
         $this->requestMock->expects($this->any())
             ->method('getParam')
             ->will(
@@ -221,10 +212,15 @@ class AddCommentTest extends \PHPUnit_Framework_TestCase
         $this->shipmentMock->expects($this->once())->method('addComment');
         $this->shipmentSenderMock->expects($this->once())->method('send');
         $this->shipmentMock->expects($this->once())->method('save');
-        $this->viewInterfaceMock->expects($this->once())->method('loadLayout')->with(false);
-        $this->viewInterfaceMock->expects($this->once())->method('getLayout')->will($this->returnValue($layoutMock));
-        $layoutMock->expects($this->once())->method('getBlock')->will($this->returnValue($blockMock));
-        $blockMock->expects($this->once())->method('toHtml')->will($this->returnValue($result));
+        $layoutMock = $this->getMock('Magento\Framework\View\Layout', ['getBlock'], [], '', false);
+        $blockMock = $this->getMock('Magento\Shipping\Block\Adminhtml\View\Comments', ['toHtml'], [], '', false);
+        $blockMock->expects($this->once())->method('toHtml')->willReturn($result);
+        $layoutMock->expects($this->once())->method('getBlock')
+            ->with('shipment_comments')->willReturn($blockMock);
+        $resultLayoutMock->expects($this->once())->method('getLayout')->willReturn($layoutMock);
+        $resultLayoutMock->expects($this->once())->method('addDefaultHandle');
+        $this->resultLayoutFactoryMock->expects($this->once())->method('create')
+            ->will($this->returnValue($resultLayoutMock));
         $this->responseMock->expects($this->once())->method('setBody')->with($result);
 
         $this->assertNull($this->controller->execute());
diff --git a/app/code/Magento/Shipping/Test/Unit/Model/Carrier/AbstractCarrierOnlineTest.php b/app/code/Magento/Shipping/Test/Unit/Model/Carrier/AbstractCarrierOnlineTest.php
index 8d23a6c29774b45d53ba792783b38c893b49bfb2..d6f5bd813bcb526b736e417ee8ebd6d71cc528d2 100644
--- a/app/code/Magento/Shipping/Test/Unit/Model/Carrier/AbstractCarrierOnlineTest.php
+++ b/app/code/Magento/Shipping/Test/Unit/Model/Carrier/AbstractCarrierOnlineTest.php
@@ -61,7 +61,7 @@ class AbstractCarrierOnlineTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Shipping\Model\Shipping::composePackagesForCarrier
+     * @covers \Magento\Shipping\Model\Shipping::composePackagesForCarrier
      */
     public function testComposePackages()
     {
diff --git a/app/code/Magento/Shipping/Test/Unit/Model/ShippingTest.php b/app/code/Magento/Shipping/Test/Unit/Model/ShippingTest.php
index 4fc368be080007d10b1288242efef8e16b485dc2..8c788228fbb5362c507a5ef72dcd2a728cbddf5c 100644
--- a/app/code/Magento/Shipping/Test/Unit/Model/ShippingTest.php
+++ b/app/code/Magento/Shipping/Test/Unit/Model/ShippingTest.php
@@ -64,7 +64,7 @@ class ShippingTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Shipping\Model\Shipping::composePackagesForCarrier
+     * @covers \Magento\Shipping\Model\Shipping::composePackagesForCarrier
      */
     public function testComposePackages()
     {
diff --git a/app/code/Magento/Shipping/composer.json b/app/code/Magento/Shipping/composer.json
index 66635a57e11490fdb313c17fdb36376181e5787f..4b7d996aa9f690da7d3cc9e16022535c30e4810d 100644
--- a/app/code/Magento/Shipping/composer.json
+++ b/app/code/Magento/Shipping/composer.json
@@ -3,27 +3,27 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-sales": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-directory": "0.42.0-beta11",
-        "magento/module-contact": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-payment": "0.42.0-beta11",
-        "magento/module-tax": "0.42.0-beta11",
-        "magento/module-catalog-inventory": "0.42.0-beta11",
-        "magento/module-quote": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-sales": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-directory": "0.74.0-beta1",
+        "magento/module-contact": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-payment": "0.74.0-beta1",
+        "magento/module-tax": "0.74.0-beta1",
+        "magento/module-catalog-inventory": "0.74.0-beta1",
+        "magento/module-quote": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "ext-gd": "*",
         "magento/magento-composer-installer": "*"
     },
     "suggest": {
-        "magento/module-fedex": "0.42.0-beta11",
-        "magento/module-ups": "0.42.0-beta11"
+        "magento/module-fedex": "0.74.0-beta1",
+        "magento/module-ups": "0.74.0-beta1"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Sitemap/composer.json b/app/code/Magento/Sitemap/composer.json
index fbbf4562d2ee614b21f2746865145e0133155cdf..12eb36220dca7a48017263c5cbec95585753bd00 100644
--- a/app/code/Magento/Sitemap/composer.json
+++ b/app/code/Magento/Sitemap/composer.json
@@ -3,18 +3,18 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-cms": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-catalog-url-rewrite": "0.42.0-beta11",
-        "magento/module-media-storage": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-cms": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-catalog-url-rewrite": "0.74.0-beta1",
+        "magento/module-media-storage": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Store/Test/Unit/Model/Config/Reader/ReaderPoolTest.php b/app/code/Magento/Store/Test/Unit/Model/Config/Reader/ReaderPoolTest.php
index 3e118eff97ef41692ca7e7a857c0619e409f7bdd..6beb4daceb0ab7971c75e43a38e38935bd00600f 100644
--- a/app/code/Magento/Store/Test/Unit/Model/Config/Reader/ReaderPoolTest.php
+++ b/app/code/Magento/Store/Test/Unit/Model/Config/Reader/ReaderPoolTest.php
@@ -50,7 +50,7 @@ class ReaderPoolTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Store\Model\Config\Reader\ReaderPool::getReader
+     * @covers \Magento\Store\Model\Config\Reader\ReaderPool::getReader
      * @dataProvider getReaderDataProvider
      * @param string $scope
      * @param string $instanceType
diff --git a/app/code/Magento/Store/Test/Unit/Model/StorageFactoryTest.php b/app/code/Magento/Store/Test/Unit/Model/StorageFactoryTest.php
index 19b199bc54746bce23294bc885f1b2a2bc752cc8..31e5f8033705f1ff1ab629118bf255bb96dfca06 100644
--- a/app/code/Magento/Store/Test/Unit/Model/StorageFactoryTest.php
+++ b/app/code/Magento/Store/Test/Unit/Model/StorageFactoryTest.php
@@ -251,11 +251,11 @@ class StorageFactoryTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Store\Model\StorageFactory::_reinitStores
-     * covers \Magento\Store\Model\StorageFactory::_getStoreByGroup
-     * covers \Magento\Store\Model\StorageFactory::_getStoreByWebsite
-     * covers \Magento\Store\Model\StorageFactory::_checkCookieStore
-     * covers \Magento\Store\Model\StorageFactory::_checkRequestStore
+     * @covers \Magento\Store\Model\StorageFactory::_reinitStores
+     * @covers \Magento\Store\Model\StorageFactory::_getStoreByGroup
+     * @covers \Magento\Store\Model\StorageFactory::_getStoreByWebsite
+     * @covers \Magento\Store\Model\StorageFactory::_checkCookieStore
+     * @covers \Magento\Store\Model\StorageFactory::_checkRequestStore
      *
      * @dataProvider getWithStoresReinitDataProvider
      *
@@ -313,9 +313,9 @@ class StorageFactoryTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Store\Model\StorageFactory::_checkCookieStore
-     * covers \Magento\Store\Model\StorageFactory::getActiveStoreByCode
-     * covers \Magento\Store\Model\StorageFactory::setCurrentStore
+     * @covers \Magento\Store\Model\StorageFactory::_checkCookieStore
+     * @covers \Magento\Store\Model\StorageFactory::getActiveStoreByCode
+     * @covers \Magento\Store\Model\StorageFactory::setCurrentStore
      *
      * @dataProvider getFromCookieDataProvider
      */
@@ -352,9 +352,9 @@ class StorageFactoryTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Store\Model\StorageFactory::_checkRequestStore
-     * covers \Magento\Store\Model\StorageFactory::getActiveStoreByCode
-     * covers \Magento\Store\Model\StorageFactory::setCurrentStore
+     * @covers \Magento\Store\Model\StorageFactory::_checkRequestStore
+     * @covers \Magento\Store\Model\StorageFactory::getActiveStoreByCode
+     * @covers \Magento\Store\Model\StorageFactory::setCurrentStore
      *
      * @dataProvider getFromRequestDataProvider
      *
diff --git a/app/code/Magento/Store/Test/Unit/Model/StoreTest.php b/app/code/Magento/Store/Test/Unit/Model/StoreTest.php
index 91ec0f1d8c1c2d6eb49ca5cc962308734660ad64..c43af1f004dfe6972d9521e3d49bd6474fb99a4b 100644
--- a/app/code/Magento/Store/Test/Unit/Model/StoreTest.php
+++ b/app/code/Magento/Store/Test/Unit/Model/StoreTest.php
@@ -185,10 +185,10 @@ class StoreTest extends \PHPUnit_Framework_TestCase
     /**
      * @dataProvider getBaseUrlDataProvider
      *
-     * covers \Magento\Store\Model\Store::getBaseUrl
-     * covers \Magento\Store\Model\Store::getCode
-     * covers \Magento\Store\Model\Store::_updatePathUseRewrites
-     * covers \Magento\Store\Model\Store::_getConfig
+     * @covers \Magento\Store\Model\Store::getBaseUrl
+     * @covers \Magento\Store\Model\Store::getCode
+     * @covers \Magento\Store\Model\Store::_updatePathUseRewrites
+     * @covers \Magento\Store\Model\Store::_getConfig
      *
      * @param string $type
      * @param boolean $secure
@@ -600,7 +600,7 @@ class StoreTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Store\Model\Store::getBaseMediaDir
+     * @covers \Magento\Store\Model\Store::getBaseMediaDir
      */
     public function testGetBaseMediaDir()
     {
@@ -613,7 +613,7 @@ class StoreTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Store\Model\Store::getBaseStaticDir
+     * @covers \Magento\Store\Model\Store::getBaseStaticDir
      */
     public function testGetBaseStaticDir()
     {
diff --git a/app/code/Magento/Store/Ui/DataProvider/Row.php b/app/code/Magento/Store/Ui/DataProvider/Row.php
index f8a5c93885d98842fbc5a65f78487444edbd5a1a..e48e25ca61cba0b95b52af9c35ef079e8952b0db 100644
--- a/app/code/Magento/Store/Ui/DataProvider/Row.php
+++ b/app/code/Magento/Store/Ui/DataProvider/Row.php
@@ -44,9 +44,10 @@ class Row implements RowInterface
      * Get data
      *
      * @param array $dataRow
+     * @param array $data
      * @return mixed
      */
-    public function getData(array $dataRow)
+    public function getData(array $dataRow, array $data = [])
     {
         $content = '';
         $origStores = $dataRow['store_id'];
diff --git a/app/code/Magento/Store/composer.json b/app/code/Magento/Store/composer.json
index c991778c00e9d67dbc1dd0ae36810f0a49009e7a..23428c023c772aee7985533b95f22e38f7a75674 100644
--- a/app/code/Magento/Store/composer.json
+++ b/app/code/Magento/Store/composer.json
@@ -3,15 +3,15 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-directory": "0.42.0-beta11",
-        "magento/module-ui": "0.42.0-beta11",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/module-media-storage": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-directory": "0.74.0-beta1",
+        "magento/module-ui": "0.74.0-beta1",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/module-media-storage": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Tax/Setup/InstallData.php b/app/code/Magento/Tax/Setup/InstallData.php
index 03931a63e3b850c4bb7710fb428b8fb5283099ba..4e99ca1631f824f1d0306cec9c0ae200d95fc894 100644
--- a/app/code/Magento/Tax/Setup/InstallData.php
+++ b/app/code/Magento/Tax/Setup/InstallData.php
@@ -69,7 +69,7 @@ class InstallData implements InstallDataInterface
                 'visible_in_advanced_search' => true,
                 'used_in_product_listing' => true,
                 'unique' => false,
-                'apply_to' => implode($taxSetup->getTaxableItems(), ',')
+                'apply_to' => implode(',', $taxSetup->getTaxableItems())
             ]
         );
 
diff --git a/app/code/Magento/Tax/composer.json b/app/code/Magento/Tax/composer.json
index 941aaa559321007cdeb08ced1ca2ad7854b5c10b..aadd9667575528ba6c8ca55d3799b21cc02bfb4b 100644
--- a/app/code/Magento/Tax/composer.json
+++ b/app/code/Magento/Tax/composer.json
@@ -3,23 +3,23 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-directory": "0.42.0-beta11",
-        "magento/module-checkout": "0.42.0-beta11",
-        "magento/module-shipping": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-sales": "0.42.0-beta11",
-        "magento/module-reports": "0.42.0-beta11",
-        "magento/module-quote": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-directory": "0.74.0-beta1",
+        "magento/module-checkout": "0.74.0-beta1",
+        "magento/module-shipping": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-sales": "0.74.0-beta1",
+        "magento/module-reports": "0.74.0-beta1",
+        "magento/module-quote": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/TaxImportExport/composer.json b/app/code/Magento/TaxImportExport/composer.json
index 73cee1c7822a2a2a9bb68c783313e0436eec3188..5691c9d7310bbfd52bc0c717b997878258788548 100644
--- a/app/code/Magento/TaxImportExport/composer.json
+++ b/app/code/Magento/TaxImportExport/composer.json
@@ -3,15 +3,15 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-tax": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-directory": "0.42.0-beta11",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-tax": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-directory": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Theme/Block/Html/Pager.php b/app/code/Magento/Theme/Block/Html/Pager.php
index 30f416f7fcd23e9b5ca52771ce9b78d7822d1ad6..1c46e2806a835033d0e5f93aa5b6674aecdcff94 100644
--- a/app/code/Magento/Theme/Block/Html/Pager.php
+++ b/app/code/Magento/Theme/Block/Html/Pager.php
@@ -446,7 +446,15 @@ class Pager extends \Magento\Framework\View\Element\Template
         $urlParams['_fragment'] = $this->getFragment();
         $urlParams['_query'] = $params;
 
-        return $this->getUrl('*/*/*', $urlParams);
+        return $this->getUrl($this->getPath(), $urlParams);
+    }
+
+    /**
+     * @return string
+     */
+    protected function getPath()
+    {
+        return $this->_getData('path') ?: '*/*/*';
     }
 
     /**
diff --git a/app/code/Magento/Theme/Block/Html/Topmenu.php b/app/code/Magento/Theme/Block/Html/Topmenu.php
index 5bd175abffc813c4117778c4420df3d3a509c452..177418d892ed452d2864c4327e4a837a62ba7b07 100644
--- a/app/code/Magento/Theme/Block/Html/Topmenu.php
+++ b/app/code/Magento/Theme/Block/Html/Topmenu.php
@@ -7,6 +7,9 @@ namespace Magento\Theme\Block\Html;
 
 use Magento\Framework\View\Block\IdentityInterface;
 use Magento\Framework\View\Element\Template;
+use Magento\Framework\Data\TreeFactory;
+use Magento\Framework\Data\Tree\Node;
+use Magento\Framework\Data\Tree\NodeFactory;
 
 /**
  * Html page top menu block
@@ -28,13 +31,32 @@ class Topmenu extends Template implements IdentityInterface
     protected $_menu;
 
     /**
-     * Init top menu tree structure
+     * Core registry
      *
-     * @return void
+     * @var Registry
      */
-    public function _construct()
-    {
-        $this->_menu = new \Magento\Framework\Data\Tree\Node([], 'root', new \Magento\Framework\Data\Tree());
+    protected $registry;
+
+    /**
+     * @param Template\Context $context
+     * @param NodeFactory $nodeFactory
+     * @param TreeFactory $treeFactory
+     * @param array $data
+     */
+    public function __construct(
+        Template\Context $context,
+        NodeFactory $nodeFactory,
+        TreeFactory $treeFactory,
+        array $data = []
+    ) {
+        parent::__construct($context, $data);
+        $this->_menu = $nodeFactory->create(
+            [
+                'data' => [],
+                'idField' => 'root',
+                'tree' => $treeFactory->create()
+            ]
+        );
     }
 
     /**
@@ -272,6 +294,8 @@ class Topmenu extends Template implements IdentityInterface
 
         if ($item->getIsActive()) {
             $classes[] = 'active';
+        } elseif ($item->getHasActive()) {
+            $classes[] = 'has-active';
         }
 
         if ($item->getIsLast()) {
diff --git a/app/code/Magento/Theme/Test/Unit/Block/Html/TopmenuTest.php b/app/code/Magento/Theme/Test/Unit/Block/Html/TopmenuTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..ab2afb8ef4ea906040c419e4e04522f28013c09d
--- /dev/null
+++ b/app/code/Magento/Theme/Test/Unit/Block/Html/TopmenuTest.php
@@ -0,0 +1,141 @@
+<?php
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+
+namespace Magento\Theme\Test\Unit\Block\Html;
+
+use Magento\Theme\Block\Html\Topmenu;
+use Magento\Framework\Registry;
+use Magento\Framework\View\Element\Template\Context;
+use Magento\Framework\Data\TreeFactory;
+use Magento\Framework\Data\Tree\NodeFactory;
+
+class TopmenuTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var Registry|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $registry;
+
+    /**
+     * @var Context|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $context;
+
+    /**
+     * @var NodeFactory|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $nodeFactory;
+
+    /**
+     * @var TreeFactory|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $treeFactory;
+
+    /**
+     * @var \Magento\Catalog\Model\Category|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $category;
+
+    // @codingStandardsIgnoreStart
+
+    /** @var string  */
+    protected $htmlWithoutCategory = <<<HTML
+<li  class="level0 nav-1 first"><a href="http://magento2/category-0.html" ><span></span></a></li><li  class="level0 nav-2"><a href="http://magento2/category-1.html" ><span></span></a></li><li  class="level0 nav-3"><a href="http://magento2/category-2.html" ><span></span></a></li><li  class="level0 nav-4"><a href="http://magento2/category-3.html" ><span></span></a></li><li  class="level0 nav-5"><a href="http://magento2/category-4.html" ><span></span></a></li><li  class="level0 nav-6"><a href="http://magento2/category-5.html" ><span></span></a></li><li  class="level0 nav-7"><a href="http://magento2/category-6.html" ><span></span></a></li><li  class="level0 nav-8"><a href="http://magento2/category-7.html" ><span></span></a></li><li  class="level0 nav-9"><a href="http://magento2/category-8.html" ><span></span></a></li><li  class="level0 nav-10 last"><a href="http://magento2/category-9.html" ><span></span></a></li>
+HTML;
+
+    /** @var string  */
+    protected $htmlWithCategory = <<<HTML
+<li  class="level0 nav-1 first active"><a href="http://magento2/category-0.html" ><span></span></a></li><li  class="level0 nav-2"><a href="http://magento2/category-1.html" ><span></span></a></li><li  class="level0 nav-3"><a href="http://magento2/category-2.html" ><span></span></a></li><li  class="level0 nav-4"><a href="http://magento2/category-3.html" ><span></span></a></li><li  class="level0 nav-5"><a href="http://magento2/category-4.html" ><span></span></a></li><li  class="level0 nav-6"><a href="http://magento2/category-5.html" ><span></span></a></li><li  class="level0 nav-7"><a href="http://magento2/category-6.html" ><span></span></a></li><li  class="level0 nav-8"><a href="http://magento2/category-7.html" ><span></span></a></li><li  class="level0 nav-9"><a href="http://magento2/category-8.html" ><span></span></a></li><li  class="level0 nav-10 last"><a href="http://magento2/category-9.html" ><span></span></a></li>
+HTML;
+
+    // @codingStandardsIgnoreEnd
+
+    public function setUp()
+    {
+        $isCurrentItem = $this->getName() == 'testGetHtmlWithSelectedCategory' ? true : false;
+        $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
+
+        $this->context = $objectManager->getObject('Magento\Framework\View\Element\Template\Context');
+
+        $this->nodeFactory = $this->getMock('Magento\Framework\Data\Tree\NodeFactory', [], [], '', false);
+        $this->treeFactory = $this->getMock('Magento\Framework\Data\TreeFactory', [], [], '', false);
+
+        $tree = $this->getMock('Magento\Framework\Data\Tree', [], [], '', false);
+
+        $container = $this->getMock('Magento\Catalog\Model\Resource\Category\Tree', [], [], '', false);
+
+        $children = $this->getMock(
+            'Magento\Framework\Data\Tree\Node\Collection',
+            ['count'],
+            ['container' => $container]
+        );
+
+        for ($i = 0; $i < 10; $i++) {
+            $id = "category-node-$i";
+            $categoryNode = $this->getMock('Magento\Framework\Data\Tree\Node', ['getId', 'hasChildren'], [], '', false);
+            $categoryNode
+                ->expects($this->once())
+                ->method('getId')
+                ->willReturn($id);
+            $categoryNode
+                ->expects($this->atLeastOnce())
+                ->method('hasChildren')
+                ->willReturn(false);
+            $categoryNode->setData(
+                [
+                    'name' => "Category $i",
+                    'id' => $id,
+                    'url' => "http://magento2/category-$i.html",
+                    'is_active' => $i == 0 ? $isCurrentItem : false,
+                    'is_current_item' => $i == 0 ? $isCurrentItem : false,
+
+                ]
+            );
+            $children->add($categoryNode);
+        }
+
+        $children
+            ->expects($this->once())
+            ->method('count')
+            ->willReturn(10);
+
+        $node = $this->getMock('Magento\Framework\Data\Tree\Node', ['getChildren'], [], '', false);
+        $node
+            ->expects($this->once())
+            ->method('getChildren')
+            ->willReturn($children);
+        $node
+            ->expects($this->any())
+            ->method('__call')
+            ->with('getLevel', [])
+            ->willReturn(null);
+
+        $this->nodeFactory
+            ->expects($this->once())
+            ->method('create')
+            ->willReturn($node);
+
+        $this->treeFactory
+            ->expects($this->once())
+            ->method('create')
+            ->willReturn($tree);
+    }
+
+    protected function getTopmenu()
+    {
+        return new Topmenu($this->context, $this->nodeFactory, $this->treeFactory);
+    }
+
+    public function testGetHtmlWithoutSelectedCategory()
+    {
+        $this->assertEquals($this->htmlWithoutCategory, $this->getTopmenu()->getHtml());
+    }
+
+    public function testGetHtmlWithSelectedCategory()
+    {
+        $this->assertEquals($this->htmlWithCategory, $this->getTopmenu()->getHtml());
+    }
+}
diff --git a/app/code/Magento/Theme/Test/Unit/Model/Config/CustomizationTest.php b/app/code/Magento/Theme/Test/Unit/Model/Config/CustomizationTest.php
index e03b5190560c14ceaf76348595a978d09b92890d..9b84e52a91233cb09ce5ddf639f015fce02310e0 100644
--- a/app/code/Magento/Theme/Test/Unit/Model/Config/CustomizationTest.php
+++ b/app/code/Magento/Theme/Test/Unit/Model/Config/CustomizationTest.php
@@ -66,8 +66,8 @@ class CustomizationTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Theme\Model\Config\Customization::getAssignedThemeCustomizations
-     * covers \Magento\Theme\Model\Config\Customization::hasThemeAssigned
+     * @covers \Magento\Theme\Model\Config\Customization::getAssignedThemeCustomizations
+     * @covers \Magento\Theme\Model\Config\Customization::hasThemeAssigned
      */
     public function testGetAssignedThemeCustomizations()
     {
@@ -90,7 +90,7 @@ class CustomizationTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Theme\Model\Config\Customization::getUnassignedThemeCustomizations
+     * @covers \Magento\Theme\Model\Config\Customization::getUnassignedThemeCustomizations
      */
     public function testGetUnassignedThemeCustomizations()
     {
@@ -112,7 +112,7 @@ class CustomizationTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Theme\Model\Config\Customization::getStoresByThemes
+     * @covers \Magento\Theme\Model\Config\Customization::getStoresByThemes
      */
     public function testGetStoresByThemes()
     {
@@ -129,7 +129,7 @@ class CustomizationTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Theme\Model\Config\Customization::isThemeAssignedToStore
+     * @covers \Magento\Theme\Model\Config\Customization::isThemeAssignedToStore
      */
     public function testIsThemeAssignedToDefaultStore()
     {
@@ -151,7 +151,7 @@ class CustomizationTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Theme\Model\Config\Customization::isThemeAssignedToStore
+     * @covers \Magento\Theme\Model\Config\Customization::isThemeAssignedToStore
      */
     public function testIsThemeAssignedToConcreteStore()
     {
diff --git a/app/code/Magento/Theme/Test/Unit/Model/Theme/ValidationTest.php b/app/code/Magento/Theme/Test/Unit/Model/Theme/ValidationTest.php
index 2f45ad6f18488aaeea9c22eec09370d3e6590209..5912fe622bb6e84606dbe36cfe0451c9e708e0e2 100644
--- a/app/code/Magento/Theme/Test/Unit/Model/Theme/ValidationTest.php
+++ b/app/code/Magento/Theme/Test/Unit/Model/Theme/ValidationTest.php
@@ -16,7 +16,7 @@ class ValidationTest extends \PHPUnit_Framework_TestCase
      * @param bool $result
      * @param array $messages
      *
-     * covers \Magento\Framework\View\Design\Theme\Validator::validate
+     * @covers \Magento\Framework\View\Design\Theme\Validator::validate
      * @dataProvider dataProviderValidate
      */
     public function testValidate(array $data, $result, array $messages)
diff --git a/app/code/Magento/Theme/composer.json b/app/code/Magento/Theme/composer.json
index 55d1d0974c5e76385343b32781bfc3a5bf2e2784..054b5be09cb89b6af480f563d49084c47d61356f 100644
--- a/app/code/Magento/Theme/composer.json
+++ b/app/code/Magento/Theme/composer.json
@@ -3,23 +3,23 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-cms": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-widget": "0.42.0-beta11",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/module-media-storage": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
-        "magento/module-require-js": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-cms": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-widget": "0.74.0-beta1",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/module-media-storage": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
+        "magento/module-require-js": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "suggest": {
-        "magento/module-translation": "0.42.0-beta11"
+        "magento/module-translation": "0.74.0-beta1"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Theme/etc/adminhtml/system.xml b/app/code/Magento/Theme/etc/adminhtml/system.xml
index e2e23f3f131bc5392f197fa1c48cac6bdeef14c5..cd7a73c2a31162ecf910ebf0ece0510114953d97 100644
--- a/app/code/Magento/Theme/etc/adminhtml/system.xml
+++ b/app/code/Magento/Theme/etc/adminhtml/system.xml
@@ -61,7 +61,7 @@
                 <label>Header</label>
                 <field id="logo_src" translate="label" type="image" sortOrder="10" showInDefault="1" showInWebsite="1" showInStore="1">
                     <label>Logo Image</label>
-                    <comment>Allowed file types:PNG, GIF, JPG, JPEG.</comment>
+                    <comment>Allowed file types:PNG, GIF, JPG, JPEG, SVG.</comment>
                     <backend_model>Magento\Config\Model\Config\Backend\Image\Logo</backend_model>
                     <base_url type="media" scope_info="1">logo</base_url>
                 </field>
diff --git a/app/code/Magento/Translation/composer.json b/app/code/Magento/Translation/composer.json
index 8aa8d22d709a163f64f191c0a0f3a6e0fcc80938..2b6b99c5a5b6684b0dd40ae7c719d2155a199496 100644
--- a/app/code/Magento/Translation/composer.json
+++ b/app/code/Magento/Translation/composer.json
@@ -3,15 +3,15 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-developer": "0.42.0-beta11",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-theme": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-developer": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-theme": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Ui/Component/Listing.php b/app/code/Magento/Ui/Component/Listing.php
index edc8d667758a7396d77b60ba7dcdbe0f10525854..1cfbaa1acd6f32b74a42ed67eff1b24472b41e80 100644
--- a/app/code/Magento/Ui/Component/Listing.php
+++ b/app/code/Magento/Ui/Component/Listing.php
@@ -173,7 +173,7 @@ class Listing extends AbstractView
     {
         if ($this->hasData(static::ROW_DATA_PROVIDER_KEY)) {
             foreach ($this->getData(static::ROW_DATA_PROVIDER_KEY) as $field => $data) {
-                $dataRow[$field] = $this->dataProviderRowPool->get($data['class'])->getData($dataRow);
+                $dataRow[$field] = $this->dataProviderRowPool->get($data['class'])->getData($dataRow, $data);
             }
         }
 
diff --git a/app/code/Magento/Ui/Component/Listing/RowInterface.php b/app/code/Magento/Ui/Component/Listing/RowInterface.php
index bd0501e21f48f37a8f2e6ee8c16128ae99def105..28bde2e37215b475e15b5d3c583154ffc0dc84af 100644
--- a/app/code/Magento/Ui/Component/Listing/RowInterface.php
+++ b/app/code/Magento/Ui/Component/Listing/RowInterface.php
@@ -14,7 +14,8 @@ interface RowInterface
      * Get data
      *
      * @param array $dataRow
+     * @param array $data
      * @return mixed
      */
-    public function getData(array $dataRow);
+    public function getData(array $dataRow, array $data = []);
 }
diff --git a/app/code/Magento/Ui/composer.json b/app/code/Magento/Ui/composer.json
index 303f152dda5dd73a90eb7292cfb11315ea3af158..b0982298f12b05511723d258d7c814e1a1dcb972 100644
--- a/app/code/Magento/Ui/composer.json
+++ b/app/code/Magento/Ui/composer.json
@@ -3,13 +3,13 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Ui/view/base/layout/ui_components.xml b/app/code/Magento/Ui/view/base/layout/ui_components.xml
index ac23d0fefa2995ff3a7a600eae5e92ce8511913c..d8d2be00aa0e54a757831b1d04d749dca4a29ae1 100644
--- a/app/code/Magento/Ui/view/base/layout/ui_components.xml
+++ b/app/code/Magento/Ui/view/base/layout/ui_components.xml
@@ -233,4 +233,13 @@
             </argument>
         </arguments>
     </block>
+
+    <block class="Magento\Ui\Component\Form\Element\Input" name="post_code">
+        <arguments>
+            <argument name="js_config" xsi:type="array">
+                <item name="component" xsi:type="string">Magento_Ui/js/form/element/post-code</item>
+                <item name="dependentFiled" xsi:type="string">country_id</item>
+            </argument>
+        </arguments>
+    </block>
 </layout>
diff --git a/app/code/Magento/Ui/view/base/web/js/form/element/post-code.js b/app/code/Magento/Ui/view/base/web/js/form/element/post-code.js
new file mode 100644
index 0000000000000000000000000000000000000000..066d99b1d21078ebe36d2bf12077a15643ce002d
--- /dev/null
+++ b/app/code/Magento/Ui/view/base/web/js/form/element/post-code.js
@@ -0,0 +1,65 @@
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+define([
+    'underscore',
+    'Magento_Ui/js/lib/registry/registry',
+    './abstract'
+], function (_, registry, Abstract) {
+    'use strict';
+
+    return Abstract.extend({
+        /**
+         * Extended list of Listeners
+         *
+         * @return {this}
+         */
+        initListeners: function () {
+            this._super()
+                .update()
+                .provider.data.on('update:' + this.parentScope + '.country_id', this.update.bind(this));
+
+            return this;
+        },
+
+        /**
+         * Fix _postcode_ depend on _country_id_ change:
+         *  - If country in list "Zip/Postal Code is Optional countries" then
+         *    - field "postcode" should not be required
+         *
+         * @returns {this}
+         */
+        update: function () {
+            var parentScope = this.getPart(this.getPart(this.name, -2), -2),
+                option,
+                postcode = this;
+
+            registry.get(parentScope + '.country_id.0', function (countryComponent) {
+                var value = countryComponent.value();
+
+                if (!value) { // empty value discard logic
+                    return;
+                }
+
+                countryComponent
+                    .options()
+                    .some(function (el) {
+                        option = el;
+
+                        return el.value === value;
+                    });
+
+                if (!option.is_region_required) {
+                    postcode.error(false);
+                    postcode.validation = _.omit(postcode.validation, 'required-entry');
+                } else {
+                    postcode.validation['required-entry'] = true;
+                }
+                postcode.required(!!option.is_region_required);
+            });
+
+            return this;
+        }
+    });
+});
diff --git a/app/code/Magento/Ups/Test/Unit/Model/CarrierTest.php b/app/code/Magento/Ups/Test/Unit/Model/CarrierTest.php
index 9f3b8e9f1524124fec08c973395b447fe9b165cd..fa3a5f0d45f7afcceae08acd4b6119ed720f11e3 100644
--- a/app/code/Magento/Ups/Test/Unit/Model/CarrierTest.php
+++ b/app/code/Magento/Ups/Test/Unit/Model/CarrierTest.php
@@ -43,7 +43,7 @@ class CarrierTest extends \PHPUnit_Framework_TestCase
      * @param int $freeShippingSubtotal
      * @param int $requestSubtotal
      * @param int $expectedPrice
-     * covers Magento\Shipping\Model\Carrier\AbstractCarrierOnline::getMethodPrice
+     * @covers \Magento\Shipping\Model\Carrier\AbstractCarrierOnline::getMethodPrice
      */
     public function testGetMethodPrice(
         $cost,
diff --git a/app/code/Magento/Ups/composer.json b/app/code/Magento/Ups/composer.json
index 1e20507397b78fe31ab080f62960d85d064aa0b3..3ade1437142271516c30b3e9e6bb535b66243fde 100644
--- a/app/code/Magento/Ups/composer.json
+++ b/app/code/Magento/Ups/composer.json
@@ -3,18 +3,18 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-sales": "0.42.0-beta11",
-        "magento/module-shipping": "0.42.0-beta11",
-        "magento/module-directory": "0.42.0-beta11",
-        "magento/module-catalog-inventory": "0.42.0-beta11",
-        "magento/module-quote": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-sales": "0.74.0-beta1",
+        "magento/module-shipping": "0.74.0-beta1",
+        "magento/module-directory": "0.74.0-beta1",
+        "magento/module-catalog-inventory": "0.74.0-beta1",
+        "magento/module-quote": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/UrlRewrite/Test/Unit/Model/Resource/UrlRewriteCollectionTest.php b/app/code/Magento/UrlRewrite/Test/Unit/Model/Resource/UrlRewriteCollectionTest.php
index 56c97858d72ffe81a311b5a354bf6815fe7aeca1..70d57d2c4498da3efafd388801c6889c83506863 100644
--- a/app/code/Magento/UrlRewrite/Test/Unit/Model/Resource/UrlRewriteCollectionTest.php
+++ b/app/code/Magento/UrlRewrite/Test/Unit/Model/Resource/UrlRewriteCollectionTest.php
@@ -94,7 +94,7 @@ class UrlRewriteCollectionTest extends \PHPUnit_Framework_TestCase
      * @param bool $withAdmin
      * @param array $condition
      * @dataProvider dataProviderForTestAddStoreIfStoreIsArray
-     * covers \Magento\UrlRewrite\Model\Resource\UrlRewriteCollection
+     * @covers \Magento\UrlRewrite\Model\Resource\UrlRewriteCollection
      */
     public function testAddStoreFilterIfStoreIsArray($storeId, $withAdmin, $condition)
     {
@@ -121,7 +121,7 @@ class UrlRewriteCollectionTest extends \PHPUnit_Framework_TestCase
      * @param bool $withAdmin
      * @param array $condition
      * @dataProvider dataProviderForTestAddStoreFilterIfStoreIsInt
-     * covers \Magento\UrlRewrite\Model\Resource\UrlRewriteCollection
+     * @covers \Magento\UrlRewrite\Model\Resource\UrlRewriteCollection
      */
     public function testAddStoreFilterIfStoreIsInt($storeId, $withAdmin, $condition)
     {
diff --git a/app/code/Magento/UrlRewrite/composer.json b/app/code/Magento/UrlRewrite/composer.json
index d19f73d7c5f28a6076bbed9b094aa0bbc790fe7d..0f6cc4c40641bbbf39e21818263d2b6e59ce3c2d 100644
--- a/app/code/Magento/UrlRewrite/composer.json
+++ b/app/code/Magento/UrlRewrite/composer.json
@@ -3,17 +3,17 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-catalog-url-rewrite": "0.42.0-beta11",
-        "magento/module-cms": "0.42.0-beta11",
-        "magento/module-cms-url-rewrite": "0.42.0-beta11",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-catalog-url-rewrite": "0.74.0-beta1",
+        "magento/module-cms": "0.74.0-beta1",
+        "magento/module-cms-url-rewrite": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/User/composer.json b/app/code/Magento/User/composer.json
index b8b8c082c03e2b723ec7e1b596ec2606cacdad6c..d38aaa90c87b16997210056787a35102cb2950f6 100644
--- a/app/code/Magento/User/composer.json
+++ b/app/code/Magento/User/composer.json
@@ -3,15 +3,15 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-authorization": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-integration": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-authorization": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-integration": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Usps/Test/Unit/Helper/DataTest.php b/app/code/Magento/Usps/Test/Unit/Helper/DataTest.php
index 46f0740b94c84207a735c5ec17afc6217a791190..dec567c7c188affd3aa2d75c1b4ebf0335bb99dd 100644
--- a/app/code/Magento/Usps/Test/Unit/Helper/DataTest.php
+++ b/app/code/Magento/Usps/Test/Unit/Helper/DataTest.php
@@ -23,7 +23,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Usps\Helper\Data::displayGirthValue
+     * @covers \Magento\Usps\Helper\Data::displayGirthValue
      * @dataProvider shippingMethodDataProvider
      */
     public function testDisplayGirthValue($shippingMethod)
@@ -32,7 +32,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Usps\Helper\Data::displayGirthValue
+     * @covers \Magento\Usps\Helper\Data::displayGirthValue
      */
     public function testDisplayGirthValueFalse()
     {
diff --git a/app/code/Magento/Usps/composer.json b/app/code/Magento/Usps/composer.json
index 41c06f2dbd0461bc65cb25993b566acbf0530d30..68f18c23eb633ccde6f5164311a0780751b46aef 100644
--- a/app/code/Magento/Usps/composer.json
+++ b/app/code/Magento/Usps/composer.json
@@ -3,20 +3,20 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-shipping": "0.42.0-beta11",
-        "magento/module-directory": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-sales": "0.42.0-beta11",
-        "magento/module-catalog-inventory": "0.42.0-beta11",
-        "magento/module-quote": "0.42.0-beta11",
-        "magento/module-config": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-shipping": "0.74.0-beta1",
+        "magento/module-directory": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-sales": "0.74.0-beta1",
+        "magento/module-catalog-inventory": "0.74.0-beta1",
+        "magento/module-quote": "0.74.0-beta1",
+        "magento/module-config": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "lib-libxml": "*",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Variable/composer.json b/app/code/Magento/Variable/composer.json
index c848657430cf42d75dafbb323b7f74f08014e694..6d7b619e65727bd62962c50a4ca9ab2159acde5d 100644
--- a/app/code/Magento/Variable/composer.json
+++ b/app/code/Magento/Variable/composer.json
@@ -3,14 +3,14 @@
     "description": "N/A",
     "require": {
         "php": "~5.4.11|~5.5.0|~5.6.0",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-email": "0.42.0-beta11",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-email": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Version/composer.json b/app/code/Magento/Version/composer.json
index 54446a457a44db3bc812496b1de1885e3bb3fc63..9b9831759083c9a51158378d524d2f5a07dd0769 100644
--- a/app/code/Magento/Version/composer.json
+++ b/app/code/Magento/Version/composer.json
@@ -3,11 +3,11 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/framework": "0.42.0-beta11",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Webapi/composer.json b/app/code/Magento/Webapi/composer.json
index 17d31417ad16d2641472039e26e30ee44d650469..0136c7bdf532b9264ec783b69f5e64a269f03cb9 100644
--- a/app/code/Magento/Webapi/composer.json
+++ b/app/code/Magento/Webapi/composer.json
@@ -3,18 +3,18 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-authorization": "0.42.0-beta11",
-        "magento/module-integration": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-authorization": "0.74.0-beta1",
+        "magento/module-integration": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "suggest": {
-        "magento/module-user": "0.42.0-beta11"
+        "magento/module-user": "0.74.0-beta1"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Weee/composer.json b/app/code/Magento/Weee/composer.json
index b68a250e2dc813a378e0c4f395ddaf8c3fc8f9af..8480dfcfa5fe338a9c6fdceeb566ecb024f8554f 100644
--- a/app/code/Magento/Weee/composer.json
+++ b/app/code/Magento/Weee/composer.json
@@ -3,20 +3,20 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-tax": "0.42.0-beta11",
-        "magento/module-sales": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-directory": "0.42.0-beta11",
-        "magento/module-eav": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-quote": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-tax": "0.74.0-beta1",
+        "magento/module-sales": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-directory": "0.74.0-beta1",
+        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-quote": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Widget/Test/Unit/Model/Resource/Layout/Link/CollectionTest.php b/app/code/Magento/Widget/Test/Unit/Model/Resource/Layout/Link/CollectionTest.php
index 5dff2e4e507c158af16aa2b4eaab358bca4ddc78..7f9758212a5172c1d62acec7ea756f138b2750d9 100644
--- a/app/code/Magento/Widget/Test/Unit/Model/Resource/Layout/Link/CollectionTest.php
+++ b/app/code/Magento/Widget/Test/Unit/Model/Resource/Layout/Link/CollectionTest.php
@@ -77,7 +77,7 @@ class CollectionTest extends \Magento\Widget\Test\Unit\Model\Resource\Layout\Abs
     }
 
     /**
-     * covers \Magento\Widget\Model\Resource\Layout\Link\Collection::_joinWithUpdate
+     * @covers \Magento\Widget\Model\Resource\Layout\Link\Collection::_joinWithUpdate
      */
     public function testJoinWithUpdate()
     {
diff --git a/app/code/Magento/Widget/Test/Unit/Model/Resource/Layout/Update/CollectionTest.php b/app/code/Magento/Widget/Test/Unit/Model/Resource/Layout/Update/CollectionTest.php
index ad8ce91ec6df3fc2a59226308e518e1e005e9805..44d72494a04be86fcfe79536ab9d6a893a9f0e05 100644
--- a/app/code/Magento/Widget/Test/Unit/Model/Resource/Layout/Update/CollectionTest.php
+++ b/app/code/Magento/Widget/Test/Unit/Model/Resource/Layout/Update/CollectionTest.php
@@ -49,7 +49,7 @@ class CollectionTest extends \Magento\Widget\Test\Unit\Model\Resource\Layout\Abs
     }
 
     /**
-     * covers \Magento\Widget\Model\Resource\Layout\Update\Collection::_joinWithLink
+     * @covers \Magento\Widget\Model\Resource\Layout\Update\Collection::_joinWithLink
      */
     public function testJoinWithLink()
     {
diff --git a/app/code/Magento/Widget/composer.json b/app/code/Magento/Widget/composer.json
index e2d2a842edd068dd2c92f4e42bfe93e8c691523c..0aa395f85c8c85205b03bea4407a46211ae5801f 100644
--- a/app/code/Magento/Widget/composer.json
+++ b/app/code/Magento/Widget/composer.json
@@ -3,17 +3,17 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-cms": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-theme": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
-        "magento/module-variable": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-cms": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-theme": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
+        "magento/module-variable": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Widget/view/adminhtml/templates/instance/edit/layout.phtml b/app/code/Magento/Widget/view/adminhtml/templates/instance/edit/layout.phtml
index b3a294959551111b2dd789d1f6ead5b382606ed5..497e17ccd74927e5a392d6c37a6b3774710dd1cf 100644
--- a/app/code/Magento/Widget/view/adminhtml/templates/instance/edit/layout.phtml
+++ b/app/code/Magento/Widget/view/adminhtml/templates/instance/edit/layout.phtml
@@ -15,6 +15,9 @@
         <div class="actions"><?php echo $block->getAddLayoutButtonHtml() ?></div>
     </div>
 </fieldset>
+<!--[if IE]>
+<script id="ie-deferred-loader" defer="defer" src=""></script>
+<![endif]-->
 <script>
 require([
     'jquery',
diff --git a/app/code/Magento/Wishlist/Test/Unit/Controller/Shared/AllcartTest.php b/app/code/Magento/Wishlist/Test/Unit/Controller/Shared/AllcartTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..fbd2ce5f641ac78949c061f63885d182daaad5c9
--- /dev/null
+++ b/app/code/Magento/Wishlist/Test/Unit/Controller/Shared/AllcartTest.php
@@ -0,0 +1,163 @@
+<?php
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+
+namespace Magento\Wishlist\Test\Unit\Controller\Shared;
+
+class AllcartTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Wishlist\Controller\Shared\WishlistProvider|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $wishlistProvider;
+
+    /**
+     * @var \Magento\Framework\App\Request\Http|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $request;
+
+    /**
+     * @var \Magento\Wishlist\Model\ItemCarrier|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $itemCarrier;
+
+    /**
+     * @var \Magento\Framework\App\Response\Http|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $response;
+
+    /**
+     * @var \Magento\Framework\App\Action\Context|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $context;
+
+    protected function setUp()
+    {
+        $this->wishlistProvider = $this->getMock(
+            '\Magento\Wishlist\Controller\Shared\WishlistProvider',
+            [],
+            [],
+            '',
+            false
+        );
+        $this->request = $this->getMock('Magento\Framework\App\Request\Http', [], [], '', false);
+        $this->itemCarrier = $this->getMock('Magento\Wishlist\Model\ItemCarrier', [], [], '', false);
+        $this->context = $this->getMock('Magento\Framework\App\Action\Context', [], [], '', false);
+        $this->response = $this->getMock('Magento\Framework\App\Response\Http', [], [], '', false);
+    }
+
+    protected function prepareContext()
+    {
+        $om = $this->getMock('Magento\Framework\App\ObjectManager', [], [], '', false);
+        $eventManager = $this->getMock('Magento\Framework\Event\Manager', null, [], '', false);
+        $url = $this->getMock('Magento\Framework\Url', [], [], '', false);
+        $actionFlag = $this->getMock('Magento\Framework\App\ActionFlag', [], [], '', false);
+        $redirect = $this->getMock('\Magento\Store\App\Response\Redirect', [], [], '', false);
+        $view = $this->getMock('Magento\Framework\App\View', [], [], '', false);
+        $messageManager = $this->getMock('Magento\Framework\Message\Manager', [], [], '', false);
+
+        $this->context
+            ->expects($this->any())
+            ->method('getObjectManager')
+            ->will($this->returnValue($om));
+        $this->context
+            ->expects($this->any())
+            ->method('getRequest')
+            ->will($this->returnValue($this->request));
+        $this->context
+            ->expects($this->any())
+            ->method('getResponse')
+            ->will($this->returnValue($this->response));
+        $this->context
+            ->expects($this->any())
+            ->method('getEventManager')
+            ->will($this->returnValue($eventManager));
+        $this->context
+            ->expects($this->any())
+            ->method('getUrl')
+            ->will($this->returnValue($url));
+        $this->context
+            ->expects($this->any())
+            ->method('getActionFlag')
+            ->will($this->returnValue($actionFlag));
+        $this->context
+            ->expects($this->any())
+            ->method('getRedirect')
+            ->will($this->returnValue($redirect));
+        $this->context
+            ->expects($this->any())
+            ->method('getView')
+            ->will($this->returnValue($view));
+        $this->context
+            ->expects($this->any())
+            ->method('getMessageManager')
+            ->will($this->returnValue($messageManager));
+    }
+
+    public function getController()
+    {
+        $this->prepareContext();
+        return new \Magento\Wishlist\Controller\Shared\Allcart(
+            $this->context,
+            $this->wishlistProvider,
+            $this->itemCarrier
+        );
+    }
+
+    public function testExecuteWithNoWishlist()
+    {
+        $this->wishlistProvider->expects($this->once())
+            ->method('getWishlist')
+            ->willReturn(false);
+
+        $this->request
+            ->expects($this->once())
+            ->method('initForward')
+            ->will($this->returnValue(true));
+        $this->request
+            ->expects($this->once())
+            ->method('setActionName')
+            ->with('noroute')
+            ->will($this->returnValue(true));
+        $this->request
+            ->expects($this->once())
+            ->method('setDispatched')
+            ->with(false)
+            ->will($this->returnValue(true));
+
+        $controller = $this->getController();
+        $controller->execute();
+    }
+
+    public function testExecuteWithWishlist()
+    {
+        $wishlist = $this->getMockBuilder('Magento\Wishlist\Model\Wishlist')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $this->wishlistProvider->expects($this->once())
+            ->method('getWishlist')
+            ->willReturn($wishlist);
+
+        $this->request
+            ->expects($this->once())
+            ->method('getParam')
+            ->with('qty')
+            ->will($this->returnValue(2));
+
+        $this->itemCarrier
+            ->expects($this->once())
+            ->method('moveAllToCart')
+            ->with($wishlist, 2)
+            ->will($this->returnValue('http://redirect-url.com'));
+
+        $this->response
+            ->expects($this->once())
+            ->method('setRedirect')
+            ->will($this->returnValue('http://redirect-url.com'));
+
+        $controller = $this->getController();
+        $controller->execute();
+    }
+}
diff --git a/app/code/Magento/Wishlist/Test/Unit/Helper/RssTest.php b/app/code/Magento/Wishlist/Test/Unit/Helper/RssTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..5a4959ba7e961db3e220fb274bc261f932a5de05
--- /dev/null
+++ b/app/code/Magento/Wishlist/Test/Unit/Helper/RssTest.php
@@ -0,0 +1,252 @@
+<?php
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+namespace Magento\Wishlist\Test\Unit\Helper;
+
+class RssTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Wishlist\Helper\Rss
+     */
+    protected $model;
+
+    /**
+     * @var \Magento\Wishlist\Model\WishlistFactory|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $wishlistFactoryMock;
+
+    /**
+     * @var \Magento\Framework\App\RequestInterface|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $requestMock;
+
+    /**
+     * @var \Magento\Framework\Url\DecoderInterface|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $urlDecoderMock;
+
+    /**
+     * @var \Magento\Customer\Api\Data\CustomerInterfaceFactory|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $customerFactoryMock;
+
+    /**
+     * @var \Magento\Customer\Model\Session|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $customerSessionMock;
+
+    /**
+     * @var \Magento\Customer\Api\CustomerRepositoryInterface|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $customerRepositoryMock;
+
+    /**
+     * @var \Magento\Framework\Module\Manager|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $moduleManagerMock;
+
+    /**
+     * @var \Magento\Framework\App\Config\ScopeConfigInterface|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $scopeConfigMock;
+
+    public function setUp()
+    {
+        $this->wishlistFactoryMock = $this->getMockBuilder('Magento\Wishlist\Model\WishlistFactory')
+            ->disableOriginalConstructor()
+            ->setMethods(['create'])
+            ->getMock();
+
+        $this->requestMock = $this->getMockBuilder('Magento\Framework\App\RequestInterface')
+            ->getMock();
+
+        $this->urlDecoderMock = $this->getMockBuilder('Magento\Framework\Url\DecoderInterface')
+            ->getMock();
+
+        $this->customerFactoryMock = $this->getMockBuilder('Magento\Customer\Api\Data\CustomerInterfaceFactory')
+            ->disableOriginalConstructor()
+            ->getMock();
+
+        $this->customerSessionMock = $this->getMockBuilder('Magento\Customer\Model\Session')
+            ->disableOriginalConstructor()
+            ->getMock();
+
+        $this->customerRepositoryMock = $this->getMockBuilder('Magento\Customer\Api\CustomerRepositoryInterface')
+            ->getMock();
+
+        $this->moduleManagerMock = $this->getMockBuilder('Magento\Framework\Module\Manager')
+            ->disableOriginalConstructor()
+            ->getMock();
+
+        $this->scopeConfigMock = $this->getMockBuilder('Magento\Framework\App\Config\ScopeConfigInterface')
+            ->getMock();
+
+        $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
+
+        $this->model = $objectManager->getObject(
+            'Magento\Wishlist\Helper\Rss',
+            [
+                'wishlistFactory' => $this->wishlistFactoryMock,
+                'httpRequest' => $this->requestMock,
+                'urlDecoder' => $this->urlDecoderMock,
+                'customerFactory' => $this->customerFactoryMock,
+                'customerSession' => $this->customerSessionMock,
+                'customerRepository' => $this->customerRepositoryMock,
+                'moduleManager' => $this->moduleManagerMock,
+                'scopeConfig' => $this->scopeConfigMock,
+            ]
+        );
+    }
+
+    public function testGetWishlistWithWishlistId()
+    {
+        $wishlistId = 1;
+
+        $wishlist = $this->getMockBuilder('Magento\Wishlist\Model\Wishlist')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $this->wishlistFactoryMock->expects($this->once())
+            ->method('create')
+            ->with([])
+            ->willReturn($wishlist);
+
+        $this->requestMock->expects($this->once())
+            ->method('getParam')
+            ->with('wishlist_id', null)
+            ->willReturn($wishlistId);
+
+        $wishlist->expects($this->once())
+            ->method('load')
+            ->with($wishlistId, null)
+            ->willReturnSelf();
+
+        $this->assertEquals($wishlist, $this->model->getWishlist());
+        // Check that wishlist is cached
+        $this->assertSame($wishlist, $this->model->getWishlist());
+    }
+
+    public function testGetWishlistWithCustomerId()
+    {
+        $customerId = 1;
+        $data = $customerId . ',2';
+
+        $wishlist = $this->getMockBuilder('Magento\Wishlist\Model\Wishlist')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $this->wishlistFactoryMock->expects($this->once())
+            ->method('create')
+            ->with([])
+            ->willReturn($wishlist);
+
+        $this->requestMock->expects($this->at(0))
+            ->method('getParam')
+            ->with('wishlist_id', null)
+            ->willReturn('');
+
+        $this->urlDecoderMock->expects($this->any())
+            ->method('decode')
+            ->willReturnArgument(0);
+
+        $this->requestMock->expects($this->at(1))
+            ->method('getParam')
+            ->with('data', null)
+            ->willReturn($data);
+
+        $this->customerSessionMock->expects($this->once())
+            ->method('getCustomerId')
+            ->willReturn(0);
+
+        $customer = $this->getMockBuilder('Magento\Customer\Api\Data\CustomerInterface')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $this->customerFactoryMock->expects($this->once())
+            ->method('create')
+            ->with([])
+            ->willReturn($customer);
+
+        $this->customerRepositoryMock->expects($this->never())
+            ->method('getById');
+
+        $customer->expects($this->exactly(2))
+            ->method('getId')
+            ->willReturn($customerId);
+
+        $wishlist->expects($this->once())
+            ->method('loadByCustomerId')
+            ->with($customerId, false)
+            ->willReturnSelf();
+
+        $this->assertEquals($wishlist, $this->model->getWishlist());
+    }
+
+    public function testGetCustomerWithSession()
+    {
+        $customerId = 1;
+        $data = $customerId . ',2';
+
+        $this->urlDecoderMock->expects($this->any())
+            ->method('decode')
+            ->willReturnArgument(0);
+
+        $this->requestMock->expects($this->once())
+            ->method('getParam')
+            ->with('data', null)
+            ->willReturn($data);
+
+        $this->customerSessionMock->expects($this->once())
+            ->method('getCustomerId')
+            ->willReturn($customerId);
+
+        $customer = $this->getMockBuilder('Magento\Customer\Api\Data\CustomerInterface')
+            ->disableOriginalConstructor()
+            ->getMock();
+
+        $this->customerRepositoryMock->expects($this->once())
+            ->method('getById')
+            ->with($customerId)
+            ->willReturn($customer);
+
+        $this->customerFactoryMock->expects($this->never())
+            ->method('create');
+
+        $this->assertEquals($customer, $this->model->getCustomer());
+        // Check that customer is cached
+        $this->assertSame($customer, $this->model->getCustomer());
+    }
+
+    /**
+     * @param bool $isModuleEnabled
+     * @param bool $isWishlistActive
+     * @param bool $result
+     * @dataProvider dataProviderIsRssAllow
+     */
+    public function testIsRssAllow($isModuleEnabled, $isWishlistActive, $result)
+    {
+        $this->moduleManagerMock->expects($this->once())
+            ->method('isEnabled')
+            ->with('Magento_Rss')
+            ->willReturn($isModuleEnabled);
+
+        $this->scopeConfigMock->expects($this->any())
+            ->method('isSetFlag')
+            ->with('rss/wishlist/active', \Magento\Store\Model\ScopeInterface::SCOPE_STORE)
+            ->willReturn($isWishlistActive);
+
+        $this->assertEquals($result, $this->model->isRssAllow());
+    }
+
+    /**
+     * @return array
+     */
+    public function dataProviderIsRssAllow()
+    {
+        return [
+            [false, false, false],
+            [true, false, false],
+            [false, true, false],
+            [true, true, true],
+        ];
+    }
+}
diff --git a/app/code/Magento/Wishlist/composer.json b/app/code/Magento/Wishlist/composer.json
index 2c765b3762ba323cef4aaaebb924fd2a43965287..004b28a9a14d3769dcf3dc22f7af500a5da4e2c6 100644
--- a/app/code/Magento/Wishlist/composer.json
+++ b/app/code/Magento/Wishlist/composer.json
@@ -3,28 +3,28 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/module-store": "0.42.0-beta11",
-        "magento/module-customer": "0.42.0-beta11",
-        "magento/module-catalog": "0.42.0-beta11",
-        "magento/module-checkout": "0.42.0-beta11",
-        "magento/module-theme": "0.42.0-beta11",
-        "magento/module-catalog-inventory": "0.42.0-beta11",
-        "magento/module-rss": "0.42.0-beta11",
-        "magento/module-backend": "0.42.0-beta11",
-        "magento/module-sales": "0.42.0-beta11",
-        "magento/module-grouped-product": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
-        "magento/module-ui": "0.42.0-beta11",
+        "magento/module-store": "0.74.0-beta1",
+        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-catalog": "0.74.0-beta1",
+        "magento/module-checkout": "0.74.0-beta1",
+        "magento/module-theme": "0.74.0-beta1",
+        "magento/module-catalog-inventory": "0.74.0-beta1",
+        "magento/module-rss": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta1",
+        "magento/module-sales": "0.74.0-beta1",
+        "magento/module-grouped-product": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
+        "magento/module-ui": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "suggest": {
-        "magento/module-configurable-product": "0.42.0-beta11",
-        "magento/module-downloadable": "0.42.0-beta11",
-        "magento/module-bundle": "0.42.0-beta11",
-        "magento/module-cookie": "0.42.0-beta11"
+        "magento/module-configurable-product": "0.74.0-beta1",
+        "magento/module-downloadable": "0.74.0-beta1",
+        "magento/module-bundle": "0.74.0-beta1",
+        "magento/module-cookie": "0.74.0-beta1"
     },
     "type": "magento2-module",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Wishlist/i18n/de_DE.csv b/app/code/Magento/Wishlist/i18n/de_DE.csv
index 364939cebbb084d7898b300060311b23bf45dab1..7d170fb8ee8f5702e701cfb9e889fbfdd62e6c8b 100644
--- a/app/code/Magento/Wishlist/i18n/de_DE.csv
+++ b/app/code/Magento/Wishlist/i18n/de_DE.csv
@@ -1,5 +1,5 @@
 Back,Zurück
-Product,Produkt
+Product Name,Produkt
 Quantity,Quantity
 Configure,Configure
 "You added %1 to your shopping cart.","You added %1 to your shopping cart."
@@ -101,5 +101,5 @@ Message,Nachricht
 "My Wish List Link","My Wish List Link"
 "Display Wish List Summary","Display Wish List Summary"
 "No Items Found","No Items Found"
-"User description","Anwender Beschreibung"
+"User Description","Anwender Beschreibung"
 "Product Details and Comment","Produktangaben und Kommentare"
diff --git a/app/code/Magento/Wishlist/i18n/en_US.csv b/app/code/Magento/Wishlist/i18n/en_US.csv
index 125f7266ade2bd3d8df8223912d3dc8cd51e02c8..032419a9e0618024eb892ffb4f2478c25bcb0e12 100644
--- a/app/code/Magento/Wishlist/i18n/en_US.csv
+++ b/app/code/Magento/Wishlist/i18n/en_US.csv
@@ -1,5 +1,5 @@
 Back,Back
-Product,Product
+Product Name,Product Name
 Quantity,Quantity
 Configure,Configure
 "You added %1 to your shopping cart.","You added %1 to your shopping cart."
@@ -101,5 +101,5 @@ Message,Message
 "My Wish List Link","My Wish List Link"
 "Display Wish List Summary","Display Wish List Summary"
 "No Items Found","No Items Found"
-"User description","User description"
+"User Description","User Description"
 "Product Details and Comment","Product Details and Comment"
diff --git a/app/code/Magento/Wishlist/i18n/es_ES.csv b/app/code/Magento/Wishlist/i18n/es_ES.csv
index cd8aab6a37915de181661717949dc201d3bf84fa..0c3d383c19eb5b00384fb9278a46f6c6a864dc28 100644
--- a/app/code/Magento/Wishlist/i18n/es_ES.csv
+++ b/app/code/Magento/Wishlist/i18n/es_ES.csv
@@ -1,5 +1,5 @@
 Back,Volver
-Product,Producto
+Product Name,Producto
 Quantity,Quantity
 Configure,Configure
 "You added %1 to your shopping cart.","You added %1 to your shopping cart."
@@ -101,5 +101,5 @@ Message,Mensaje
 "My Wish List Link","My Wish List Link"
 "Display Wish List Summary","Display Wish List Summary"
 "No Items Found","No Items Found"
-"User description","Descripción del usuario"
+"User Description","Descripción del usuario"
 "Product Details and Comment","Detalles del producto y comentarios"
diff --git a/app/code/Magento/Wishlist/i18n/fr_FR.csv b/app/code/Magento/Wishlist/i18n/fr_FR.csv
index 512c6ad4ec38dca4642b48a2142c82c82f112175..393bd7ad11c2455ddb548f10a17cb532ea4c10d1 100644
--- a/app/code/Magento/Wishlist/i18n/fr_FR.csv
+++ b/app/code/Magento/Wishlist/i18n/fr_FR.csv
@@ -1,5 +1,5 @@
 Back,Retour
-Product,Produit
+Product Name,Produit
 Quantity,Quantity
 Configure,Configure
 "You added %1 to your shopping cart.","You added %1 to your shopping cart."
@@ -101,5 +101,5 @@ Message,Message
 "My Wish List Link","My Wish List Link"
 "Display Wish List Summary","Display Wish List Summary"
 "No Items Found","No Items Found"
-"User description","Description utilisateur"
+"User Description","Description utilisateur"
 "Product Details and Comment","Détails et commentaires sur le produit"
diff --git a/app/code/Magento/Wishlist/i18n/nl_NL.csv b/app/code/Magento/Wishlist/i18n/nl_NL.csv
index 9a25398b7cdadff32bdf1964fd0730304487edc4..8742b17c50cbdcfb6999186862a5f55e8c634d66 100644
--- a/app/code/Magento/Wishlist/i18n/nl_NL.csv
+++ b/app/code/Magento/Wishlist/i18n/nl_NL.csv
@@ -1,5 +1,5 @@
 Back,Terug
-Product,Product
+Product Name,Product
 Quantity,Quantity
 Configure,Configure
 "You added %1 to your shopping cart.","You added %1 to your shopping cart."
@@ -101,5 +101,5 @@ Message,Boodschap
 "My Wish List Link","My Wish List Link"
 "Display Wish List Summary","Display Wish List Summary"
 "No Items Found","No Items Found"
-"User description","Gebruikers beschrijving"
+"User Description","Gebruikers beschrijving"
 "Product Details and Comment","Product Details en het Commentaar"
diff --git a/app/code/Magento/Wishlist/i18n/pt_BR.csv b/app/code/Magento/Wishlist/i18n/pt_BR.csv
index 9e297438a2bcf5cd7e22a01ca82fd6f2e093fa91..21f4da865aca77be54eddc52c8e5761342522e44 100644
--- a/app/code/Magento/Wishlist/i18n/pt_BR.csv
+++ b/app/code/Magento/Wishlist/i18n/pt_BR.csv
@@ -1,5 +1,5 @@
 Back,Voltar
-Product,Produto
+Product Name,Produto
 Quantity,Quant.
 Configure,Configure
 "You added %1 to your shopping cart.","You added %1 to your shopping cart."
@@ -101,5 +101,5 @@ Message,Mensagem
 "My Wish List Link","My Wish List Link"
 "Display Wish List Summary","Display Wish List Summary"
 "No Items Found","No Items Found"
-"User description","Descrição do usuário"
+"User Description","Descrição do usuário"
 "Product Details and Comment","Detalhes de produto e comentários"
diff --git a/app/code/Magento/Wishlist/i18n/zh_CN.csv b/app/code/Magento/Wishlist/i18n/zh_CN.csv
index 9c0338dae00531b3e39f990261d1e320b326d29b..5ad8d2e6066973040f76226ddae69ca8b2733964 100644
--- a/app/code/Magento/Wishlist/i18n/zh_CN.csv
+++ b/app/code/Magento/Wishlist/i18n/zh_CN.csv
@@ -1,5 +1,5 @@
 Back,返回
-Product,产品
+Product Name,产品
 Quantity,Quantity
 Configure,Configure
 "You added %1 to your shopping cart.","You added %1 to your shopping cart."
@@ -101,5 +101,5 @@ Message,信息
 "My Wish List Link","My Wish List Link"
 "Display Wish List Summary","Display Wish List Summary"
 "No Items Found","No Items Found"
-"User description",用户描述
+"User Description",用户描述
 "Product Details and Comment",产品详情与评论
diff --git a/app/code/Magento/Wishlist/view/adminhtml/layout/customer_index_wishlist.xml b/app/code/Magento/Wishlist/view/adminhtml/layout/customer_index_wishlist.xml
index 9f4c0cc8513679c3f977fd8e4f83f8249d08a2a4..599991c00bccd6551091ddd1aae37db7e45f2971 100644
--- a/app/code/Magento/Wishlist/view/adminhtml/layout/customer_index_wishlist.xml
+++ b/app/code/Magento/Wishlist/view/adminhtml/layout/customer_index_wishlist.xml
@@ -32,7 +32,7 @@
                 </arguments>
                 <block class="Magento\Backend\Block\Widget\Grid\Column" as="product_name">
                     <arguments>
-                        <argument name="header" xsi:type="string" translate="true">Product</argument>
+                        <argument name="header" xsi:type="string" translate="true">Product Name</argument>
                         <argument name="id" xsi:type="string">product_name</argument>
                         <argument name="index" xsi:type="string">product_name</argument>
                         <argument name="filter" xsi:type="string">Magento\Wishlist\Block\Adminhtml\Widget\Grid\Column\Filter\Text</argument>
@@ -43,7 +43,7 @@
                 </block>
                 <block class="Magento\Backend\Block\Widget\Grid\Column" as="description">
                     <arguments>
-                        <argument name="header" xsi:type="string" translate="true">User description</argument>
+                        <argument name="header" xsi:type="string" translate="true">User Description</argument>
                         <argument name="index" xsi:type="string">description</argument>
                         <argument name="id" xsi:type="string">description</argument>
                         <argument name="renderer" xsi:type="string">Magento\Customer\Block\Adminhtml\Edit\Tab\Wishlist\Grid\Renderer\Description</argument>
diff --git a/app/code/Magento/Wishlist/view/frontend/layout/wishlist_email_items.xml b/app/code/Magento/Wishlist/view/frontend/layout/wishlist_email_items.xml
index a582b869e59821a440e2a112027b2650ed4a083a..6931eaa1ce0adff76800cfe774e58db8d1e9773e 100644
--- a/app/code/Magento/Wishlist/view/frontend/layout/wishlist_email_items.xml
+++ b/app/code/Magento/Wishlist/view/frontend/layout/wishlist_email_items.xml
@@ -7,8 +7,6 @@
 -->
 <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd">
     <body>
-        <referenceContainer name="root">
-            <block class="Magento\Wishlist\Block\Share\Email\Items" name="wishlist.email.items" cacheable="false"/>
-        </referenceContainer>
+        <block class="Magento\Wishlist\Block\Share\Email\Items" name="wishlist.email.items" cacheable="false"/>
     </body>
 </page>
diff --git a/app/design/adminhtml/Magento/backend/Magento_Downloadable/web/css/source/_module.less b/app/design/adminhtml/Magento/backend/Magento_Downloadable/web/css/source/_module.less
new file mode 100644
index 0000000000000000000000000000000000000000..af531ff02ac2067b0fc1d51bab40c460070df5a3
--- /dev/null
+++ b/app/design/adminhtml/Magento/backend/Magento_Downloadable/web/css/source/_module.less
@@ -0,0 +1,81 @@
+// /**
+//  * Copyright © 2015 Magento. All rights reserved.
+//  * See COPYING.txt for license details.
+//  */
+
+//
+//  Variables
+//  _____________________________________________
+
+// @todo ui - rebuilt with common classes for table control and file upload ui component
+
+//
+//  File uploads dynamic control
+//  ---------------------------------------------
+
+.downloadable-form {
+    .col-price,
+    .col-limit,
+    .col-share,
+    .col-sort {
+        width: 1%;
+    }
+    .col-action {
+        width: 1px;
+    }
+    td {
+        &.col-limit {
+            white-space: nowrap;
+        }
+    }
+    .admin__control-table {
+        .admin__control-text {
+            margin-bottom: .5rem;
+            min-width: 6rem;
+        }
+    }
+    .files,
+    .files-wide {
+        .row {
+            margin: .7rem 0;
+            > .admin__control-text {
+                margin-top: .7rem;
+            }
+        }
+        .uploader {
+            margin: .5rem 0;
+        }
+        .fileinput-button {
+            color: @link__color;
+            cursor: pointer;
+            display: inline-block;
+            float: none;
+            margin: .5rem 0;
+            text-decoration: none;
+            &:hover {
+                color: @link__hover__color;
+                text-decoration: underline;
+            }
+        }
+
+    }
+    .action-remove {
+        .button-reset();
+        .icon-font(
+            @icon-delete__content,
+            @icons-admin__font-name,
+            @_icon-font-size: 1.8rem,
+            @_icon-font-line-height: 16px,
+            @_icon-font-text-hide: true,
+            @_icon-font-position: after,
+            @_icon-font-color: @color-brown-darkie
+        );
+        margin-top: .5rem;
+    }
+}
+
+@-moz-document url-prefix() { // Firefox fieldset overflow bug fix
+    .downloadable-form {
+        display: table-column;
+    }
+}
diff --git a/app/design/adminhtml/Magento/backend/composer.json b/app/design/adminhtml/Magento/backend/composer.json
index cf75e20e5ac18b425bf1d15c4d2d3a3e11ba10a6..fedb7a45696e89600bf4546d45e39c86d5074af0 100644
--- a/app/design/adminhtml/Magento/backend/composer.json
+++ b/app/design/adminhtml/Magento/backend/composer.json
@@ -3,11 +3,11 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/framework": "0.42.0-beta11",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-theme",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/design/adminhtml/Magento/backend/web/css/override.less b/app/design/adminhtml/Magento/backend/web/css/override.less
index 1b6b674ec910a5e84f7ef66f0e1b05e4fae9768b..173fee2cef2b7c89dbb57e20e388ee32706d9451 100644
--- a/app/design/adminhtml/Magento/backend/web/css/override.less
+++ b/app/design/adminhtml/Magento/backend/web/css/override.less
@@ -328,7 +328,7 @@ nav ol {
 .admin__control-file:active + .admin__control-file-label:before,
 .admin__control-file:focus + .admin__control-file-label:before,
 .admin__control-textarea:focus,
-.admin__control-addon [class*='admin__control-']:focus + label:before {
+.admin__control-addon [class*='admin__control-']:focus + [class*='admin__addon-']:before {
   border-color: #007bdb;
   box-shadow: none;
   outline: 0;
@@ -345,6 +345,7 @@ nav ol {
   opacity: .5;
   cursor: not-allowed;
 }
+.admin__fieldset > .admin__field.admin__field-wide[class] > .admin__field-control,
 .address-item-edit-content .admin__field[class] > .admin__field-control,
 .page-layout-admin-login .admin__field[class] > .admin__field-control {
   float: none;
@@ -352,6 +353,7 @@ nav ol {
   text-align: left;
   width: auto;
 }
+.admin__fieldset > .admin__field.admin__field-wide[class]:not(.admin__field-option) > .admin__field-label,
 .address-item-edit-content .admin__field[class]:not(.admin__field-option) > .admin__field-label,
 .page-layout-admin-login .admin__field[class]:not(.admin__field-option) > .admin__field-label {
   text-align: left;
@@ -361,20 +363,58 @@ nav ol {
   margin-bottom: 0.86rem;
   margin-top: -0.14rem;
 }
+.admin__fieldset > .admin__field.admin__field-wide[class]:not(.admin__field-option) > .admin__field-label:before,
 .address-item-edit-content .admin__field[class]:not(.admin__field-option) > .admin__field-label:before,
 .page-layout-admin-login .admin__field[class]:not(.admin__field-option) > .admin__field-label:before {
   display: none;
 }
+.admin__fieldset > .admin__field.admin__field-wide[class]:not(.admin__field-option)._required > .admin__field-label span,
 .address-item-edit-content .admin__field[class]:not(.admin__field-option)._required > .admin__field-label span,
 .page-layout-admin-login .admin__field[class]:not(.admin__field-option)._required > .admin__field-label span {
   padding-left: 1.5rem;
 }
+.admin__fieldset > .admin__field.admin__field-wide[class]:not(.admin__field-option)._required > .admin__field-label span:after,
 .address-item-edit-content .admin__field[class]:not(.admin__field-option)._required > .admin__field-label span:after,
 .page-layout-admin-login .admin__field[class]:not(.admin__field-option)._required > .admin__field-label span:after {
   left: 0;
   margin-left: 30px;
   top: .2rem;
 }
+.admin__control-table-wrapper {
+  max-width: 100%;
+  overflow-x: auto;
+  overflow-y: hidden;
+}
+.admin__control-table {
+  width: 100%;
+}
+.admin__control-table thead {
+  background: none;
+}
+.admin__control-table td,
+.admin__control-table th {
+  background: #efefef;
+  border: 0;
+  border-bottom: 1px solid #ffffff;
+  padding: 1.3rem 2.5rem 1.3rem 0;
+  text-align: left;
+}
+.admin__control-table td:first-child,
+.admin__control-table th:first-child {
+  padding-left: 1.5rem;
+}
+.admin__control-table th {
+  border: 0;
+  vertical-align: bottom;
+  color: #303030;
+  font-size: 1.4rem;
+  font-weight: 600;
+  padding-bottom: 0;
+}
+.admin__control-table th._required span:after {
+  color: #eb5202;
+  content: '*';
+}
 .admin__control-text {
   line-height: 3.3rem;
   width: 100%;
@@ -684,9 +724,11 @@ option:empty {
   color: #808080;
   content: attr(data-config-scope);
   display: inline-block;
-  position: absolute;
+  font-size: 1.2rem;
   left: ~" calc( (100%) * 0.7777777777777778 - 30px )";
+  line-height: 3.2rem;
   margin-left: 60px;
+  position: absolute;
   width: ~" calc( (100%) * 0.2222222222222222 - 30px )";
 }
 .admin__field-control .admin__field[data-config-scope]:nth-child(n+2):before {
@@ -3241,6 +3283,10 @@ fieldset[disabled] .admin__control-text + .ui-datepicker-trigger {
   font-size: 1.7rem;
   transition: color 0.1s linear;
 }
+.admin__menu .submenu-close:hover {
+  cursor: pointer;
+  text-decoration: none;
+}
 .admin__menu .submenu-close:hover:before {
   color: #ffffff;
 }
@@ -4277,6 +4323,108 @@ fieldset[disabled] .admin__control-text + .ui-datepicker-trigger {
   font-size: 2.4rem;
   font-weight: 600;
 }
+.downloadable-form .col-price,
+.downloadable-form .col-limit,
+.downloadable-form .col-share,
+.downloadable-form .col-sort {
+  width: 1%;
+}
+.downloadable-form .col-action {
+  width: 1px;
+}
+.downloadable-form td.col-limit {
+  white-space: nowrap;
+}
+.downloadable-form .admin__control-table .admin__control-text {
+  margin-bottom: .5rem;
+  min-width: 6rem;
+}
+.downloadable-form .files .row,
+.downloadable-form .files-wide .row {
+  margin: .7rem 0;
+}
+.downloadable-form .files .row > .admin__control-text,
+.downloadable-form .files-wide .row > .admin__control-text {
+  margin-top: .7rem;
+}
+.downloadable-form .files .uploader,
+.downloadable-form .files-wide .uploader {
+  margin: .5rem 0;
+}
+.downloadable-form .files .fileinput-button,
+.downloadable-form .files-wide .fileinput-button {
+  color: #007bdb;
+  cursor: pointer;
+  display: inline-block;
+  float: none;
+  margin: .5rem 0;
+  text-decoration: none;
+}
+.downloadable-form .files .fileinput-button:hover,
+.downloadable-form .files-wide .fileinput-button:hover {
+  color: #007bdb;
+  text-decoration: underline;
+}
+.downloadable-form .action-remove {
+  background-image: none;
+  background: none;
+  border: 0;
+  margin: 0;
+  padding: 0;
+  -moz-box-sizing: content-box;
+  box-shadow: none;
+  text-shadow: none;
+  line-height: inherit;
+  font-weight: 400;
+  display: inline-block;
+  text-decoration: none;
+  margin-top: .5rem;
+}
+.downloadable-form .action-remove:focus,
+.downloadable-form .action-remove:active {
+  background: none;
+  border: none;
+}
+.downloadable-form .action-remove:hover {
+  background: none;
+  border: none;
+}
+.downloadable-form .action-remove.disabled,
+.downloadable-form .action-remove[disabled],
+fieldset[disabled] .downloadable-form .action-remove {
+  cursor: not-allowed;
+  pointer-events: none;
+  opacity: 0.5;
+}
+.downloadable-form .action-remove > span {
+  border: 0;
+  clip: rect(0, 0, 0, 0);
+  height: 1px;
+  margin: -1px;
+  overflow: hidden;
+  padding: 0;
+  position: absolute;
+  width: 1px;
+}
+.downloadable-form .action-remove:after {
+  font-family: 'Admin Icons';
+  content: '\e630';
+  font-size: 1.8rem;
+  line-height: 16px;
+  color: #41362f;
+  overflow: hidden;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+@-moz-document url-prefix() {
+  .downloadable-form {
+    display: table-column;
+  }
+}
 .admin__section-nav {
   padding-bottom: 51px;
 }
diff --git a/app/design/adminhtml/Magento/backend/web/css/source/forms/_control-table.less b/app/design/adminhtml/Magento/backend/web/css/source/forms/_control-table.less
new file mode 100644
index 0000000000000000000000000000000000000000..50386e2ae44e46440fdb7fe4023e2efa3572e50b
--- /dev/null
+++ b/app/design/adminhtml/Magento/backend/web/css/source/forms/_control-table.less
@@ -0,0 +1,54 @@
+// /**
+//  * Copyright © 2015 Magento. All rights reserved.
+//  * See COPYING.txt for license details.
+//  */
+
+//
+//  Variables
+//  _____________________________________________
+
+// @todo ui - rebuilt dynamic table control
+
+//
+//  Table control
+//  ---------------------------------------------
+
+.admin__control-table-wrapper {
+    max-width: 100%;
+    overflow-x: auto;
+    overflow-y: hidden;
+}
+
+.admin__control-table {
+    width: 100%;
+    thead {
+        background: none;
+    }
+    td,
+    th {
+        background: @color-white-dark-smoke;
+        border: 0;
+        border-bottom: 1px solid @color-white;
+        padding: 1.3rem 2.5rem 1.3rem 0;
+        text-align: left;
+        &:first-child {
+            padding-left: 1.5rem;
+        }
+    }
+    th {
+        border: 0;
+        vertical-align: bottom;
+        color: @color-very-dark-gray-black;
+        font-size: @font-size__base;
+        font-weight: @font-weight__semibold;
+        padding-bottom: 0;
+        &._required {
+            span {
+                &:after {
+                    color: @field-label__required__color;
+                    content: '*';
+                }
+            }
+        }
+    }
+}
diff --git a/app/design/adminhtml/Magento/backend/web/css/source/forms/_controls.less b/app/design/adminhtml/Magento/backend/web/css/source/forms/_controls.less
index 987d5f6f39f406ed9f1b5aa1c89be49566bf78b8..8618dc7b82dbffb6800f314e4f65687a91f1bd9b 100644
--- a/app/design/adminhtml/Magento/backend/web/css/source/forms/_controls.less
+++ b/app/design/adminhtml/Magento/backend/web/css/source/forms/_controls.less
@@ -4,6 +4,7 @@
 //  */
 
 @import (reference) '_extends.less';
+@import '_control-table.less';
 
 //
 //  Variables
@@ -288,7 +289,7 @@ option:empty {
         &[disabled] + [class*='admin__addon-']:before {
             &:extend(.__form-control-styles[disabled]);
         }
-        &:focus + label:before {
+        &:focus + [class*='admin__addon-']:before {
             &:extend(.__form-control-styles:focus);
         }
     }
diff --git a/app/design/adminhtml/Magento/backend/web/css/source/forms/_fields.less b/app/design/adminhtml/Magento/backend/web/css/source/forms/_fields.less
index d1a4f148c350ea82dece47f8ad6055f22dfb1bf2..c7218ab8e50904e566c03b6c9591e617c6a5da3f 100644
--- a/app/design/adminhtml/Magento/backend/web/css/source/forms/_fields.less
+++ b/app/design/adminhtml/Magento/backend/web/css/source/forms/_fields.less
@@ -39,6 +39,9 @@
         padding: 0;
         #mix-grid .row();
 
+        &.admin__field-wide {
+            .extend__field-rows();
+        }
         > .admin__field-control {
             #mix-grid .column(4,9);
         }
@@ -138,9 +141,11 @@
             color: @field-scope__color;
             content: attr(data-config-scope);
             display: inline-block;
-            position: absolute;
+            font-size: @font-size__s;
             left: @_length;
+            line-height: 3.2rem;
             margin-left: 2 * @temp_gutter;
+            position: absolute;
 
             & {
                 #mix-grid .return_length(2,9);
diff --git a/app/design/frontend/Magento/blank/Magento_Checkout/web/css/source/_module.less b/app/design/frontend/Magento/blank/Magento_Checkout/web/css/source/_module.less
index d4eee51f4323b613c79ad681dc0c5f1f7dd3ef86..9fd0cc27f492effdb869f17edc22b2f513cbf3de 100644
--- a/app/design/frontend/Magento/blank/Magento_Checkout/web/css/source/_module.less
+++ b/app/design/frontend/Magento/blank/Magento_Checkout/web/css/source/_module.less
@@ -153,6 +153,9 @@
             .fieldset > .field > .label {
                 font-weight: @font-weight__regular;
             }
+            .product-item-name {
+                margin: 0;
+            }
         }
         
         .data.table:extend(.abs-product-options-list all) {
diff --git a/app/design/frontend/Magento/blank/composer.json b/app/design/frontend/Magento/blank/composer.json
index ccdc3da87013b1cf25caac771f5340cfe051b35c..4e238d267afb5e499c9f49936fa95724e4c5232f 100644
--- a/app/design/frontend/Magento/blank/composer.json
+++ b/app/design/frontend/Magento/blank/composer.json
@@ -3,11 +3,11 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/framework": "0.42.0-beta11",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-theme",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/design/frontend/Magento/luma/composer.json b/app/design/frontend/Magento/luma/composer.json
index 8210d430f42df6cf719e7e3b3bc26235f1f721f7..6b06d6914a0feb010b8903bb2de4e8173a221290 100644
--- a/app/design/frontend/Magento/luma/composer.json
+++ b/app/design/frontend/Magento/luma/composer.json
@@ -3,12 +3,12 @@
     "description": "N/A",
     "require": {
         "php": "~5.5.0|~5.6.0",
-        "magento/theme-frontend-blank": "0.42.0-beta11",
-        "magento/framework": "0.42.0-beta11",
+        "magento/theme-frontend-blank": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-theme",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/etc/di.xml b/app/etc/di.xml
index a3da2e85a1954b11a9415d002266b285fad6b676..cb45113bb261c8ce90486a5a1d4be251fc658744 100755
--- a/app/etc/di.xml
+++ b/app/etc/di.xml
@@ -557,13 +557,6 @@
             <argument name="publisher" xsi:type="object">developerPublisher</argument>
         </arguments>
     </type>
-    <type name="Magento\Framework\View\Asset\SourceFileGeneratorPool">
-        <arguments>
-            <argument name="fileGeneratorTypes" xsi:type="array">
-                <item name="less" xsi:type="object">Magento\Framework\Less\FileGenerator</item>
-            </argument>
-        </arguments>
-    </type>
     <virtualType name="developerPublisher" type="Magento\Framework\App\View\Asset\Publisher">
         <arguments>
             <argument name="materializationStrategyFactory" xsi:type="object">developerMaterialization</argument>
@@ -577,24 +570,23 @@
             </argument>
         </arguments>
     </virtualType>
-    <virtualType name="lessFileGeneratorMaterialization" type="Magento\Framework\App\View\Asset\MaterializationStrategy\Factory">
+    <type name="Magento\Framework\View\Asset\SourceFileGeneratorPool">
         <arguments>
-            <argument name="strategiesList" xsi:type="array">
-                <item name="view_preprocessed" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink</item>
-                <item name="default" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Copy</item>
+            <argument name="fileGeneratorTypes" xsi:type="array">
+                <item name="less" xsi:type="object">fileassemblerFileGenerator</item>
             </argument>
         </arguments>
-    </virtualType>
-    <virtualType name="lessFileGeneratorPublisher" type="Magento\Framework\App\View\Asset\Publisher">
+    </type>
+    <virtualType name="fileassemblerFileGenerator" type="Magento\Framework\Less\FileGenerator">
         <arguments>
-            <argument name="materializationStrategyFactory" xsi:type="object">lessFileGeneratorMaterialization</argument>
+            <argument name="relatedGenerator" xsi:type="object">fileassemblerRelatedFilesGenerator</argument>
         </arguments>
     </virtualType>
-    <type name="Magento\Framework\Less\FileGenerator">
+    <virtualType name="fileassemblerRelatedFilesGenerator" type="Magento\Developer\Model\Less\FileGenerator\PublicationDecorator">
         <arguments>
-            <argument name="publisher" xsi:type="object">lessFileGeneratorPublisher</argument>
+            <argument name="publisher" xsi:type="object">developerPublisher</argument>
         </arguments>
-    </type>
+    </virtualType>
     <virtualType name="fallbackResolverSimpleWithGroupedCache" type="Magento\Framework\View\Design\FileResolution\Fallback\Resolver\Simple">
         <arguments>
             <argument name="cache" xsi:type="object">Magento\Framework\View\Design\FileResolution\Fallback\CacheData\Grouped</argument>
diff --git a/app/i18n/magento/de_de/composer.json b/app/i18n/magento/de_de/composer.json
index e531a741d5ba2686b71cb3db8d6a9b65bd21dba2..4405c15797e07f2c9742718c495e0a63d8f1f9c9 100644
--- a/app/i18n/magento/de_de/composer.json
+++ b/app/i18n/magento/de_de/composer.json
@@ -1,13 +1,13 @@
 {
     "name": "magento/language-de_de",
     "description": "German (Germany) language",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
     ],
     "require": {
-        "magento/framework": "0.42.0-beta11",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-language",
diff --git a/app/i18n/magento/en_us/composer.json b/app/i18n/magento/en_us/composer.json
index 153bc0d9d3253be61f43226fae2fcf87ba063d19..e60b68a5e769d9efcac3f03e691b823a27d4e7a7 100644
--- a/app/i18n/magento/en_us/composer.json
+++ b/app/i18n/magento/en_us/composer.json
@@ -1,13 +1,13 @@
 {
     "name": "magento/language-en_us",
     "description": "English (United States) language",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
     ],
     "require": {
-        "magento/framework": "0.42.0-beta11",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-language",
diff --git a/app/i18n/magento/es_es/composer.json b/app/i18n/magento/es_es/composer.json
index 93032c4b83eb27ce4aa8f7a8392f0bc9f0bfd761..b0583142f7b14854b893ec53aa810bce785ba0c6 100644
--- a/app/i18n/magento/es_es/composer.json
+++ b/app/i18n/magento/es_es/composer.json
@@ -1,13 +1,13 @@
 {
     "name": "magento/language-es_es",
     "description": "Spanish (Spain) language",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
     ],
     "require": {
-        "magento/framework": "0.42.0-beta11",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-language",
diff --git a/app/i18n/magento/fr_fr/composer.json b/app/i18n/magento/fr_fr/composer.json
index d3681cbfc371d5c942ae01c536b06c76aa2fe636..f265ca1a3cd3288553ca3a0d68999f15da4ac8de 100644
--- a/app/i18n/magento/fr_fr/composer.json
+++ b/app/i18n/magento/fr_fr/composer.json
@@ -1,13 +1,13 @@
 {
     "name": "magento/language-fr_fr",
     "description": "French (France) language",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
     ],
     "require": {
-        "magento/framework": "0.42.0-beta11",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-language",
diff --git a/app/i18n/magento/nl_nl/composer.json b/app/i18n/magento/nl_nl/composer.json
index 91b6f97e6e14afea0d8ef0ecf8837b4e32469345..aefcd710853b420915589d47411fbf6551d5a2a2 100644
--- a/app/i18n/magento/nl_nl/composer.json
+++ b/app/i18n/magento/nl_nl/composer.json
@@ -1,13 +1,13 @@
 {
     "name": "magento/language-nl_nl",
     "description": "Dutch (Netherlands) language",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
     ],
     "require": {
-        "magento/framework": "0.42.0-beta11",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-language",
diff --git a/app/i18n/magento/pt_br/composer.json b/app/i18n/magento/pt_br/composer.json
index 87a67bf386eab92396ae8988a5043826b8970de4..916daafa18259faa6ede5a5c45bca6d291a31c00 100644
--- a/app/i18n/magento/pt_br/composer.json
+++ b/app/i18n/magento/pt_br/composer.json
@@ -1,13 +1,13 @@
 {
     "name": "magento/language-pt_br",
     "description": "Portuguese (Brazil) language",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
     ],
     "require": {
-        "magento/framework": "0.42.0-beta11",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-language",
diff --git a/app/i18n/magento/zh_cn/composer.json b/app/i18n/magento/zh_cn/composer.json
index 0c70befdd1474c7272d190fd963d2f8b536dda47..4075918bcb42bcb376461e9b9ab7aac37209131a 100644
--- a/app/i18n/magento/zh_cn/composer.json
+++ b/app/i18n/magento/zh_cn/composer.json
@@ -1,13 +1,13 @@
 {
     "name": "magento/language-zh_cn",
     "description": "Chinese (China) language",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
     ],
     "require": {
-        "magento/framework": "0.42.0-beta11",
+        "magento/framework": "0.74.0-beta1",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-language",
diff --git a/composer.json b/composer.json
index 883acc7b9372d595885c44436c16ac3d6ced029a..c5b5d17eb8badb72eddfa355623f63ef51cad1ed 100644
--- a/composer.json
+++ b/composer.json
@@ -2,7 +2,7 @@
     "name": "magento/project-community-edition",
     "description": "Magento project (Community Edition)",
     "type": "project",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/composer.lock b/composer.lock
index f35cfe3ae7e52ec1f99cc60d38867d12a5ff8a21..e941f4cfd37e10882f8cee92343b703f49202ceb 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
         "This file is @generated automatically"
     ],
-    "hash": "463c446e1ab4ab0b3d6ea316c8991227",
+    "hash": "d5894e8331088f5a3432dec4ee28ace4",
     "packages": [
         {
             "name": "composer/composer",
diff --git a/dev/tests/api-functional/testsuite/Magento/Catalog/Api/CategoryRepositoryTest.php b/dev/tests/api-functional/testsuite/Magento/Catalog/Api/CategoryRepositoryTest.php
index 6a61347d6d211ad498aabff70b382545b3550748..4c3db4f68a620fc9a4cd03aa5011d66d4f312e48 100644
--- a/dev/tests/api-functional/testsuite/Magento/Catalog/Api/CategoryRepositoryTest.php
+++ b/dev/tests/api-functional/testsuite/Magento/Catalog/Api/CategoryRepositoryTest.php
@@ -8,6 +8,8 @@ namespace Magento\Catalog\Api;
 
 use Magento\TestFramework\Helper\Bootstrap;
 use Magento\TestFramework\TestCase\WebapiAbstract;
+use Magento\UrlRewrite\Service\V1\Data\UrlRewrite;
+use Magento\CatalogUrlRewrite\Model\CategoryUrlRewriteGenerator;
 
 class CategoryRepositoryTest extends WebapiAbstract
 {
@@ -98,6 +100,8 @@ class CategoryRepositoryTest extends WebapiAbstract
     {
         $category = $this->createCategory($category);
         $this->assertGreaterThan(0, $category['id']);
+        // delete category to clean up auto-generated url rewrites
+        $this->deleteCategory($category['id']);
     }
 
     /**
@@ -105,7 +109,26 @@ class CategoryRepositoryTest extends WebapiAbstract
      */
     public function testDelete()
     {
+        /** @var \Magento\UrlRewrite\Model\Storage\DbStorage $storage */
+        $storage = Bootstrap::getObjectManager()->get('Magento\UrlRewrite\Model\Storage\DbStorage');
+        $categoryId = $this->modelId;
+        $data = [
+            UrlRewrite::ENTITY_ID => $categoryId,
+            UrlRewrite::ENTITY_TYPE => CategoryUrlRewriteGenerator::ENTITY_TYPE
+        ];
+        /** @var \Magento\UrlRewrite\Service\V1\Data\UrlRewrite $urlRewrite*/
+        $urlRewrite = $storage->findOneByData($data);
+
+        // Assert that a url rewrite is auto-generated for the category created from the data fixture
+        $this->assertEquals(1, $urlRewrite->getIsAutogenerated());
+        $this->assertEquals($categoryId, $urlRewrite->getEntityId());
+        $this->assertEquals(CategoryUrlRewriteGenerator::ENTITY_TYPE, $urlRewrite->getEntityType());
+        $this->assertEquals('category-1.html', $urlRewrite->getRequestPath());
+
+        // Assert deleting category is successful
         $this->assertTrue($this->deleteCategory($this->modelId));
+        // After the category is deleted, assert that the associated url rewrite is also auto-deleted
+        $this->assertNull($storage->findOneByData($data));
     }
 
     public function testDeleteNoSuchEntityException()
@@ -156,6 +179,8 @@ class CategoryRepositoryTest extends WebapiAbstract
         $category = $model->load($categoryId);
         $this->assertEquals("Update Category Test", $category->getName());
         $this->assertEquals("Update Category Description Test", $category->getDescription());
+        // delete category to clean up auto-generated url rewrites
+        $this->deleteCategory($categoryId);
     }
 
     protected function getSimpleCategoryData($categoryData = [])
diff --git a/dev/tests/functional/.htaccess b/dev/tests/functional/.htaccess
index db0b8f66ad0008c5f765391d0b93515d711ab1b7..0fe8af43b87597383c5904481c15b751e52630d2 100644
--- a/dev/tests/functional/.htaccess
+++ b/dev/tests/functional/.htaccess
@@ -170,6 +170,8 @@
 ## http://developer.yahoo.com/performance/rules.html#expires
 
     ExpiresDefault "access plus 1 year"
+    ExpiresByType text/html A0
+    ExpiresByType text/plain A0
 
 </IfModule>
 
@@ -191,4 +193,4 @@
 ## If running in cluster environment, uncomment this
 ## http://developer.yahoo.com/performance/rules.html#etags
 
-    #FileETag none
\ No newline at end of file
+    #FileETag none
diff --git a/dev/tests/functional/composer.json b/dev/tests/functional/composer.json
index 34ac0b74cab7f99cf087ad01c01aa7d24de322e4..256e8f34c43778f4f2ff4f4feabb4b5c20547524 100644
--- a/dev/tests/functional/composer.json
+++ b/dev/tests/functional/composer.json
@@ -1,6 +1,6 @@
 {
     "require": {
-        "magento/mtf": "1.0.0-rc19",
+        "magento/mtf": "1.0.0-rc20",
         "php": "~5.5.0|~5.6.0",
         "phpunit/phpunit": "4.1.0",
         "phpunit/phpunit-selenium": ">=1.2",
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/AttributeForm.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/AttributeForm.php
index 0423a2e4a409107c6569bc3ec1fd8767049f0ba3..edd4210f30c01b5f9cb0193f10535b1e3db55a6d 100644
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/AttributeForm.php
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Block/Adminhtml/Product/Attribute/AttributeForm.php
@@ -6,15 +6,15 @@
 
 namespace Magento\Catalog\Test\Block\Adminhtml\Product\Attribute;
 
-use Magento\Backend\Test\Block\Widget\Tab;
 use Magento\Backend\Test\Block\Widget\FormTabs;
+use Magento\Backend\Test\Block\Widget\Tab;
+use Magento\Mtf\Block\BlockFactory;
+use Magento\Mtf\Block\Mapper;
 use Magento\Mtf\Client\BrowserInterface;
-use Magento\Mtf\Client\Element\SimpleElement;
 use Magento\Mtf\Client\Element;
+use Magento\Mtf\Client\Element\SimpleElement;
 use Magento\Mtf\Client\Locator;
 use Magento\Mtf\Fixture\FixtureInterface;
-use Magento\Mtf\Block\BlockFactory;
-use Magento\Mtf\Block\Mapper;
 use Magento\Mtf\Util\XmlConverter;
 
 /**
@@ -64,14 +64,6 @@ class AttributeForm extends FormTabs
         $this->browser->switchToFrame(new Locator($this->iFrame));
     }
 
-    /**
-     * @destructor
-     */
-    public function __destruct()
-    {
-        $this->browser->switchToFrame();
-    }
-
     /**
      * Fill the attribute form.
      *
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductPage.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductPage.php
index 486d88c0b1fc8747d97682cb2e3fce159fec2068..6f86979ac0be59f5ab44a64a8572dbaa75384fa5 100755
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductPage.php
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductPage.php
@@ -150,7 +150,7 @@ class AssertProductPage extends AbstractAssertForm
         $fixtureProductSku = $this->product->getSku();
         $formProductSku = $this->productView->getProductSku();
 
-        if ($fixtureProductSku == $formProductSku) {
+        if ($fixtureProductSku === null || $fixtureProductSku == $formProductSku) {
             return null;
         }
         return "Displayed product sku on product page(front-end) not equals passed from fixture. "
diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/Tab/Super/Config/Attribute.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/Tab/Super/Config/Attribute.php
old mode 100755
new mode 100644
index 9415fc8448172a73e40d98d26c1310b81f3826d7..4677854bb813f38ef01a5eadadb546e03ab054e6
--- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/Tab/Super/Config/Attribute.php
+++ b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Block/Adminhtml/Product/Edit/Tab/Super/Config/Attribute.php
@@ -6,10 +6,11 @@
 
 namespace Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\Edit\Tab\Super\Config;
 
-use Magento\Mtf\Client\Locator;
 use Magento\Backend\Test\Block\Widget\Form;
-use Magento\Mtf\Client\Element\SimpleElement;
 use Magento\ConfigurableProduct\Test\Block\Adminhtml\Product\Edit\Tab\Super\Config\Attribute\AttributeSelector;
+use Magento\Mtf\Client\Element\SimpleElement;
+use Magento\Mtf\Client\Locator;
+use Magento\Mtf\ObjectManager;
 
 /**
  * Attribute block in Variation section.
@@ -158,13 +159,17 @@ class Attribute extends Form
      */
     protected function createNewVariationSet(array $attribute)
     {
-        $this->_rootElement->find($this->createNewVariationSet)->click();
+        $attributeFixture = ObjectManager::getInstance()->create(
+            'Magento\Catalog\Test\Fixture\CatalogProductAttribute',
+            ['data' => $attribute]
+        );
 
+        $this->_rootElement->find($this->createNewVariationSet)->click();
         $newAttribute = $this->getEditAttributeForm();
-        $newAttribute->getTabElement('properties')->fillFormTab($attribute);
+        $newAttribute->fill($attributeFixture);
         $newAttribute->_rootElement->find($this->saveAttribute)->click();
 
-        $this->browser->selectWindow();
+        $this->browser->switchToFrame();
     }
 
     /**
diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/CreateConfigurableProductEntityTest.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/CreateConfigurableProductEntityTest.php
index 50615a121e3ab40d85b354be8ae373734f413c71..d61b5f8eb8fd91f32705e9cbd5ea1ad6a448088e 100644
--- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/CreateConfigurableProductEntityTest.php
+++ b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/CreateConfigurableProductEntityTest.php
@@ -40,7 +40,7 @@ class CreateConfigurableProductEntityTest extends Injectable
 {
     /* tags */
     const TEST_TYPE = 'acceptance_test';
-    const STABLE = 'no';
+    const STABLE = 'yes';
     const MVP = 'yes';
     const DOMAIN = 'MX';
     /* end tags */
diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/CreateConfigurableProductEntityTest.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/CreateConfigurableProductEntityTest.xml
index 1605e59d91b2e1636c387ee812bc02049bb5d042..f6eedd937f22e0c7e6a02c165d429454d0c21c01 100644
--- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/CreateConfigurableProductEntityTest.xml
+++ b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/TestCase/CreateConfigurableProductEntityTest.xml
@@ -9,7 +9,6 @@
         xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd">
     <testCase name="Magento\ConfigurableProduct\Test\TestCase\CreateConfigurableProductEntityTest">
         <variation name="CreateConfigurableProductEntityTestVariation1">
-            <data name="issue" xsi:type="string">Bug: MAGETWO-34195</data>
             <data name="description" xsi:type="string">Create product with category and two new options</data>
             <data name="product/data/url_key" xsi:type="string">configurable-product-%isolation%</data>
             <data name="product/data/configurable_attributes_data/preset" xsi:type="string">two_new_options</data>
@@ -55,7 +54,6 @@
             <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductInCart"/>
         </variation>
         <variation name="CreateConfigurableProductEntityTestVariation3">
-            <data name="issue" xsi:type="string">Bug: MAGETWO-34195</data>
             <data name="description" xsi:type="string">Create product with special price</data>
             <data name="product/data/url_key" xsi:type="string">configurable-product-%isolation%</data>
             <data name="product/data/configurable_attributes_data/preset" xsi:type="string">two_new_options</data>
@@ -116,13 +114,13 @@
             <constraint name="Magento\ConfigurableProduct\Test\Constraint\AssertConfigurableProductPage" />
         </variation>
         <variation name="CreateConfigurableProductEntityTestVariation6" firstConstraint="Magento\Catalog\Test\Constraint\AssertProductSaveMessage" method="test">
-            <data name="issue" xsi:type="string">Bug: MAGETWO-34195</data>
             <data name="description" xsi:type="string">MAGETWO-13361: Create Configurable Product with Creating New Category and New Attribute (Required Fields Only)</data>
             <data name="product/data/configurable_attributes_data/preset" xsi:type="string">two_searchable_options</data>
             <data name="product/data/name" xsi:type="string">Configurable Product %isolation%</data>
             <data name="product/data/price/value" xsi:type="string">100</data>
             <data name="product/data/category_ids/new_category" xsi:type="string">no</data>
             <data name="product/data/category_ids/presets" xsi:type="string">default_subcategory</data>
+            <data name="product/data/url_key" xsi:type="string">configurable-product-%isolation%</data>
             <data name="product/data/affected_attribute_set" xsi:type="string">custom_attribute_set_%isolation%</data>
             <data name="tag" xsi:type="string">test_type:acceptance_test</data>
             <constraint name="Magento\Catalog\Test\Constraint\AssertProductSaveMessage" />
diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Handler/Role/Curl.php b/dev/tests/functional/tests/app/Magento/User/Test/Handler/Role/Curl.php
index ad63a648f0bd1c74f183d09dcb12a99defa2b6c0..857ae696219497fb2ac8c399047066dfae8e7a40 100644
--- a/dev/tests/functional/tests/app/Magento/User/Test/Handler/Role/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/User/Test/Handler/Role/Curl.php
@@ -61,7 +61,7 @@ class Curl extends AbstractCurl implements RoleInterface
         }
 
         $url = 'admin/user_role/roleGrid/sort/role_id/dir/desc/';
-        $regExpPattern = '/col\-role_id\W*(\d+)<.td><[^<>]*?>' . $data['rolename'] . '/siu';
+        $regExpPattern = '/col\-role_id[\s\W]*(\d+)\s*<.td>\s*<[^<>]*?>' . $data['rolename'] . '/siu';
 
         $extractor = new Extractor($url, $regExpPattern);
 
diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Handler/User/Curl.php b/dev/tests/functional/tests/app/Magento/User/Test/Handler/User/Curl.php
index a79b2ec796f6c18e51dc1783d109a244ba7f29ca..1026e872f89221e111761229063be05f2bf2e24e 100644
--- a/dev/tests/functional/tests/app/Magento/User/Test/Handler/User/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/User/Test/Handler/User/Curl.php
@@ -47,7 +47,7 @@ class Curl extends AbstractCurl implements UserInterface
         }
 
         $url = 'admin/user/roleGrid/sort/user_id/dir/desc';
-        $regExpPattern = '/col-user_id\W*(\d+)<.td><[^<>]*?>' . $data['username'] . '/siu';
+        $regExpPattern = '/col-user_id[\s\W]*(\d+)\s*<.td>\s*<[^<>]*?>' . $data['username'] . '/siu';
         $extractor = new Extractor($url, $regExpPattern);
 
         return ['user_id' => $extractor->getData()[1]];
diff --git a/dev/tests/integration/framework/Magento/TestFramework/Annotation/DataFixture.php b/dev/tests/integration/framework/Magento/TestFramework/Annotation/DataFixture.php
index fec81fb04a69318216a7dd692aac011b93befd20..c4c4f131b497e5be050a736ff52355bcdd3527c6 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/Annotation/DataFixture.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/Annotation/DataFixture.php
@@ -158,6 +158,7 @@ class DataFixture
      * Execute single fixture script
      *
      * @param string|array $fixture
+     * @throws \Exception
      */
     protected function _applyOneFixture($fixture)
     {
@@ -168,7 +169,9 @@ class DataFixture
                 require $fixture;
             }
         } catch (\Exception $e) {
-            echo 'Error in fixture: ', json_encode($fixture), PHP_EOL, $e;
+            throw new \Exception(
+                sprintf("Error in fixture: %s.\n %s", json_encode($fixture), $e->getMessage())
+            );
         }
     }
 
@@ -180,18 +183,14 @@ class DataFixture
      */
     protected function _applyFixtures(array $fixtures)
     {
-        try {
-            /* Execute fixture scripts */
-            foreach ($fixtures as $oneFixture) {
-                /* Skip already applied fixtures */
-                if (in_array($oneFixture, $this->_appliedFixtures, true)) {
-                    continue;
-                }
-                $this->_applyOneFixture($oneFixture);
-                $this->_appliedFixtures[] = $oneFixture;
+        /* Execute fixture scripts */
+        foreach ($fixtures as $oneFixture) {
+            /* Skip already applied fixtures */
+            if (in_array($oneFixture, $this->_appliedFixtures, true)) {
+                continue;
             }
-        } catch (\PDOException $e) {
-            echo $e;
+            $this->_applyOneFixture($oneFixture);
+            $this->_appliedFixtures[] = $oneFixture;
         }
     }
 
diff --git a/dev/tests/integration/framework/Magento/TestFramework/Event/Transaction.php b/dev/tests/integration/framework/Magento/TestFramework/Event/Transaction.php
index ec4424791d00483830828e91451c121d41025598..6385156cea5ac2e2a8054b4170eded82826c7b98 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/Event/Transaction.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/Event/Transaction.php
@@ -92,7 +92,15 @@ class Transaction
         if (!$this->_isTransactionActive) {
             $this->_getAdapter()->beginTransparentTransaction();
             $this->_isTransactionActive = true;
-            $this->_eventManager->fireEvent('startTransaction', [$test]);
+            try {
+                $this->_eventManager->fireEvent('startTransaction', [$test]);
+            } catch (\Exception $e) {
+                $test->getTestResultObject()->addFailure(
+                    $test,
+                    new \PHPUnit_Framework_AssertionFailedError($e->getMessage()),
+                    0
+                );
+            }
         }
     }
 
diff --git a/dev/tests/integration/framework/Magento/TestFramework/ObjectManager.php b/dev/tests/integration/framework/Magento/TestFramework/ObjectManager.php
index 4fe09fb6b3d80ffcd52b5dd09b5ccc42da9644d1..a4a86573f80d02ac9bc6a9c4b32eb7cffa44f2b1 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/ObjectManager.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/ObjectManager.php
@@ -39,7 +39,7 @@ class ObjectManager extends \Magento\Framework\App\ObjectManager
     {
         foreach ($this->_classesToDestruct as $className) {
             if (isset($this->_sharedInstances[$className])) {
-                $this->_sharedInstances[$className]->__destruct();
+                $this->_sharedInstances[$className] = null;
             }
         }
 
diff --git a/dev/tests/integration/phpunit.xml.dist b/dev/tests/integration/phpunit.xml.dist
index 222f10815b65ca38c55c8330ba1df90a5e45de08..7a9e365c8f15056e5060cd27827720e2d18d2fce 100644
--- a/dev/tests/integration/phpunit.xml.dist
+++ b/dev/tests/integration/phpunit.xml.dist
@@ -13,9 +13,9 @@
     <!-- Test suites definition -->
     <testsuites>
         <!-- Memory tests run first to prevent influence of other tests on accuracy of memory measurements -->
-        <!--<testsuite name="Memory Usage Tests">-->
-            <!--<file>testsuite/Magento/MemoryUsageTest.php</file>-->
-        <!--</testsuite>-->
+        <testsuite name="Memory Usage Tests">
+            <file>testsuite/Magento/MemoryUsageTest.php</file>
+        </testsuite>
         <testsuite name="Magento Integration Tests">
             <directory suffix="Test.php">testsuite</directory>
             <exclude>testsuite/Magento/Test/Integrity</exclude>
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Block/MenuTest.php b/dev/tests/integration/testsuite/Magento/Backend/Block/MenuTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..8add0936f76c9d1ae0d45f91e0570aa8bc62a89d
--- /dev/null
+++ b/dev/tests/integration/testsuite/Magento/Backend/Block/MenuTest.php
@@ -0,0 +1,103 @@
+<?php
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+namespace Magento\Backend\Block;
+
+use Magento\Framework\App\Bootstrap;
+use Magento\Framework\App\Filesystem\DirectoryList;
+use Magento\Framework\App\State;
+
+/**
+ * Test class for \Magento\Backend\Block\Menu
+ */
+class MenuTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Backend\Block\Menu $blockMenu
+     */
+    protected $blockMenu;
+
+    /** @var \Magento\Framework\App\Cache\Type\Config $configCacheType */
+    protected $configCacheType;
+
+    protected function setUp()
+    {
+        $this->configCacheType = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
+            'Magento\Framework\App\Cache\Type\Config'
+        );
+        $this->configCacheType->save('', \Magento\Backend\Model\Menu\Config::CACHE_MENU_OBJECT);
+
+        $this->blockMenu = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
+            'Magento\Backend\Block\Menu'
+        );
+    }
+
+    public function testRenderNavigation()
+    {
+        $menuConfig = $this->prepareMenuConfig();
+
+        $this->assertStringEqualsFile(
+            __DIR__ . '/_files/menu/expected.txt',
+            $this->blockMenu->renderNavigation($menuConfig->getMenu())
+        );
+    }
+
+    /**
+     * @return \Magento\Backend\Model\Menu\Config
+     */
+    protected function prepareMenuConfig()
+    {
+        $this->loginAdminUser();
+
+        \Magento\TestFramework\Helper\Bootstrap::getInstance()->reinitialize(
+            [
+                Bootstrap::INIT_PARAM_FILESYSTEM_DIR_PATHS => [
+                    DirectoryList::MODULES => ['path' => __DIR__ . '/_files/menu'],
+                ],
+            ]
+        );
+
+        /* @var $validationState \Magento\Framework\App\Arguments\ValidationState */
+        $validationState = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
+            'Magento\Framework\App\Arguments\ValidationState',
+            ['appMode' => State::MODE_DEFAULT]
+        );
+
+        /* @var $configReader \Magento\Backend\Model\Menu\Config\Reader */
+        $configReader = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
+            'Magento\Backend\Model\Menu\Config\Reader',
+            ['validationState' => $validationState]
+        );
+
+        return \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
+            'Magento\Backend\Model\Menu\Config',
+            [
+                'configReader' => $configReader,
+                'configCacheType' => $this->configCacheType
+            ]
+        );
+    }
+
+    /**
+     * @return void
+     */
+    protected function loginAdminUser()
+    {
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->get('Magento\Backend\Model\UrlInterface')
+            ->turnOffSecretKey();
+
+        $auth = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Backend\Model\Auth');
+        $auth->login(\Magento\TestFramework\Bootstrap::ADMIN_NAME, \Magento\TestFramework\Bootstrap::ADMIN_PASSWORD);
+    }
+
+    /**
+     * @return void
+     */
+    protected function tearDown()
+    {
+        $this->configCacheType->save('', \Magento\Backend\Model\Menu\Config::CACHE_MENU_OBJECT);
+    }
+}
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Block/_files/design/adminhtml/test_default/Magento_Backend/layout_test_grid_handle.xml b/dev/tests/integration/testsuite/Magento/Backend/Block/_files/design/adminhtml/test_default/Magento_Backend/layout_test_grid_handle.xml
index bfc66880afd106048caaa66cb9822118492c0778..aeac3057672ae1af9547fa748fa65cfd0034b0f2 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Block/_files/design/adminhtml/test_default/Magento_Backend/layout_test_grid_handle.xml
+++ b/dev/tests/integration/testsuite/Magento/Backend/Block/_files/design/adminhtml/test_default/Magento_Backend/layout_test_grid_handle.xml
@@ -21,7 +21,7 @@
                 </block>
                 <block class="Magento\Backend\Block\Widget\Grid\Column" as="description" output="1">
                     <arguments>
-                        <header>User description</header>
+                        <header>User Description</header>
                         <index>description</index>
                         <type>text</type>
                     </arguments>
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Block/_files/menu/Magento/Backend/etc/menu.xml b/dev/tests/integration/testsuite/Magento/Backend/Block/_files/menu/Magento/Backend/etc/menu.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2ec19c918e053e53c15139969114d6f1e413054a
--- /dev/null
+++ b/dev/tests/integration/testsuite/Magento/Backend/Block/_files/menu/Magento/Backend/etc/menu.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+-->
+<config>
+    <menu>
+        <add id="Magento_Backend::system" title="System" module="Magento_Backend" sortOrder="30" resource="Magento_Backend::system"/>
+        <add id="Magento_Backend::system_report" title="Report" module="Magento_Backend" sortOrder="10" parent="Magento_Backend::system" resource="Magento_Backend::report"/>
+
+        <add id="Magento_Backend::system_report_private_sales" title="Private Sales" module="Magento_Backend" sortOrder="10" parent="Magento_Backend::system_report" resource="Magento_Backend::report_private_sales" />
+        <add id="Magento_Backend::system_report_magento_invite_general" title="Invite" module="Magento_Backend" sortOrder="20" parent="Magento_Backend::system_report" resource="Magento_Backend::report_magento_invite_general"/>
+        <add id="Magento_Backend::system_report_magento_invite_customer" title="Invited Customers" module="Magento_Backend" sortOrder="30" parent="Magento_Backend::system_report" resource="Magento_Backend::report_magento_invite_customer"/>
+    </menu>
+</config>
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Block/_files/menu/expected.txt b/dev/tests/integration/testsuite/Magento/Backend/Block/_files/menu/expected.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fc890c803aae34f8ca74f4c00a541415b426034a
--- /dev/null
+++ b/dev/tests/integration/testsuite/Magento/Backend/Block/_files/menu/expected.txt
@@ -0,0 +1 @@
+<ul id="nav" role="menubar" ><li  data-ui-id="magento-backend-system"  class="item-system  parent last level-0" id="magento-backend-system" aria-haspopup="true" role="menu-item"><a href="#"  onclick="return false;" class=""><span>System</span></a><div class="submenu" aria-labelledby="magento-backend-system"><ul role="menu" ><li  data-ui-id="magento-backend-system-report"  class="item-system-report  parent  level-1" role="menu-item"><strong class="submenu-group-title" role="presentation"><span>Report</span></strong><div class="submenu"><ul role="menu" ><li  data-ui-id="magento-backend-system-report-private-sales"  class="item-system-report-private-sales    level-2" role="menu-item"><a href="#"  onclick="return false;" class=""><span>Private Sales</span></a></li><li  data-ui-id="magento-backend-system-report-magento-invite-general"  class="item-system-report-magento-invite-general    level-2" role="menu-item"><a href="#"  onclick="return false;" class=""><span>Invite</span></a></li><li  data-ui-id="magento-backend-system-report-magento-invite-customer"  class="item-system-report-magento-invite-customer    level-2" role="menu-item"><a href="#"  onclick="return false;" class=""><span>Invited Customers</span></a></li></ul></div></li></ul></div></li></ul>
\ No newline at end of file
diff --git a/dev/tests/integration/testsuite/Magento/Checkout/Block/Cart/Item/RendererTest.php b/dev/tests/integration/testsuite/Magento/Checkout/Block/Cart/Item/RendererTest.php
index 42524e3ea0ed5ceb5cdcef04bc51b2ed3e308b31..a6957a03133f5dbf7030dd568537dca3d102011f 100644
--- a/dev/tests/integration/testsuite/Magento/Checkout/Block/Cart/Item/RendererTest.php
+++ b/dev/tests/integration/testsuite/Magento/Checkout/Block/Cart/Item/RendererTest.php
@@ -39,6 +39,17 @@ class RendererTest extends \PHPUnit_Framework_TestCase
         $this->_block->setItem($item);
     }
 
+    protected function tearDown()
+    {
+        /** @var $objectManager \Magento\TestFramework\ObjectManager */
+        $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
+
+        $objectManager->removeSharedInstance('Magento\Checkout\Model\Session');
+        $objectManager->removeSharedInstance('Magento\Checkout\Model\Session\Storage');
+
+        unset($_SESSION);
+    }
+
     public function testThumbnail()
     {
         $size = $this->_block->getThumbnailSize();
diff --git a/dev/tests/integration/testsuite/Magento/Cron/Model/ObserverTest.php b/dev/tests/integration/testsuite/Magento/Cron/Model/ObserverTest.php
index 7675ccd6da3bc8aa5a00805569619459fabefbda..68388774cb3ff2ddc2709611eb81604b510de9f4 100644
--- a/dev/tests/integration/testsuite/Magento/Cron/Model/ObserverTest.php
+++ b/dev/tests/integration/testsuite/Magento/Cron/Model/ObserverTest.php
@@ -5,6 +5,8 @@
  */
 namespace Magento\Cron\Model;
 
+use \Magento\TestFramework\Helper\Bootstrap;
+
 class ObserverTest extends \PHPUnit_Framework_TestCase
 {
     /**
@@ -17,8 +19,9 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Framework\App\AreaList')
             ->getArea('crontab')
             ->load(\Magento\Framework\App\Area::PART_CONFIG);
-        $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Cron\Model\Observer');
+        $request = Bootstrap::getObjectManager()->create('Magento\Framework\App\Console\Request');
+        $request->setParams(['group' => 'default', 'standaloneProcessStarted' => '0']);
+        $this->_model = Bootstrap::getObjectManager()->create('Magento\Cron\Model\Observer', ['request' => $request]);
         $this->_model->dispatch('this argument is not used');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Wishlist/Helper/RssTest.php b/dev/tests/integration/testsuite/Magento/Wishlist/Helper/RssTest.php
deleted file mode 100644
index 72264a8ccf60d40c0a06515cdfc02b31e26e3297..0000000000000000000000000000000000000000
--- a/dev/tests/integration/testsuite/Magento/Wishlist/Helper/RssTest.php
+++ /dev/null
@@ -1,125 +0,0 @@
-<?php
-/**
- * Copyright © 2015 Magento. All rights reserved.
- * See COPYING.txt for license details.
- */
-
-// @codingStandardsIgnoreFile
-
-namespace Magento\Wishlist\Helper;
-
-class RssTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \Magento\Customer\Model\Session
-     */
-    protected $_customerSession;
-
-    /**
-     * Core data
-     *
-     * @var \Magento\Framework\Url\EncoderInterface
-     */
-    protected $urlEncoder;
-
-    /**
-     * @var \Magento\Framework\ObjectManagerInterface
-     */
-    protected $_objectManager;
-
-    /**
-     * @var \Magento\Framework\App\Helper\Context
-     */
-    protected $_contextHelper;
-
-    /**
-     * @var \Magento\Wishlist\Helper\Rss
-     */
-    protected $_wishlistHelper;
-
-    /**
-     * @var int
-     */
-    protected $_fixtureCustomerId;
-
-    protected function setUp()
-    {
-        $this->_fixtureCustomerId = 1;
-
-        $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $this->_customerSession = $this->_objectManager->create('Magento\Customer\Model\Session');
-        $this->urlEncoder = $this->_objectManager->create('Magento\Framework\Url\EncoderInterface');
-
-        $this->_contextHelper = $this->_objectManager->create('Magento\Framework\App\Helper\Context');
-        $request = $this->_contextHelper->getRequest();
-        $request->setParam('data', $this->urlEncoder->encode($this->_fixtureCustomerId));
-
-        $this->_wishlistHelper = $this->_objectManager->create('Magento\Wishlist\Helper\Rss',
-            [
-                'context' => $this->_contextHelper,
-                'customerSession' => $this->_customerSession
-            ]
-        );
-
-        $this->_customerSession->loginById($this->_fixtureCustomerId);
-    }
-
-    /**
-     * @magentoDataFixture Magento/Customer/_files/customer.php
-     * @magentoAppArea frontend
-     */
-    public function testGetCustomer()
-    {
-        $expectedCustomer = $this->_customerSession->getCustomerDataObject();
-        $actualCustomer = $this->_wishlistHelper->getCustomer();
-        $this->assertInstanceOf('Magento\Customer\Api\Data\CustomerInterface', $actualCustomer);
-        $this->assertEquals((int)$expectedCustomer->getId(), (int)$actualCustomer->getId());
-        $this->assertEquals((int)$expectedCustomer->getWebsiteId(), (int)$actualCustomer->getWebsiteId());
-        $this->assertEquals((int)$expectedCustomer->getStoreId(), (int)$actualCustomer->getStoreId());
-        $this->assertEquals((int)$expectedCustomer->getGroupId(), (int)$actualCustomer->getGroupId());
-        $this->assertEquals($expectedCustomer->getCustomAttributes(), $actualCustomer->getCustomAttributes());
-        $this->assertEquals($expectedCustomer->getFirstname(), $actualCustomer->getFirstname());
-        $this->assertEquals($expectedCustomer->getLastname(), $actualCustomer->getLastname());
-        $this->assertEquals($expectedCustomer->getEmail(), $actualCustomer->getEmail());
-        $this->assertEquals($expectedCustomer->getEmail(), $actualCustomer->getEmail());
-        $this->assertEquals((int)$expectedCustomer->getDefaultBilling(), (int)$actualCustomer->getDefaultBilling());
-        $this->assertEquals((int)$expectedCustomer->getDefaultShipping(), (int)$actualCustomer->getDefaultShipping());
-    }
-
-    /**
-     * @magentoDataFixture Magento/Customer/_files/customer.php
-     * @magentoDataFixture Magento/Wishlist/_files/wishlist_with_product_qty_increments.php
-     * @magentoAppArea frontend
-     */
-    public function testGetWishlistByParam()
-    {
-        /** @var \Magento\Wishlist\Model\Wishlist $wishlist */
-        $wishlist = $this->_objectManager->create('Magento\Wishlist\Model\Wishlist')
-            ->loadByCustomerId($this->_fixtureCustomerId);
-        $wishlist->load($wishlist->getId());
-
-        /** @var \Magento\Framework\App\Request\Http $request */
-        $request = $this->_contextHelper->getRequest();
-        $request->setParam('wishlist_id', $wishlist->getId());
-
-        $this->assertEquals($wishlist, $this->_wishlistHelper->getWishlist());
-    }
-
-    /**
-     * @magentoDataFixture Magento/Customer/_files/customer.php
-     * @magentoDataFixture Magento/Wishlist/_files/wishlist_with_product_qty_increments.php
-     * @magentoAppArea frontend
-     */
-    public function testGetWishlistByCustomerId()
-    {
-        /** @var \Magento\Wishlist\Model\Wishlist $wishlist */
-        $wishlist = $this->_objectManager->create('Magento\Wishlist\Model\Wishlist')
-            ->loadByCustomerId($this->_fixtureCustomerId);
-
-        /** @var \Magento\Framework\App\Request\Http $request */
-        $request = $this->_contextHelper->getRequest();
-        $request->setParam('wishlist_id', '');
-
-        $this->assertEquals($wishlist, $this->_wishlistHelper->getWishlist());
-    }
-}
diff --git a/dev/tests/static/framework/autoload.php b/dev/tests/static/framework/autoload.php
index 17e643a9f9a3b821ae529713ab5bbec84f250fb0..4af5600e9b7a7e0536acfbd3fb5e59bfa2e5bc04 100644
--- a/dev/tests/static/framework/autoload.php
+++ b/dev/tests/static/framework/autoload.php
@@ -9,5 +9,11 @@ require $baseDir . '/app/autoload.php';
 $testsBaseDir = $baseDir . '/dev/tests/static';
 $autoloadWrapper = \Magento\Framework\Autoload\AutoloaderRegistry::getAutoloader();
 $autoloadWrapper->addPsr4('Magento\\', $testsBaseDir . '/testsuite/Magento/');
-$autoloadWrapper->addPsr4('Magento\\TestFramework\\', $testsBaseDir . '/framework/Magento/TestFramework/');
+$autoloadWrapper->addPsr4(
+    'Magento\\TestFramework\\',
+    [
+        $testsBaseDir . '/framework/Magento/TestFramework/',
+        $testsBaseDir . '/../integration/framework/Magento/TestFramework/',
+    ]
+);
 $autoloadWrapper->addPsr4('Magento\\', $baseDir . '/var/generation/Magento/');
diff --git a/dev/tests/static/testsuite/Magento/Test/Integrity/ClassesTest.php b/dev/tests/static/testsuite/Magento/Test/Integrity/ClassesTest.php
index 05d9b8c6b6fca1a96d32b142e3a755dbdd96e461..0d5d3848cfe6a4cc34ec66e67c47b5dbe432755f 100644
--- a/dev/tests/static/testsuite/Magento/Test/Integrity/ClassesTest.php
+++ b/dev/tests/static/testsuite/Magento/Test/Integrity/ClassesTest.php
@@ -557,7 +557,9 @@ class ClassesTest extends \PHPUnit_Framework_TestCase
             }
         }
         if ($errors) {
-            $this->fail(implode(PHP_EOL, $errors));
+            $this->fail(
+                'Nonexistent classes/methods were found in @covers annotations: ' . PHP_EOL . implode(PHP_EOL, $errors)
+            );
         }
     }
 
@@ -567,8 +569,7 @@ class ClassesTest extends \PHPUnit_Framework_TestCase
      */
     private function isNonexistentEntityCovered($matches)
     {
-        return (!empty($matches[2]) && !class_exists($matches[2])
-            || !empty($matches[4]) && !method_exists($matches[2], $matches[4]))
-            && strpos($matches[2], 'Magento\TestFramework') === false; // not autoloaded currently
+        return !empty($matches[2]) && !class_exists($matches[2])
+            || !empty($matches[4]) && !method_exists($matches[2], $matches[4]);
     }
 }
diff --git a/dev/tests/static/testsuite/Magento/Test/Legacy/ObsoleteCodeTest.php b/dev/tests/static/testsuite/Magento/Test/Legacy/ObsoleteCodeTest.php
index c47f3331f65da9dd3ad9f67eb5fe61dcec23831e..a6a2253c57e5d18f52bc8e73d0a71283c374042b 100644
--- a/dev/tests/static/testsuite/Magento/Test/Legacy/ObsoleteCodeTest.php
+++ b/dev/tests/static/testsuite/Magento/Test/Legacy/ObsoleteCodeTest.php
@@ -426,33 +426,354 @@ class ObsoleteCodeTest extends \PHPUnit_Framework_TestCase
         foreach (self::$_constants as $row) {
             list($constant, $class, $replacement) = $row;
             if ($class) {
-                $fullyQualified = "{$class}::{$constant}";
-                $regex = preg_quote($fullyQualified);
-                if ($this->_isClassOrInterface($content, $class)) {
-                    $regex .= '|' . $this->_getClassConstantDefinitionRegExp($constant)
-                        . '|' . preg_quote("self::{$constant}", '/')
-                        . '|' . preg_quote("static::{$constant}", '/');
-                } elseif ($this->_isDirectDescendant($content, $class)) {
-                    $regex .= '|' . preg_quote("parent::{$constant}", '/');
-                    if (!$this->_isClassConstantDefined($content, $constant)) {
-                        $regex .= '|' . preg_quote(
-                            "self::{$constant}",
-                            '/'
-                        ) . '|' . preg_quote(
-                            "static::{$constant}",
-                            '/'
+                $class = ltrim($class, '\\');
+                $this->checkConstantWithFullClasspath($constant, $class, $replacement, $content);
+                $this->checkConstantWithClasspath($constant, $class, $replacement, $content);
+            } else {
+                $regex = '\b' . preg_quote($constant, '/') . '\b';
+                $this->checkExistenceOfObsoleteConstants($regex, '', $content, $constant, $replacement, $class);
+            }
+        }
+    }
+
+    /**
+     * Build regular expression from Obsolete Constants with correspond to contents
+     *
+     * @param string $classPartialPath
+     * @param string $content
+     * @param string $constant
+     * @return string
+     */
+    private function buildRegExFromObsoleteConstant($classPartialPath, $content, $constant)
+    {
+        $regex = preg_quote("{$classPartialPath}::{$constant}");
+        if ($this->_isClassOrInterface($content, $classPartialPath)) {
+            $regex .= '|' . $this->_getClassConstantDefinitionRegExp($constant)
+                . '|' . preg_quote("self::{$constant}", '/')
+                . '|' . preg_quote("static::{$constant}", '/');
+        } elseif ($this->_isDirectDescendant($content, $classPartialPath)) {
+            $regex .= '|' . preg_quote("parent::{$constant}", '/');
+            if (!$this->_isClassConstantDefined($content, $constant)) {
+                $regex .= '|' . preg_quote("self::{$constant}", '/') . '|' . preg_quote("static::{$constant}", '/');
+            }
+        }
+        return $regex;
+    }
+
+    /**
+     * Checks condition of using full classpath in 'use' with 'as' (Example: 'use A\B\C as D')
+     * where A\B\C is the class where the constant is obsolete
+     *
+     * @param string $constant
+     * @param string $class
+     * @param string $replacement
+     * @param string $content
+     */
+    private function checkConstantWithFullClasspath($constant, $class, $replacement, $content)
+    {
+        $constantRegex = preg_quote($constant, '/');
+        $classRegex = preg_quote($class);
+        $this->checkExistenceOfObsoleteConstants(
+            $constantRegex,
+            $classRegex,
+            $content,
+            "{$class}::{$constant}",
+            $replacement,
+            $class
+        );
+    }
+
+    /**
+     * Check all combinations of classpath with constant
+     *
+     * @param string $constant
+     * @param string $class
+     * @param string $replacement
+     * @param string $content
+     */
+    private function checkConstantWithClasspath($constant, $class, $replacement, $content)
+    {
+        $classPathParts = explode('\\', $class);
+        $classPartialPath = '';
+        for ($i = count($classPathParts) - 1; $i >= 0; $i--) {
+            if ($i === (count($classPathParts) - 1)) {
+                $classPartialPath = $classPathParts[$i] . $classPartialPath;
+            } else {
+                $classPartialPath = $classPathParts[$i] . '\\' . $classPartialPath;
+            }
+            $constantRegex = $this->buildRegExFromObsoleteConstant($classPartialPath, $content, $constant);
+            $regexClassPartialPath = preg_replace('/' . preg_quote($classPartialPath) . '$/', '', $class);
+            $classRegex = preg_quote($regexClassPartialPath . $classPathParts[$i]);
+            if ($regexClassPartialPath !== '') {
+                $classRegex .= '|' . preg_quote(rtrim($regexClassPartialPath, '\\'));
+            }
+            // Checks condition when classpath is distributed over namespace and class definition
+            $classRegexNamespaceClass = '/namespace\s+' . preg_quote('\\') . '?(' . $classRegex . ')(\s|;)(\r?\n)+'
+                . 'class\s+' . preg_quote('\\') . '?(' . preg_quote(rtrim($classPartialPath, '\\')) . ')\s*/';
+            $matchNamespaceClass = preg_match($classRegexNamespaceClass, $content);
+            $constantRegexPartial = '/\b(?P<classWithConst>([a-zA-Z0-9_' . preg_quote('\\') . ']*))('
+                . preg_quote('::') . ')*' . '(' . preg_quote($constant, '/') . '\b)(\s*|;)/';
+            $matchConstantPartial = preg_match($constantRegexPartial, $content, $match);
+            if (($matchNamespaceClass === 1) && ($matchConstantPartial === 1) && ($match['classWithConst'] === '')) {
+                $this->assertSame(
+                    0,
+                    1,
+                    $this->_suggestReplacement(sprintf("Constant '%s' is obsolete.", $constant), $replacement)
+                );
+            } else {
+                $this->checkExistenceOfObsoleteConstants(
+                    $constantRegex,
+                    $classRegex,
+                    $content,
+                    "{$classPartialPath}::{$constant}",
+                    $replacement,
+                    $class
+                );
+            }
+        }
+    }
+
+    /**
+     * Check existence of Obsolete Constant in current content
+     *
+     * @param string $constantRegex
+     * @param string $classRegex
+     * @param string $content
+     * @param string $constant
+     * @param string $replacement
+     * @param string $class
+     */
+    private function checkExistenceOfObsoleteConstants(
+        $constantRegex,
+        $classRegex,
+        $content,
+        $constant,
+        $replacement,
+        $class
+    ) {
+        $constantRegexFull = '/\b(?P<constPart>((?P<classWithConst>([a-zA-Z0-9_' . preg_quote('\\') . ']*))('
+            . preg_quote('::') . ')*' . '(' . $constantRegex . '\b)))(\s*|;)/';
+        $matchConstant = preg_match_all($constantRegexFull, $content, $matchConstantString);
+        $result = 0;
+        if ($matchConstant === 1) {
+            if ($classRegex !== '') {
+                $classRegexFull = '/(?P<useOrNamespace>(use|namespace))\s+(?P<classPath>(' . preg_quote('\\')
+                    . '?(' . $classRegex . ')))(\s+as\s+(?P<classAlias>([\w\d_]+)))?(\s|;)/';
+                $matchClass = preg_match($classRegexFull, $content, $matchClassString);
+                if ($matchClass === 1) {
+                    if ($matchClassString['classAlias']) {
+                        $result = $this->checkAliasUseNamespace(
+                            $constantRegex,
+                            $matchConstantString,
+                            $matchClassString,
+                            $class
                         );
+                    } else {
+                        $result = $this->checkNoAliasUseNamespace($matchConstantString, $matchClassString, $class);
+                    }
+                } else {
+                    foreach ($matchConstantString['classWithConst'] as $constantMatch) {
+                        if (trim($constantMatch, '\\') === $class) {
+                            $result = 1;
+                            break;
+                        }
                     }
+
                 }
             } else {
-                $fullyQualified = $constant;
-                $regex = preg_quote($constant, '/');
+                $result = 1;
             }
-            $this->_assertNotRegExp(
-                '/[^a-z\d_](' . $regex . ')[^a-z\d_]/iS',
-                $content,
-                $this->_suggestReplacement(sprintf("Constant '%s' is obsolete.", $fullyQualified), $replacement)
+        }
+        $this->assertSame(
+            0,
+            $result,
+            $this->_suggestReplacement(sprintf("Constant '%s' is obsolete.", $constant), $replacement)
+        );
+    }
+
+    /**
+     * Check proper usage of 'as' alias in 'use' or 'namespace' in context of constant
+     *
+     * @param string $constantRegex
+     * @param string $matchConstantString
+     * @param string $matchClassString
+     * @param string $class
+     * @return int
+     */
+    private function checkAliasUseNamespace(
+        $constantRegex,
+        $matchConstantString,
+        $matchClassString,
+        $class
+    ) {
+        $foundProperUse = false;
+        $foundAsComponent = false;
+        $asComponent = $matchClassString['classAlias'];
+        foreach ($matchConstantString['constPart'] as $constantMatch) {
+            $expectedOnlyConst = '/' . $asComponent . preg_quote('::') . $constantRegex . '/';
+            $expectedConstPartialClass = '/' . $asComponent . preg_quote('\\')
+                . $constantRegex . '/';
+            if ((preg_match($expectedOnlyConst, $constantMatch) === 1)
+                || (preg_match($expectedConstPartialClass, $constantMatch) === 1)) {
+                $foundAsComponent = true;
+            }
+            if (strpos($constantMatch, '::') !== false) {
+                $foundProperUse = $this->checkCompletePathOfClass(
+                    $constantMatch,
+                    $matchClassString,
+                    $class,
+                    $foundAsComponent,
+                    $asComponent
+                );
+                if ($foundProperUse) {
+                    break;
+                }
+            }
+        }
+        if ($foundProperUse) {
+            return 1;
+        } else {
+            return 0;
+        }
+    }
+
+    /**
+     * Check proper usage of classpath in constant and 'use'/'namespace' when there is no 'as' alias
+     *
+     * @param string $matchConstantString
+     * @param string $matchClassString
+     * @param string $class
+     * @return int
+     */
+    private function checkNoAliasUseNamespace(
+        $matchConstantString,
+        $matchClassString,
+        $class
+    ) {
+        $foundProperUse = false;
+        foreach ($matchConstantString['constPart'] as $constantMatch) {
+            $foundProperUse = $this->checkCompletePathOfClass(
+                $constantMatch,
+                $matchClassString,
+                $class
             );
+            if ($foundProperUse) {
+                break;
+            }
+        }
+        if ($foundProperUse) {
+            return 1;
+        } else {
+            return 0;
+        }
+    }
+
+    /**
+     * Check if class path with constant and in 'use' or 'namespace' forms complete classpath
+     *
+     * @param string $constantMatch
+     * @param array $matchClassString
+     * @param string $class
+     * @param bool $foundAsComponent
+     * @param string $asComponent
+     * @return bool
+     */
+    private function checkCompletePathOfClass(
+        $constantMatch,
+        $matchClassString,
+        $class,
+        $foundAsComponent = false,
+        $asComponent = ''
+    ) {
+        $temp = explode('::', $constantMatch);
+        $pathWithConst = trim(ltrim(str_replace('\\\\', '\\', $temp[0]), '\\'));
+        if ($pathWithConst === $class) {
+            return true;
+        }
+        if ($foundAsComponent) {
+            $pathWithConst = ltrim(preg_replace('/^' . $asComponent . '/', '', $pathWithConst), '\\');
+            if ($pathWithConst === '') {
+                return true;
+            }
+        }
+        $pathWithConstParts = explode('\\', $pathWithConst);
+        $pathInUseNamespace = trim($matchClassString['classPath'], '\\');
+        $pathInUseNamespaceTruncated = trim(trim(
+            preg_replace(
+                '/' . preg_quote($pathWithConstParts[0]) . '$/',
+                '',
+                $pathInUseNamespace
+            ),
+            '\\'
+        ));
+        if ($this->checkClasspathProperDivisionNoConstantPath(
+            $pathInUseNamespaceTruncated,
+            $pathInUseNamespace,
+            $matchClassString,
+            $class,
+            $foundAsComponent
+        )) {
+            return true;
+        } else {
+            return $this->checkClasspathProperDivisionWithConstantPath(
+                $pathInUseNamespaceTruncated,
+                $pathInUseNamespace,
+                $pathWithConst,
+                $class,
+                $foundAsComponent
+            );
+        }
+    }
+
+    /**
+     * Check if classpath is divided in two places with correct constant name
+     *
+     * @param string $pathInUseNamespaceTruncated
+     * @param string $pathInUseNamespace
+     * @param array $matchClassString
+     * @param string $class
+     * @param bool $foundAsComponent
+     * @return bool
+     */
+    private function checkClasspathProperDivisionNoConstantPath(
+        $pathInUseNamespaceTruncated,
+        $pathInUseNamespace,
+        $matchClassString,
+        $class,
+        $foundAsComponent
+    ) {
+        if ($pathInUseNamespaceTruncated === $pathInUseNamespace && $pathInUseNamespaceTruncated !== $class
+            && ($foundAsComponent || (strpos($matchClassString['useOrNamespace'], 'namespace') !== false))) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Check if classpath is divided in two places with constant properly with or without alias
+     *
+     * @param string $pathInUseNamespaceTruncated
+     * @param string $pathInUseNamespace
+     * @param string $pathWithConst
+     * @param string $class
+     * @param bool $foundAsComponent
+     * @return bool
+     */
+    private function checkClasspathProperDivisionWithConstantPath(
+        $pathInUseNamespaceTruncated,
+        $pathInUseNamespace,
+        $pathWithConst,
+        $class,
+        $foundAsComponent
+    ) {
+        if ((($pathInUseNamespaceTruncated . '\\' . $pathWithConst === $class)
+                && ($pathInUseNamespaceTruncated !== $pathInUseNamespace) && !$foundAsComponent)
+            || (($pathInUseNamespaceTruncated === $class) && (strpos($pathWithConst, '\\') === false)
+                && $foundAsComponent)) {
+            return true;
+        } else {
+            return false;
         }
     }
 
@@ -465,7 +786,7 @@ class ObsoleteCodeTest extends \PHPUnit_Framework_TestCase
      */
     protected function _isClassConstantDefined($content, $constant)
     {
-        return (bool)preg_match('/' . $this->_getClassConstantDefinitionRegExp($constant) . '/iS', $content);
+        return (bool)preg_match('/' . $this->_getClassConstantDefinitionRegExp($constant) . '/S', $content);
     }
 
     /**
diff --git a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php
index d01d17f39f1250f965c7acca5ddace4ef3d50f62..21ff60a356b59dbd10c2c7bcc2d9c5cc21c57bd4 100644
--- a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php
+++ b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php
@@ -2149,4 +2149,5 @@ return [
     ['loadCollectionAttributes', 'Magento\Eav\Model\Config'],
     ['_isCacheEnabled', 'Magento\Eav\Model\Config'],
     ['_createCustomerAttribute', '\Magento\Customer\Model\Customer'],
+    ['prepareCatalogProductPriceIndexTable', 'Magento\CatalogRule\Model\Observer'],
 ];
diff --git a/dev/tests/unit/phpunit.xml.dist b/dev/tests/unit/phpunit.xml.dist
index 6d78cca2adb2c3d52978f9cf5a299e0bb9539ed0..da22efa001e62023edca737d21fce161a764a665 100644
--- a/dev/tests/unit/phpunit.xml.dist
+++ b/dev/tests/unit/phpunit.xml.dist
@@ -11,21 +11,27 @@
          bootstrap="./framework/bootstrap.php"
         >
     <testsuite name="Magento Unit Tests">
-        <directory suffix="Test.php">../../../setup/src/Magento/Setup/Test/Unit</directory>
         <directory suffix="Test.php">../../../app/code/*/*/Test/Unit</directory>
-        <directory suffix="Test.php">../../../lib/internal/*/*/*/Test/Unit</directory>
-        <directory suffix="Test.php">../../../lib/internal/*/*/Test/Unit</directory>
         <directory suffix="Test.php">../../../dev/tools/*/*/Test/Unit</directory>
         <directory suffix="Test.php">../../../dev/tools/*/*/*/Test/Unit</directory>
+        <directory suffix="Test.php">../../../lib/internal/*/*/Test/Unit</directory>
+        <directory suffix="Test.php">../../../lib/internal/*/*/*/Test/Unit</directory>
+        <directory suffix="Test.php">../../../setup/src/*/*/Test/Unit</directory>
     </testsuite>
     <php>
         <ini name="date.timezone" value="America/Los_Angeles"/>
     </php>
     <filter>
         <whitelist addUncoveredFilesFromWhiteList="true">
-            <directory suffix=".php">../../../app/code/Magento</directory>
+            <directory suffix=".php">../../../app/code/*</directory>
             <directory suffix=".php">../../../lib/internal/Magento</directory>
-            <directory suffix=".php">../../../setup/src/Magento</directory>
+            <directory suffix=".php">../../../setup/src/*</directory>
+            <exclude>
+                <directory>../../../app/code/*/*/Test</directory>
+                <directory>../../../lib/internal/*/*/Test</directory>
+                <directory>../../../lib/internal/*/*/*/Test</directory>
+                <directory>../../../setup/src/*/*/Test</directory>
+            </exclude>
         </whitelist>
     </filter>
     <logging>
diff --git a/dev/tools/Magento/Tools/Migration/Test/Unit/Acl/Db/LoggerAbstractTest.php b/dev/tools/Magento/Tools/Migration/Test/Unit/Acl/Db/LoggerAbstractTest.php
index 536cc07b5478beae3c5a9369e3741437f7c17d4f..fa35157631c5ed6db7d8af63471808c7406f8144 100644
--- a/dev/tools/Magento/Tools/Migration/Test/Unit/Acl/Db/LoggerAbstractTest.php
+++ b/dev/tools/Magento/Tools/Migration/Test/Unit/Acl/Db/LoggerAbstractTest.php
@@ -26,8 +26,8 @@ class LoggerAbstractTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Tools\Migration\Acl\Db\AbstractLogger::add()
-     * covers \Magento\Tools\Migration\Acl\Db\AbstractLogger::__toString()
+     * @covers \Magento\Tools\Migration\Acl\Db\AbstractLogger::add()
+     * @covers \Magento\Tools\Migration\Acl\Db\AbstractLogger::__toString()
      */
     public function testToString()
     {
diff --git a/dev/tools/Magento/Tools/Migration/Test/Unit/Acl/GeneratorTest.php b/dev/tools/Magento/Tools/Migration/Test/Unit/Acl/GeneratorTest.php
index a7c8aebbffd78c33b0bf1287c755c1e44132173d..a72bead91ea7ce4e6774a1141faa4f003bbe3af2 100644
--- a/dev/tools/Magento/Tools/Migration/Test/Unit/Acl/GeneratorTest.php
+++ b/dev/tools/Magento/Tools/Migration/Test/Unit/Acl/GeneratorTest.php
@@ -187,8 +187,8 @@ class GeneratorTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Tools\Migration\Acl\Generator::parseNode
-     * covers \Magento\Tools\Migration\Acl\Generator::generateId
+     * @covers \Magento\Tools\Migration\Acl\Generator::parseNode
+     * @covers \Magento\Tools\Migration\Acl\Generator::generateId
      */
     public function testParseNode()
     {
@@ -233,8 +233,8 @@ TEMPLATE;
     }
 
     /**
-     * covers \Magento\Tools\Migration\Acl\Generator::updateAclResourceIds()
-     * covers \Magento\Tools\Migration\Acl\Generator::updateChildAclNodes() (removing of xpath attribute)
+     * @covers \Magento\Tools\Migration\Acl\Generator::updateAclResourceIds()
+     * @covers \Magento\Tools\Migration\Acl\Generator::updateChildAclNodes() (removing of xpath attribute)
      */
     public function testUpdateAclResourceIds()
     {
diff --git a/dev/tools/Magento/Tools/Migration/Test/Unit/Acl/Menu/GeneratorTest.php b/dev/tools/Magento/Tools/Migration/Test/Unit/Acl/Menu/GeneratorTest.php
index dc28dac692c0c8a5266e6b65c2522b477d8863ee..25b3a871a862ee2fa86f18fe2dd4ce71abac719d 100644
--- a/dev/tools/Magento/Tools/Migration/Test/Unit/Acl/Menu/GeneratorTest.php
+++ b/dev/tools/Magento/Tools/Migration/Test/Unit/Acl/Menu/GeneratorTest.php
@@ -147,8 +147,8 @@ class GeneratorTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Tools\Migration\Acl\Menu\Generator::buildMenuItemsXPath
-     * covers \Magento\Tools\Migration\Acl\Menu\Generator::buildXPath
+     * @covers \Magento\Tools\Migration\Acl\Menu\Generator::buildMenuItemsXPath
+     * @covers \Magento\Tools\Migration\Acl\Menu\Generator::buildXPath
      */
     public function testBuildMenuItemsXPath()
     {
diff --git a/dev/tools/Magento/Tools/Migration/Test/Unit/System/Configuration/LoggerAbstractTest.php b/dev/tools/Magento/Tools/Migration/Test/Unit/System/Configuration/LoggerAbstractTest.php
index c6d4bcfb3f36bcb23797e84562374196e32b0431..a4bdcdc5c81ac01ea1cec8a489d294427cc5bcde 100644
--- a/dev/tools/Magento/Tools/Migration/Test/Unit/System/Configuration/LoggerAbstractTest.php
+++ b/dev/tools/Magento/Tools/Migration/Test/Unit/System/Configuration/LoggerAbstractTest.php
@@ -26,8 +26,8 @@ class LoggerAbstractTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Tools\Migration\System\Configuration\AbstractLogger::add()
-     * covers \Magento\Tools\Migration\System\Configuration\AbstractLogger::__toString()
+     * @covers \Magento\Tools\Migration\System\Configuration\AbstractLogger::add()
+     * @covers \Magento\Tools\Migration\System\Configuration\AbstractLogger::__toString()
      */
     public function testToString()
     {
diff --git a/dev/tools/Magento/Tools/Webdev/App/FileAssembler.php b/dev/tools/Magento/Tools/Webdev/App/FileAssembler.php
index fb8529dd7596966ce189816f5276a222fb7bd4fa..0a07540a19c94695f0a9454f0f5f4b3b86c12182 100644
--- a/dev/tools/Magento/Tools/Webdev/App/FileAssembler.php
+++ b/dev/tools/Magento/Tools/Webdev/App/FileAssembler.php
@@ -9,6 +9,7 @@ namespace Magento\Tools\Webdev\App;
 use Magento\Framework\App;
 use Magento\Framework\App\State;
 use Magento\Framework\AppInterface;
+use Magento\Framework\Filesystem;
 use Magento\Tools\Webdev\CliParams;
 use Magento\Tools\View\Deployer\Log;
 use Magento\Framework\View\Asset\Source;
@@ -18,6 +19,7 @@ use Magento\Framework\ObjectManagerInterface;
 use Magento\Framework\App\ObjectManager\ConfigLoader;
 use Magento\Framework\View\Asset\SourceFileGeneratorPool;
 use Magento\Framework\View\Asset\PreProcessor\ChainFactoryInterface;
+use Magento\Framework\App\Filesystem\DirectoryList;
 
 /**
  * Class FileAssembler
@@ -60,7 +62,7 @@ class FileAssembler implements AppInterface
     /**
      * @var \Magento\Framework\Less\FileGenerator
      */
-    private $sourceFileGeneratorPoll;
+    private $sourceFileGeneratorPool;
 
     /**
      * @var \Magento\Framework\View\Asset\Source
@@ -77,6 +79,11 @@ class FileAssembler implements AppInterface
      */
     private $chainFactory;
 
+    /**
+     * @var Filesystem
+     */
+    private $filesystem;
+
     /**
      * @param ObjectManagerInterface $objectManager
      * @param Response $response
@@ -88,6 +95,7 @@ class FileAssembler implements AppInterface
      * @param \Magento\Framework\View\Asset\SourceFileGeneratorPool $sourceFileGeneratorPoll
      * @param \Magento\Tools\View\Deployer\Log $logger
      * @param ChainFactoryInterface $chainFactory
+     * @param Filesystem $filesystem
      *
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
@@ -101,7 +109,8 @@ class FileAssembler implements AppInterface
         Source $assetSource,
         SourceFileGeneratorPool $sourceFileGeneratorPoll,
         Log $logger,
-        ChainFactoryInterface $chainFactory
+        ChainFactoryInterface $chainFactory,
+        Filesystem $filesystem
     ) {
         $this->response = $response;
         $this->params = $params;
@@ -109,10 +118,11 @@ class FileAssembler implements AppInterface
         $this->objectManager = $objectManager;
         $this->configLoader = $configLoader;
         $this->assetRepo = $assetRepo;
-        $this->sourceFileGeneratorPoll = $sourceFileGeneratorPoll;
+        $this->sourceFileGeneratorPool = $sourceFileGeneratorPoll;
         $this->assetSource = $assetSource;
         $this->logger = $logger;
         $this->chainFactory = $chainFactory;
+        $this->filesystem = $filesystem;
     }
 
     /**
@@ -125,7 +135,7 @@ class FileAssembler implements AppInterface
         $this->state->setAreaCode($this->params->getArea());
         $this->objectManager->configure($this->configLoader->load($this->params->getArea()));
 
-        $sourceFileGenerator = $this->sourceFileGeneratorPoll->create($this->params->getExt());
+        $sourceFileGenerator = $this->sourceFileGeneratorPool->create($this->params->getExt());
 
         foreach ($this->params->getFiles() as $file) {
             $file .= '.' . $this->params->getExt();
@@ -152,7 +162,13 @@ class FileAssembler implements AppInterface
                 ]
             );
 
-            $sourceFileGenerator->generateFileTree($chain);
+            $processedCoreFile = $sourceFileGenerator->generateFileTree($chain);
+
+            $targetDir = $this->filesystem->getDirectoryWrite(DirectoryList::STATIC_VIEW);
+            $rootDir = $this->filesystem->getDirectoryWrite(DirectoryList::ROOT);
+            $source = $rootDir->getRelativePath($processedCoreFile);
+            $destination = $asset->getPath();
+            $rootDir->copyFile($source, $destination, $targetDir);
 
             $this->logger->logMessage("Done");
         }
diff --git a/dev/tools/Magento/Tools/Webdev/file_assembler.php b/dev/tools/Magento/Tools/Webdev/file_assembler.php
index 72ec5b0458fdf12637221079aca0457872a60bb4..669ffa8d535856606b1a86ebbf5d0882aa99f353 100644
--- a/dev/tools/Magento/Tools/Webdev/file_assembler.php
+++ b/dev/tools/Magento/Tools/Webdev/file_assembler.php
@@ -35,15 +35,15 @@ try {
     $logger = new Log($params->getVerbose());
 
 } catch (\Zend_Console_Getopt_Exception $e) {
-    echo $e->getUsageMessage();
-    echo 'Please, use quotes(") for wrapping strings.' . "\n";
+    echo $e->getMessage() . PHP_EOL;
+    echo 'Please, use quotes(") for wrapping strings.' . PHP_EOL;
     exit(1);
 }
 
 $bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER);
 /** @var \Magento\Framework\App\Http $app */
 $app = $bootstrap->createApplication(
-    'Magento\Tools\WebDev\App\FileAssembler',
+    'Magento\Tools\Webdev\App\FileAssembler',
     ['params' => $params, 'logger' => $logger]
 );
 $bootstrap->run($app);
diff --git a/dev/tools/grunt/configs/watch.js b/dev/tools/grunt/configs/watch.js
index f1a117ac8edb4dc079841f83c74edbb9c03f5b7f..ffe0fcc097e5216278f9c12f81455b7d63001ce9 100644
--- a/dev/tools/grunt/configs/watch.js
+++ b/dev/tools/grunt/configs/watch.js
@@ -25,6 +25,12 @@ var watchOptions = {
         "files": "<%= path.less.setup %>/**/*.less",
         "tasks": "less:setup"
     },
+    "reload": {
+        "files": "<%= path.pub %>/**/*.css",
+        "options": {
+            livereload: true
+        }
+    },
     "backendMigration": {
         "files": [
             "<%= combo.autopath(\"backend\",\"pub\") %>/css/styles.css"
diff --git a/lib/internal/Magento/Framework/App/Console/Request.php b/lib/internal/Magento/Framework/App/Console/Request.php
index 6caa41fdc17b568856f9b41dec7e3d874652946a..5d3b24855cd9c5ee341f4cf54faee97faa963ca2 100644
--- a/lib/internal/Magento/Framework/App/Console/Request.php
+++ b/lib/internal/Magento/Framework/App/Console/Request.php
@@ -19,7 +19,13 @@ class Request implements \Magento\Framework\App\RequestInterface
      */
     public function __construct(array $parameters = [])
     {
-        $this->setParams(getopt(null, $parameters));
+        $data = getopt(null, $parameters);
+        // It can happen that request comes from http, but it runs the console (e.g. pub/cron.php)
+        if ($data) {
+            $this->setParams($data);
+        } else {
+            $this->setParams([]);
+        }
     }
 
     /**
@@ -37,6 +43,7 @@ class Request implements \Magento\Framework\App\RequestInterface
      *
      * @param string $name
      * @return void
+     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
      */
     public function setModuleName($name)
     {
@@ -57,6 +64,7 @@ class Request implements \Magento\Framework\App\RequestInterface
      *
      * @param string $name
      * @return void
+     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
      */
     public function setActionName($name)
     {
@@ -105,6 +113,7 @@ class Request implements \Magento\Framework\App\RequestInterface
      * @param null|string $name
      * @param null|string $default
      * @return null|string|void
+     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
      */
     public function getCookie($name, $default)
     {
diff --git a/lib/internal/Magento/Framework/App/Test/Unit/Action/ForwardTest.php b/lib/internal/Magento/Framework/App/Test/Unit/Action/ForwardTest.php
index 4edbfaa6d8f0d87e0bb3469a16fe1fd98997133e..2d15e0a290b338531cb4ff742fe18453df84f940 100644
--- a/lib/internal/Magento/Framework/App/Test/Unit/Action/ForwardTest.php
+++ b/lib/internal/Magento/Framework/App/Test/Unit/Action/ForwardTest.php
@@ -69,7 +69,7 @@ class ForwardTest extends \PHPUnit_Framework_TestCase
      * Test for getRequest method
      *
      * @test
-     * covers \Magento\Framework\App\Action\AbstractAction::getRequest
+     * @covers \Magento\Framework\App\Action\AbstractAction::getRequest
      */
     public function testGetRequest()
     {
@@ -80,7 +80,7 @@ class ForwardTest extends \PHPUnit_Framework_TestCase
      * Test for getResponse method
      *
      * @test
-     * covers \Magento\Framework\App\Action\AbstractAction::getResponse
+     * @covers \Magento\Framework\App\Action\AbstractAction::getResponse
      */
     public function testGetResponse()
     {
@@ -91,7 +91,7 @@ class ForwardTest extends \PHPUnit_Framework_TestCase
      * Test for getResponse med. Checks that response headers are set correctly
      *
      * @test
-     * covers \Magento\Framework\App\Action\AbstractAction::getResponse
+     * @covers \Magento\Framework\App\Action\AbstractAction::getResponse
      */
     public function testResponseHeaders()
     {
diff --git a/lib/internal/Magento/Framework/App/Test/Unit/Config/Data/ProcessorFactoryTest.php b/lib/internal/Magento/Framework/App/Test/Unit/Config/Data/ProcessorFactoryTest.php
index 57fd0ee41591c4434e98315b5d4ce20ba57b3de6..ad6a1d918ab8eb4edaff2a113950e4b3130ab68c 100644
--- a/lib/internal/Magento/Framework/App/Test/Unit/Config/Data/ProcessorFactoryTest.php
+++ b/lib/internal/Magento/Framework/App/Test/Unit/Config/Data/ProcessorFactoryTest.php
@@ -30,7 +30,7 @@ class ProcessorFactoryTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\App\Config\Data\ProcessorFactory::get
+     * @covers \Magento\Framework\App\Config\Data\ProcessorFactory::get
      */
     public function testGetModelWithCorrectInterface()
     {
@@ -51,7 +51,7 @@ class ProcessorFactoryTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\App\Config\Data\ProcessorFactory::get
+     * @covers \Magento\Framework\App\Config\Data\ProcessorFactory::get
      * @expectedException \InvalidArgumentException
      * @expectedExceptionMessageRegExp /\w+\\WrongBackendModel is not instance of \w+\\ProcessorInterface/
      */
@@ -73,7 +73,7 @@ class ProcessorFactoryTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\App\Config\Data\ProcessorFactory::get
+     * @covers \Magento\Framework\App\Config\Data\ProcessorFactory::get
      */
     public function testGetMemoryCache()
     {
diff --git a/lib/internal/Magento/Framework/App/Test/Unit/Config/Initial/ReaderTest.php b/lib/internal/Magento/Framework/App/Test/Unit/Config/Initial/ReaderTest.php
index 3a9f2ac7cb7f9c3244ec29578d07d005d89e4c38..f3d28802f4da3e182f290759198b01b75a69f142 100644
--- a/lib/internal/Magento/Framework/App/Test/Unit/Config/Initial/ReaderTest.php
+++ b/lib/internal/Magento/Framework/App/Test/Unit/Config/Initial/ReaderTest.php
@@ -66,7 +66,7 @@ class ReaderTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\App\Config\Initial\Reader::read
+     * @covers \Magento\Framework\App\Config\Initial\Reader::read
      */
     public function testReadNoFiles()
     {
@@ -80,7 +80,7 @@ class ReaderTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\App\Config\Initial\Reader::read
+     * @covers \Magento\Framework\App\Config\Initial\Reader::read
      */
     public function testReadValidConfig()
     {
diff --git a/lib/internal/Magento/Framework/App/Test/Unit/ObjectManagerFactoryTest.php b/lib/internal/Magento/Framework/App/Test/Unit/ObjectManagerFactoryTest.php
index cf75953d4e19b00374317c73c5001089858a1b0f..c40dd4a1c0502eb7dc323f9a303f5cef1b3ee3ab 100644
--- a/lib/internal/Magento/Framework/App/Test/Unit/ObjectManagerFactoryTest.php
+++ b/lib/internal/Magento/Framework/App/Test/Unit/ObjectManagerFactoryTest.php
@@ -8,7 +8,7 @@ namespace Magento\Framework\App\Test\Unit;
 use Magento\Framework\App\Bootstrap;
 
 /**
- * covers \Magento\Framework\App\ObjectManagerFactory
+ * @covers \Magento\Framework\App\ObjectManagerFactory
  */
 class ObjectManagerFactoryTest extends \PHPUnit_Framework_TestCase
 {
diff --git a/lib/internal/Magento/Framework/App/Test/Unit/RequestFactoryTest.php b/lib/internal/Magento/Framework/App/Test/Unit/RequestFactoryTest.php
index 580d803d52b6e7ffdba9f7bed22abef16ec31e4f..b1c7db53cb92a122492239cbf9ad4bc7a5671d1d 100644
--- a/lib/internal/Magento/Framework/App/Test/Unit/RequestFactoryTest.php
+++ b/lib/internal/Magento/Framework/App/Test/Unit/RequestFactoryTest.php
@@ -26,8 +26,8 @@ class RequestFactoryTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\App\RequestFactory::__construct
-     * covers \Magento\Framework\App\RequestFactory::create
+     * @covers \Magento\Framework\App\RequestFactory::__construct
+     * @covers \Magento\Framework\App\RequestFactory::create
      */
     public function testCreate()
     {
diff --git a/lib/internal/Magento/Framework/App/Test/Unit/Response/HttpTest.php b/lib/internal/Magento/Framework/App/Test/Unit/Response/HttpTest.php
index 26d126e7b5692febfe28dcad162c56fabd99d20b..182e7cfe65fab07449a7794cd68e766f28a4dec1 100644
--- a/lib/internal/Magento/Framework/App/Test/Unit/Response/HttpTest.php
+++ b/lib/internal/Magento/Framework/App/Test/Unit/Response/HttpTest.php
@@ -215,7 +215,7 @@ class HttpTest extends \PHPUnit_Framework_TestCase
     /**
      * Test for the magic method __wakeup
      *
-     * covers \Magento\Framework\App\Response\Http::__wakeup
+     * @covers \Magento\Framework\App\Response\Http::__wakeup
      */
     public function testWakeUpWith()
     {
diff --git a/lib/internal/Magento/Framework/App/Test/Unit/ScopeResolverPoolTest.php b/lib/internal/Magento/Framework/App/Test/Unit/ScopeResolverPoolTest.php
index d2a4bb622cece795f9f7dd5b06ab793ab517df3b..91e1ebbd3fc0bfe2c37fe2ecd12f7858f9023e77 100644
--- a/lib/internal/Magento/Framework/App/Test/Unit/ScopeResolverPoolTest.php
+++ b/lib/internal/Magento/Framework/App/Test/Unit/ScopeResolverPoolTest.php
@@ -32,7 +32,7 @@ class ScopeResolverPoolTest extends \PHPUnit_Framework_TestCase
     /**
      * @param string $scope
      *
-     * covers \Magento\Framework\App\ScopeResolverPool::get()
+     * @covers \Magento\Framework\App\ScopeResolverPool::get()
      * @expectedException \InvalidArgumentException
      * @expectedExceptionMessage Invalid scope type
      * @dataProvider testGetExceptionDataProvider
diff --git a/lib/internal/Magento/Framework/AppInterface.php b/lib/internal/Magento/Framework/AppInterface.php
index 7a6b7208d18d10202aaf90b210f7342466cc0111..85c2186e67320a90827eb1499b604e9a1ade03ea 100644
--- a/lib/internal/Magento/Framework/AppInterface.php
+++ b/lib/internal/Magento/Framework/AppInterface.php
@@ -17,7 +17,7 @@ interface AppInterface
     /**
      * Magento version
      */
-    const VERSION = '0.42.0-beta11';
+    const VERSION = '0.74.0-beta1';
 
     /**
      * Launch application
diff --git a/lib/internal/Magento/Framework/Cache/Test/Unit/Backend/MongoDbTest.php b/lib/internal/Magento/Framework/Cache/Test/Unit/Backend/MongoDbTest.php
index e26002e8029a0e6be56d668c0e1bfa7257a5a8c8..411a94edb0b1b4a8eca4a12767d18ea47ea36d35 100644
--- a/lib/internal/Magento/Framework/Cache/Test/Unit/Backend/MongoDbTest.php
+++ b/lib/internal/Magento/Framework/Cache/Test/Unit/Backend/MongoDbTest.php
@@ -80,9 +80,9 @@ class MongoDbTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Cache\Backend\MongoDb::getIdsMatchingTags
-     * covers \Magento\Framework\Cache\Backend\MongoDb::getIdsNotMatchingTags
-     * covers \Magento\Framework\Cache\Backend\MongoDb::getIdsMatchingAnyTags
+     * @covers \Magento\Framework\Cache\Backend\MongoDb::getIdsMatchingTags
+     * @covers \Magento\Framework\Cache\Backend\MongoDb::getIdsNotMatchingTags
+     * @covers \Magento\Framework\Cache\Backend\MongoDb::getIdsMatchingAnyTags
      * @dataProvider getIdsMatchingTagsDataProvider
      */
     public function testGetIdsMatchingTags($method, $tags, $expectedInput)
@@ -139,9 +139,9 @@ class MongoDbTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Cache\Backend\MongoDb::getIdsMatchingTags
-     * covers \Magento\Framework\Cache\Backend\MongoDb::getIdsNotMatchingTags
-     * covers \Magento\Framework\Cache\Backend\MongoDb::getIdsMatchingAnyTags
+     * @covers \Magento\Framework\Cache\Backend\MongoDb::getIdsMatchingTags
+     * @covers \Magento\Framework\Cache\Backend\MongoDb::getIdsNotMatchingTags
+     * @covers \Magento\Framework\Cache\Backend\MongoDb::getIdsMatchingAnyTags
      */
     public function testGetIdsMatchingTagsNoInputTags()
     {
diff --git a/lib/internal/Magento/Framework/Code/Test/Unit/Generator/EntityAbstractTest.php b/lib/internal/Magento/Framework/Code/Test/Unit/Generator/EntityAbstractTest.php
index 642387cdfa0888e973850bfadaab57f0a7f53e89..8b11e9bc25eb556be344c223799b536e7efea49d 100644
--- a/lib/internal/Magento/Framework/Code/Test/Unit/Generator/EntityAbstractTest.php
+++ b/lib/internal/Magento/Framework/Code/Test/Unit/Generator/EntityAbstractTest.php
@@ -151,17 +151,17 @@ class EntityAbstractTest extends \PHPUnit_Framework_TestCase
      * @param bool $willWriteCode
      *
      * @dataProvider generateDataProvider
-     * covers \Magento\Framework\Code\Generator\EntityAbstract::generate
-     * covers \Magento\Framework\Code\Generator\EntityAbstract::getErrors
-     * covers \Magento\Framework\Code\Generator\EntityAbstract::_getSourceClassName
-     * covers \Magento\Framework\Code\Generator\EntityAbstract::_getResultClassName
-     * covers \Magento\Framework\Code\Generator\EntityAbstract::_getDefaultResultClassName
-     * covers \Magento\Framework\Code\Generator\EntityAbstract::_generateCode
-     * covers \Magento\Framework\Code\Generator\EntityAbstract::_addError
-     * covers \Magento\Framework\Code\Generator\EntityAbstract::_validateData
-     * covers \Magento\Framework\Code\Generator\EntityAbstract::_getClassDocBlock
-     * covers \Magento\Framework\Code\Generator\EntityAbstract::_getGeneratedCode
-     * covers \Magento\Framework\Code\Generator\EntityAbstract::_fixCodeStyle
+     * @covers \Magento\Framework\Code\Generator\EntityAbstract::generate
+     * @covers \Magento\Framework\Code\Generator\EntityAbstract::getErrors
+     * @covers \Magento\Framework\Code\Generator\EntityAbstract::getSourceClassName
+     * @covers \Magento\Framework\Code\Generator\EntityAbstract::_getResultClassName
+     * @covers \Magento\Framework\Code\Generator\EntityAbstract::_getDefaultResultClassName
+     * @covers \Magento\Framework\Code\Generator\EntityAbstract::_generateCode
+     * @covers \Magento\Framework\Code\Generator\EntityAbstract::_addError
+     * @covers \Magento\Framework\Code\Generator\EntityAbstract::_validateData
+     * @covers \Magento\Framework\Code\Generator\EntityAbstract::_getClassDocBlock
+     * @covers \Magento\Framework\Code\Generator\EntityAbstract::_getGeneratedCode
+     * @covers \Magento\Framework\Code\Generator\EntityAbstract::_fixCodeStyle
      */
     public function testGenerate(
         $errors = [],
diff --git a/lib/internal/Magento/Framework/Controller/Test/Unit/Result/JsonTest.php b/lib/internal/Magento/Framework/Controller/Test/Unit/Result/JsonTest.php
index d92164f181e41db5370575589aa4c8b28057da02..769a61c21ab09b87c6b22cf72f73e54c1e7a1e27 100644
--- a/lib/internal/Magento/Framework/Controller/Test/Unit/Result/JsonTest.php
+++ b/lib/internal/Magento/Framework/Controller/Test/Unit/Result/JsonTest.php
@@ -9,7 +9,7 @@ namespace Magento\Framework\Controller\Test\Unit\Result;
 /**
  * Class JsonTest
  *
- * covers Magento\Framework\Controller\Result\Json
+ * @covers \Magento\Framework\Controller\Result\Json
  */
 class JsonTest extends \PHPUnit_Framework_TestCase
 {
diff --git a/lib/internal/Magento/Framework/DB/Test/Unit/Adapter/Pdo/MysqlTest.php b/lib/internal/Magento/Framework/DB/Test/Unit/Adapter/Pdo/MysqlTest.php
index 607ff484331048e54d48e054575b7b5a9e37cb3f..9297ffad51e384ca70c200d1b42648125bd7555e 100644
--- a/lib/internal/Magento/Framework/DB/Test/Unit/Adapter/Pdo/MysqlTest.php
+++ b/lib/internal/Magento/Framework/DB/Test/Unit/Adapter/Pdo/MysqlTest.php
@@ -499,8 +499,8 @@ class MysqlTest extends \PHPUnit_Framework_TestCase
      * @param string $expectedQuery
      *
      * @dataProvider addColumnDataProvider
-     * covers \Magento\Framework\DB\Adapter\Pdo\Mysql::addColumn
-     * covers \Magento\Framework\DB\Adapter\Pdo\Mysql::_getColumnDefinition
+     * @covers \Magento\Framework\DB\Adapter\Pdo\Mysql::addColumn
+     * @covers \Magento\Framework\DB\Adapter\Pdo\Mysql::_getColumnDefinition
      */
     public function testAddColumn($options, $expectedQuery)
     {
diff --git a/lib/internal/Magento/Framework/Data/Structure.php b/lib/internal/Magento/Framework/Data/Structure.php
index 6f97437a266d99e900d1d95d8482d9258c660c88..a5d09d08ca9a1e99799f7423cacd4159abd1338a 100644
--- a/lib/internal/Magento/Framework/Data/Structure.php
+++ b/lib/internal/Magento/Framework/Data/Structure.php
@@ -185,6 +185,7 @@ class Structure
                 }
             }
         }
+        $this->unsetChild($elementId);
         $wasFound = isset($this->_elements[$elementId]);
         unset($this->_elements[$elementId]);
         return $wasFound;
diff --git a/lib/internal/Magento/Framework/Data/Test/Unit/Collection/DbTest.php b/lib/internal/Magento/Framework/Data/Test/Unit/Collection/DbTest.php
index 2217a390d6a7eb3f6f8b7358ad289150b2d98456..0d2336846b991e392cbb712907dceb041d1ae64c 100644
--- a/lib/internal/Magento/Framework/Data/Test/Unit/Collection/DbTest.php
+++ b/lib/internal/Magento/Framework/Data/Test/Unit/Collection/DbTest.php
@@ -258,7 +258,7 @@ class DbTest extends \PHPUnit_Framework_TestCase
      * Test that after cloning collection $this->_select in initial and cloned collections
      * do not reference the same object
      *
-     * covers \Magento\Framework\Data\Collection\Db::__clone
+     * @covers \Magento\Framework\Data\Collection\Db::__clone
      */
     public function testClone()
     {
diff --git a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/AbstractElementTest.php b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/AbstractElementTest.php
index 8ab511594eb446d52e3a6fef00f64f77d46fe6a1..15f30f19b442c0d93a7a6c5e23bf0e338cf11e5d 100644
--- a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/AbstractElementTest.php
+++ b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/AbstractElementTest.php
@@ -51,7 +51,7 @@ class AbstractElementTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\AbstractElement::addElement()
+     * @covers \Magento\Framework\Data\Form\Element\AbstractElement::addElement()
      */
     public function testAddElement()
     {
@@ -88,7 +88,7 @@ class AbstractElementTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\AbstractElement::getHtmlId()
+     * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getHtmlId()
      */
     public function testGetHtmlId()
     {
@@ -112,7 +112,7 @@ class AbstractElementTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\AbstractElement::getName()
+     * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getName()
      */
     public function testGetNameWithoutSuffix()
     {
@@ -134,7 +134,7 @@ class AbstractElementTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\AbstractElement::getName()
+     * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getName()
      */
     public function testGetNameWithSuffix()
     {
@@ -160,7 +160,7 @@ class AbstractElementTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\AbstractElement::removeField()
+     * @covers \Magento\Framework\Data\Form\Element\AbstractElement::removeField()
      */
     public function testRemoveField()
     {
@@ -189,7 +189,7 @@ class AbstractElementTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\AbstractElement::getHtmlAttributes()
+     * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getHtmlAttributes()
      */
     public function testGetHtmlAttributes()
     {
@@ -210,7 +210,7 @@ class AbstractElementTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\AbstractElement::addClass()
+     * @covers \Magento\Framework\Data\Form\Element\AbstractElement::addClass()
      */
     public function testAddClass()
     {
@@ -223,7 +223,7 @@ class AbstractElementTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\AbstractElement::removeClass()
+     * @covers \Magento\Framework\Data\Form\Element\AbstractElement::removeClass()
      */
     public function testRemoveClass()
     {
@@ -240,7 +240,7 @@ class AbstractElementTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\AbstractElement::getEscapedValue()
+     * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getEscapedValue()
      */
     public function testGetEscapedValueWithoutFilter()
     {
@@ -251,7 +251,7 @@ class AbstractElementTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\AbstractElement::getEscapedValue()
+     * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getEscapedValue()
      */
     public function testGetEscapedValueWithFilter()
     {
@@ -273,7 +273,7 @@ class AbstractElementTest extends \PHPUnit_Framework_TestCase
      * @param array $initialData
      * @param string $expectedValue
      * @dataProvider getElementHtmlDataProvider
-     * covers \Magento\Framework\Data\Form\Element\AbstractElement::getElementHtml()
+     * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getElementHtml()
      */
     public function testGetElementHtml(array $initialData, $expectedValue)
     {
@@ -289,7 +289,7 @@ class AbstractElementTest extends \PHPUnit_Framework_TestCase
      * @param array $initialData
      * @param string $expectedValue
      * @dataProvider getLabelHtmlDataProvider
-     * covers \Magento\Framework\Data\Form\Element\AbstractElement::getLabelHtml()
+     * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getLabelHtml()
      */
     public function testGetLabelHtml(array $initialData, $expectedValue)
     {
@@ -305,7 +305,7 @@ class AbstractElementTest extends \PHPUnit_Framework_TestCase
      * @param array $initialData
      * @param string $expectedValue
      * @dataProvider testGetDefaultHtmlDataProvider
-     * covers \Magento\Framework\Data\Form\Element\AbstractElement::getDefaultHtml()
+     * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getDefaultHtml()
      */
     public function testGetDefaultHtml(array $initialData, $expectedValue)
     {
@@ -317,7 +317,7 @@ class AbstractElementTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\AbstractElement::getHtml()
+     * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getHtml()
      */
     public function testGetHtmlWithoutRenderer()
     {
@@ -333,7 +333,7 @@ class AbstractElementTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\AbstractElement::getHtml()
+     * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getHtml()
      */
     public function testGetHtmlWithRenderer()
     {
@@ -358,7 +358,7 @@ class AbstractElementTest extends \PHPUnit_Framework_TestCase
      * @param array $initialData
      * @param string $expectedValue
      * @dataProvider serializeDataProvider
-     * covers \Magento\Framework\Data\Form\Element\AbstractElement::serialize()
+     * @covers \Magento\Framework\Data\Form\Element\AbstractElement::serialize()
      */
     public function testSerialize(array $initialData, $expectedValue)
     {
@@ -372,7 +372,7 @@ class AbstractElementTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\AbstractElement::getHtmlContainerId()
+     * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getHtmlContainerId()
      */
     public function testGetHtmlContainerIdWithoutId()
     {
@@ -383,7 +383,7 @@ class AbstractElementTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\AbstractElement::getHtmlContainerId()
+     * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getHtmlContainerId()
      */
     public function testGetHtmlContainerIdWithContainerId()
     {
@@ -396,7 +396,7 @@ class AbstractElementTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\AbstractElement::getHtmlContainerId()
+     * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getHtmlContainerId()
      */
     public function testGetHtmlContainerIdWithFieldContainerIdPrefix()
     {
@@ -418,7 +418,7 @@ class AbstractElementTest extends \PHPUnit_Framework_TestCase
      * @param array $initialData
      * @param string $expectedValue
      * @dataProvider addElementValuesDataProvider
-     * covers \Magento\Framework\Data\Form\Element\AbstractElement::addElementValues()
+     * @covers \Magento\Framework\Data\Form\Element\AbstractElement::addElementValues()
      */
     public function testAddElementValues(array $initialData, $expectedValue)
     {
diff --git a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ButtonTest.php b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ButtonTest.php
index b32e997f224e2fba03e49369259bbd8fd1ab1993..bcb5135b047e8b7ecf8a83a4a0629be66ec9094c 100644
--- a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ButtonTest.php
+++ b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ButtonTest.php
@@ -44,7 +44,7 @@ class ButtonTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Button::__construct
+     * @covers \Magento\Framework\Data\Form\Element\Button::__construct
      */
     public function testConstruct()
     {
@@ -53,7 +53,7 @@ class ButtonTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Button::getHtmlAttributes
+     * @covers \Magento\Framework\Data\Form\Element\Button::getHtmlAttributes
      */
     public function testGetHtmlAttributes()
     {
diff --git a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/CheckboxTest.php b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/CheckboxTest.php
index 44d1141c88da08da561beabdc66608ef8aa69d0d..5f0fd55c03512c033cb1ee5f2a8ef9899331d81c 100644
--- a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/CheckboxTest.php
+++ b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/CheckboxTest.php
@@ -44,7 +44,7 @@ class CheckboxTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Checkbox::__construct
+     * @covers \Magento\Framework\Data\Form\Element\Checkbox::__construct
      */
     public function testConstruct()
     {
@@ -53,7 +53,7 @@ class CheckboxTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Checkbox::getHtmlAttributes
+     * @covers \Magento\Framework\Data\Form\Element\Checkbox::getHtmlAttributes
      */
     public function testGetHtmlAttributes()
     {
@@ -66,7 +66,7 @@ class CheckboxTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Checkbox::getElementHtml
+     * @covers \Magento\Framework\Data\Form\Element\Checkbox::getElementHtml
      */
     public function testGetElementHtml()
     {
diff --git a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/CollectionFactoryTest.php b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/CollectionFactoryTest.php
index 36c6d59d79b3cffc4ee106cda01e94ffbbbee72e..bdd29b4a70530dd14a74a70fac87e4fbb60bc710 100644
--- a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/CollectionFactoryTest.php
+++ b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/CollectionFactoryTest.php
@@ -36,7 +36,7 @@ class CollectionFactoryTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\CollectionFactory::create
+     * @covers \Magento\Framework\Data\Form\Element\CollectionFactory::create
      */
     public function testCreate()
     {
diff --git a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ColumnTest.php b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ColumnTest.php
index 2dc7218c9ab65c00215025a378ecf7c05f8f5c7a..e559055322cf6de1421cc3e1491ef097d99ebd14 100644
--- a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ColumnTest.php
+++ b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ColumnTest.php
@@ -44,7 +44,7 @@ class ColumnTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Column::__construct
+     * @covers \Magento\Framework\Data\Form\Element\Column::__construct
      */
     public function testConstruct()
     {
diff --git a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/FileTest.php b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/FileTest.php
index 77786e075ff25ef7805b79f3fe800c6ddd4e252b..19165e58bff0099c9b1647cc11ce0823b8e0b0b9 100644
--- a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/FileTest.php
+++ b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/FileTest.php
@@ -44,7 +44,7 @@ class FileTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\File::__construct
+     * @covers \Magento\Framework\Data\Form\Element\File::__construct
      */
     public function testConstruct()
     {
diff --git a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/HiddenTest.php b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/HiddenTest.php
index 1da08b0d511b1109f1fd9dfc627f1b1c6cc37e73..3b8211610698644c719d5030e53b1c9da71811be 100644
--- a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/HiddenTest.php
+++ b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/HiddenTest.php
@@ -44,7 +44,7 @@ class HiddenTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Hidden::__construct
+     * @covers \Magento\Framework\Data\Form\Element\Hidden::__construct
      */
     public function testConstruct()
     {
@@ -53,7 +53,7 @@ class HiddenTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Hidden::getDefaultHtml
+     * @covers \Magento\Framework\Data\Form\Element\Hidden::getDefaultHtml
      */
     public function testGetDefaultHtml()
     {
diff --git a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ImageTest.php b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ImageTest.php
index 86bf7cfa0cb379b840996818d29305b1db4b6c0a..db253018181384923b79efc04d311171055c466a 100644
--- a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ImageTest.php
+++ b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ImageTest.php
@@ -53,7 +53,7 @@ class ImageTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Image::__construct
+     * @covers \Magento\Framework\Data\Form\Element\Image::__construct
      */
     public function testConstruct()
     {
@@ -61,7 +61,7 @@ class ImageTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Image::getName
+     * @covers \Magento\Framework\Data\Form\Element\Image::getName
      */
     public function testGetName()
     {
@@ -70,7 +70,7 @@ class ImageTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Image::getElementHtml
+     * @covers \Magento\Framework\Data\Form\Element\Image::getElementHtml
      */
     public function testGetElementHtmlWithoutValue()
     {
@@ -83,7 +83,7 @@ class ImageTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Image::getElementHtml
+     * @covers \Magento\Framework\Data\Form\Element\Image::getElementHtml
      */
     public function testGetElementHtmlWithValue()
     {
@@ -97,7 +97,10 @@ class ImageTest extends \PHPUnit_Framework_TestCase
         $this->assertContains('<input', $html);
         $this->assertContains('type="file"', $html);
         $this->assertContains('value="test_value"', $html);
-        $this->assertContains('<a href="http://localhost/media/test_value" onclick="imagePreview(\'_image\'); return false;"', $html);
+        $this->assertContains(
+            '<a href="http://localhost/media/test_value" onclick="imagePreview(\'_image\'); return false;"',
+            $html
+        );
         $this->assertContains('<input type="checkbox"', $html);
     }
 }
diff --git a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ImagefileTest.php b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ImagefileTest.php
index 6dd63e09e8c0ded1af3f5d8bf94f65a810dcc3b3..2ba27897cac7b7148b7a08c572b527d445f496f6 100644
--- a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ImagefileTest.php
+++ b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ImagefileTest.php
@@ -40,7 +40,7 @@ class ImagefileTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Imagefile::__construct
+     * @covers \Magento\Framework\Data\Form\Element\Imagefile::__construct
      */
     public function testConstruct()
     {
diff --git a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/LabelTest.php b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/LabelTest.php
index 48a59757eb56324a86b57bf3f0f78f1ff2efba05..2e0f8aa103910217f86d791be8ada9609f74caee 100644
--- a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/LabelTest.php
+++ b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/LabelTest.php
@@ -40,7 +40,7 @@ class LabelTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Label::__construct
+     * @covers \Magento\Framework\Data\Form\Element\Label::__construct
      */
     public function testConstruct()
     {
@@ -48,7 +48,7 @@ class LabelTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Label::getElementHtml
+     * @covers \Magento\Framework\Data\Form\Element\Label::getElementHtml
      */
     public function testGetElementHtml()
     {
diff --git a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/LinkTest.php b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/LinkTest.php
index c4894f86c82d042012490bbbd455da7eac2ebf66..b1146e86bdeff3cd006b9ba9c5e3ce5341000f31 100644
--- a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/LinkTest.php
+++ b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/LinkTest.php
@@ -44,7 +44,7 @@ class LinkTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Link::__construct
+     * @covers \Magento\Framework\Data\Form\Element\Link::__construct
      */
     public function testConstruct()
     {
@@ -52,7 +52,7 @@ class LinkTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Link::getElementHtml
+     * @covers \Magento\Framework\Data\Form\Element\Link::getElementHtml
      */
     public function testGetElementHtml()
     {
@@ -69,7 +69,7 @@ class LinkTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Link::getHtmlAttributes
+     * @covers \Magento\Framework\Data\Form\Element\Link::getHtmlAttributes
      */
     public function testGetHtmlAttributes()
     {
diff --git a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/MultiselectTest.php b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/MultiselectTest.php
index 75e52b1ad44c260ecfaab408dd6db8ff786fc7ba..e24ab55c5f1214f7019ae62c07efe2dff394290d 100644
--- a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/MultiselectTest.php
+++ b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/MultiselectTest.php
@@ -22,7 +22,7 @@ class MultiselectTest extends \PHPUnit_Framework_TestCase
     /**
      * Verify that hidden input is present in multiselect
      *
-     * covers \Magento\Framework\Data\Form\Element\Multiselect::getElementHtml
+     * @covers \Magento\Framework\Data\Form\Element\Multiselect::getElementHtml
      */
     public function testHiddenFieldPresentInMultiSelect()
     {
diff --git a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/NoteTest.php b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/NoteTest.php
index 5f0d420d6c0c0feb944b7bef7713b70b6e323d92..8fcf5673702db099494e2dc504619f3ec40dbff9 100644
--- a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/NoteTest.php
+++ b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/NoteTest.php
@@ -44,7 +44,7 @@ class NoteTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Note::__construct
+     * @covers \Magento\Framework\Data\Form\Element\Note::__construct
      */
     public function testConstruct()
     {
@@ -52,7 +52,7 @@ class NoteTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Note::getElementHtml
+     * @covers \Magento\Framework\Data\Form\Element\Note::getElementHtml
      */
     public function testGetElementHtml()
     {
diff --git a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ObscureTest.php b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ObscureTest.php
index 24960126c0a6d57b207380035b91997e5f50dd93..640aebb71a46a795aae4022daba66c037521efed 100644
--- a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ObscureTest.php
+++ b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ObscureTest.php
@@ -44,7 +44,7 @@ class ObscureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Obscure::__construct
+     * @covers \Magento\Framework\Data\Form\Element\Obscure::__construct
      */
     public function testConstruct()
     {
@@ -53,7 +53,7 @@ class ObscureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Obscure::getEscapedValue
+     * @covers \Magento\Framework\Data\Form\Element\Obscure::getEscapedValue
      */
     public function testGetEscapedValue()
     {
@@ -64,7 +64,7 @@ class ObscureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Obscure::getHtmlAttributes
+     * @covers \Magento\Framework\Data\Form\Element\Obscure::getHtmlAttributes
      */
     public function testGetHtmlAttributes()
     {
diff --git a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/PasswordTest.php b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/PasswordTest.php
index 9e2e70369d3690b11399480cb0fe74a3229e33a5..0fd77983e5255d5a2db39f440f164a71fd627d15 100644
--- a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/PasswordTest.php
+++ b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/PasswordTest.php
@@ -44,7 +44,7 @@ class PasswordTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Password::__construct
+     * @covers \Magento\Framework\Data\Form\Element\Password::__construct
      */
     public function testConstruct()
     {
@@ -53,7 +53,7 @@ class PasswordTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Password::getHtml
+     * @covers \Magento\Framework\Data\Form\Element\Password::getHtml
      */
     public function testGetHtml()
     {
diff --git a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/RadioTest.php b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/RadioTest.php
index 2cfdb1886390b7542e76a74aa295debe63b91b95..b8340600e63ab1bb41ceaa9d470aa9c2bf1245f8 100644
--- a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/RadioTest.php
+++ b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/RadioTest.php
@@ -44,7 +44,7 @@ class RadioTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Radio::__construct
+     * @covers \Magento\Framework\Data\Form\Element\Radio::__construct
      */
     public function testConstruct()
     {
diff --git a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ResetTest.php b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ResetTest.php
index 5237122b215435bc8a69ee43317fbd9a1f2acc42..427b0391a8dd962914773b26ad9b3e555bbb307a 100644
--- a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ResetTest.php
+++ b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/ResetTest.php
@@ -44,7 +44,7 @@ class ResetTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Reset::__construct
+     * @covers \Magento\Framework\Data\Form\Element\Reset::__construct
      */
     public function testConstruct()
     {
diff --git a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/SubmitTest.php b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/SubmitTest.php
index 1d2444cb599f390b95408fcd34beeb6729f88703..7d93c9009de5a12e99e1bc2f7b6ff458f32e8144 100644
--- a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/SubmitTest.php
+++ b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/SubmitTest.php
@@ -44,7 +44,7 @@ class SubmitTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Submit::__construct
+     * @covers \Magento\Framework\Data\Form\Element\Submit::__construct
      */
     public function testConstruct()
     {
@@ -53,7 +53,7 @@ class SubmitTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Submit::getHtml
+     * @covers \Magento\Framework\Data\Form\Element\Submit::getHtml
      */
     public function testGetHtml()
     {
diff --git a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/TextTest.php b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/TextTest.php
index 3d0822f60bd455fa2323b4caf649fc3afa8bf25c..85d93de729a2f23ef01d99174c7298b9ff2aa45e 100644
--- a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/TextTest.php
+++ b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/TextTest.php
@@ -44,7 +44,7 @@ class TextTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Text::__construct
+     * @covers \Magento\Framework\Data\Form\Element\Text::__construct
      */
     public function testConstruct()
     {
@@ -53,7 +53,7 @@ class TextTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Text::getHtml
+     * @covers \Magento\Framework\Data\Form\Element\Text::getHtml
      */
     public function testGetHtml()
     {
@@ -63,7 +63,7 @@ class TextTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Text::getHtmlAttributes
+     * @covers \Magento\Framework\Data\Form\Element\Text::getHtmlAttributes
      */
     public function testGetHtmlAttributes()
     {
diff --git a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/TextareaTest.php b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/TextareaTest.php
index 51eb3c0ef09251cf1552f772621deac48b04185f..926de7ebb9776ed1af6fdca59fe3c0fee08a9801 100644
--- a/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/TextareaTest.php
+++ b/lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/TextareaTest.php
@@ -44,7 +44,7 @@ class TextareaTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Textarea::__construct
+     * @covers \Magento\Framework\Data\Form\Element\Textarea::__construct
      */
     public function testConstruct()
     {
@@ -55,7 +55,7 @@ class TextareaTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Textarea::getElementHtml
+     * @covers \Magento\Framework\Data\Form\Element\Textarea::getElementHtml
      */
     public function testGetElementHtml()
     {
@@ -67,7 +67,7 @@ class TextareaTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Data\Form\Element\Textarea::getHtmlAttributes
+     * @covers \Magento\Framework\Data\Form\Element\Textarea::getHtmlAttributes
      */
     public function testGetHtmlAttributes()
     {
diff --git a/lib/internal/Magento/Framework/Data/Test/Unit/StructureTest.php b/lib/internal/Magento/Framework/Data/Test/Unit/StructureTest.php
index 17c4e3cf39a648c04bce1183cd38b49ac8448384..4b994828b51d1745246f8276cd45ad2499333aec 100644
--- a/lib/internal/Magento/Framework/Data/Test/Unit/StructureTest.php
+++ b/lib/internal/Magento/Framework/Data/Test/Unit/StructureTest.php
@@ -206,6 +206,7 @@ class StructureTest extends \PHPUnit_Framework_TestCase
         $this->assertSame([5], $this->_structure->getElement('five'));
 
         // recursively
+        $this->assertTrue($this->_structure->unsetElement('three'));
         $this->assertTrue($this->_structure->unsetElement('four'));
         $this->assertSame(['one' => [], 'five' => [5]], $this->_structure->exportElements());
     }
@@ -565,8 +566,8 @@ class StructureTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @return void
-     * covers \Magento\Framework\Data\Structure::addToParentGroup
-     * covers \Magento\Framework\Data\Structure::getGroupChildNames
+     * @covers \Magento\Framework\Data\Structure::addToParentGroup
+     * @covers \Magento\Framework\Data\Structure::getGroupChildNames
      */
     public function testGroups()
     {
diff --git a/lib/internal/Magento/Framework/Data/Tree/NodeFactory.php b/lib/internal/Magento/Framework/Data/Tree/NodeFactory.php
new file mode 100644
index 0000000000000000000000000000000000000000..0fa561adbd7aa9f6f0bf7fe1720d47f85b9a5c40
--- /dev/null
+++ b/lib/internal/Magento/Framework/Data/Tree/NodeFactory.php
@@ -0,0 +1,54 @@
+<?php
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+
+namespace Magento\Framework\Data\Tree;
+
+use Magento\Framework\ObjectManagerInterface;
+
+/**
+ * Factory class for @see \Magento\Framework\Data\Tree\Node
+ */
+class NodeFactory
+{
+    /**
+     * Object Manager instance
+     *
+     * @var ObjectManagerInterface
+     */
+    protected $objectManager;
+
+    /**
+     * Instance name to create
+     *
+     * @var string
+     */
+    protected $instanceName;
+
+    /**
+     * Factory constructor
+     *
+     * @param ObjectManagerInterface $objectManager
+     * @param string $instanceName
+     */
+    public function __construct(
+        ObjectManagerInterface $objectManager,
+        $instanceName = '\Magento\Framework\Data\Tree\Node'
+    ) {
+        $this->objectManager = $objectManager;
+        $this->instanceName = $instanceName;
+    }
+
+    /**
+     * Create class instance with specified parameters
+     *
+     * @param array $data
+     * @return \Magento\Framework\Data\Tree\Node
+     */
+    public function create(array $data = [])
+    {
+        return $this->objectManager->create($this->instanceName, $data);
+    }
+}
diff --git a/lib/internal/Magento/Framework/Data/TreeFactory.php b/lib/internal/Magento/Framework/Data/TreeFactory.php
new file mode 100644
index 0000000000000000000000000000000000000000..ad3a41304b09fd8472a590d639df80984188807e
--- /dev/null
+++ b/lib/internal/Magento/Framework/Data/TreeFactory.php
@@ -0,0 +1,54 @@
+<?php
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+
+namespace Magento\Framework\Data;
+
+use Magento\Framework\ObjectManagerInterface;
+
+/**
+ * Factory class for @see \Magento\Framework\Data\Tree
+ */
+class TreeFactory
+{
+    /**
+     * Object Manager instance
+     *
+     * @var ObjectManagerInterface
+     */
+    protected $objectManager = null;
+
+    /**
+     * Instance name to create
+     *
+     * @var string
+     */
+    protected $instanceName = null;
+
+    /**
+     * Factory constructor
+     *
+     * @param ObjectManagerInterface $objectManager
+     * @param string $instanceName
+     */
+    public function __construct(
+        ObjectManagerInterface $objectManager,
+        $instanceName = '\Magento\Framework\Data\Tree'
+    ) {
+        $this->objectManager = $objectManager;
+        $this->instanceName = $instanceName;
+    }
+
+    /**
+     * Create class instance with specified parameters
+     *
+     * @param array $data
+     * @return \Magento\Framework\Data\Tree
+     */
+    public function create(array $data = [])
+    {
+        return $this->objectManager->create($this->instanceName, $data);
+    }
+}
diff --git a/lib/internal/Magento/Framework/Filesystem/Directory/Read.php b/lib/internal/Magento/Framework/Filesystem/Directory/Read.php
index 33f09a43d326f99fc3fbce2df3f04b573f922db6..189a0c8b24644260bf9a633c5ce40f98e14fada8 100644
--- a/lib/internal/Magento/Framework/Filesystem/Directory/Read.php
+++ b/lib/internal/Magento/Framework/Filesystem/Directory/Read.php
@@ -65,12 +65,12 @@ class Read implements ReadInterface
      * E.g.: /var/www/application/file.txt
      *
      * @param string $path
-     * @param string $schema
+     * @param string $scheme
      * @return string
      */
-    public function getAbsolutePath($path = null, $schema = null)
+    public function getAbsolutePath($path = null, $scheme = null)
     {
-        return $this->driver->getAbsolutePath($this->path, $path, $schema);
+        return $this->driver->getAbsolutePath($this->path, $path, $scheme);
     }
 
     /**
diff --git a/lib/internal/Magento/Framework/Filter/Test/Unit/RemoveTagsTest.php b/lib/internal/Magento/Framework/Filter/Test/Unit/RemoveTagsTest.php
index 8cd04c545936e8591c2f28bb03ebfba1d57f68a6..13025a0bf1952033448643de65fa89439c62523f 100644
--- a/lib/internal/Magento/Framework/Filter/Test/Unit/RemoveTagsTest.php
+++ b/lib/internal/Magento/Framework/Filter/Test/Unit/RemoveTagsTest.php
@@ -8,8 +8,8 @@ namespace Magento\Framework\Filter\Test\Unit;
 class RemoveTagsTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * covers \Magento\Framework\Filter\RemoveTags::filter
-     * covers \Magento\Framework\Filter\RemoveTags::_convertEntities
+     * @covers \Magento\Framework\Filter\RemoveTags::filter
+     * @covers \Magento\Framework\Filter\RemoveTags::_convertEntities
      */
     public function testRemoveTags()
     {
diff --git a/lib/internal/Magento/Framework/Filter/Test/Unit/StripTagsTest.php b/lib/internal/Magento/Framework/Filter/Test/Unit/StripTagsTest.php
index b81c35e60f78dd2ad920decf6fc1b9f6622a14b4..40efc83e4f356d8251db7a8edbd89e8375fd72c9 100644
--- a/lib/internal/Magento/Framework/Filter/Test/Unit/StripTagsTest.php
+++ b/lib/internal/Magento/Framework/Filter/Test/Unit/StripTagsTest.php
@@ -8,7 +8,7 @@ namespace Magento\Framework\Filter\Test\Unit;
 class StripTagsTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * covers \Magento\Framework\Filter\StripTags::filter
+     * @covers \Magento\Framework\Filter\StripTags::filter
      */
     public function testStripTags()
     {
diff --git a/lib/internal/Magento/Framework/HTTP/Test/Unit/HeaderTest.php b/lib/internal/Magento/Framework/HTTP/Test/Unit/HeaderTest.php
index 099e2cb48ed9d5b41e0fcfd7545b3b2337dcb9f1..24bd8ff4e21a51727d0785e6825c77b5cf17cb6c 100644
--- a/lib/internal/Magento/Framework/HTTP/Test/Unit/HeaderTest.php
+++ b/lib/internal/Magento/Framework/HTTP/Test/Unit/HeaderTest.php
@@ -44,11 +44,11 @@ class HeaderTest extends \PHPUnit_Framework_TestCase
      *
      * @dataProvider methodsDataProvider
      *
-     * covers \Magento\Framework\HTTP\Header::getHttpHost
-     * covers \Magento\Framework\HTTP\Header::getHttpUserAgent
-     * covers \Magento\Framework\HTTP\Header::getHttpAcceptLanguage
-     * covers \Magento\Framework\HTTP\Header::getHttpAcceptCharset
-     * covers \Magento\Framework\HTTP\Header::getHttpReferer
+     * @covers \Magento\Framework\HTTP\Header::getHttpHost
+     * @covers \Magento\Framework\HTTP\Header::getHttpUserAgent
+     * @covers \Magento\Framework\HTTP\Header::getHttpAcceptLanguage
+     * @covers \Magento\Framework\HTTP\Header::getHttpAcceptCharset
+     * @covers \Magento\Framework\HTTP\Header::getHttpReferer
      */
     public function testHttpMethods($method, $clean, $expectedValue)
     {
diff --git a/lib/internal/Magento/Framework/Image/Test/Unit/AdapterFactoryTest.php b/lib/internal/Magento/Framework/Image/Test/Unit/AdapterFactoryTest.php
index ffac4f0eb5a9341d19029c812561fd68fbe29447..ff3bbceba5d1effa55af841f61dbcfe0ed4786b2 100644
--- a/lib/internal/Magento/Framework/Image/Test/Unit/AdapterFactoryTest.php
+++ b/lib/internal/Magento/Framework/Image/Test/Unit/AdapterFactoryTest.php
@@ -85,7 +85,7 @@ class AdapterFactoryTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Image\AdapterFactory::create
+     * @covers \Magento\Framework\Image\AdapterFactory::create
      */
     public function testCreateWithoutName()
     {
@@ -120,7 +120,7 @@ class AdapterFactoryTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Image\AdapterFactory::create
+     * @covers \Magento\Framework\Image\AdapterFactory::create
      * @expectedException \InvalidArgumentException
      * @expectedExceptionMessage Image adapter is not selected.
      */
@@ -139,7 +139,7 @@ class AdapterFactoryTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Image\AdapterFactory::create
+     * @covers \Magento\Framework\Image\AdapterFactory::create
      * @expectedException \InvalidArgumentException
      * @expectedExceptionMessage Image adapter for 'test' is not setup.
      */
@@ -159,7 +159,7 @@ class AdapterFactoryTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Image\AdapterFactory::create
+     * @covers \Magento\Framework\Image\AdapterFactory::create
      * @expectedException \InvalidArgumentException
      * @expectedExceptionMessage stdClass is not instance of \Magento\Framework\Image\Adapter\AdapterInterface
      */
diff --git a/lib/internal/Magento/Framework/Interception/Test/Unit/Chain/ChainTest.php b/lib/internal/Magento/Framework/Interception/Test/Unit/Chain/ChainTest.php
index 07761697a150a3e0a06316437403616674f1c4a7..11451bb0b805488dfb7557cfd7fe8d66f0c748c9 100644
--- a/lib/internal/Magento/Framework/Interception/Test/Unit/Chain/ChainTest.php
+++ b/lib/internal/Magento/Framework/Interception/Test/Unit/Chain/ChainTest.php
@@ -25,8 +25,8 @@ class ChainTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers  \Magento\Framework\Interception\Chain\Chain::invokeNext
-     * covers  \Magento\Framework\Interception\Chain\Chain::__construct
+     * @covers \Magento\Framework\Interception\Chain\Chain::invokeNext
+     * @covers \Magento\Framework\Interception\Chain\Chain::__construct
      */
     public function testInvokeNextBeforePlugin()
     {
@@ -64,7 +64,7 @@ class ChainTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers  \Magento\Framework\Interception\Chain\Chain::invokeNext
+     * @covers \Magento\Framework\Interception\Chain\Chain::invokeNext
      */
     public function testInvokeNextAroundPlugin()
     {
@@ -95,7 +95,7 @@ class ChainTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers  \Magento\Framework\Interception\Chain\Chain::invokeNext
+     * @covers \Magento\Framework\Interception\Chain\Chain::invokeNext
      */
     public function testInvokeNextAfterPlugin()
     {
diff --git a/lib/internal/Magento/Framework/Interception/Test/Unit/Code/InterfaceValidatorTest.php b/lib/internal/Magento/Framework/Interception/Test/Unit/Code/InterfaceValidatorTest.php
index 2ca3f6d1b77b1ee831c57e4dee33bc4189a2f878..463282a829dbbd23c7caf2e3061a1c8b91ccf585 100644
--- a/lib/internal/Magento/Framework/Interception/Test/Unit/Code/InterfaceValidatorTest.php
+++ b/lib/internal/Magento/Framework/Interception/Test/Unit/Code/InterfaceValidatorTest.php
@@ -37,12 +37,12 @@ class InterfaceValidatorTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Interception\Code\InterfaceValidator::validate
-     * covers \Magento\Framework\Interception\Code\InterfaceValidator::getMethodParameters
-     * covers \Magento\Framework\Interception\Code\InterfaceValidator::getMethodType
-     * covers \Magento\Framework\Interception\Code\InterfaceValidator::getOriginMethodName
-     * covers \Magento\Framework\Interception\Code\InterfaceValidator::getParametersType
-     * covers \Magento\Framework\Interception\Code\InterfaceValidator::__construct
+     * @covers \Magento\Framework\Interception\Code\InterfaceValidator::validate
+     * @covers \Magento\Framework\Interception\Code\InterfaceValidator::getMethodParameters
+     * @covers \Magento\Framework\Interception\Code\InterfaceValidator::getMethodType
+     * @covers \Magento\Framework\Interception\Code\InterfaceValidator::getOriginMethodName
+     * @covers \Magento\Framework\Interception\Code\InterfaceValidator::getParametersType
+     * @covers \Magento\Framework\Interception\Code\InterfaceValidator::__construct
      */
     public function testValidate()
     {
@@ -55,7 +55,7 @@ class InterfaceValidatorTest extends \PHPUnit_Framework_TestCase
     /**
      * @expectedException \Magento\Framework\Interception\Code\ValidatorException
      * @expectedExceptionMessage Incorrect interface in
-     * covers \Magento\Framework\Interception\Code\InterfaceValidator::validate
+     * @covers \Magento\Framework\Interception\Code\InterfaceValidator::validate
      */
     public function testValidateIncorrectInterface()
     {
@@ -68,7 +68,7 @@ class InterfaceValidatorTest extends \PHPUnit_Framework_TestCase
     /**
      * @expectedException \Magento\Framework\Interception\Code\ValidatorException
      * @expectedExceptionMessage Invalid [\Magento\Framework\Interception\Test\Unit\Custom\Module\Model\Item] $subject type
-     * covers \Magento\Framework\Interception\Code\InterfaceValidator::validate
+     * @covers \Magento\Framework\Interception\Code\InterfaceValidator::validate
      */
     public function testValidateIncorrectSubjectType()
     {
@@ -81,8 +81,8 @@ class InterfaceValidatorTest extends \PHPUnit_Framework_TestCase
     /**
      * @expectedException \Magento\Framework\Interception\Code\ValidatorException
      * @expectedExceptionMessage Invalid method signature. Invalid method parameters count
-     * covers \Magento\Framework\Interception\Code\InterfaceValidator::validate
-     * covers \Magento\Framework\Interception\Code\InterfaceValidator::validateMethodsParameters
+     * @covers \Magento\Framework\Interception\Code\InterfaceValidator::validate
+     * @covers \Magento\Framework\Interception\Code\InterfaceValidator::validateMethodsParameters
      */
     public function testValidateIncompatibleMethodArgumentsCount()
     {
@@ -96,8 +96,8 @@ class InterfaceValidatorTest extends \PHPUnit_Framework_TestCase
     /**
      * @expectedException \Magento\Framework\Interception\Code\ValidatorException
      * @expectedExceptionMessage Incompatible parameter type
-     * covers \Magento\Framework\Interception\Code\InterfaceValidator::validate
-     * covers \Magento\Framework\Interception\Code\InterfaceValidator::validateMethodsParameters
+     * @covers \Magento\Framework\Interception\Code\InterfaceValidator::validate
+     * @covers \Magento\Framework\Interception\Code\InterfaceValidator::validateMethodsParameters
      */
     public function testValidateIncompatibleMethodArgumentsType()
     {
@@ -111,7 +111,7 @@ class InterfaceValidatorTest extends \PHPUnit_Framework_TestCase
     /**
      * @expectedException \Magento\Framework\Interception\Code\ValidatorException
      * @expectedExceptionMessage Invalid method signature. Detected extra parameters
-     * covers \Magento\Framework\Interception\Code\InterfaceValidator::validate
+     * @covers \Magento\Framework\Interception\Code\InterfaceValidator::validate
      */
     public function testValidateExtraParameters()
     {
@@ -124,7 +124,7 @@ class InterfaceValidatorTest extends \PHPUnit_Framework_TestCase
     /**
      * @expectedException \Magento\Framework\Interception\Code\ValidatorException
      * @expectedExceptionMessage Invalid [] $name type in
-     * covers \Magento\Framework\Interception\Code\InterfaceValidator::validate
+     * @covers \Magento\Framework\Interception\Code\InterfaceValidator::validate
      */
     public function testValidateInvalidProceed()
     {
diff --git a/lib/internal/Magento/Framework/Interception/Test/Unit/Definition/CompiledTest.php b/lib/internal/Magento/Framework/Interception/Test/Unit/Definition/CompiledTest.php
index 800438a656e777a87bfe8c3a5b76d00a09955e82..2818515a626e7bdaae7813e2cd0e34c0fa47164f 100644
--- a/lib/internal/Magento/Framework/Interception/Test/Unit/Definition/CompiledTest.php
+++ b/lib/internal/Magento/Framework/Interception/Test/Unit/Definition/CompiledTest.php
@@ -13,8 +13,8 @@ class CompiledTest extends \PHPUnit_Framework_TestCase
     protected $_definitions = ['type' => 'definitions'];
 
     /**
-     * covers \Magento\Framework\Interception\Definition\Compiled::getMethodList
-     * covers \Magento\Framework\Interception\Definition\Compiled::__construct
+     * @covers \Magento\Framework\Interception\Definition\Compiled::getMethodList
+     * @covers \Magento\Framework\Interception\Definition\Compiled::__construct
      */
     public function testGetMethodList()
     {
diff --git a/lib/internal/Magento/Framework/Interception/Test/Unit/PluginList/PluginListTest.php b/lib/internal/Magento/Framework/Interception/Test/Unit/PluginList/PluginListTest.php
index c9a116432eee4ea57fec33d65324c62ec2fd9b60..9aa337afc3f726933c6371a9ea802b02c2259ba7 100644
--- a/lib/internal/Magento/Framework/Interception/Test/Unit/PluginList/PluginListTest.php
+++ b/lib/internal/Magento/Framework/Interception/Test/Unit/PluginList/PluginListTest.php
@@ -78,15 +78,24 @@ class PluginListTest extends \PHPUnit_Framework_TestCase
         $this->_configScopeMock->expects($this->any())->method('getCurrentScope')->will($this->returnValue('backend'));
         $this->_model->getNext('Magento\Framework\Interception\Test\Unit\Custom\Module\Model\Item', 'getName');
         $this->_model->getNext('Magento\Framework\Interception\Test\Unit\Custom\Module\Model\ItemContainer', 'getName');
-        $this->_model->getNext('Magento\Framework\Interception\Test\Unit\Custom\Module\Model\StartingBackslash', 'getName');
+        $this->_model->getNext(
+            'Magento\Framework\Interception\Test\Unit\Custom\Module\Model\StartingBackslash',
+            'getName'
+        );
 
         $this->assertEquals(
             'Magento\Framework\Interception\Test\Unit\Custom\Module\Model\ItemPlugin\Simple',
-            $this->_model->getPlugin('Magento\Framework\Interception\Test\Unit\Custom\Module\Model\Item', 'simple_plugin')
+            $this->_model->getPlugin(
+                'Magento\Framework\Interception\Test\Unit\Custom\Module\Model\Item',
+                'simple_plugin'
+            )
         );
         $this->assertEquals(
             'Magento\Framework\Interception\Test\Unit\Custom\Module\Model\ItemPlugin\Advanced',
-            $this->_model->getPlugin('Magento\Framework\Interception\Test\Unit\Custom\Module\Model\Item', 'advanced_plugin')
+            $this->_model->getPlugin(
+                'Magento\Framework\Interception\Test\Unit\Custom\Module\Model\Item',
+                'advanced_plugin'
+            )
         );
         $this->assertEquals(
             'Magento\Framework\Interception\Test\Unit\Custom\Module\Model\ItemContainerPlugin\Simple',
@@ -180,8 +189,8 @@ class PluginListTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @expectedException \InvalidArgumentException
-     * covers \Magento\Framework\Interception\PluginList\PluginList::getNext
-     * covers \Magento\Framework\Interception\PluginList\PluginList::_inheritPlugins
+     * @covers \Magento\Framework\Interception\PluginList\PluginList::getNext
+     * @covers \Magento\Framework\Interception\PluginList\PluginList::_inheritPlugins
      */
     public function testInheritPluginsWithNonExistingClass()
     {
@@ -193,8 +202,8 @@ class PluginListTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Interception\PluginList\PluginList::getNext
-     * covers \Magento\Framework\Interception\PluginList\PluginList::_loadScopedData
+     * @covers \Magento\Framework\Interception\PluginList\PluginList::getNext
+     * @covers \Magento\Framework\Interception\PluginList\PluginList::_loadScopedData
      */
     public function testLoadScopedDataCached()
     {
diff --git a/lib/internal/Magento/Framework/Less/Config.php b/lib/internal/Magento/Framework/Less/Config.php
new file mode 100644
index 0000000000000000000000000000000000000000..88f6c27e9ee412d67f4c414f5165e449ed42fa14
--- /dev/null
+++ b/lib/internal/Magento/Framework/Less/Config.php
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+namespace Magento\Framework\Less;
+
+use Magento\Framework\App\Filesystem\DirectoryList;
+
+class Config
+{
+    /**
+     * Temporary directory prefix
+     */
+    const TMP_LESS_DIR = 'less';
+
+    /**
+     * Returns relative path to less materialization directory
+     *
+     * @return string
+     */
+    public function getLessMaterializationRelativePath()
+    {
+        return DirectoryList::TMP_MATERIALIZATION_DIR . '/' . self::TMP_LESS_DIR;
+    }
+}
diff --git a/lib/internal/Magento/Framework/Less/File/Temporary.php b/lib/internal/Magento/Framework/Less/File/Temporary.php
new file mode 100644
index 0000000000000000000000000000000000000000..8da016ecde585d76b509d3e4f74e3ca9069de16a
--- /dev/null
+++ b/lib/internal/Magento/Framework/Less/File/Temporary.php
@@ -0,0 +1,52 @@
+<?php
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+namespace Magento\Framework\Less\File;
+
+use Magento\Framework\App\Filesystem\DirectoryList;
+use Magento\Framework\Filesystem;
+use Magento\Framework\Less\Config;
+
+class Temporary
+{
+    /**
+     * @var Config
+     */
+    private $config;
+
+    /**
+     * @var Filesystem\Directory\WriteInterface
+     */
+    private $tmpDirectory;
+
+    /**
+     * @param Filesystem $filesystem
+     * @param Config $config
+     */
+    public function __construct(
+        Filesystem $filesystem,
+        Config $config
+    ) {
+        $this->tmpDirectory = $filesystem->getDirectoryWrite(DirectoryList::VAR_DIR);
+        $this->config = $config;
+    }
+
+    /**
+     * Write down contents to a temporary file and return its absolute path
+     *
+     * @param string $relativePath
+     * @param string $contents
+     * @return string
+     */
+    public function createFile($relativePath, $contents)
+    {
+        $filePath =  $this->config->getLessMaterializationRelativePath() . '/' . $relativePath;
+
+        if (!$this->tmpDirectory->isExist($filePath)) {
+            $this->tmpDirectory->writeFile($filePath, $contents);
+        }
+        return $this->tmpDirectory->getAbsolutePath($filePath);
+    }
+}
diff --git a/lib/internal/Magento/Framework/Less/FileGenerator.php b/lib/internal/Magento/Framework/Less/FileGenerator.php
index f45d462e7eaaeeff23b95633c658bf40d526f650..ab7141d29dcc196d32324778d6e8df1b114fc747 100644
--- a/lib/internal/Magento/Framework/Less/FileGenerator.php
+++ b/lib/internal/Magento/Framework/Less/FileGenerator.php
@@ -7,17 +7,16 @@
 namespace Magento\Framework\Less;
 
 use Magento\Framework\App\Filesystem\DirectoryList;
-use Magento\Framework\View\Asset\LocalInterface;
 use Magento\Framework\View\Asset\PreProcessor\Chain;
 use Magento\Framework\View\Asset\SourceFileGeneratorInterface;
 
+/**
+ * Class FileGenerator
+ * @package Magento\Framework\Less
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
 class FileGenerator implements SourceFileGeneratorInterface
 {
-    /**
-     * Temporary directory prefix
-     */
-    const TMP_LESS_DIR = 'less';
-
     /**
      * Max execution (locking) time for generation process (in seconds)
      */
@@ -28,11 +27,6 @@ class FileGenerator implements SourceFileGeneratorInterface
      */
     const LOCK_FILE = 'less.lock';
 
-    /**
-     * @var string
-     */
-    protected $lessDirectory;
-
     /**
      * @var \Magento\Framework\Filesystem\Directory\WriteInterface
      */
@@ -59,17 +53,29 @@ class FileGenerator implements SourceFileGeneratorInterface
     private $importProcessor;
 
     /**
-     * @var \Magento\Framework\App\View\Asset\Publisher
+     * @var FileGenerator\RelatedGenerator
+     */
+    private $relatedGenerator;
+
+    /**
+     * @var Config
      */
-    private $publisher;
+    private $config;
+
+    /**
+     * @var File\Temporary
+     */
+    private $temporaryFile;
 
     /**
      * @param \Magento\Framework\Filesystem $filesystem
      * @param \Magento\Framework\View\Asset\Repository $assetRepo
-     * @param \Magento\Framework\Less\PreProcessor\Instruction\MagentoImport $magentoImportProcessor
-     * @param \Magento\Framework\Less\PreProcessor\Instruction\Import $importProcessor
+     * @param PreProcessor\Instruction\MagentoImport $magentoImportProcessor
+     * @param PreProcessor\Instruction\Import $importProcessor
      * @param \Magento\Framework\View\Asset\Source $assetSource
-     * @param \Magento\Framework\App\View\Asset\Publisher $publisher
+     * @param FileGenerator\RelatedGenerator $relatedGenerator
+     * @param Config $config
+     * @param File\Temporary $temporaryFile
      */
     public function __construct(
         \Magento\Framework\Filesystem $filesystem,
@@ -77,17 +83,19 @@ class FileGenerator implements SourceFileGeneratorInterface
         \Magento\Framework\Less\PreProcessor\Instruction\MagentoImport $magentoImportProcessor,
         \Magento\Framework\Less\PreProcessor\Instruction\Import $importProcessor,
         \Magento\Framework\View\Asset\Source $assetSource,
-        \Magento\Framework\App\View\Asset\Publisher $publisher
+        \Magento\Framework\Less\FileGenerator\RelatedGenerator $relatedGenerator,
+        Config $config,
+        File\Temporary $temporaryFile
     ) {
         $this->tmpDirectory = $filesystem->getDirectoryWrite(DirectoryList::VAR_DIR);
-        $this->pubDirectory = $filesystem->getDirectoryWrite(DirectoryList::PUB);
-        $this->lessDirectory = DirectoryList::TMP_MATERIALIZATION_DIR . '/' . self::TMP_LESS_DIR;
         $this->assetRepo = $assetRepo;
         $this->assetSource = $assetSource;
 
         $this->magentoImportProcessor = $magentoImportProcessor;
         $this->importProcessor = $importProcessor;
-        $this->publisher = $publisher;
+        $this->relatedGenerator = $relatedGenerator;
+        $this->config = $config;
+        $this->temporaryFile = $temporaryFile;
     }
 
     /**
@@ -109,16 +117,14 @@ class FileGenerator implements SourceFileGeneratorInterface
         while ($this->isProcessLocked()) {
             sleep(1);
         }
-        $lockFilePath = $this->lessDirectory . '/' . self::LOCK_FILE;
+        $lockFilePath = $this->config->getLessMaterializationRelativePath() . '/' . self::LOCK_FILE;
         $this->tmpDirectory->writeFile($lockFilePath, time());
 
         $this->magentoImportProcessor->process($chain);
         $this->importProcessor->process($chain);
-        $this->generateRelatedFiles();
+        $this->relatedGenerator->generate($this->importProcessor);
         $lessRelativePath = preg_replace('#\.css$#', '.less', $chain->getAsset()->getPath());
-        $tmpFilePath = $this->createFile($lessRelativePath, $chain->getContent());
-
-        $this->createFileMain($lessRelativePath, $chain->getContent());
+        $tmpFilePath = $this->temporaryFile->createFile($lessRelativePath, $chain->getContent());
 
         $this->tmpDirectory->delete($lockFilePath);
         return $tmpFilePath;
@@ -131,7 +137,7 @@ class FileGenerator implements SourceFileGeneratorInterface
      */
     protected function isProcessLocked()
     {
-        $lockFilePath = $this->lessDirectory . '/' . self::LOCK_FILE;
+        $lockFilePath = $this->config->getLessMaterializationRelativePath() . '/' . self::LOCK_FILE;
         if ($this->tmpDirectory->isExist($lockFilePath)) {
             $lockTime = time() - (int)$this->tmpDirectory->readFile($lockFilePath);
             if ($lockTime >= self::MAX_LOCK_TIME) {
@@ -142,69 +148,4 @@ class FileGenerator implements SourceFileGeneratorInterface
         }
         return false;
     }
-
-    /**
-     * Create all asset files, referenced from already processed ones
-     *
-     * @return void
-     */
-    protected function generateRelatedFiles()
-    {
-        do {
-            $relatedFiles = $this->importProcessor->getRelatedFiles();
-            $this->importProcessor->resetRelatedFiles();
-            foreach ($relatedFiles as $relatedFileInfo) {
-                list($relatedFileId, $asset) = $relatedFileInfo;
-                $this->generateRelatedFile($relatedFileId, $asset);
-            }
-        } while ($relatedFiles);
-    }
-
-    /**
-     * Create file, referenced relatively to an asset
-     *
-     * @param string $relatedFileId
-     * @param LocalInterface $asset
-     * @return void
-     */
-    protected function generateRelatedFile($relatedFileId, LocalInterface $asset)
-    {
-        $relatedAsset = $this->assetRepo->createRelated($relatedFileId, $asset);
-        $relatedAsset->getFilePath();
-
-        $this->createFile($relatedAsset->getPath(), $relatedAsset->getContent());
-        $relatedAsset->getSourceFile();
-        $this->publisher->publish($relatedAsset);
-    }
-
-    /**
-     * Write down contents to a temporary file and return its absolute path
-     *
-     * @param string $relativePath
-     * @param string $contents
-     * @return string
-     */
-    private function createFile($relativePath, $contents)
-    {
-        $filePath = $this->lessDirectory . '/' . $relativePath;
-
-        if (!$this->tmpDirectory->isExist($filePath)) {
-            $this->tmpDirectory->writeFile($filePath, $contents);
-        }
-        return $this->tmpDirectory->getAbsolutePath($filePath);
-    }
-
-    /**
-     * @param string $relativePath
-     * @param string $contents
-     *
-     * @return void
-     */
-    private function createFileMain($relativePath, $contents)
-    {
-        $filePath = '/static/' . $relativePath;
-        $contents .= '@urls-resolved: true;' . PHP_EOL . PHP_EOL;
-        $this->pubDirectory->writeFile($filePath, $contents);
-        return;
-    }
 }
diff --git a/lib/internal/Magento/Framework/Less/FileGenerator/RelatedGenerator.php b/lib/internal/Magento/Framework/Less/FileGenerator/RelatedGenerator.php
new file mode 100644
index 0000000000000000000000000000000000000000..64564ce4c0e9f3221710fe44a40bb316db4d7cf1
--- /dev/null
+++ b/lib/internal/Magento/Framework/Less/FileGenerator/RelatedGenerator.php
@@ -0,0 +1,79 @@
+<?php
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+namespace Magento\Framework\Less\FileGenerator;
+
+use Magento\Framework\App\Filesystem\DirectoryList;
+use Magento\Framework\Less\PreProcessor\Instruction\Import;
+use Magento\Framework\View\Asset\LocalInterface;
+
+class RelatedGenerator
+{
+    /**
+     * @var \Magento\Framework\Filesystem\Directory\WriteInterface
+     */
+    protected $tmpDirectory;
+
+    /**
+     * @var \Magento\Framework\View\Asset\Repository
+     */
+    private $assetRepo;
+
+    /**
+     * @var \Magento\Framework\Less\File\Temporary
+     */
+    private $temporaryFile;
+
+    /**
+     * @param \Magento\Framework\Filesystem $filesystem
+     * @param \Magento\Framework\View\Asset\Repository $assetRepo
+     * @param \Magento\Framework\Less\File\Temporary $temporaryFile
+     */
+    public function __construct(
+        \Magento\Framework\Filesystem $filesystem,
+        \Magento\Framework\View\Asset\Repository $assetRepo,
+        \Magento\Framework\Less\File\Temporary $temporaryFile
+    ) {
+        $this->tmpDirectory = $filesystem->getDirectoryWrite(DirectoryList::VAR_DIR);
+        $this->assetRepo = $assetRepo;
+
+        $this->temporaryFile = $temporaryFile;
+    }
+
+    /**
+     * Create all asset files, referenced from already processed ones
+     *
+     * @param Import $importGenerator
+     *
+     * @return void
+     */
+    public function generate(Import $importGenerator)
+    {
+        do {
+            $relatedFiles = $importGenerator->getRelatedFiles();
+            $importGenerator->resetRelatedFiles();
+            foreach ($relatedFiles as $relatedFileInfo) {
+                list($relatedFileId, $asset) = $relatedFileInfo;
+
+                $this->generateRelatedFile($relatedFileId, $asset);
+            }
+        } while ($relatedFiles);
+    }
+
+    /**
+     * Create file, referenced relatively to an asset
+     *
+     * @param string $relatedFileId
+     * @param LocalInterface $asset
+     * @return \Magento\Framework\View\Asset\File
+     */
+    protected function generateRelatedFile($relatedFileId, LocalInterface $asset)
+    {
+        $relatedAsset = $this->assetRepo->createRelated($relatedFileId, $asset);
+        $this->temporaryFile->createFile($relatedAsset->getPath(), $relatedAsset->getContent());
+
+        return $relatedAsset;
+    }
+}
diff --git a/lib/internal/Magento/Framework/Less/Test/Unit/FileGeneratorTest.php b/lib/internal/Magento/Framework/Less/Test/Unit/FileGeneratorTest.php
index 60293981b8f761c070b06930b9461640e90b450b..f5985fbd30f6042f10cc4bed359f95453521d678 100644
--- a/lib/internal/Magento/Framework/Less/Test/Unit/FileGeneratorTest.php
+++ b/lib/internal/Magento/Framework/Less/Test/Unit/FileGeneratorTest.php
@@ -4,8 +4,6 @@
  * See COPYING.txt for license details.
  */
 
-// @codingStandardsIgnoreFile
-
 namespace Magento\Framework\Less\Test\Unit;
 
 class FileGeneratorTest extends \PHPUnit_Framework_TestCase
@@ -41,58 +39,105 @@ class FileGeneratorTest extends \PHPUnit_Framework_TestCase
     private $object;
 
     /**
-     * @var \Magento\Framework\App\View\Asset\Publisher|\PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\Framework\Less\FileGenerator\RelatedGenerator|\PHPUnit_Framework_MockObject_MockObject
+     */
+    private $relatedGenerator;
+
+    /**
+     * @var \Magento\Framework\Less\Config|\PHPUnit_Framework_MockObject_MockObject
      */
-    private $publisher;
+    private $config;
+
+    /**
+     * @var \Magento\Framework\Less\File\Temporary|\PHPUnit_Framework_MockObject_MockObject
+     */
+    private $temporaryFile;
 
     protected function setUp()
     {
-        $this->tmpDirectory = $this->getMockForAbstractClass('\Magento\Framework\Filesystem\Directory\WriteInterface');
-        $this->rootDirectory = $this->getMockForAbstractClass('\Magento\Framework\Filesystem\Directory\ReadInterface');
+        $this->tmpDirectory = $this->getMockForAbstractClass('Magento\Framework\Filesystem\Directory\WriteInterface');
+        $this->rootDirectory = $this->getMockForAbstractClass('Magento\Framework\Filesystem\Directory\ReadInterface');
         $this->rootDirectory->expects($this->any())
             ->method('getRelativePath')
             ->will($this->returnArgument(0));
         $this->rootDirectory->expects($this->any())
             ->method('readFile')
-            ->will($this->returnCallback(function ($file) {
-                return "content of '$file'";
-            }));
+            ->will(
+                $this->returnCallback(
+                    function ($file) {
+                        return "content of '$file'";
+                    }
+                )
+            );
         $filesystem = $this->getMock('\Magento\Framework\Filesystem', [], [], '', false);
-        $filesystem->expects($this->exactly(2))
+        $filesystem->expects($this->once())
             ->method('getDirectoryWrite')
-            //->with(DirectoryList::VAR_DIR)
             ->will($this->returnValue($this->tmpDirectory));
         $this->assetRepo = $this->getMock('\Magento\Framework\View\Asset\Repository', [], [], '', false);
         $this->magentoImport = $this->getMock(
-            '\Magento\Framework\Less\PreProcessor\Instruction\MagentoImport', [], [], '', false
+            'Magento\Framework\Less\PreProcessor\Instruction\MagentoImport',
+            [],
+            [],
+            '',
+            false
         );
         $this->import = $this->getMock(
-            '\Magento\Framework\Less\PreProcessor\Instruction\Import', [], [], '', false
+            'Magento\Framework\Less\PreProcessor\Instruction\Import',
+            [],
+            [],
+            '',
+            false
         );
 
         $assetSource = $this->getMock(
-            'Magento\Framework\View\Asset\Source', [], [], '', false
+            'Magento\Framework\View\Asset\Source',
+            [],
+            [],
+            '',
+            false
         );
 
-        $this->publisher = $this->getMock('Magento\Framework\App\View\Asset\Publisher', [], [], '', false);
-
+        $this->relatedGenerator = $this->getMockBuilder('Magento\Framework\Less\FileGenerator\RelatedGenerator')
+            ->disableOriginalConstructor()
+            ->setMethods([])
+            ->getMock();
+        $this->config = $this->getMockBuilder('Magento\Framework\Less\Config')
+            ->disableOriginalConstructor()
+            ->setMethods([])
+            ->getMock();
+        $this->temporaryFile = $this->getMockBuilder('Magento\Framework\Less\File\Temporary')
+            ->disableOriginalConstructor()
+            ->setMethods([])
+            ->getMock();
         $this->object = new \Magento\Framework\Less\FileGenerator(
-            $filesystem, $this->assetRepo, $this->magentoImport, $this->import, $assetSource, $this->publisher
+            $filesystem,
+            $this->assetRepo,
+            $this->magentoImport,
+            $this->import,
+            $assetSource,
+            $this->relatedGenerator,
+            $this->config,
+            $this->temporaryFile
         );
     }
 
     public function testGenerateLessFileTree()
     {
-        $originalContent = 'original content';
+        $lessDirectory = 'path/to/less';
         $expectedContent = 'updated content';
-        $expectedRelativePath = 'view_preprocessed/less/some/file.less';
-        $expectedPath = '/var/view_preprocessed/less/some/file.less';
+        $expectedRelativePath = 'some/file.less';
+        $expectedPath = $lessDirectory . '/some/file.less';
 
-        $asset = $this->getMock('\Magento\Framework\View\Asset\File', [], [], '', false);
-        $asset->expects($this->exactly(2))
-            ->method('getPath')
-            ->will($this->returnValue('some/file.css'));
-        $chain = new \Magento\Framework\View\Asset\PreProcessor\Chain($asset, $originalContent, 'less');
+
+        $asset = $this->getMock('Magento\Framework\View\Asset\File', [], [], '', false);
+        $chain = $this->getMock('Magento\Framework\View\Asset\PreProcessor\Chain', [], [], '', false);
+
+        $this->config->expects($this->any())
+            ->method('getLessDirectory')
+            ->willReturn($lessDirectory);
+        $this->tmpDirectory->expects($this->once())
+            ->method('isExist')
+            ->willReturn(true);
 
         $this->magentoImport->expects($this->once())
             ->method('process')
@@ -100,59 +145,28 @@ class FileGeneratorTest extends \PHPUnit_Framework_TestCase
         $this->import->expects($this->once())
             ->method('process')
             ->with($chain);
+        $this->relatedGenerator->expects($this->once())
+            ->method('generate')
+            ->with($this->import);
 
-        $relatedAssetOne = $this->getMock('\Magento\Framework\View\Asset\File', [], [], '', false);
-        $relatedAssetOne->expects($this->any())
+        $asset->expects($this->once())
             ->method('getPath')
-            ->will($this->returnValue('related/file_one.css'));
-        $relatedAssetOne->expects($this->any())
-            ->method('getContent')
-            ->will($this->returnValue("content of 'related/file_one.css'"));
-        $relatedAssetTwo = $this->getMock('\Magento\Framework\View\Asset\File', [], [], '', false);
-        $relatedAssetTwo->expects($this->any())
-            ->method('getPath')
-            ->will($this->returnValue('related/file_two.css'));
-        $relatedAssetTwo->expects($this->any())
+            ->will($this->returnValue('some/file.css'));
+        $chain->expects($this->once())
             ->method('getContent')
-            ->will($this->returnValue("content of 'related/file_two.css'"));
-        $assetsMap = [
-            ['related/file_one.css', $asset, $relatedAssetOne],
-            ['related/file_two.css', $asset, $relatedAssetTwo],
-        ];
-        $this->assetRepo->expects($this->any())
-            ->method('createRelated')
-            ->will($this->returnValueMap($assetsMap));
-
-        $relatedFilesOne = [['related/file_one.css', $asset]];
-        $this->import->expects($this->at(1))
-            ->method('getRelatedFiles')
-            ->will($this->returnValue($relatedFilesOne));
-        $relatedFilesTwo = [['related/file_two.css', $asset]];
-        $this->import->expects($this->at(3))
-            ->method('getRelatedFiles')
-            ->will($this->returnValue($relatedFilesTwo));
-        $this->import->expects($this->at(5))
-            ->method('getRelatedFiles')
-            ->will($this->returnValue([]));
-
-        $writeMap = [
-            [$expectedRelativePath, $expectedContent],
-            ['related/file_one.css', "content of 'related/file_one.css'"],
-            ['related/file_two.css', "content of 'related/file_two.css'"],
-        ];
-        $pathsMap = [
-            [$expectedRelativePath, $expectedPath],
-            ['related/file_one.css', '/var/view_preprocessed/less/related/file_one.css'],
-            ['related/file_two.css', '/var/view_preprocessed/less/related/file_two.css'],
-        ];
-        $this->tmpDirectory->expects($this->any())
-            ->method('writeFile')
-            ->will($this->returnValueMap($writeMap));
-        $this->tmpDirectory->expects($this->any())
-            ->method('getAbsolutePath')
-            ->will($this->returnValueMap($pathsMap));
-
-        $actual = $this->object->generateFileTree($chain);
-        $this->assertSame($expectedPath, $actual);
+            ->willReturn($expectedContent);
+        $chain->expects($this->once())
+            ->method('getAsset')
+            ->willReturn($asset);
+
+        $this->temporaryFile->expects($this->once())
+            ->method('createFile')
+            ->with(
+                $expectedRelativePath,
+                $expectedContent
+            )
+            ->willReturn($expectedPath);
+
+        $this->assertSame($expectedPath, $this->object->generateFileTree($chain));
     }
 }
diff --git a/lib/internal/Magento/Framework/Less/Test/Unit/PreProcessor/Instruction/ImportTest.php b/lib/internal/Magento/Framework/Less/Test/Unit/PreProcessor/Instruction/ImportTest.php
index 91de6ddafa2cc4f599d5755266cdc13155e9c4a8..133ac7db0dbcec683fb42775f7a40ebe74c32bc5 100644
--- a/lib/internal/Magento/Framework/Less/Test/Unit/PreProcessor/Instruction/ImportTest.php
+++ b/lib/internal/Magento/Framework/Less/Test/Unit/PreProcessor/Instruction/ImportTest.php
@@ -108,7 +108,7 @@ class ImportTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Less\PreProcessor\Instruction\Import::resetRelatedFiles
+     * @covers \Magento\Framework\Less\PreProcessor\Instruction\Import::resetRelatedFiles
      */
     public function testGetRelatedFiles()
     {
diff --git a/lib/internal/Magento/Framework/Locale/Format.php b/lib/internal/Magento/Framework/Locale/Format.php
index 35dec7421cd6a203d533be951be990b301b3ff61..7cec1393dbba424d625c0ca37efe4e1230bc1e50 100644
--- a/lib/internal/Magento/Framework/Locale/Format.php
+++ b/lib/internal/Magento/Framework/Locale/Format.php
@@ -82,12 +82,17 @@ class Format implements \Magento\Framework\Locale\FormatInterface
      * Functions returns array with price formatting info
      *
      * @return array
+     * @SuppressWarnings(PHPMD.NPathComplexity)
      */
     public function getPriceFormat()
     {
-        $numberElements = (new DataBundle())->get($this->_localeResolver->getLocale())['NumberElements'];
-        $format = $numberElements['latn']['patterns']['currencyFormat'];
-        $symbols = $numberElements['latn']['symbols'];
+        $localeData = (new DataBundle())->get($this->_localeResolver->getLocale());
+        $format = $localeData['NumberElements']['latn']['patterns']['currencyFormat']
+            ?: explode(';', $localeData['NumberPatterns'][1])[0];
+        $decimalSymbol = $localeData['NumberElements']['latn']['symbols']['decimal']
+            ?: $localeData['NumberElements'][0];
+        $groupSymbol = $localeData['NumberElements']['latn']['symbols']['group']
+            ?: $localeData['NumberElements'][1];
 
         $pos = strpos($format, ';');
         if ($pos !== false) {
@@ -120,8 +125,8 @@ class Format implements \Magento\Framework\Locale\FormatInterface
             'pattern' => $this->_scopeResolver->getScope()->getCurrentCurrency()->getOutputFormat(),
             'precision' => $totalPrecision,
             'requiredPrecision' => $requiredPrecision,
-            'decimalSymbol' => $symbols['decimal'],
-            'groupSymbol' => $symbols['group'],
+            'decimalSymbol' => $decimalSymbol,
+            'groupSymbol' => $groupSymbol,
             'groupLength' => $group,
             'integerRequired' => $integerRequired,
         ];
diff --git a/lib/internal/Magento/Framework/Locale/Lists.php b/lib/internal/Magento/Framework/Locale/Lists.php
index dfe3a005a922ce333a9ac6016e7cb826ac724877..1eccb05ea03ef2fda9373e41d69df1649f44dd2c 100644
--- a/lib/internal/Magento/Framework/Locale/Lists.php
+++ b/lib/internal/Magento/Framework/Locale/Lists.php
@@ -103,7 +103,7 @@ class Lists implements ListsInterface
     {
         $options = [];
         $locale = $this->localeResolver->getLocale();
-        $zones = \DateTimeZone::listIdentifiers(\DateTimeZone::ALL_WITH_BC);
+        $zones = \DateTimeZone::listIdentifiers(\DateTimeZone::ALL);
         foreach ($zones as $code) {
             $options[] = [
                 'label' => \IntlTimeZone::createTimeZone($code)->getDisplayName(
diff --git a/lib/internal/Magento/Framework/Locale/Test/Unit/ValidatorTest.php b/lib/internal/Magento/Framework/Locale/Test/Unit/ValidatorTest.php
index 62634c5c1d10bea2b5a0b8337c199f3e0e8be61c..b786006cd46c7b21cd88d76a5e3c8c65f1338063 100644
--- a/lib/internal/Magento/Framework/Locale/Test/Unit/ValidatorTest.php
+++ b/lib/internal/Magento/Framework/Locale/Test/Unit/ValidatorTest.php
@@ -41,7 +41,7 @@ class ValidatorTest extends \PHPUnit_Framework_TestCase
      * @dataProvider testIsValidDataProvider
      * @param string $locale
      * @param boolean $valid
-     * covers \Magento\Framework\Locale\Validator::isValid
+     * @covers \Magento\Framework\Locale\Validator::isValid
      */
     public function testIsValid($locale, $valid)
     {
diff --git a/lib/internal/Magento/Framework/Mail/Test/Unit/MessageTest.php b/lib/internal/Magento/Framework/Mail/Test/Unit/MessageTest.php
index da6ddb497a78e9d61ba226221fb324b290ceeaf9..3ed9c781a76c51575fccea7f9a3b94123cecd508 100644
--- a/lib/internal/Magento/Framework/Mail/Test/Unit/MessageTest.php
+++ b/lib/internal/Magento/Framework/Mail/Test/Unit/MessageTest.php
@@ -24,8 +24,8 @@ class MessageTest extends \PHPUnit_Framework_TestCase
      * @param string $messageType
      * @param string $method
      *
-     * covers \Magento\Framework\Mail\Message::setBody
-     * covers \Magento\Framework\Mail\Message::setMessageType
+     * @covers \Magento\Framework\Mail\Message::setBody
+     * @covers \Magento\Framework\Mail\Message::setMessageType
      * @dataProvider setBodyDataProvider
      */
     public function testSetBody($messageType, $method)
@@ -60,8 +60,8 @@ class MessageTest extends \PHPUnit_Framework_TestCase
      * @param string $messageType
      * @param string $method
      *
-     * covers \Magento\Framework\Mail\Message::getBody
-     * covers \Magento\Framework\Mail\Message::setMessageType
+     * @covers \Magento\Framework\Mail\Message::getBody
+     * @covers \Magento\Framework\Mail\Message::setMessageType
      * @dataProvider getBodyDataProvider
      */
     public function testGetBody($messageType, $method)
diff --git a/lib/internal/Magento/Framework/Mail/Test/Unit/Template/FactoryTest.php b/lib/internal/Magento/Framework/Mail/Test/Unit/Template/FactoryTest.php
index 88ca16f01bce2bbb9a3210f430469f953d9f5415..eb9f08e6701181b5c9f433c71b39b5ff97a5fc20 100644
--- a/lib/internal/Magento/Framework/Mail/Test/Unit/Template/FactoryTest.php
+++ b/lib/internal/Magento/Framework/Mail/Test/Unit/Template/FactoryTest.php
@@ -24,8 +24,8 @@ class FactoryTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Mail\Template\Factory::get
-     * covers \Magento\Framework\Mail\Template\Factory::__construct
+     * @covers \Magento\Framework\Mail\Template\Factory::get
+     * @covers \Magento\Framework\Mail\Template\Factory::__construct
      */
     public function testGet()
     {
diff --git a/lib/internal/Magento/Framework/Mail/Test/Unit/Template/TransportBuilderTest.php b/lib/internal/Magento/Framework/Mail/Test/Unit/Template/TransportBuilderTest.php
index d6c81a75c8aa7c1614b0f349dc3d42ba24caec2e..0a93ee2ca9ee23c07807d905230cbb3e9cefb549 100644
--- a/lib/internal/Magento/Framework/Mail/Test/Unit/Template/TransportBuilderTest.php
+++ b/lib/internal/Magento/Framework/Mail/Test/Unit/Template/TransportBuilderTest.php
@@ -206,7 +206,7 @@ class TransportBuilderTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Mail\Template\TransportBuilder::addTo
+     * @covers \Magento\Framework\Mail\Template\TransportBuilder::addTo
      */
     public function testAddTo()
     {
@@ -219,7 +219,7 @@ class TransportBuilderTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Mail\Template\TransportBuilder::addBcc
+     * @covers \Magento\Framework\Mail\Template\TransportBuilder::addBcc
      */
     public function testAddBcc()
     {
@@ -232,7 +232,7 @@ class TransportBuilderTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Mail\Template\TransportBuilder::setReplyTo
+     * @covers \Magento\Framework\Mail\Template\TransportBuilder::setReplyTo
      */
     public function testSetReplyTo()
     {
diff --git a/lib/internal/Magento/Framework/Mail/Test/Unit/TransportTest.php b/lib/internal/Magento/Framework/Mail/Test/Unit/TransportTest.php
index 8e58b1d7efac174943d1c9b7321f1c2187f20ee8..cb5590497f3aebce6a4cc42f1f45f8ba746fde76 100644
--- a/lib/internal/Magento/Framework/Mail/Test/Unit/TransportTest.php
+++ b/lib/internal/Magento/Framework/Mail/Test/Unit/TransportTest.php
@@ -34,7 +34,7 @@ class TransportTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Mail\Transport::sendMessage
+     * @covers \Magento\Framework\Mail\Transport::sendMessage
      * @expectedException \Magento\Framework\Mail\Exception
      * @expectedExceptionMessage No body specified
      */
diff --git a/lib/internal/Magento/Framework/Math/Test/Unit/CalculatorTest.php b/lib/internal/Magento/Framework/Math/Test/Unit/CalculatorTest.php
index 5b6b1cf1791a534809e5fb12211f0d0b7a090483..8d2fa4c25a776cd524d430b06ff47bcb26a07d3f 100644
--- a/lib/internal/Magento/Framework/Math/Test/Unit/CalculatorTest.php
+++ b/lib/internal/Magento/Framework/Math/Test/Unit/CalculatorTest.php
@@ -34,8 +34,8 @@ class CalculatorTest extends \PHPUnit_Framework_TestCase
      * @param bool $negative
      * @param float $expected
      * @dataProvider deltaRoundDataProvider
-     * covers \Magento\Framework\Math\Calculator::deltaRound
-     * covers \Magento\Framework\Math\Calculator::__construct
+     * @covers \Magento\Framework\Math\Calculator::deltaRound
+     * @covers \Magento\Framework\Math\Calculator::__construct
      */
     public function testDeltaRound($price, $negative, $expected)
     {
diff --git a/lib/internal/Magento/Framework/Message/AbstractMessage.php b/lib/internal/Magento/Framework/Message/AbstractMessage.php
index b0a096bf8040ad50ffe49846ec55bd840f0994f9..b8efb73551a72af67160e6c3d646ae166b758cd5 100644
--- a/lib/internal/Magento/Framework/Message/AbstractMessage.php
+++ b/lib/internal/Magento/Framework/Message/AbstractMessage.php
@@ -47,7 +47,7 @@ abstract class AbstractMessage implements MessageInterface
      */
     public function getText()
     {
-        return $this->text;
+        return (string)$this->text;
     }
 
     /**
diff --git a/lib/internal/Magento/Framework/Message/Test/Unit/AbstractMessageTest.php b/lib/internal/Magento/Framework/Message/Test/Unit/AbstractMessageTest.php
index e5d8f3b30585ac7972800d6d8031cb99c69b1845..0e2db724f0d5a29e369a26aa8c7346677ca92c6a 100644
--- a/lib/internal/Magento/Framework/Message/Test/Unit/AbstractMessageTest.php
+++ b/lib/internal/Magento/Framework/Message/Test/Unit/AbstractMessageTest.php
@@ -27,14 +27,14 @@ class AbstractMessageTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Message\AbstractMessage::getText
-     * covers \Magento\Framework\Message\AbstractMessage::setText
+     * @covers \Magento\Framework\Message\AbstractMessage::getText
+     * @covers \Magento\Framework\Message\AbstractMessage::setText
      * @dataProvider setTextGetTextProvider
      */
-    public function testSetTextGetText($text)
+    public function testSetTextGetText($text, $resultText)
     {
         $this->model->setText($text);
-        $this->assertEquals($text, $this->model->getText());
+        $this->assertEquals($resultText, $this->model->getText());
     }
 
     /**
@@ -42,12 +42,12 @@ class AbstractMessageTest extends \PHPUnit_Framework_TestCase
      */
     public function setTextGetTextProvider()
     {
-        return [[''], ['some text']];
+        return [['', ''], ['some text', 'some text'], [new \Magento\Framework\Phrase('some text'), 'some text']];
     }
 
     /**
-     * covers \Magento\Framework\Message\AbstractMessage::getIdentifier
-     * covers \Magento\Framework\Message\AbstractMessage::setIdentifier
+     * @covers \Magento\Framework\Message\AbstractMessage::getIdentifier
+     * @covers \Magento\Framework\Message\AbstractMessage::setIdentifier
      * @dataProvider setIdentifierGetIdentifierProvider
      */
     public function testSetIdentifierGetIdentifier($identifier)
@@ -65,8 +65,8 @@ class AbstractMessageTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Message\AbstractMessage::getIsSticky
-     * covers \Magento\Framework\Message\AbstractMessage::setIsSticky
+     * @covers \Magento\Framework\Message\AbstractMessage::getIsSticky
+     * @covers \Magento\Framework\Message\AbstractMessage::setIsSticky
      */
     public function testSetIsStickyGetIsSticky()
     {
@@ -76,7 +76,7 @@ class AbstractMessageTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Message\AbstractMessage::toString
+     * @covers \Magento\Framework\Message\AbstractMessage::toString
      */
     public function testToString()
     {
diff --git a/lib/internal/Magento/Framework/Message/Test/Unit/CollectionTest.php b/lib/internal/Magento/Framework/Message/Test/Unit/CollectionTest.php
index 0ce4feb7c14a96d2db21db5d4f36d4eac9c26fc7..f97367965a4d8dc817c0ef34cdd5bfc98482f309 100644
--- a/lib/internal/Magento/Framework/Message/Test/Unit/CollectionTest.php
+++ b/lib/internal/Magento/Framework/Message/Test/Unit/CollectionTest.php
@@ -29,8 +29,8 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Message\Collection::addMessage
-     * covers \Magento\Framework\Message\Collection::getItemsByType
+     * @covers \Magento\Framework\Message\Collection::addMessage
+     * @covers \Magento\Framework\Message\Collection::getItemsByType
      */
     public function testAddMessage()
     {
@@ -51,9 +51,9 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Message\Collection::addMessage
-     * covers \Magento\Framework\Message\Collection::getItems
-     * covers \Magento\Framework\Message\Collection::getLastAddedMessage
+     * @covers \Magento\Framework\Message\Collection::addMessage
+     * @covers \Magento\Framework\Message\Collection::getItems
+     * @covers \Magento\Framework\Message\Collection::getLastAddedMessage
      */
     public function testGetItems()
     {
@@ -75,10 +75,10 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Message\Collection::addMessage
-     * covers \Magento\Framework\Message\Collection::getItemsByType
-     * covers \Magento\Framework\Message\Collection::getCount
-     * covers \Magento\Framework\Message\Collection::getCountByType
+     * @covers \Magento\Framework\Message\Collection::addMessage
+     * @covers \Magento\Framework\Message\Collection::getItemsByType
+     * @covers \Magento\Framework\Message\Collection::getCount
+     * @covers \Magento\Framework\Message\Collection::getCountByType
      */
     public function testGetItemsByType()
     {
@@ -118,8 +118,8 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Message\Collection::addMessage
-     * covers \Magento\Framework\Message\Collection::getErrors
+     * @covers \Magento\Framework\Message\Collection::addMessage
+     * @covers \Magento\Framework\Message\Collection::getErrors
      */
     public function testGetErrors()
     {
@@ -141,8 +141,8 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Message\Collection::getMessageByIdentifier
-     * covers \Magento\Framework\Message\Collection::deleteMessageByIdentifier
+     * @covers \Magento\Framework\Message\Collection::getMessageByIdentifier
+     * @covers \Magento\Framework\Message\Collection::deleteMessageByIdentifier
      */
     public function testGetMessageByIdentifier()
     {
@@ -168,7 +168,7 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Message\Collection::clear
+     * @covers \Magento\Framework\Message\Collection::clear
      */
     public function testClear()
     {
@@ -189,7 +189,7 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Message\Collection::clear
+     * @covers \Magento\Framework\Message\Collection::clear
      */
     public function testClearWithSticky()
     {
diff --git a/lib/internal/Magento/Framework/Model/Test/Unit/ActionValidator/RemoveActionTest.php b/lib/internal/Magento/Framework/Model/Test/Unit/ActionValidator/RemoveActionTest.php
index e7364f106035484c3f54636c2b1ad60757fcb410..c7bcdb23df30365afaa3f3c83938b8fdbde344d6 100644
--- a/lib/internal/Magento/Framework/Model/Test/Unit/ActionValidator/RemoveActionTest.php
+++ b/lib/internal/Magento/Framework/Model/Test/Unit/ActionValidator/RemoveActionTest.php
@@ -14,8 +14,8 @@ class RemoveActionTest extends \PHPUnit_Framework_TestCase
      * @param bool $expectedResult
      *
      * @dataProvider isAllowedDataProvider
-     * covers \Magento\Framework\Model\ActionValidator\RemoveAction::isAllowed
-     * covers \Magento\Framework\Model\ActionValidator\RemoveAction::getBaseClassName
+     * @covers \Magento\Framework\Model\ActionValidator\RemoveAction::isAllowed
+     * @covers \Magento\Framework\Model\ActionValidator\RemoveAction::getBaseClassName
      */
     public function testIsAllowed($modelToCheck, $protectedModel, $secureArea, $expectedResult)
     {
diff --git a/lib/internal/Magento/Framework/Module/Test/Unit/Setup/MigrationTest.php b/lib/internal/Magento/Framework/Module/Test/Unit/Setup/MigrationTest.php
index e777d9c51fcbf28f00be4981f63dcc9a14199633..3c5023be5c3661bc84aac7ff3e9e7b37988b455b 100644
--- a/lib/internal/Magento/Framework/Module/Test/Unit/Setup/MigrationTest.php
+++ b/lib/internal/Magento/Framework/Module/Test/Unit/Setup/MigrationTest.php
@@ -135,7 +135,7 @@ class MigrationTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Module\Setup\Migration::appendClassAliasReplace
+     * @covers \Magento\Framework\Module\Setup\Migration::appendClassAliasReplace
      */
     public function testAppendClassAliasReplace()
     {
diff --git a/lib/internal/Magento/Framework/ObjectManager/Test/Unit/Config/Reader/DomTest.php b/lib/internal/Magento/Framework/ObjectManager/Test/Unit/Config/Reader/DomTest.php
index 8990a324a7e7bd91129bc38c9e2ee36a31e0c802..690928ff07d8e9cb35c9fa286246ead92ddee452 100644
--- a/lib/internal/Magento/Framework/ObjectManager/Test/Unit/Config/Reader/DomTest.php
+++ b/lib/internal/Magento/Framework/ObjectManager/Test/Unit/Config/Reader/DomTest.php
@@ -72,7 +72,7 @@ class DomTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\ObjectManager\Config\Reader\Dom::_createConfigMerger()
+     * @covers \Magento\Framework\ObjectManager\Config\Reader\Dom::_createConfigMerger()
      */
     public function testRead()
     {
diff --git a/lib/internal/Magento/Framework/Pricing/Test/Unit/PriceInfo/BaseTest.php b/lib/internal/Magento/Framework/Pricing/Test/Unit/PriceInfo/BaseTest.php
index 650423f5475597f3aca3ac4fcd404cd41a3d5232..6e7d84e2f341bd8949b616950f3c04edf438ff37 100644
--- a/lib/internal/Magento/Framework/Pricing/Test/Unit/PriceInfo/BaseTest.php
+++ b/lib/internal/Magento/Framework/Pricing/Test/Unit/PriceInfo/BaseTest.php
@@ -101,7 +101,7 @@ class BaseTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Pricing\PriceInfo\Base::getAdjustments
+     * @covers \Magento\Framework\Pricing\PriceInfo\Base::getAdjustments
      */
     public function testGetAdjustments()
     {
@@ -110,7 +110,7 @@ class BaseTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Pricing\PriceInfo\Base::getAdjustment
+     * @covers \Magento\Framework\Pricing\PriceInfo\Base::getAdjustment
      */
     public function testGetAdjustment()
     {
diff --git a/lib/internal/Magento/Framework/Stdlib/DateTime/Timezone.php b/lib/internal/Magento/Framework/Stdlib/DateTime/Timezone.php
index ab75ed3fd336a7bbf4a5c9bbe8232828c24fd67d..7dc6f2538b27f866971e0592a8c3e55d0390787e 100644
--- a/lib/internal/Magento/Framework/Stdlib/DateTime/Timezone.php
+++ b/lib/internal/Magento/Framework/Stdlib/DateTime/Timezone.php
@@ -197,7 +197,11 @@ class Timezone implements TimezoneInterface
     public function scopeTimeStamp($scope = null)
     {
         $timezone = $this->_scopeConfig->getValue($this->getDefaultTimezonePath(), $this->_scopeType, $scope);
-        return (new \DateTime('now', new \DateTimeZone($timezone ?: 'UTC')))->getTimestamp();
+        $currentTimezone = @date_default_timezone_get();
+        @date_default_timezone_set($timezone);
+        $date = date('Y-m-d H:i:s');
+        @date_default_timezone_set($currentTimezone);
+        return strtotime($date);
     }
 
     /**
diff --git a/lib/internal/Magento/Framework/Stdlib/Test/Unit/ArrayUtilsTest.php b/lib/internal/Magento/Framework/Stdlib/Test/Unit/ArrayUtilsTest.php
index 30a43b623090072bed8fde2a7759f1c20a3af493..08e3373ef96857b05e9c7470bd7f79524b575751 100644
--- a/lib/internal/Magento/Framework/Stdlib/Test/Unit/ArrayUtilsTest.php
+++ b/lib/internal/Magento/Framework/Stdlib/Test/Unit/ArrayUtilsTest.php
@@ -23,7 +23,7 @@ class ArrayUtilsTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Stdlib\ArrayUtils::ksortMultibyte
+     * @covers \Magento\Framework\Stdlib\ArrayUtils::ksortMultibyte
      * @dataProvider ksortMultibyteDataProvider
      */
     public function testKsortMultibyte($input, $locale)
@@ -47,7 +47,7 @@ class ArrayUtilsTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Stdlib\ArrayUtils::decorateArray
+     * @covers \Magento\Framework\Stdlib\ArrayUtils::decorateArray
      */
     public function testDecorateArray()
     {
diff --git a/lib/internal/Magento/Framework/Stdlib/Test/Unit/Cookie/CookieScopeTest.php b/lib/internal/Magento/Framework/Stdlib/Test/Unit/Cookie/CookieScopeTest.php
index 755ef8c45de48819b70f29b1b0d1c4e21bc032af..d07d8b17c3f2c99ba719b1e6c604afb174919d3f 100644
--- a/lib/internal/Magento/Framework/Stdlib/Test/Unit/Cookie/CookieScopeTest.php
+++ b/lib/internal/Magento/Framework/Stdlib/Test/Unit/Cookie/CookieScopeTest.php
@@ -55,7 +55,7 @@ class CookieScopeTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers ::getSensitiveCookieMetadata
+     * @covers ::getSensitiveCookieMetadata
      */
     public function testGetSensitiveCookieMetadataEmpty()
     {
@@ -71,7 +71,7 @@ class CookieScopeTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers ::getPublicCookieMetadata
+     * @covers ::getPublicCookieMetadata
      */
     public function testGetPublicCookieMetadataEmpty()
     {
@@ -81,7 +81,7 @@ class CookieScopeTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers ::getCookieMetadata
+     * @covers ::getCookieMetadata
      */
     public function testGetCookieMetadataEmpty()
     {
@@ -91,7 +91,7 @@ class CookieScopeTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers ::createSensitiveMetadata ::getPublicCookieMetadata
+     * @covers ::createSensitiveMetadata ::getPublicCookieMetadata
      */
     public function testGetSensitiveCookieMetadataDefaults()
     {
@@ -121,7 +121,7 @@ class CookieScopeTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers ::createSensitiveMetadata ::getPublicCookieMetadata ::getCookieMetadata
+     * @covers ::createSensitiveMetadata ::getPublicCookieMetadata ::getCookieMetadata
      */
     public function testGetPublicCookieMetadataDefaults()
     {
@@ -153,7 +153,7 @@ class CookieScopeTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers ::createSensitiveMetadata ::getPublicCookieMetadata ::getCookieMetadata
+     * @covers ::createSensitiveMetadata ::getPublicCookieMetadata ::getCookieMetadata
      */
     public function testGetCookieMetadataDefaults()
     {
@@ -174,7 +174,7 @@ class CookieScopeTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers ::createSensitiveMetadata ::getPublicCookieMetadata ::getCookieMetadata
+     * @covers ::createSensitiveMetadata ::getPublicCookieMetadata ::getCookieMetadata
      */
     public function testGetSensitiveCookieMetadataOverrides()
     {
@@ -210,7 +210,7 @@ class CookieScopeTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers ::createSensitiveMetadata ::getPublicCookieMetadata ::getCookieMetadata
+     * @covers ::createSensitiveMetadata ::getPublicCookieMetadata ::getCookieMetadata
      */
     public function testGetPublicCookieMetadataOverrides()
     {
@@ -241,7 +241,7 @@ class CookieScopeTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers ::createSensitiveMetadata ::getPublicCookieMetadata ::getCookieMetadata
+     * @covers ::createSensitiveMetadata ::getPublicCookieMetadata ::getCookieMetadata
      */
     public function testGetCookieMetadataOverrides()
     {
diff --git a/lib/internal/Magento/Framework/Stdlib/Test/Unit/StringTest.php b/lib/internal/Magento/Framework/Stdlib/Test/Unit/StringTest.php
index 5a94a0d619ffd1211c2db5209c3c2ac795d8df69..0fef95cff1d54856a799fcc5ec64be1e07a249b2 100644
--- a/lib/internal/Magento/Framework/Stdlib/Test/Unit/StringTest.php
+++ b/lib/internal/Magento/Framework/Stdlib/Test/Unit/StringTest.php
@@ -23,7 +23,7 @@ class StringTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Stdlib\String::split
+     * @covers \Magento\Framework\Stdlib\String::split
      */
     public function testStrSplit()
     {
@@ -41,7 +41,7 @@ class StringTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Stdlib\String::splitInjection
+     * @covers \Magento\Framework\Stdlib\String::splitInjection
      */
     public function testSplitInjection()
     {
@@ -50,7 +50,7 @@ class StringTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Stdlib\String::cleanString
+     * @covers \Magento\Framework\Stdlib\String::cleanString
      */
     public function testCleanString()
     {
@@ -70,7 +70,7 @@ class StringTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Stdlib\String::strpos
+     * @covers \Magento\Framework\Stdlib\String::strpos
      */
     public function testStrpos()
     {
diff --git a/lib/internal/Magento/Framework/Test/Unit/EscaperTest.php b/lib/internal/Magento/Framework/Test/Unit/EscaperTest.php
index 06021edadb22ff4bf9e42e0f3bc457574f265de3..52077c116feb40b84619f8e48586bace99f140d5 100644
--- a/lib/internal/Magento/Framework/Test/Unit/EscaperTest.php
+++ b/lib/internal/Magento/Framework/Test/Unit/EscaperTest.php
@@ -23,7 +23,7 @@ class EscaperTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Escaper::escapeHtml
+     * @covers \Magento\Framework\Escaper::escapeHtml
      * @dataProvider escapeHtmlDataProvider
      */
     public function testEscapeHtml($data, $expected, $allowedTags = null)
@@ -58,7 +58,7 @@ class EscaperTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Escaper::escapeUrl
+     * @covers \Magento\Framework\Escaper::escapeUrl
      */
     public function testEscapeUrl()
     {
@@ -69,7 +69,7 @@ class EscaperTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Escaper::escapeJsQuote
+     * @covers \Magento\Framework\Escaper::escapeJsQuote
      */
     public function testEscapeJsQuote()
     {
@@ -80,7 +80,7 @@ class EscaperTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\Escaper::escapeQuote
+     * @covers \Magento\Framework\Escaper::escapeQuote
      */
     public function testEscapeQuote()
     {
diff --git a/lib/internal/Magento/Framework/TestFramework/Test/Unit/Unit/Helper/ObjectManagerTest.php b/lib/internal/Magento/Framework/TestFramework/Test/Unit/Unit/Helper/ObjectManagerTest.php
deleted file mode 100644
index d4e50811d7d92598df1588fa0af35359b2879a35..0000000000000000000000000000000000000000
--- a/lib/internal/Magento/Framework/TestFramework/Test/Unit/Unit/Helper/ObjectManagerTest.php
+++ /dev/null
@@ -1,96 +0,0 @@
-<?php
-/**
- * Copyright © 2015 Magento. All rights reserved.
- * See COPYING.txt for license details.
- */
-
-// @codingStandardsIgnoreFile
-
-namespace Magento\Framework\TestFramework\Test\Unit\Unit\Helper;
-
-class ObjectManagerTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * List of block default dependencies
-     *
-     * @var array
-     */
-    protected $_blockDependencies = [
-        'request' => 'Magento\Framework\App\RequestInterface',
-        'layout' => 'Magento\Framework\View\LayoutInterface',
-        'eventManager' => 'Magento\Framework\Event\ManagerInterface',
-        'translator' => 'Magento\Framework\TranslateInterface',
-        'cache' => 'Magento\Framework\App\CacheInterface',
-        'design' => 'Magento\Framework\View\DesignInterface',
-        'session' => 'Magento\Framework\Session\SessionManagerInterface',
-        'scopeConfig' => 'Magento\Framework\App\Config\ScopeConfigInterface',
-    ];
-
-    /**
-     * List of model default dependencies
-     *
-     * @var array
-     */
-    protected $_modelDependencies = [
-        'eventManager' => 'Magento\Framework\Event\ManagerInterface',
-        'cacheManager' => 'Magento\Framework\App\CacheInterface',
-        'resource' => 'Magento\Framework\Model\Resource\AbstractResource',
-        'resourceCollection' => 'Magento\Framework\Data\Collection\Db',
-    ];
-
-    /**
-     * @covers \Magento\TestFramework\TestCase\ObjectManager::getBlock
-     */
-    public function testGetBlock()
-    {
-        $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
-        /** @var $template \Magento\Framework\View\Element\Template */
-        $template = $objectManager->getObject('Magento\Framework\View\Element\Template');
-        $this->assertInstanceOf('Magento\Framework\View\Element\Template', $template);
-        foreach ($this->_blockDependencies as $propertyName => $propertyType) {
-            $this->assertAttributeInstanceOf($propertyType, '_' . $propertyName, $template);
-        }
-
-        $area = 'frontend';
-        /** @var $appStateMock \Magento\Framework\App\State|\PHPUnit_Framework_MockObject_MockObject */
-        $appStateMock = $this->getMock('Magento\Framework\App\State', ['getAreaCode'], [], '', false);
-        $appStateMock->expects($this->once())->method('getAreaCode')->will($this->returnValue($area));
-
-        $context = $objectManager->getObject('Magento\Framework\View\Element\Template\Context');
-        $appStateProperty = new \ReflectionProperty('Magento\Framework\View\Element\Template\Context', '_appState');
-        $appStateProperty->setAccessible(true);
-        $appStateProperty->setValue($context, $appStateMock);
-
-        /** @var $template \Magento\Framework\View\Element\Template */
-        $template = $objectManager->getObject('Magento\Framework\View\Element\Template', ['context' => $context]);
-        $this->assertEquals($area, $template->getArea());
-    }
-
-    /**
-     * @covers \Magento\TestFramework\ObjectManager::getModel
-     */
-    public function testGetModel()
-    {
-        $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
-        /** @var $model \Magento\Framework\App\Config\ValueInterface */
-        $model = $objectManager->getObject('Magento\Framework\App\Config\Value');
-        $this->assertInstanceOf('Magento\Framework\App\Config\Value', $model);
-        foreach ($this->_modelDependencies as $propertyName => $propertyType) {
-            $this->assertAttributeInstanceOf($propertyType, '_' . $propertyName, $model);
-        }
-
-        /** @var $resourceMock \Magento\Framework\Module\Resource */
-        $resourceMock = $this->getMock(
-            'Magento\Framework\Module\Resource',
-            ['_getReadAdapter', 'getIdFieldName', '__sleep', '__wakeup'],
-            [],
-            '',
-            false
-        );
-        $resourceMock->expects($this->once())->method('_getReadAdapter')->will($this->returnValue(false));
-        $resourceMock->expects($this->any())->method('getIdFieldName')->will($this->returnValue('id'));
-        $arguments = ['resource' => $resourceMock];
-        $model = $objectManager->getObject('Magento\Framework\App\Config\Value', $arguments);
-        $this->assertFalse($model->getResource()->getDataVersion('test'));
-    }
-}
diff --git a/lib/internal/Magento/Framework/Url/Test/Unit/DecoderTest.php b/lib/internal/Magento/Framework/Url/Test/Unit/DecoderTest.php
index 27b5fc97cb9e65fdf271cce8118ff9f3ff7b97d5..7799a53c57a6119df0cb9dc256ec33595e759c32 100644
--- a/lib/internal/Magento/Framework/Url/Test/Unit/DecoderTest.php
+++ b/lib/internal/Magento/Framework/Url/Test/Unit/DecoderTest.php
@@ -11,8 +11,8 @@ use \Magento\Framework\Url\Encoder;
 class DecoderTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * covers \Magento\Framework\Url\Encoder::encode
-     * covers \Magento\Framework\Url\Decoder::decode
+     * @covers \Magento\Framework\Url\Encoder::encode
+     * @covers \Magento\Framework\Url\Decoder::decode
      */
     public function testDecode()
     {
diff --git a/lib/internal/Magento/Framework/View/Element/Html/Link/Current.php b/lib/internal/Magento/Framework/View/Element/Html/Link/Current.php
index 811bea3e4eb33d05aba2d29227fe34e056b345b6..7c971eaf437f13a4b301b4b210affbea20ce35d8 100644
--- a/lib/internal/Magento/Framework/View/Element/Html/Link/Current.php
+++ b/lib/internal/Magento/Framework/View/Element/Html/Link/Current.php
@@ -110,7 +110,19 @@ class Current extends \Magento\Framework\View\Element\Template
             $html .= $this->getTitle()
                 ? ' title="' . $this->escapeHtml((string)new \Magento\Framework\Phrase($this->getTitle())) . '"'
                 : '';
-            $html .= '>' . $this->escapeHtml((string)new \Magento\Framework\Phrase($this->getLabel())) . '</a></li>';
+            $html .= '>';
+
+            if ($this->getIsHighlighted()) {
+                $html .= '<strong>';
+            }
+
+            $html .= $this->escapeHtml((string)new \Magento\Framework\Phrase($this->getLabel()));
+
+            if ($this->getIsHighlighted()) {
+                $html .= '</strong>';
+            }
+
+            $html .= '</a></li>';
         }
 
         return $html;
diff --git a/lib/internal/Magento/Framework/View/Element/Html/Links.php b/lib/internal/Magento/Framework/View/Element/Html/Links.php
index d4dfc7b14942aa160bba7d9dda3dc1482cb5bd42..ffc9c297d8b219df6e1ec2ce5dc1102ac80ebe9c 100644
--- a/lib/internal/Magento/Framework/View/Element/Html/Links.php
+++ b/lib/internal/Magento/Framework/View/Element/Html/Links.php
@@ -20,6 +20,35 @@ class Links extends \Magento\Framework\View\Element\Template
         return $this->_layout->getChildBlocks($this->getNameInLayout());
     }
 
+    /**
+     * Find link by path
+     *
+     * @param string $path
+     * @return \Magento\Framework\View\Element\Html\Link
+     */
+    protected function getLinkByPath($path)
+    {
+        foreach ($this->getLinks() as $link) {
+            if ($link->getPath() == $path) {
+                return $link;
+            }
+        }
+    }
+
+    /**
+     * Set active link
+     *
+     * @param string $path
+     * @return void
+     */
+    public function setActive($path)
+    {
+        $link = $this->getLinkByPath($path);
+        if ($link) {
+            $link->setIsHighlighted(true);
+        }
+    }
+
     /**
      * Render Block
      *
diff --git a/lib/internal/Magento/Framework/View/Layout/GeneratorPool.php b/lib/internal/Magento/Framework/View/Layout/GeneratorPool.php
index b602da334f4fd47d67ea4fc374eb2cd0415732be..f0beae9e7a5f94051c2c76935d98b7327d1522ea 100644
--- a/lib/internal/Magento/Framework/View/Layout/GeneratorPool.php
+++ b/lib/internal/Magento/Framework/View/Layout/GeneratorPool.php
@@ -211,6 +211,7 @@ class GeneratorPool
         } catch (\OutOfBoundsException $e) {
             $this->logger->critical('Broken reference: '. $e->getMessage());
         }
+        $scheduledStructure->unsetElementFromBrokenParentList($element);
         return $this;
     }
 }
diff --git a/lib/internal/Magento/Framework/View/Layout/ScheduledStructure.php b/lib/internal/Magento/Framework/View/Layout/ScheduledStructure.php
index dd24de1c4ac70de92350bdf67d28716c78cc7a26..41bcaf682e14cdefb7637e071597e65a4d5e33e3 100644
--- a/lib/internal/Magento/Framework/View/Layout/ScheduledStructure.php
+++ b/lib/internal/Magento/Framework/View/Layout/ScheduledStructure.php
@@ -59,6 +59,13 @@ class ScheduledStructure
      */
     protected $_scheduledPaths;
 
+    /**
+     * Elements with reference to non-existing parent element
+     *
+     * @var array
+     */
+    protected $_brokenParent = [];
+
     /**
      * @param array $data
      *
@@ -246,6 +253,7 @@ class ScheduledStructure
      * @param string $elementName
      * @param string $configPath
      * @param string $scopeType
+     * @return void
      */
     public function setElementToIfconfigList($elementName, $configPath, $scopeType)
     {
@@ -399,6 +407,28 @@ class ScheduledStructure
         unset($this->_scheduledPaths[$elementName]);
     }
 
+    /**
+     * Remove element from broken parent list
+     *
+     * @param string $elementName
+     * @return void
+     */
+    public function unsetElementFromBrokenParentList($elementName)
+    {
+        unset($this->_brokenParent[$elementName]);
+    }
+
+    /**
+     * Set element to broken parent list
+     *
+     * @param string $elementName
+     * @return void
+     */
+    public function setElementToBrokenParentList($elementName)
+    {
+        $this->_brokenParent[$elementName] = 1;
+    }
+
     /**
      * Flush scheduled paths list
      *
diff --git a/lib/internal/Magento/Framework/View/Layout/ScheduledStructure/Helper.php b/lib/internal/Magento/Framework/View/Layout/ScheduledStructure/Helper.php
index 1cc77b802f58d4afd5c125512ee46a8cf37bba0c..21a1fe765ca6aede50233e8674a3c7524999feae 100644
--- a/lib/internal/Magento/Framework/View/Layout/ScheduledStructure/Helper.php
+++ b/lib/internal/Magento/Framework/View/Layout/ScheduledStructure/Helper.php
@@ -189,6 +189,7 @@ class Helper
                     $this->logger->critical($e);
                 }
             } else {
+                $scheduledStructure->setElementToBrokenParentList($key);
                 $this->logger->critical(
                     "Broken reference: the '{$name}' element cannot be added as child to '{$parentName}', " .
                     'because the latter doesn\'t exist'
diff --git a/lib/internal/Magento/Framework/View/Template/Html/Minifier.php b/lib/internal/Magento/Framework/View/Template/Html/Minifier.php
index 9c3aba6b4ba08fc6d10bca11a1110256aea45fb9..af80583da16e7f37c084151650869ef3f7c39c89 100644
--- a/lib/internal/Magento/Framework/View/Template/Html/Minifier.php
+++ b/lib/internal/Magento/Framework/View/Template/Html/Minifier.php
@@ -116,7 +116,7 @@ class Minifier implements MinifierInterface
             '#(?<!]]>)\s+</#',
             '</',
             preg_replace(
-                '#((?:<\?php\s+(?!echo)[^\?]*)\?>)\s+#',
+                '#((?:<\?php\s+(?!echo|print|if|elseif|else)[^\?]*)\?>)\s+#',
                 '$1',
                 preg_replace(
                     '#(?<!' . implode('|', $this->inlineHtmlTags) . ')\> \<#',
@@ -126,7 +126,7 @@ class Minifier implements MinifierInterface
                         . '(?:<(?>textarea|pre|script)\b|\z))#',
                         ' ',
                         preg_replace(
-                            '#(?<!:)//(?!\s*\<\!\[)(?!\s*]]\>)[^\n\r]*#',
+                            '#(?<!:|\\\\|\'|")//(?!\s*\<\!\[)(?!\s*]]\>)[^\n\r]*#',
                             '',
                             preg_replace(
                                 '#(?<!:)//[^\n\r]*(\s\?\>)#',
diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Asset/File/FallbackContextTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Asset/File/FallbackContextTest.php
index ae5ccf3b07522b35c46a2ce0269f8e128e0ccee7..c5eedd5cb5a4542658a2301132b7a92de568b51e 100644
--- a/lib/internal/Magento/Framework/View/Test/Unit/Asset/File/FallbackContextTest.php
+++ b/lib/internal/Magento/Framework/View/Test/Unit/Asset/File/FallbackContextTest.php
@@ -6,7 +6,7 @@
 namespace Magento\Framework\View\Test\Unit\Asset\File;
 
 /**
- * covers \Magento\Framework\View\Asset\File\FallbackContext
+ * @covers \Magento\Framework\View\Asset\File\FallbackContext
  */
 class FallbackContextTest extends \PHPUnit_Framework_TestCase
 {
@@ -26,7 +26,7 @@ class FallbackContextTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Asset\File\FallbackContext::getConfigPath
+     * @covers \Magento\Framework\View\Asset\File\FallbackContext::getConfigPath
      * @param string $baseUrl
      * @param string $areaType
      * @param string $themePath
diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/Customization/AbstractFileTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/Customization/AbstractFileTest.php
index 7505c2aab8c0fa62dc12d7bb976955c07168d699..95900ae331305960d53bc0c77b593d70b1142a29 100644
--- a/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/Customization/AbstractFileTest.php
+++ b/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/Customization/AbstractFileTest.php
@@ -69,8 +69,8 @@ class AbstractFileTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\Customization\AbstractFile::__construct
-     * covers \Magento\Framework\View\Design\Theme\Customization\AbstractFile::create
+     * @covers \Magento\Framework\View\Design\Theme\Customization\AbstractFile::__construct
+     * @covers \Magento\Framework\View\Design\Theme\Customization\AbstractFile::create
      */
     public function testCreate()
     {
@@ -83,7 +83,7 @@ class AbstractFileTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\Customization\AbstractFile::getFullPath
+     * @covers \Magento\Framework\View\Design\Theme\Customization\AbstractFile::getFullPath
      */
     public function testGetFullPath()
     {
@@ -108,10 +108,10 @@ class AbstractFileTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\Customization\AbstractFile::prepareFile
-     * covers \Magento\Framework\View\Design\Theme\Customization\AbstractFile::_prepareFileName
-     * covers \Magento\Framework\View\Design\Theme\Customization\AbstractFile::_prepareFilePath
-     * covers \Magento\Framework\View\Design\Theme\Customization\AbstractFile::_prepareSortOrder
+     * @covers \Magento\Framework\View\Design\Theme\Customization\AbstractFile::prepareFile
+     * @covers \Magento\Framework\View\Design\Theme\Customization\AbstractFile::_prepareFileName
+     * @covers \Magento\Framework\View\Design\Theme\Customization\AbstractFile::_prepareFilePath
+     * @covers \Magento\Framework\View\Design\Theme\Customization\AbstractFile::_prepareSortOrder
      * @dataProvider getTestContent
      */
     public function testPrepareFile($type, $fileContent, $expectedContent, $existedFiles)
@@ -204,8 +204,8 @@ class AbstractFileTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\Customization\AbstractFile::save
-     * covers \Magento\Framework\View\Design\Theme\Customization\AbstractFile::_saveFileContent
+     * @covers \Magento\Framework\View\Design\Theme\Customization\AbstractFile::save
+     * @covers \Magento\Framework\View\Design\Theme\Customization\AbstractFile::_saveFileContent
      */
     public function testSave()
     {
@@ -248,8 +248,8 @@ class AbstractFileTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\Customization\AbstractFile::delete
-     * covers \Magento\Framework\View\Design\Theme\Customization\AbstractFile::_deleteFileContent
+     * @covers \Magento\Framework\View\Design\Theme\Customization\AbstractFile::delete
+     * @covers \Magento\Framework\View\Design\Theme\Customization\AbstractFile::_deleteFileContent
      */
     public function testDelete()
     {
diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/Customization/PathTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/Customization/PathTest.php
index 6e7b020f731046de1a491a97c88d07f3bbcb4c43..f04ac911ee14d57c216a5f90fc27663daff8aa1f 100644
--- a/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/Customization/PathTest.php
+++ b/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/Customization/PathTest.php
@@ -58,8 +58,8 @@ class PathTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\Customization\Path::__construct
-     * covers \Magento\Framework\View\Design\Theme\Customization\Path::getCustomizationPath
+     * @covers \Magento\Framework\View\Design\Theme\Customization\Path::__construct
+     * @covers \Magento\Framework\View\Design\Theme\Customization\Path::getCustomizationPath
      */
     public function testGetCustomizationPath()
     {
@@ -69,7 +69,7 @@ class PathTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\Customization\Path::getThemeFilesPath
+     * @covers \Magento\Framework\View\Design\Theme\Customization\Path::getThemeFilesPath
      */
     public function testGetThemeFilesPath()
     {
@@ -80,7 +80,7 @@ class PathTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\Customization\Path::getCustomViewConfigPath
+     * @covers \Magento\Framework\View\Design\Theme\Customization\Path::getCustomViewConfigPath
      */
     public function testGetCustomViewConfigPath()
     {
diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/CustomizationTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/CustomizationTest.php
index 928828537fd04bd594b5b5e76e3f983582c39eff..e181e2532ad0bdf3931242a9b1a3503193f0f84b 100644
--- a/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/CustomizationTest.php
+++ b/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/CustomizationTest.php
@@ -77,8 +77,8 @@ class CustomizationTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\Customization::getFiles
-     * covers \Magento\Framework\View\Design\Theme\Customization::__construct
+     * @covers \Magento\Framework\View\Design\Theme\Customization::getFiles
+     * @covers \Magento\Framework\View\Design\Theme\Customization::__construct
      */
     public function testGetFiles()
     {
@@ -95,7 +95,7 @@ class CustomizationTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\Customization::getFilesByType
+     * @covers \Magento\Framework\View\Design\Theme\Customization::getFilesByType
      */
     public function testGetFilesByType()
     {
@@ -114,7 +114,7 @@ class CustomizationTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\Customization::generateFileInfo
+     * @covers \Magento\Framework\View\Design\Theme\Customization::generateFileInfo
      */
     public function testGenerationOfFileInfo()
     {
@@ -124,7 +124,7 @@ class CustomizationTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\Customization::getCustomizationPath
+     * @covers \Magento\Framework\View\Design\Theme\Customization::getCustomizationPath
      */
     public function testGetCustomizationPath()
     {
@@ -141,7 +141,7 @@ class CustomizationTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\Customization::getThemeFilesPath
+     * @covers \Magento\Framework\View\Design\Theme\Customization::getThemeFilesPath
      * @dataProvider getThemeFilesPathDataProvider
      * @param string $type
      * @param string $expectedMethod
@@ -174,7 +174,7 @@ class CustomizationTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\Customization::getCustomViewConfigPath
+     * @covers \Magento\Framework\View\Design\Theme\Customization::getCustomViewConfigPath
      */
     public function testGetCustomViewConfigPath()
     {
@@ -191,7 +191,7 @@ class CustomizationTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\Customization::reorder
+     * @covers \Magento\Framework\View\Design\Theme\Customization::reorder
      * @dataProvider customFileContent
      */
     public function testReorder($sequence, $filesContent)
@@ -267,7 +267,7 @@ class CustomizationTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\Customization::delete
+     * @covers \Magento\Framework\View\Design\Theme\Customization::delete
      */
     public function testDelete()
     {
diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/Domain/FactoryTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/Domain/FactoryTest.php
index 31285b23e88e6b10b96a697950bd29002864b6c6..07c1058228492ad620689c4c671c70c6a78c4795 100644
--- a/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/Domain/FactoryTest.php
+++ b/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/Domain/FactoryTest.php
@@ -12,7 +12,7 @@ namespace Magento\Framework\View\Test\Unit\Design\Theme\Domain;
 class FactoryTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * covers \Magento\Framework\View\Design\Theme\Domain\Factory::create
+     * @covers \Magento\Framework\View\Design\Theme\Domain\Factory::create
      */
     public function testCreate()
     {
@@ -44,7 +44,7 @@ class FactoryTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\Domain\Factory::create
+     * @covers \Magento\Framework\View\Design\Theme\Domain\Factory::create
      */
     public function testCreateWithWrongThemeType()
     {
diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/FlyweightFactoryTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/FlyweightFactoryTest.php
index 8767f8092cb38da9cc268a08749c2a39b7d7235b..fc733f548a584cd402057356b423fc25dcc11f52 100644
--- a/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/FlyweightFactoryTest.php
+++ b/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/FlyweightFactoryTest.php
@@ -29,7 +29,7 @@ class FlyweightFactoryTest extends \PHPUnit_Framework_TestCase
      * @param string $path
      * @param int $expectedId
      * @dataProvider createByIdDataProvider
-     * covers \Magento\Framework\View\Design\Theme\FlyweightFactory::create
+     * @covers \Magento\Framework\View\Design\Theme\FlyweightFactory::create
      */
     public function testCreateById($path, $expectedId)
     {
@@ -63,7 +63,7 @@ class FlyweightFactoryTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\FlyweightFactory::create
+     * @covers \Magento\Framework\View\Design\Theme\FlyweightFactory::create
      */
     public function testCreateByPath()
     {
diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/Image/UploaderTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/Image/UploaderTest.php
index 16fa864e3ecd5b380ad2d67a8e9dc7126b27bd53..8218420f5fcd080904f3ca2c1fb31a1cf088c1be 100644
--- a/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/Image/UploaderTest.php
+++ b/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/Image/UploaderTest.php
@@ -125,7 +125,7 @@ class UploaderTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @dataProvider uploadDataProvider
-     * covers \Magento\Framework\View\Design\Theme\Image\Uploader::uploadPreviewImage
+     * @covers \Magento\Framework\View\Design\Theme\Image\Uploader::uploadPreviewImage
      */
     public function testUploadPreviewImage($isUploaded, $isValid, $checkExtension, $save, $result, $exception)
     {
diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/ImageTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/ImageTest.php
index 9eefb1c423c16711c2e4afd2212c13f7d8cf152e..998afda213463848b794085bd697c61316922afa 100644
--- a/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/ImageTest.php
+++ b/lib/internal/Magento/Framework/View/Test/Unit/Design/Theme/ImageTest.php
@@ -168,7 +168,7 @@ class ImageTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\Image::__construct
+     * @covers \Magento\Framework\View\Design\Theme\Image::__construct
      */
     public function testConstructor()
     {
@@ -176,7 +176,7 @@ class ImageTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\Image::createPreviewImage
+     * @covers \Magento\Framework\View\Design\Theme\Image::createPreviewImage
      */
     public function testCreatePreviewImage()
     {
@@ -195,7 +195,7 @@ class ImageTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\Image::createPreviewImageCopy
+     * @covers \Magento\Framework\View\Design\Theme\Image::createPreviewImageCopy
      */
     public function testCreatePreviewImageCopy()
     {
@@ -242,7 +242,7 @@ class ImageTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\Image::removePreviewImage
+     * @covers \Magento\Framework\View\Design\Theme\Image::removePreviewImage
      */
     public function testRemovePreviewImage()
     {
@@ -254,7 +254,7 @@ class ImageTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\Image::removePreviewImage
+     * @covers \Magento\Framework\View\Design\Theme\Image::removePreviewImage
      */
     public function testRemoveEmptyPreviewImage()
     {
@@ -266,7 +266,7 @@ class ImageTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\Image::uploadPreviewImage
+     * @covers \Magento\Framework\View\Design\Theme\Image::uploadPreviewImage
      */
     public function testUploadPreviewImage()
     {
@@ -294,7 +294,7 @@ class ImageTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\Image::getPreviewImageUrl
+     * @covers \Magento\Framework\View\Design\Theme\Image::getPreviewImageUrl
      */
     public function testGetPreviewImageUrl()
     {
@@ -309,7 +309,7 @@ class ImageTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Design\Theme\Image::getPreviewImageUrl
+     * @covers \Magento\Framework\View\Design\Theme\Image::getPreviewImageUrl
      */
     public function testGetDefaultPreviewImageUrl()
     {
diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Element/Html/LinksTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Element/Html/LinksTest.php
index 2b90d037cbb0ba0f18e24dda153a55fc0c55d956..8e4d84db273cbef5aa7c0a06df07a1a99222e512 100644
--- a/lib/internal/Magento/Framework/View/Test/Unit/Element/Html/LinksTest.php
+++ b/lib/internal/Magento/Framework/View/Test/Unit/Element/Html/LinksTest.php
@@ -5,70 +5,88 @@
  */
 namespace Magento\Framework\View\Test\Unit\Element\Html;
 
+use Magento\Framework\View\Element\Html\Links;
+use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
+use Magento\Framework\View\Element\Template\Context;
+
 class LinksTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Framework\TestFramework\Unit\Helper\ObjectManager
+     * @var ObjectManager|\PHPUnit_Framework_MockObject_MockObject
      */
-    protected $_objectManagerHelper;
+    protected $objectManagerHelper;
 
-    /** @var \Magento\Framework\View\Element\Html\Links */
-    protected $_block;
+    /** @var Links|\PHPUnit_Framework_MockObject_MockObject */
+    protected $block;
 
-    /** @var \Magento\Framework\View\Element\Template\Context */
-    protected $_context;
+    /** @var Context|\PHPUnit_Framework_MockObject_MockObject */
+    protected $context;
 
     protected function setUp()
     {
-        $this->_objectManagerHelper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
-
-        /** @var  \Magento\Framework\View\Element\Template\Context $context */
-        $this->_context = $this->_objectManagerHelper->getObject('Magento\Framework\View\Element\Template\Context');
+        $this->objectManagerHelper = new ObjectManager($this);
 
-        /** @var \Magento\Framework\View\Element\Html\Links $block */
-        $this->_block = $this->_objectManagerHelper->getObject(
-            'Magento\Framework\View\Element\Html\Links',
-            ['context' => $this->_context]
-        );
+        /** @var Context $context */
+        $this->context = $this->objectManagerHelper->getObject('Magento\Framework\View\Element\Template\Context');
+        $this->block = new Links($this->context);
     }
 
     public function testGetLinks()
     {
         $blocks = [0 => 'blocks'];
         $name = 'test_name';
-        $this->_context->getLayout()->expects(
-            $this->once()
-        )->method(
-            'getChildBlocks'
-        )->with(
-            $name
-        )->will(
-            $this->returnValue($blocks)
-        );
-        $this->_block->setNameInLayout($name);
-        $this->assertEquals($blocks, $this->_block->getLinks());
+        $this->context->getLayout()
+            ->expects($this->once())
+            ->method('getChildBlocks')
+            ->with($name)
+            ->willReturn($blocks);
+        $this->block->setNameInLayout($name);
+        $this->assertEquals($blocks, $this->block->getLinks());
+    }
+
+    public function testSetActive()
+    {
+        $link = $this->getMock('Magento\Framework\View\Element\Html\Link', [], [], '', false);
+        $link
+            ->expects($this->at(1))
+            ->method('__call')
+            ->with('setIsHighlighted', [true]);
+        $link
+            ->expects($this->at(0))
+            ->method('__call')
+            ->with('getPath', [])
+            ->willReturn('test/path');
+
+        $name = 'test_name';
+        $this->context->getLayout()
+            ->expects($this->once())
+            ->method('getChildBlocks')
+            ->with($name)
+            ->willReturn([$link]);
+
+        $this->block->setNameInLayout($name);
+        $this->block->setActive('test/path');
     }
 
     public function testRenderLink()
     {
         $blockHtml = 'test';
         $name = 'test_name';
-        $this->_context->getLayout()->expects(
-            $this->once()
-        )->method(
-            'renderElement'
-        )->with(
-            $name
-        )->will(
-            $this->returnValue($blockHtml)
-        );
+        $this->context->getLayout()
+            ->expects($this->once())
+            ->method('renderElement')
+            ->with($name)
+            ->willReturn($blockHtml);
 
         /** @var \Magento\Framework\View\Element\AbstractBlock $link */
         $link = $this->getMockBuilder('Magento\Framework\View\Element\AbstractBlock')
             ->disableOriginalConstructor()
             ->getMock();
-        $link->expects($this->once())->method('getNameInLayout')->will($this->returnValue($name));
+        $link
+            ->expects($this->once())
+            ->method('getNameInLayout')
+            ->willReturn($name);
 
-        $this->assertEquals($blockHtml, $this->_block->renderLink($link));
+        $this->assertEquals($blockHtml, $this->block->renderLink($link));
     }
 }
diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Helper/JsTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Helper/JsTest.php
index e1bd08cc6f92c4bb183083b3f85f4d1423fa7b8b..96a3a1f474e27a5ff5fde809ac65fb829fdd2e37 100644
--- a/lib/internal/Magento/Framework/View/Test/Unit/Helper/JsTest.php
+++ b/lib/internal/Magento/Framework/View/Test/Unit/Helper/JsTest.php
@@ -8,7 +8,7 @@ namespace Magento\Framework\View\Test\Unit\Helper;
 class JsTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * covers \Magento\Framework\View\Helper\Js::getScript
+     * @covers \Magento\Framework\View\Helper\Js::getScript
      */
     public function testGetScript()
     {
diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Layout/BuilderTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Layout/BuilderTest.php
index f2c8c6f347a6a0730f65528cdd437a32b410eb24..0c514265b3d8feedd7ad6f612554c7368029900c 100644
--- a/lib/internal/Magento/Framework/View/Test/Unit/Layout/BuilderTest.php
+++ b/lib/internal/Magento/Framework/View/Test/Unit/Layout/BuilderTest.php
@@ -14,14 +14,14 @@ use Magento\Framework\View\Layout\ProcessorInterface;
 
 /**
  * Class BuilderTest
- * covers \Magento\Framework\View\Layout\Builder
+ * @covers \Magento\Framework\View\Layout\Builder
  */
 class BuilderTest extends \PHPUnit_Framework_TestCase
 {
     const CLASS_NAME = 'Magento\Framework\View\Layout\Builder';
 
     /**
-     * covers \Magento\Framework\View\Layout\Builder::build()
+     * @covers \Magento\Framework\View\Layout\Builder::build()
      */
     public function testBuild()
     {
diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Layout/Generator/BlockTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Layout/Generator/BlockTest.php
index 1f72728a7b72c2cc8167a24a8f4774809c0bb585..12a318f92beb4aef23244ef98f3353e0b8ca38a8 100644
--- a/lib/internal/Magento/Framework/View/Test/Unit/Layout/Generator/BlockTest.php
+++ b/lib/internal/Magento/Framework/View/Test/Unit/Layout/Generator/BlockTest.php
@@ -6,13 +6,13 @@
 namespace Magento\Framework\View\Test\Unit\Layout\Generator;
 
 /**
- * covers Magento\Framework\View\Layout\Generator\Block
+ * @covers \Magento\Framework\View\Layout\Generator\Block
  */
 class BlockTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * covers Magento\Framework\View\Layout\Generator\Block::process()
-     * covers Magento\Framework\View\Layout\Generator\Block::createBlock()
+     * @covers \Magento\Framework\View\Layout\Generator\Block::process()
+     * @covers \Magento\Framework\View\Layout\Generator\Block::createBlock()
      * @param string $testGroup
      * @param string $testTemplate
      * @param string $testTtl
@@ -26,6 +26,7 @@ class BlockTest extends \PHPUnit_Framework_TestCase
      * @dataProvider provider
      *
      * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
+     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function testProcess(
         $testGroup,
diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Layout/Reader/BlockTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Layout/Reader/BlockTest.php
index 0e5c9ec84d8957895337051890d256bccda9431b..86570f82f9d3cd4859e084953ce55051b3b3504a 100644
--- a/lib/internal/Magento/Framework/View/Test/Unit/Layout/Reader/BlockTest.php
+++ b/lib/internal/Magento/Framework/View/Test/Unit/Layout/Reader/BlockTest.php
@@ -12,7 +12,7 @@ namespace Magento\Framework\View\Test\Unit\Layout\Reader;
 /**
  * Class BlockTest
  *
- * covers Magento\Framework\View\Layout\Reader\Block
+ * @covers \Magento\Framework\View\Layout\Reader\Block
  */
 class BlockTest extends \PHPUnit_Framework_TestCase
 {
diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Layout/ScheduledStructure/HelperTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Layout/ScheduledStructure/HelperTest.php
index d71c9a4f37487c7a5f4562316774e74c93c09f11..a6198409487a37df9183ce84f46b27340c10e747 100644
--- a/lib/internal/Magento/Framework/View/Test/Unit/Layout/ScheduledStructure/HelperTest.php
+++ b/lib/internal/Magento/Framework/View/Test/Unit/Layout/ScheduledStructure/HelperTest.php
@@ -10,16 +10,46 @@ use Magento\Framework\View\Layout;
 
 /**
  * Class HelperTest
- * covers Magento\Framework\View\Layout\ScheduledStructure\Helper
+ * @covers \Magento\Framework\View\Layout\ScheduledStructure\Helper
  */
 class HelperTest extends \PHPUnit_Framework_TestCase
 {
+    /**
+     * @var \Magento\Framework\View\Layout\ScheduledStructure|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $scheduledStructure;
+
+    /**
+     * @var \Magento\Framework\View\Layout\Data\Structure|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $dataStructure;
+
+    /**
+     * @var Helper
+     */
+    protected $helper;
+
+    public function setUp()
+    {
+        $this->scheduledStructure = $this->getMockBuilder('Magento\Framework\View\Layout\ScheduledStructure')
+            ->disableOriginalConstructor()
+            ->getMock();
+
+        $this->dataStructure = $this->getMockBuilder('Magento\Framework\View\Layout\Data\Structure')
+            ->disableOriginalConstructor()
+            ->getMock();
+
+        $helperObjectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
+        $this->helper = $helperObjectManager->getObject('Magento\Framework\View\Layout\ScheduledStructure\Helper');
+    }
+
     /**
      * @param string $currentNodeName
      * @param string $actualNodeName
-     * @param \PHPUnit_Framework_MockObject_Matcher_InvokedCount $unsetPathElementCount
-     * @param \PHPUnit_Framework_MockObject_Matcher_InvokedCount $unsetStructureElementCount
-     * @dataProvider providerScheduleStructure
+     * @param int $unsetPathElementCount
+     * @param int $unsetStructureElementCount
+     *
+     * @dataProvider scheduleStructureDataProvider
      */
     public function testScheduleStructure(
         $currentNodeName,
@@ -34,27 +64,25 @@ class HelperTest extends \PHPUnit_Framework_TestCase
         $testPath = 'test_path';
         $potentialChild = 'potential_child';
 
-        /** @var Layout\ScheduledStructure|\PHPUnit_Framework_MockObject_MockObject $scheduledStructure */
-        $scheduledStructure = $this->getMock('Magento\Framework\View\Layout\ScheduledStructure', [], [], '', false);
-        $scheduledStructure->expects($this->once())->method('hasPath')
+        $this->scheduledStructure->expects($this->once())->method('hasPath')
             ->with($parentNodeName)
             ->will($this->returnValue(true));
-        $scheduledStructure->expects($this->any())->method('hasStructureElement')
+        $this->scheduledStructure->expects($this->any())->method('hasStructureElement')
             ->with($actualNodeName)
             ->will($this->returnValue(true));
-        $scheduledStructure->expects($this->once())->method('setPathElement')
+        $this->scheduledStructure->expects($this->once())->method('setPathElement')
             ->with($actualNodeName, $testPath . '/' . $actualNodeName)
             ->will($this->returnValue(true));
-        $scheduledStructure->expects($this->once())->method('setStructureElement')
+        $this->scheduledStructure->expects($this->once())->method('setStructureElement')
             ->with($actualNodeName, [$block, $currentNodeAs, $parentNodeName, $after, true]);
-        $scheduledStructure->expects($this->once())->method('getPath')
+        $this->scheduledStructure->expects($this->once())->method('getPath')
             ->with($parentNodeName)
             ->will($this->returnValue('test_path'));
-        $scheduledStructure->expects($this->once())->method('getPaths')
+        $this->scheduledStructure->expects($this->once())->method('getPaths')
             ->will($this->returnValue([$potentialChild => $testPath . '/' . $currentNodeName . '/']));
-        $scheduledStructure->expects($unsetPathElementCount)->method('unsetPathElement')
+        $this->scheduledStructure->expects($this->exactly($unsetPathElementCount))->method('unsetPathElement')
             ->with($potentialChild);
-        $scheduledStructure->expects($unsetStructureElementCount)->method('unsetStructureElement')
+        $this->scheduledStructure->expects($this->exactly($unsetStructureElementCount))->method('unsetStructureElement')
             ->with($potentialChild);
 
         $currentNode = new \Magento\Framework\View\Layout\Element(
@@ -62,21 +90,18 @@ class HelperTest extends \PHPUnit_Framework_TestCase
         );
         $parentNode = new \Magento\Framework\View\Layout\Element('<' . $block . ' name="' . $parentNodeName . '"/>');
 
-        /** @var Layout\ScheduledStructure\Helper $helper */
-        $helper = (new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this))
-            ->getObject('Magento\Framework\View\Layout\ScheduledStructure\Helper');
-        $result = $helper->scheduleStructure($scheduledStructure, $currentNode, $parentNode);
+        $result = $this->helper->scheduleStructure($this->scheduledStructure, $currentNode, $parentNode);
         $this->assertEquals($actualNodeName, $result);
     }
 
     /**
      * @return array
      */
-    public function providerScheduleStructure()
+    public function scheduleStructureDataProvider()
     {
         return [
-            ['current_node', 'current_node', $this->once(), $this->once()],
-            ['', 'parent_node_schedule_block0', $this->never(), $this->never()]
+            ['current_node', 'current_node', 1, 1],
+            ['', 'parent_node_schedule_block0', 0, 0]
         ];
     }
 
@@ -84,23 +109,22 @@ class HelperTest extends \PHPUnit_Framework_TestCase
     {
         $key = 'key';
 
-        /** @var Layout\ScheduledStructure|\PHPUnit_Framework_MockObject_MockObject $scheduledStructure */
-        $scheduledStructure = $this->getMock('Magento\Framework\View\Layout\ScheduledStructure', [], [], '', false);
-        $scheduledStructure->expects($this->once())->method('getStructureElement')->with($key)
+        $this->scheduledStructure->expects($this->once())->method('getStructureElement')->with($key)
             ->willReturn([]);
-        $scheduledStructure->expects($this->once())->method('unsetPathElement')->with($key);
-        $scheduledStructure->expects($this->once())->method('unsetStructureElement')->with($key);
+        $this->scheduledStructure->expects($this->once())->method('unsetPathElement')->with($key);
+        $this->scheduledStructure->expects($this->once())->method('unsetStructureElement')->with($key);
 
-        /** @var Layout\Data\Structure|\PHPUnit_Framework_MockObject_MockObject $scheduledStructure */
-        $dataStructure = $this->getMock('Magento\Framework\View\Layout\Data\Structure', [], [], '', false);
-
-        /** @var Layout\ScheduledStructure\Helper $helper */
-        $helper = (new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this))
-            ->getObject('Magento\Framework\View\Layout\ScheduledStructure\Helper');
-        $helper->scheduleElement($scheduledStructure, $dataStructure, $key);
+        $this->helper->scheduleElement($this->scheduledStructure, $this->dataStructure, $key);
     }
 
-    public function testScheduleElement()
+    /**
+     * @param bool $hasParent
+     * @param int $setAsChild
+     * @param int $toRemoveList
+     *
+     * @dataProvider scheduleElementDataProvider
+     */
+    public function testScheduleElement($hasParent, $setAsChild, $toRemoveList)
     {
         $key = 'key';
         $parentName = 'parent';
@@ -109,10 +133,9 @@ class HelperTest extends \PHPUnit_Framework_TestCase
         $block = 'block';
         $data = ['data'];
 
-        /** @var Layout\ScheduledStructure|\PHPUnit_Framework_MockObject_MockObject $scheduledStructure */
-        $scheduledStructure = $this->getMock('Magento\Framework\View\Layout\ScheduledStructure', [], [], '', false);
-        $scheduledStructure->expects($this->any())->method('getStructureElement')->will(
-            $this->returnValueMap(
+        $this->scheduledStructure->expects($this->any())
+            ->method('getStructureElement')
+            ->willReturnMap(
                 [
                     [
                         $key,
@@ -127,27 +150,40 @@ class HelperTest extends \PHPUnit_Framework_TestCase
                     ],
                     [$parentName, null, []],
                 ]
-            )
-        );
-        $scheduledStructure->expects($this->any())->method('getStructureElementData')->will(
-            $this->returnValueMap([
-                [$key, null, $data],
-                [$parentName, null, $data],
-            ])
-        );
-        $scheduledStructure->expects($this->any())->method('hasStructureElement')->will($this->returnValue(true));
-        $scheduledStructure->expects($this->once())->method('setElement')->with($key, [$block, $data]);
-
-        /** @var Layout\Data\Structure|\PHPUnit_Framework_MockObject_MockObject $scheduledStructure */
-        $dataStructure = $this->getMock('Magento\Framework\View\Layout\Data\Structure', [], [], '', false);
-        $dataStructure->expects($this->once())->method('createElement')->with($key, ['type' => $block]);
-        $dataStructure->expects($this->once())->method('hasElement')->with($parentName)->will($this->returnValue(true));
-        $dataStructure->expects($this->once())->method('setAsChild')->with($key, $parentName, $alias)
-            ->will($this->returnValue(true));
+            );
+        $this->scheduledStructure->expects($this->any())
+            ->method('getStructureElementData')
+            ->willReturnMap(
+                [
+                    [$key, null, $data],
+                    [$parentName, null, $data],
+                ]
+            );
+        $this->scheduledStructure->expects($this->any())->method('hasStructureElement')->willReturn(true);
+        $this->scheduledStructure->expects($this->once())->method('setElement')->with($key, [$block, $data]);
+
+        $this->dataStructure->expects($this->once())->method('createElement')->with($key, ['type' => $block]);
+        $this->dataStructure->expects($this->once())->method('hasElement')->with($parentName)->willReturn($hasParent);
+        $this->dataStructure->expects($this->exactly($setAsChild))
+            ->method('setAsChild')
+            ->with($key, $parentName, $alias)
+            ->willReturn(true);
+
+        $this->scheduledStructure->expects($this->exactly($toRemoveList))
+            ->method('setElementToBrokenParentList')
+            ->with($key);
 
-        /** @var Layout\ScheduledStructure\Helper $helper */
-        $helper = (new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this))
-            ->getObject('Magento\Framework\View\Layout\ScheduledStructure\Helper');
-        $helper->scheduleElement($scheduledStructure, $dataStructure, $key);
+        $this->helper->scheduleElement($this->scheduledStructure, $this->dataStructure, $key);
+    }
+
+    /**
+     * @return array
+     */
+    public function scheduleElementDataProvider()
+    {
+        return [
+            ['hasParent' => true, 'setAsChild' => 1, 'toRemoveList' => 0],
+            ['hasParent' => false, 'setAsChild' => 0, 'toRemoveList' => 1],
+        ];
     }
 }
diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Layout/ScheduledStructureTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Layout/ScheduledStructureTest.php
index e117025a197ae8f526cacf9fb8ef51e76a98da3a..de0509c8c6a7493cb49ddf2e40d7134cb68f5434 100644
--- a/lib/internal/Magento/Framework/View/Test/Unit/Layout/ScheduledStructureTest.php
+++ b/lib/internal/Magento/Framework/View/Test/Unit/Layout/ScheduledStructureTest.php
@@ -36,6 +36,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
                 'element3' => ['data', 'of', 'element', '3'],
                 'element4' => ['data', 'of', 'element', '4'],
                 'element5' => ['data', 'of', 'element', '5'],
+                'element9' => ['data', 'of', 'element', '9'],
             ],
             'scheduledMoves' => [
                 'element1' => ['data', 'of', 'element', 'to', 'move', '1'],
@@ -65,7 +66,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout\ScheduledStructure::getListToMove
+     * @covers \Magento\Framework\View\Layout\ScheduledStructure::getListToMove
      */
     public function testGetListToMove()
     {
@@ -77,7 +78,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout\ScheduledStructure::getListToRemove
+     * @covers \Magento\Framework\View\Layout\ScheduledStructure::getListToRemove
      */
     public function testGetListToRemove()
     {
@@ -95,7 +96,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout\ScheduledStructure::getElements
+     * @covers \Magento\Framework\View\Layout\ScheduledStructure::getElements
      */
     public function testGetElements()
     {
@@ -103,7 +104,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout\ScheduledStructure::getElement
+     * @covers \Magento\Framework\View\Layout\ScheduledStructure::getElement
      */
     public function testGetElement()
     {
@@ -115,7 +116,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout\ScheduledStructure::isElementsEmpty
+     * @covers \Magento\Framework\View\Layout\ScheduledStructure::isElementsEmpty
      */
     public function testIsElementsEmpty()
     {
@@ -125,7 +126,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout\ScheduledStructure::setElement
+     * @covers \Magento\Framework\View\Layout\ScheduledStructure::setElement
      */
     public function testSetElement()
     {
@@ -143,7 +144,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout\ScheduledStructure::hasElement
+     * @covers \Magento\Framework\View\Layout\ScheduledStructure::hasElement
      */
     public function testHasElement()
     {
@@ -152,7 +153,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout\ScheduledStructure::unsetElement
+     * @covers \Magento\Framework\View\Layout\ScheduledStructure::unsetElement
      */
     public function testUnsetElement()
     {
@@ -162,7 +163,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout\ScheduledStructure::getElementToMove
+     * @covers \Magento\Framework\View\Layout\ScheduledStructure::getElementToMove
      */
     public function testGetElementToMove()
     {
@@ -185,7 +186,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout\ScheduledStructure::setElementToMove
+     * @covers \Magento\Framework\View\Layout\ScheduledStructure::setElementToMove
      */
     public function testSetElementToMove()
     {
@@ -203,7 +204,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout\ScheduledStructure::unsetElementFromListToRemove
+     * @covers \Magento\Framework\View\Layout\ScheduledStructure::unsetElementFromListToRemove
      */
     public function testUnsetElementFromListToRemove()
     {
@@ -213,7 +214,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout\ScheduledStructure::setElementToRemoveList
+     * @covers \Magento\Framework\View\Layout\ScheduledStructure::setElementToRemoveList
      */
     public function testSetElementToRemoveList()
     {
@@ -237,7 +238,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout\ScheduledStructure::getStructure
+     * @covers \Magento\Framework\View\Layout\ScheduledStructure::getStructure
      */
     public function testGetStructure()
     {
@@ -245,7 +246,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout\ScheduledStructure::getStructureElement
+     * @covers \Magento\Framework\View\Layout\ScheduledStructure::getStructureElement
      */
     public function testGetStructureElement()
     {
@@ -257,7 +258,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout\ScheduledStructure::isStructureEmpty
+     * @covers \Magento\Framework\View\Layout\ScheduledStructure::isStructureEmpty
      */
     public function testIsStructureEmpty()
     {
@@ -267,7 +268,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout\ScheduledStructure::hasStructureElement
+     * @covers \Magento\Framework\View\Layout\ScheduledStructure::hasStructureElement
      */
     public function testHasStructureElement()
     {
@@ -276,7 +277,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout\ScheduledStructure::setStructureElement
+     * @covers \Magento\Framework\View\Layout\ScheduledStructure::setStructureElement
      */
     public function testSetStructureElement()
     {
@@ -294,7 +295,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout\ScheduledStructure::unsetStructureElement
+     * @covers \Magento\Framework\View\Layout\ScheduledStructure::unsetStructureElement
      */
     public function testUnsetStructureElement()
     {
@@ -304,7 +305,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout\ScheduledStructure::getPaths
+     * @covers \Magento\Framework\View\Layout\ScheduledStructure::getPaths
      */
     public function testGetPaths()
     {
@@ -312,7 +313,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout\ScheduledStructure::getPath
+     * @covers \Magento\Framework\View\Layout\ScheduledStructure::getPath
      */
     public function testGetPath()
     {
@@ -322,7 +323,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout\ScheduledStructure::hasPath
+     * @covers \Magento\Framework\View\Layout\ScheduledStructure::hasPath
      */
     public function testHasPath()
     {
@@ -331,7 +332,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout\ScheduledStructure::setPathElement
+     * @covers \Magento\Framework\View\Layout\ScheduledStructure::setPathElement
      */
     public function testSetPathElement()
     {
@@ -349,7 +350,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout\ScheduledStructure::unsetPathElement
+     * @covers \Magento\Framework\View\Layout\ScheduledStructure::unsetPathElement
      */
     public function testUnsetPathElement()
     {
@@ -359,7 +360,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout\ScheduledStructure::flushPaths
+     * @covers \Magento\Framework\View\Layout\ScheduledStructure::flushPaths
      */
     public function testFlushPaths()
     {
@@ -369,7 +370,7 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout\ScheduledStructure::flushScheduledStructure
+     * @covers \Magento\Framework\View\Layout\ScheduledStructure::flushScheduledStructure
      */
     public function testFlushScheduledStructure()
     {
@@ -383,4 +384,22 @@ class ScheduledStructureTest extends \PHPUnit_Framework_TestCase
         $this->assertEmpty($this->_model->getElements());
         $this->assertEmpty($this->_model->getStructure());
     }
+
+    /**
+     * covers \Magento\Framework\View\Layout\ScheduledStructure::setElementToBrokenParentList
+     * covers \Magento\Framework\View\Layout\ScheduledStructure::unsetElementFromBrokenParentList
+     */
+    public function testSetElementToBrokenParentList()
+    {
+        $element = 'element9';
+        $expectedToRemove = ['element2', 'element3'];
+        $expectedToRemoveWithBroken = ['element2', 'element3'];
+        $this->assertEquals($expectedToRemove, $this->_model->getListToRemove());
+
+        $this->_model->setElementToBrokenParentList($element);
+        $this->assertEquals($expectedToRemoveWithBroken, $this->_model->getListToRemove());
+
+        $this->_model->unsetElementFromBrokenParentList($element);
+        $this->assertEquals($expectedToRemove, $this->_model->getListToRemove());
+    }
 }
diff --git a/lib/internal/Magento/Framework/View/Test/Unit/LayoutTest.php b/lib/internal/Magento/Framework/View/Test/Unit/LayoutTest.php
index cdbcf735f4286711068606a57961c29928c9260d..7679ac3d2846e2f1a06c3dada1b988e275ea5de4 100644
--- a/lib/internal/Magento/Framework/View/Test/Unit/LayoutTest.php
+++ b/lib/internal/Magento/Framework/View/Test/Unit/LayoutTest.php
@@ -6,7 +6,8 @@
 namespace Magento\Framework\View\Test\Unit;
 
 /**
- * Class LayoutTest
+ * @SuppressWarnings(PHPMD.TooManyFields)
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
  */
 class LayoutTest extends \PHPUnit_Framework_TestCase
 {
@@ -142,9 +143,9 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
             ->method('create')
             ->willReturn($this->readerContextMock);
         $this->generatorContextFactoryMock = $this->getMockBuilder(
-                'Magento\Framework\View\Layout\Generator\ContextFactory'
-            )->disableOriginalConstructor()
-            ->getMock();
+            'Magento\Framework\View\Layout\Generator\ContextFactory'
+        )->disableOriginalConstructor()
+        ->getMock();
 
         $this->model = new \Magento\Framework\View\Layout(
             $this->processorFactoryMock,
@@ -460,9 +461,9 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Layout::setBlock
-     * covers \Magento\Framework\View\Layout::getAllBlocks
-     * covers \Magento\Framework\View\Layout::unsetElement
+     * @covers \Magento\Framework\View\Layout::setBlock
+     * @covers \Magento\Framework\View\Layout::getAllBlocks
+     * @covers \Magento\Framework\View\Layout::unsetElement
      */
     public function testSetGetBlock()
     {
diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Model/Layout/TranslatorTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Model/Layout/TranslatorTest.php
index 16636dfab46a73e6888f87ddbbd101b771eece1e..6dfb6cd3f6e16c6097cc12dc5764fe016d48bbfd 100644
--- a/lib/internal/Magento/Framework/View/Test/Unit/Model/Layout/TranslatorTest.php
+++ b/lib/internal/Magento/Framework/View/Test/Unit/Model/Layout/TranslatorTest.php
@@ -51,7 +51,7 @@ XML;
     }
 
     /**
-     * covers \Magento\Framework\View\Model\Layout\Translator::translateActionParameters
+     * @covers \Magento\Framework\View\Model\Layout\Translator::translateActionParameters
      */
     public function testTranslateActionParametersWithNonTranslatedArgument()
     {
@@ -62,7 +62,7 @@ XML;
     }
 
     /**
-     * covers \Magento\Framework\View\Model\Layout\Translator::translateActionParameters
+     * @covers \Magento\Framework\View\Model\Layout\Translator::translateActionParameters
      */
     public function testTranslateActionParametersWithTranslatedArgument()
     {
@@ -74,7 +74,7 @@ XML;
     }
 
     /**
-     * covers \Magento\Framework\View\Model\Layout\Translator::translateActionParameters
+     * @covers \Magento\Framework\View\Model\Layout\Translator::translateActionParameters
      */
     public function testTranslateActionParametersWithHierarchyTranslatedArgumentAndNonStringParam()
     {
@@ -86,7 +86,7 @@ XML;
     }
 
     /**
-     * covers \Magento\Framework\View\Model\Layout\Translator::translateActionParameters
+     * @covers \Magento\Framework\View\Model\Layout\Translator::translateActionParameters
      */
     public function testTranslateActionParametersWithoutModule()
     {
@@ -98,7 +98,7 @@ XML;
     }
 
     /**
-     * covers \Magento\Framework\View\Model\Layout\Translator::translateArgument
+     * @covers \Magento\Framework\View\Model\Layout\Translator::translateArgument
      */
     public function testTranslateArgumentWithDefaultModuleAndSelfTranslatedMode()
     {
@@ -107,7 +107,7 @@ XML;
     }
 
     /**
-     * covers \Magento\Framework\View\Model\Layout\Translator::translateArgument
+     * @covers \Magento\Framework\View\Model\Layout\Translator::translateArgument
      */
     public function testTranslateArgumentWithoutModuleAndNoSelfTranslatedMode()
     {
@@ -116,7 +116,7 @@ XML;
     }
 
     /**
-     * covers \Magento\Framework\View\Model\Layout\Translator::translateArgument
+     * @covers \Magento\Framework\View\Model\Layout\Translator::translateArgument
      */
     public function testTranslateArgumentViaParentNodeWithParentModule()
     {
@@ -125,7 +125,7 @@ XML;
     }
 
     /**
-     * covers \Magento\Framework\View\Model\Layout\Translator::translateArgument
+     * @covers \Magento\Framework\View\Model\Layout\Translator::translateArgument
      */
     public function testTranslateArgumentViaParentNodeWithOwnModule()
     {
@@ -134,7 +134,7 @@ XML;
     }
 
     /**
-     * covers \Magento\Framework\View\Model\Layout\Translator::translateArgument
+     * @covers \Magento\Framework\View\Model\Layout\Translator::translateArgument
      */
     public function testTranslateArgumentViaParentWithNodeThatIsNotInTranslateList()
     {
diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Page/BuilderTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Page/BuilderTest.php
index 721ef79e9fce1d870eb29f4382116595946ae7dc..6316c9e0036cfe133bbc4bb5ad88f3b497599a0a 100644
--- a/lib/internal/Magento/Framework/View/Test/Unit/Page/BuilderTest.php
+++ b/lib/internal/Magento/Framework/View/Test/Unit/Page/BuilderTest.php
@@ -10,7 +10,7 @@ use Magento\Framework;
 
 /**
  * Class BuilderTest
- * covers \Magento\Framework\View\Page\Builder
+ * @covers \Magento\Framework\View\Page\Builder
  */
 class BuilderTest extends \Magento\Framework\View\Test\Unit\Layout\BuilderTest
 {
diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Result/LayoutTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Result/LayoutTest.php
index faf0d388a9b2b3319656e1fc18a22d19061e88e5..de680b4301330f645c1323e9009106a136b0c146 100644
--- a/lib/internal/Magento/Framework/View/Test/Unit/Result/LayoutTest.php
+++ b/lib/internal/Magento/Framework/View/Test/Unit/Result/LayoutTest.php
@@ -10,7 +10,7 @@ namespace Magento\Framework\View\Test\Unit\Result;
 
 /**
  * Class LayoutTest
- * covers \Magento\Framework\View\Result\Layout
+ * @covers \Magento\Framework\View\Result\Layout
  */
 class LayoutTest extends \PHPUnit_Framework_TestCase
 {
@@ -59,7 +59,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * covers \Magento\Framework\View\Result\Layout::getLayout()
+     * @covers \Magento\Framework\View\Result\Layout::getLayout()
      */
     public function testGetLayout()
     {
diff --git a/lib/internal/Magento/Framework/composer.json b/lib/internal/Magento/Framework/composer.json
index 2650b2405cc313c4360d2b0f95e373c2bbf3e240..d45fdb1c4457449bf35ce7d6986ab78a4c86f884 100644
--- a/lib/internal/Magento/Framework/composer.json
+++ b/lib/internal/Magento/Framework/composer.json
@@ -2,7 +2,7 @@
     "name": "magento/framework",
     "description": "N/A",
     "type": "magento2-library",
-    "version": "0.42.0-beta11",
+    "version": "0.74.0-beta1",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/lib/web/css/source/lib/_navigation.less b/lib/web/css/source/lib/_navigation.less
index d56bd79f32c59e9ef806be17b8acaddd2d013288..6cf85b4ba0474fb65c4b07309445e12d85a5263f 100644
--- a/lib/web/css/source/lib/_navigation.less
+++ b/lib/web/css/source/lib/_navigation.less
@@ -8,6 +8,7 @@
 //  _____________________________________________
 
 .main-navigation(
+    @_nav__indent-side: 15px,
     @_nav-background-color: @navigation__background,
     @_nav-border: @navigation__border,
     @_nav-level0-font-size: @navigation-level0-item__font-size,
@@ -23,16 +24,21 @@
     @_nav-level0-item-text-decoration: @navigation-level0-item__text-decoration,
 
     @_nav-level0-item-background-color-active: @navigation-level0-item__active__background,
-    @_nav-level0-item-border-active: @navigation-level0-item__active__border,
+    @_nav-level0-item__active__border-color: @navigation-level0-item__active__border-color,
+    @_nav-level0-item__active__border-style: @navigation-level0-item__active__border-style,
+    @_nav-level0-item__active__border-width: @navigation-level0-item__active__border-width,
     @_nav-level0-item-color-active: @navigation-level0-item__active__color,
     @_nav-level0-item-text-decoration-active: @navigation-level0-item__active__text-decoration,
 
     @_submenu-background-color: @submenu__background,
     @_submenu-border: @submenu__border,
-    @_submenu-padding: @submenu__padding,
     @_submenu-font-size: @submenu__font-size,
     @_submenu-font-weight: @submenu__font-weight,
-    @_submenu-item-padding: @submenu-item__padding,
+    @_submenu-line-height: @submenu-item__line-height,
+    @_submenu-item__padding-top: @submenu__padding-top,
+    @_submenu-item__padding-right: @submenu__padding-right,
+    @_submenu-item__padding-bottom: @submenu__padding-bottom,
+    @_submenu-item__padding-left: @submenu__padding-left,
 
     @_submenu-item-background-color: @submenu-item__background,
     @_submenu-item-border: @submenu-item__border,
@@ -40,7 +46,10 @@
     @_submenu-item-text-decoration: @submenu-item__text-decoration,
 
     @_submenu-item-background-color-active: @submenu-item__active__background,
-    @_submenu-item-border-active: @submenu-item__active__border,
+    @_submenu-item__active__border: @submenu-item__active__border,
+    @_submenu-item__active__border-color: @submenu-item__active__border-color,
+    @_submenu-item__active__border-style: @submenu-item__active__border-style,
+    @_submenu-item__active__border-width: @submenu-item__active__border-width,
     @_submenu-item-color-active: @submenu-item__active__color,
     @_submenu-item-text-decoration-active: @submenu-item__active__text-decoration
 ) {
@@ -52,6 +61,16 @@
             margin: 0;
             padding: 0;
         }
+        li {
+            margin: 0;
+        }
+        a {
+            display: block;
+            .css(padding-top, @_submenu-item__padding-top);
+            .css(padding-right, @_submenu-item__padding-right);
+            .css(padding-bottom, @_submenu-item__padding-bottom);
+            .css(padding-left, @_submenu-item__padding-left);
+        }
         a,
         a:hover {
             .css(color, @_nav-level0-item-color);
@@ -60,22 +79,47 @@
         .level0 {
             .font-size(@_nav-level0-font-size);
             .css(border-top, @_nav-level0-item-border);
-            margin: 0;
             > .level-top {
                 .css(background, @_nav-level0-item-background-color);
                 .css(font-weight, @_nav-level0-font-weight);
                 .css(line-height, @_nav-level0-item-line-height);
                 .css(padding, @_nav-level0-item-padding);
                 .css(text-transform, @_nav-level0-text-transform);
-                display: block;
                 word-break: break-all;
             }
-            &.active > a {
-                .css(background, @_nav-level0-item-background-color-active);
-                .css(border, @_nav-level0-item-border-active);
-                .css(color, @_nav-level0-item-color-active);
-                .css(text-decoration, @_nav-level0-item-text-decoration-active);
+            &.active {
+                .all-category {
+                    .ui-state-focus {
+                        .css(background, @_nav-level0-item-background-color-active);
+                        .css(border-color, @_nav-level0-item__active__border-color);
+                        .css(border-style, @_nav-level0-item__active__border-style);
+                        .css(border-width, @_nav-level0-item__active__border-width);
+                        .css(color, @_nav-level0-item-color-active);
+                        .css(padding-left, @_nav__indent-side - @_submenu-item__active__border);
+                        .css(text-decoration, @_nav-level0-item-text-decoration-active);
+                        display: inline-block;
+                    }
+                }
+            }
+            > .level1 {
+                font-weight: @font-weight__semibold;
             }
+            &.active,
+            &.has-active { // ToDo UI: remove "has_active" here, when mobile navigation default open state is implemented
+                > a:not(.ui-state-active) {
+                    .css(background, @_nav-level0-item-background-color-active);
+                    .css(border-color, @_nav-level0-item__active__border-color);
+                    .css(border-style, @_nav-level0-item__active__border-style);
+                    .css(border-width, @_nav-level0-item__active__border-width);
+                    .css(color, @_nav-level0-item-color-active);
+                    .css(text-decoration, @_nav-level0-item-text-decoration-active);
+                    span:not(.ui-menu-icon) {
+                        margin-left: -@_submenu-item__active__border;
+                    }
+                }
+            }
+        }
+        li.level0 {
             &:last-child {
                 .css(border-bottom, @_nav-level0-item-border);
             }
@@ -89,25 +133,33 @@
                 .css(border, @_submenu-border);
                 .css(font-size, @_submenu-font-size);
                 .css(font-weight, @_submenu-font-weight);
+                .css(line-height, @_submenu-line-height);
+                left: auto !important;
                 overflow-x: hidden;
+                padding: 0;
                 position: relative;
-                transition: left .3s ease-out 0;
                 top: auto !important;
-                left: auto !important;
-                padding: 10px 20px;
-                > ul {
+                transition: left .3s ease-out;
+                > li {
+                    > a {
+                        padding-left: @_nav__indent-side;
+                    }
+                    &:last-child {
+                        margin-bottom: 0;
+                    }
+                }
+                ul {
                     display: block;
-                    .css(padding, @_submenu-padding);
+                    .css(padding-left, @_submenu-item__padding-left);
                     > li {
                         margin: 0;
                         a {
                             .css(background, @_submenu-item-background-color);
                             .css(border, @_submenu-item-border);
                             .css(color, @_submenu-item-color);
-                            .css(text-decoration, @_submenu-item-text-decoration);
                             display: block;
                             line-height: normal;
-                            .css(padding, @_submenu-item-padding);
+                            .css(text-decoration, @_submenu-item-text-decoration);
                         }
                     }
                 }
@@ -116,11 +168,23 @@
                     top: 0 !important;
                     padding-right: 0;
                 }
-                .active > a {
-                    .css(background, @_submenu-item-background-color-active);
-                    .css(border, @_submenu-item-border-active);
-                    .css(color, @_submenu-item-color-active);
-                    .css(text-decoration, @_submenu-item-text-decoration-active);
+                .active {
+                    > a {
+                        .css(background, @_submenu-item-background-color-active);
+                        .css(border-color, @_submenu-item__active__border-color);
+                        .css(border-style, @_submenu-item__active__border-style);
+                        .css(border-width, @_submenu-item__active__border-width);
+                        .css(color, @_submenu-item-color-active);
+                        .css(padding-left, @_nav__indent-side - @_submenu-item__active__border);
+                        .css(text-decoration, @_submenu-item-text-decoration-active);
+                    }
+                }
+                .level1 {
+                    &.active {
+                        > a {
+                            padding-left: @_nav__indent-side - @_submenu-item__active__border;
+                        }
+                    }
                 }
             }
         }
@@ -152,7 +216,9 @@
     @_nav-level0-item-text-decoration-hover: @navigation-desktop-level0-item__hover__text-decoration,
 
     @_nav-level0-item-background-color-active: @navigation-desktop-level0-item__active__background,
-    @_nav-level0-item-border-active: @navigation-desktop-level0-item__active__border,
+    @_nav-level0-item__active__border-color: @navigation-desktop-level0-item__active__border-color,
+    @_nav-level0-item__active__border-style: @navigation-desktop-level0-item__active__border-style,
+    @_nav-level0-item__active__border-width: @navigation-desktop-level0-item__active__border-width,
     @_nav-level0-item-color-active: @navigation-desktop-level0-item__active__color,
     @_nav-level0-item-text-decoration-active: @navigation-desktop-level0-item__active__text-decoration,
 
@@ -182,7 +248,9 @@
     @_submenu-item-text-decoration-hover: @submenu-desktop-item__hover__text-decoration,
 
     @_submenu-item-background-color-active: @submenu-desktop-item__active__background,
-    @_submenu-item-border-active: @submenu-desktop-item__active__border,
+    @_submenu-item__active__border-color: @submenu-desktop-item__active__border-color,
+    @_submenu-item__active__border-style: @submenu-desktop-item__active__border-style,
+    @_submenu-item__active__border-width: @submenu-desktop-item__active__border-width,
     @_submenu-item-color-active: @submenu-desktop-item__active__color,
     @_submenu-item-text-decoration-active: @submenu-desktop-item__active__text-decoration
 ) {
@@ -237,12 +305,16 @@
                     .css(text-decoration, @_nav-level0-item-text-decoration-hover);
                 }
             }
-            &.active {
+            &.active,
+            &.has-active {
                 > .level-top {
                     .css(background, @_nav-level0-item-background-color-active);
-                    .css(border, @_nav-level0-item-border-active);
+                    .css(border-color, @_nav-level0-item__active__border-color);
+                    .css(border-style, @_nav-level0-item__active__border-style);
+                    .css(border-width, @_nav-level0-item__active__border-width);
                     .css(color, @_nav-level0-item-color-active);
                     .css(text-decoration, @_nav-level0-item-text-decoration-active);
+                    display: inline-block;
                 }
             }
             &.parent:hover > .submenu {
@@ -288,7 +360,9 @@
                 }
                 .active > a {
                     .css(background, @_submenu-item-background-color-active);
-                    .css(border, @_submenu-item-border-active);
+                    .css(border-color, @_submenu-item__active__border-color);
+                    .css(border-style, @_submenu-item__active__border-style);
+                    .css(border-width, @_submenu-item__active__border-width);
                     .css(color, @_submenu-item-color-active);
                     .css(text-decoration, @_submenu-item-text-decoration-active);
                 }
@@ -365,7 +439,7 @@
         .css(margin-top, -@_size);
         > ul {
             .css(margin-top, @_size);
-            &:before{
+            &:before {
                 .css(color, @_bg);
                 content: '';
                 display: block;
@@ -382,7 +456,7 @@
         .css(margin-top, -@_size);
         > ul {
             .css(margin-top, @_size);
-            &:before{
+            &:before {
                 .css(color, @_border);
                 content: '';
                 display: block;
diff --git a/lib/web/css/source/lib/variables/_colors.less b/lib/web/css/source/lib/variables/_colors.less
index 603a465151215b6ad4b766484de0edba7c25479f..95374e5802e6db799efd9467872db5928d19fbec 100644
--- a/lib/web/css/source/lib/variables/_colors.less
+++ b/lib/web/css/source/lib/variables/_colors.less
@@ -33,6 +33,7 @@
 @color-gray94: #f0f0f0;
 @color-gray95: #f2f2f2;
 @color-white-smoke: #f5f5f5;
+@color-white-dark-smoke: #efefef;
 @color-white-fog: #f8f8f8;
 
 @color-gray-light0: #f6f6f6;
diff --git a/lib/web/css/source/lib/variables/_navigation.less b/lib/web/css/source/lib/variables/_navigation.less
index eb1840348a47677eabd5fd15fb314e0bb2e8c766..73d1ad71cb3e4e69fe9f26a6553e8cae1e77bab8 100644
--- a/lib/web/css/source/lib/variables/_navigation.less
+++ b/lib/web/css/source/lib/variables/_navigation.less
@@ -14,7 +14,7 @@
 @navigation-level0-item__font-weight: @font-weight__bold;
 @navigation-level0-item__line-height: false;
 @navigation-level0-item__margin: 0;
-@navigation-level0-item__padding: 8px @indent__xl 8px @indent__base;
+@navigation-level0-item__padding: 8px @indent__xl 8px 15px;
 @navigation-level0-item__text-transform: uppercase;
 
 @navigation-level0-item__background: '';
@@ -23,24 +23,32 @@
 @navigation-level0-item__text-decoration: none;
 
 @navigation-level0-item__active__background: '';
-@navigation-level0-item__active__border: '';
+@navigation-level0-item__active__border-color: @color-orange-red1;
+@navigation-level0-item__active__border-style: solid;
+@navigation-level0-item__active__border-width: 0 0 0 8px;
 @navigation-level0-item__active__color: '';
 @navigation-level0-item__active__text-decoration: '';
 
 @submenu__background: '';
 @submenu__border: '';
-@submenu__padding: 0 0 0 @indent__base;
+@submenu__padding-top: @indent__s;
+@submenu__padding-right: 0;
+@submenu__padding-bottom: @indent__s;
+@submenu__padding-left: 15px;
 @submenu__font-size: '';
 @submenu__font-weight: @font-weight__regular;
+@submenu-item__line-height: 1.3;
 
-@submenu-item__padding: 8px 0;
 @submenu-item__background: '';
 @submenu-item__border: '';
 @submenu-item__color: @color-gray34;
 @submenu-item__text-decoration: '';
 
 @submenu-item__active__background: '';
-@submenu-item__active__border: '';
+@submenu-item__active__border: 8px;
+@submenu-item__active__border-color: @color-orange-red1;
+@submenu-item__active__border-style: solid;
+@submenu-item__active__border-width: 0 0 0 @submenu-item__active__border;
 @submenu-item__active__color: '';
 @submenu-item__active__text-decoration: '';
 
@@ -68,7 +76,9 @@
 @navigation-desktop-level0-item__hover__text-decoration: @navigation-desktop-level0-item__text-decoration;
 
 @navigation-desktop-level0-item__active__background: '';
-@navigation-desktop-level0-item__active__border: '';
+@navigation-desktop-level0-item__active__border-color: @color-orange-red1;
+@navigation-desktop-level0-item__active__border-style: solid;
+@navigation-desktop-level0-item__active__border-width: 0 0 3px;
 @navigation-desktop-level0-item__active__color: @navigation-desktop-level0-item__hover__color;
 @navigation-desktop-level0-item__active__text-decoration: @navigation-desktop-level0-item__text-decoration;
 
@@ -98,6 +108,8 @@
 @submenu-desktop-item__hover__text-decoration: @navigation-desktop-level0-item__text-decoration;
 
 @submenu-desktop-item__active__background: '';
-@submenu-desktop-item__active__border: '';
+@submenu-desktop-item__active__border-color: @color-orange-red1;
+@submenu-desktop-item__active__border-style: solid;
+@submenu-desktop-item__active__border-width: 0 0 0 3px;
 @submenu-desktop-item__active__color: '';
 @submenu-desktop-item__active__text-decoration: '';
diff --git a/lib/web/mage/backend/notification.js b/lib/web/mage/backend/notification.js
index eb688214155efc8314dabc25cba88f44bfd839e8..7232e0310cddd185b88cbf5128cbf2502ba0172a 100644
--- a/lib/web/mage/backend/notification.js
+++ b/lib/web/mage/backend/notification.js
@@ -13,7 +13,7 @@ define([
     $.widget('mage.notification', {
         options: {
             templates: {
-                global: '<div class="messages"><div class="message <%- if (data.error) { %>error<% } %>"><div><%- data.message %></div></div></div>'
+                global: '<div class="messages"><div class="message <% if (data.error) { %>error<% } %>"><div><%- data.message %></div></div></div>'
             }
         },
 
diff --git a/lib/web/mage/backend/suggest.js b/lib/web/mage/backend/suggest.js
index 70dd802284562e8d43d54be0e28b5d38f7e27ac2..dfb3ef72d8c4d8424c949ea44dfba20b3a8f01be 100644
--- a/lib/web/mage/backend/suggest.js
+++ b/lib/web/mage/backend/suggest.js
@@ -811,15 +811,19 @@
          * @private
          */
         _renderMultiselect: function () {
+            var that = this;
             this.element.wrap(this.options.multiSuggestWrapper);
             this.elementWrapper = this.element.closest('[data-role="parent-choice-element"]');
-            this._getOptions().each($.proxy(function (i, option) {
-                option = $(option);
-                this._createOption({
-                    id: option.val(),
-                    label: option.text()
-                });
-            }, this));
+            $(function () {
+                that._getOptions()
+                    .each(function (i, option) {
+                        option = $(option);
+                        that._createOption({
+                            id: option.val(),
+                            label: option.text()
+                        });
+                    });
+            });
         },
 
         /**
diff --git a/lib/web/mage/validation.js b/lib/web/mage/validation.js
index 7632ce9b84977587975da37348f383f39395c89e..fbcf394becd3215ce0484cbefb6ddb585879c73c 100644
--- a/lib/web/mage/validation.js
+++ b/lib/web/mage/validation.js
@@ -916,10 +916,10 @@
             'This is a required field.'
         ],
         "validate-one-required-by-name": [
-            function(v, elm) {
+            function(v, elm, selector) {
                 var name        = elm.name.replace(/([\\"])/g, '\\$1'),
                     container   = this.currentForm,
-                    selector    = 'input[name="' + name + '"]:checked';
+                    selector    = selector === true ? 'input[name="' + name + '"]:checked' : selector;
                 
                 return !!container.querySelectorAll(selector).length;
             },
diff --git a/nginx.conf.sample b/nginx.conf.sample
index 1ea8ee9e97f28f40107edb14b4fe53e66589b40a..2ea2b6ce5848867deae4c3c6287234706039e57f 100644
--- a/nginx.conf.sample
+++ b/nginx.conf.sample
@@ -127,6 +127,7 @@ location / {
     }
 
     location ~ (index|get|static|report|404|503)\.php$ {
+        expires -1;
         fastcgi_pass   fastcgi_backend;
 
         fastcgi_param  PHP_FLAG  "session.auto_start=off \n suhosin.session.cryptua=off";
diff --git a/pub/.htaccess b/pub/.htaccess
index b00b2127289e31e93de0d23969e74d64611efd1c..7cac070b85bf7b33c187cfcefd3bf6e8e456306b 100755
--- a/pub/.htaccess
+++ b/pub/.htaccess
@@ -1,3 +1,8 @@
+############################################
+## uncomment the line below to enable developer mode
+
+#   SetEnv MAGE_MODE developer
+
 ############################################
 ## uncomment these lines for CGI mode
 ## make sure to specify the correct cgi php binary file name
@@ -153,15 +158,11 @@
 ## http://developer.yahoo.com/performance/rules.html#expires
 
     ExpiresDefault "access plus 1 year"
+    ExpiresByType text/html A0
+    ExpiresByType text/plain A0
 
 </IfModule>
 
-############################################
-## By default allow all access
-
-    Order allow,deny
-    Allow from all
-
 ###########################################
 ## Deny access to release notes to prevent disclosure of the installed Magento version
 
diff --git a/pub/cron.php b/pub/cron.php
index 275fe035c8ca547576b127403f9415b8acafd755..8e70c3cb0e927a0413449ee8277d3b4fff6d5500 100755
--- a/pub/cron.php
+++ b/pub/cron.php
@@ -6,15 +6,43 @@
  * See COPYING.txt for license details.
  */
 
-use Magento\Framework\App\Bootstrap;
 use Magento\Store\Model\Store;
 use Magento\Store\Model\StoreManager;
 
 require dirname(__DIR__) . '/app/bootstrap.php';
-$params = $_SERVER;
-$params[StoreManager::PARAM_RUN_CODE] = 'admin';
-$params[Store::CUSTOM_ENTRY_POINT_PARAM] = true;
-$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $params);
-/** @var \Magento\Framework\App\Cron $app */
-$app = $bootstrap->createApplication('Magento\Framework\App\Cron', ['parameters' => ['group::']]);
-$bootstrap->run($app);
+
+if ($_GET){
+    $opt = $_GET;
+} else {
+    $usage = 'Usage: php -f pub/cron.php -- [--group=<groupId>]' . PHP_EOL;
+    $longOpts = [
+        'help',
+        'group::',
+        'standaloneProcessStarted::'
+    ];
+    $opt = getopt('', $longOpts);
+    if (isset($opt['help'])) {
+        echo $usage;
+        exit(0);
+    }
+}
+if (empty($opt['group'])) {
+    $opt['group'] = 'default';
+}
+// It is tracked for internal communication between processes, no user input is needed for this
+if (empty($opt['standaloneProcessStarted'])) {
+    $opt['standaloneProcessStarted'] = '0';
+}
+
+try {
+    $params = $_SERVER;
+    $params[StoreManager::PARAM_RUN_CODE] = 'admin';
+    $params[Store::CUSTOM_ENTRY_POINT_PARAM] = true;
+    $bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $params);
+    /** @var \Magento\Framework\App\Cron $app */
+    $app = $bootstrap->createApplication('Magento\Framework\App\Cron', ['parameters' => $opt]);
+    $bootstrap->run($app);
+} catch (\Exception $e) {
+    echo $e;
+    exit(1);
+}
diff --git a/setup/pub/angular-sanitize/angular-sanitize.min.js b/setup/pub/angular-sanitize/angular-sanitize.min.js
new file mode 100644
index 0000000000000000000000000000000000000000..4fc586065be2f63aa659aa183733dba460585734
--- /dev/null
+++ b/setup/pub/angular-sanitize/angular-sanitize.min.js
@@ -0,0 +1,14 @@
+/*
+ AngularJS v1.2.14
+ (c) 2010-2014 Google, Inc. http://angularjs.org
+ License: MIT
+ */
+(function(p,h,q){'use strict';function E(a){var e=[];s(e,h.noop).chars(a);return e.join("")}function k(a){var e={};a=a.split(",");var d;for(d=0;d<a.length;d++)e[a[d]]=!0;return e}function F(a,e){function d(a,b,d,g){b=h.lowercase(b);if(t[b])for(;f.last()&&u[f.last()];)c("",f.last());v[b]&&f.last()==b&&c("",b);(g=w[b]||!!g)||f.push(b);var l={};d.replace(G,function(a,b,e,c,d){l[b]=r(e||c||d||"")});e.start&&e.start(b,l,g)}function c(a,b){var c=0,d;if(b=h.lowercase(b))for(c=f.length-1;0<=c&&f[c]!=b;c--);
+    if(0<=c){for(d=f.length-1;d>=c;d--)e.end&&e.end(f[d]);f.length=c}}var b,g,f=[],l=a;for(f.last=function(){return f[f.length-1]};a;){g=!0;if(f.last()&&x[f.last()])a=a.replace(RegExp("(.*)<\\s*\\/\\s*"+f.last()+"[^>]*>","i"),function(b,a){a=a.replace(H,"$1").replace(I,"$1");e.chars&&e.chars(r(a));return""}),c("",f.last());else{if(0===a.indexOf("\x3c!--"))b=a.indexOf("--",4),0<=b&&a.lastIndexOf("--\x3e",b)===b&&(e.comment&&e.comment(a.substring(4,b)),a=a.substring(b+3),g=!1);else if(y.test(a)){if(b=a.match(y))a=
+    a.replace(b[0],""),g=!1}else if(J.test(a)){if(b=a.match(z))a=a.substring(b[0].length),b[0].replace(z,c),g=!1}else K.test(a)&&(b=a.match(A))&&(a=a.substring(b[0].length),b[0].replace(A,d),g=!1);g&&(b=a.indexOf("<"),g=0>b?a:a.substring(0,b),a=0>b?"":a.substring(b),e.chars&&e.chars(r(g)))}if(a==l)throw L("badparse",a);l=a}c()}function r(a){if(!a)return"";var e=M.exec(a);a=e[1];var d=e[3];if(e=e[2])n.innerHTML=e.replace(/</g,"&lt;"),e="textContent"in n?n.textContent:n.innerText;return a+e+d}function B(a){return a.replace(/&/g,
+    "&amp;").replace(N,function(a){return"&#"+a.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}function s(a,e){var d=!1,c=h.bind(a,a.push);return{start:function(a,g,f){a=h.lowercase(a);!d&&x[a]&&(d=a);d||!0!==C[a]||(c("<"),c(a),h.forEach(g,function(d,f){var g=h.lowercase(f),k="img"===a&&"src"===g||"background"===g;!0!==O[g]||!0===D[g]&&!e(d,k)||(c(" "),c(f),c('="'),c(B(d)),c('"'))}),c(f?"/>":">"))},end:function(a){a=h.lowercase(a);d||!0!==C[a]||(c("</"),c(a),c(">"));a==d&&(d=!1)},chars:function(a){d||
+c(B(a))}}}var L=h.$$minErr("$sanitize"),A=/^<\s*([\w:-]+)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*>/,z=/^<\s*\/\s*([\w:-]+)[^>]*>/,G=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,K=/^</,J=/^<\s*\//,H=/\x3c!--(.*?)--\x3e/g,y=/<!DOCTYPE([^>]*?)>/i,I=/<!\[CDATA\[(.*?)]]\x3e/g,N=/([^\#-~| |!])/g,w=k("area,br,col,hr,img,wbr");p=k("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr");q=k("rp,rt");var v=h.extend({},q,p),t=h.extend({},p,k("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,script,section,table,ul")),
+    u=h.extend({},q,k("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")),x=k("script,style"),C=h.extend({},w,t,u,v),D=k("background,cite,href,longdesc,src,usemap"),O=h.extend({},D,k("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,target,title,type,valign,value,vspace,width")),
+    n=document.createElement("pre"),M=/^(\s*)([\s\S]*?)(\s*)$/;h.module("ngSanitize",[]).provider("$sanitize",function(){this.$get=["$$sanitizeUri",function(a){return function(e){var d=[];F(e,s(d,function(c,b){return!/^unsafe/.test(a(c,b))}));return d.join("")}}]});h.module("ngSanitize").filter("linky",["$sanitize",function(a){var e=/((ftp|https?):\/\/|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>]/,d=/^mailto:/;return function(c,b){function g(a){a&&m.push(E(a))}function f(a,c){m.push("<a ");h.isDefined(b)&&
+(m.push('target="'),m.push(b),m.push('" '));m.push('href="');m.push(a);m.push('">');g(c);m.push("</a>")}if(!c)return c;for(var l,k=c,m=[],n,p;l=k.match(e);)n=l[0],l[2]==l[3]&&(n="mailto:"+n),p=l.index,g(k.substr(0,p)),f(n,l[0].replace(d,"")),k=k.substring(p+l[0].length);g(k);return a(m.join(""))}}])})(window,window.angular);
+//# sourceMappingURL=angular-sanitize.min.js.map
\ No newline at end of file
diff --git a/setup/pub/magento/setup/customize-your-store.js b/setup/pub/magento/setup/customize-your-store.js
index 3338be4d52c6396e157fb522d9fa2b54a32665ed..476e4914d495321a8a66a7d5566c6da18980494b 100644
--- a/setup/pub/magento/setup/customize-your-store.js
+++ b/setup/pub/magento/setup/customize-your-store.js
@@ -4,7 +4,7 @@
  */
 
 'use strict';
-angular.module('customize-your-store', ['ngStorage'])
+angular.module('customize-your-store', ['ngStorage', 'ngSanitize'])
     .controller('customizeYourStoreController', ['$scope', '$localStorage' , '$state', '$http', '$sce', function ($scope, $localStorage, $state, $http, $sce) {
         $scope.store = {
             timezone: 'America/Los_Angeles',
@@ -12,6 +12,7 @@ angular.module('customize-your-store', ['ngStorage'])
             language: 'en_US',
             useSampleData: false,
             loadedAllModules: false,
+            showModulesControl: false,
             selectAll: true,
             allModules: [],
             errorFlag : false,
@@ -51,6 +52,7 @@ angular.module('customize-your-store', ['ngStorage'])
         if (!$scope.store.loadedAllModules) {
             $http.get('index.php/modules').success(function (data) {
                 $state.loadedModules = data;
+                $scope.store.showModulesControl = true;
                 if (data.error) {
                     $scope.updateOnExpand($scope.store.advanced);
                     $scope.store.errorMessage = $sce.trustAsHtml(data.error);
diff --git a/setup/src/Magento/Setup/Controller/Environment.php b/setup/src/Magento/Setup/Controller/Environment.php
index 8b93843046fb95d46f2abc1558a43f586fac0e47..066c58d914c86617da39fb79d720f74fb5902835 100644
--- a/setup/src/Magento/Setup/Controller/Environment.php
+++ b/setup/src/Magento/Setup/Controller/Environment.php
@@ -103,7 +103,7 @@ class Environment extends AbstractActionController
             'responseType' => $responseType,
             'data' => [
                 'version' => PHP_VERSION,
-                'ini' => ini_get('always_populate_raw_post_data')
+                'ini' => $iniSetting
             ]
         ];
 
diff --git a/setup/src/Magento/Setup/Model/Lists.php b/setup/src/Magento/Setup/Model/Lists.php
index 61a45c8d9cda31097470ae1064b86a3f800ef1cf..e898ed40c16c383ac2fa1ccadbdab2419aae793d 100644
--- a/setup/src/Magento/Setup/Model/Lists.php
+++ b/setup/src/Magento/Setup/Model/Lists.php
@@ -36,7 +36,7 @@ class Lists
      */
     public function getTimezoneList()
     {
-        $zones = \DateTimeZone::listIdentifiers(\DateTimeZone::ALL_WITH_BC);
+        $zones = \DateTimeZone::listIdentifiers(\DateTimeZone::ALL);
         $list = [];
         foreach ($zones as $code) {
             $list[$code] = \IntlTimeZone::createTimeZone($code)->getDisplayName(
diff --git a/setup/view/layout/layout.phtml b/setup/view/layout/layout.phtml
index 9ee141a5fd249598d9636c347249ad5279a680bd..5e61c5c4d8d2d1fecb0b02b04ae5f7dc1dae79fd 100644
--- a/setup/view/layout/layout.phtml
+++ b/setup/view/layout/layout.phtml
@@ -22,6 +22,7 @@
         ->appendFile('pub/angular-ng-storage/angular-ng-storage.min.js')
         ->appendFile('pub/angular-ui-router/angular-ui-router.min.js')
         ->appendFile('pub/angular-ui-bootstrap/angular-ui-bootstrap.min.js')
+        ->appendFile('pub/angular-sanitize/angular-sanitize.min.js')
         ->appendFile('pub/magento/setup/app.js')
         ->appendFile('pub/magento/setup/main.js')
         ->appendFile('pub/magento/setup/landing.js')
diff --git a/setup/view/magento/setup/customize-your-store.phtml b/setup/view/magento/setup/customize-your-store.phtml
index 9dbf7820fd50cbd29ede7f6f93549d39fa1ccf3f..9209bce525b8e92ec9c4b11647bf19c5b4a6c658 100644
--- a/setup/view/magento/setup/customize-your-store.phtml
+++ b/setup/view/magento/setup/customize-your-store.phtml
@@ -118,7 +118,7 @@
         </div>
     </fieldset>
 
-    <fieldset class="form-fieldset customize-your-store-advanced">
+    <fieldset class="form-fieldset customize-your-store-advanced" ng-show="store.showModulesControl">
         <legend
             class="form-legend-expand"
             ng-click="updateOnExpand(store.advanced)"