diff --git a/.htaccess b/.htaccess
index 2998f48f7addce87c68296ed33d68837bd439b6b..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,6 +172,8 @@
 ## http://developer.yahoo.com/performance/rules.html#expires
 
     ExpiresDefault "access plus 1 year"
+    ExpiresByType text/html A0
+    ExpiresByType text/plain A0
 
 </IfModule>
 
diff --git a/.htaccess.sample b/.htaccess.sample
index 3a19430211147f23f6e460addf435d771380b944..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,6 +169,8 @@
 ## http://developer.yahoo.com/performance/rules.html#expires
 
     ExpiresDefault "access plus 1 year"
+    ExpiresByType text/html A0
+    ExpiresByType text/plain A0
 
 </IfModule>
 
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/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/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/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/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/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/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/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/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/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/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/Observer.php b/app/code/Magento/Cron/Model/Observer.php
index 0c4330b236445e5158ced871f4c4de452a4d53e4..800e1e732710d455b0a12a728df25a01f486ba5f 100644
--- a/app/code/Magento/Cron/Model/Observer.php
+++ b/app/code/Magento/Cron/Model/Observer.php
@@ -345,6 +345,13 @@ class Observer
             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
          */
@@ -370,7 +377,9 @@ class Observer
         $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();
             }
         }
diff --git a/app/code/Magento/Cron/Test/Unit/Model/ObserverTest.php b/app/code/Magento/Cron/Test/Unit/Model/ObserverTest.php
index 1b9c5cd798101a15d4fd8ab122dacc1afa67bba0..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)
@@ -607,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/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/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/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 3f3cdd4b0e30a273062e46dcf0fd9c770cd3a14f..e3e88b578a12604b97419639750b8317019d0e51 100644
--- a/app/code/Magento/Customer/etc/data_source/customer_address.xml
+++ b/app/code/Magento/Customer/etc/data_source/customer_address.xml
@@ -49,7 +49,7 @@
             </field>
             <field name="region" source="eav" formElement="input" visible="false"/>
 
-            <field name="postcode" source="eav" formElement="post_code_fix" >
+            <field name="postcode" source="eav" formElement="post_code" >
                 <constraints>
                     <validate name="required-entry"/>
                 </constraints>
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/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/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/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/PageCache/etc/varnish3.vcl b/app/code/Magento/PageCache/etc/varnish3.vcl
index 7fa9a30ec9ac5acdce849c445abfd8efa8cf496f..0b6651fbc0cd4d66748e7d68b683dc823ff574d2 100644
--- a/app/code/Magento/PageCache/etc/varnish3.vcl
+++ b/app/code/Magento/PageCache/etc/varnish3.vcl
@@ -54,7 +54,7 @@ sub vcl_recv {
     std.collect(req.http.Cookie);
 
     # static files are always cacheable. remove SSL flag and cookie
-    if (req.url ~ "^/(pub/)?(media|static)/.*\.(png|jpg|jpeg|gif|css|js|swf|ico|woff|svg)$") {
+    if (req.url ~ "^/(pub/)?(media|static)/.*\.(ico|css|js|jpg|jpeg|png|gif|tiff|bmp|gz|tgz|bz2|tbz|mp3|ogg|svg|swf|woff|woff2|eot|ttf|otf)$") {
         unset req.http.Https;
         unset req.http.Cookie;
     }
@@ -96,7 +96,7 @@ sub vcl_fetch {
     # images, css and js are cacheable by default so we have to remove cookie also
     if (beresp.ttl > 0s && (req.request == "GET" || req.request == "HEAD")) {
         unset beresp.http.set-cookie;
-        if (req.url !~ "\.(css|js|jpg|png|gif|tiff|bmp|gz|tgz|bz2|tbz|mp3|ogg|svg|swf|woff)(\?|$)") {
+            if (req.url !~ "\.(ico|css|js|jpg|jpeg|png|gif|tiff|bmp|mp3|ogg|svg|swf|woff|woff2|eot|ttf|otf)(\?|$)") {
             set beresp.http.Pragma = "no-cache";
             set beresp.http.Expires = "-1";
             set beresp.http.Cache-Control = "no-store, no-cache, must-revalidate, max-age=0";
diff --git a/app/code/Magento/PageCache/etc/varnish4.vcl b/app/code/Magento/PageCache/etc/varnish4.vcl
index 5936fcd69255d03dbc70e6e34bf60282bda2dca5..0f3dddb893d95d123a74ef618183ddb6c9e8bbe0 100644
--- a/app/code/Magento/PageCache/etc/varnish4.vcl
+++ b/app/code/Magento/PageCache/etc/varnish4.vcl
@@ -47,7 +47,7 @@ sub vcl_recv {
     std.collect(req.http.Cookie);
 
     # static files are always cacheable. remove SSL flag and cookie
-    if (req.url ~ "^/(pub/)?(media|static)/.*\.(png|jpg|jpeg|gif|css|js|swf|ico|woff|svg)$") {
+        if (req.url ~ "^/(pub/)?(media|static)/.*\.(ico|css|js|jpg|jpeg|png|gif|tiff|bmp|mp3|ogg|svg|swf|woff|woff2|eot|ttf|otf)$") {
         unset req.http.Https;
         unset req.http.Cookie;
     }
@@ -90,7 +90,7 @@ sub vcl_backend_response {
     # images, css and js are cacheable by default so we have to remove cookie also
     if (beresp.ttl > 0s && (bereq.method == "GET" || bereq.method == "HEAD")) {
         unset beresp.http.set-cookie;
-        if (bereq.url !~ "\.(css|js|jpg|png|gif|tiff|bmp|gz|tgz|bz2|tbz|mp3|ogg|svg|swf|woff)(\?|$)") {
+        if (bereq.url !~ "\.(ico|css|js|jpg|jpeg|png|gif|tiff|bmp|gz|tgz|bz2|tbz|mp3|ogg|svg|swf|woff|woff2|eot|ttf|otf)(\?|$)") {
             set beresp.http.Pragma = "no-cache";
             set beresp.http.Expires = "-1";
             set beresp.http.Cache-Control = "no-store, no-cache, must-revalidate, max-age=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/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/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/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/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/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/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/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/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/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/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/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/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/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/bootstrap.php b/dev/tests/functional/bootstrap.php
index b661b84d1ceccd96c2b4ceb28ee3ee9ff0d31dc2..5a4f9a7c490dee281665493f4eea214c77d2d4ca 100644
--- a/dev/tests/functional/bootstrap.php
+++ b/dev/tests/functional/bootstrap.php
@@ -4,7 +4,6 @@
  * See COPYING.txt for license details.
  */
 
-session_start();
 defined('MTF_BOOT_FILE') || define('MTF_BOOT_FILE', __FILE__);
 defined('MTF_BP') || define('MTF_BP', str_replace('\\', '/', (__DIR__)));
 require_once __DIR__ . '/../../../app/bootstrap.php';
diff --git a/dev/tests/functional/composer.json b/dev/tests/functional/composer.json
index 256e8f34c43778f4f2ff4f4feabb4b5c20547524..41482866c1b241dbf0feb2c100d029ed51e11d68 100644
--- a/dev/tests/functional/composer.json
+++ b/dev/tests/functional/composer.json
@@ -1,6 +1,6 @@
 {
     "require": {
-        "magento/mtf": "1.0.0-rc20",
+        "magento/mtf": "1.0.0-rc21",
         "php": "~5.5.0|~5.6.0",
         "phpunit/phpunit": "4.1.0",
         "phpunit/phpunit-selenium": ">=1.2",
diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Protocol/CurlTransport/BackendDecorator.php b/dev/tests/functional/lib/Magento/Mtf/Util/Protocol/CurlTransport/BackendDecorator.php
index c4b2a9d7f85cc2649fbe9c95f71063f5c9de7115..ff02e15272bd9dc13e0a1c1f58e445024d06c469 100644
--- a/dev/tests/functional/lib/Magento/Mtf/Util/Protocol/CurlTransport/BackendDecorator.php
+++ b/dev/tests/functional/lib/Magento/Mtf/Util/Protocol/CurlTransport/BackendDecorator.php
@@ -6,7 +6,7 @@
 
 namespace Magento\Mtf\Util\Protocol\CurlTransport;
 
-use Magento\Mtf\Config;
+use Magento\Mtf\Config\DataInterface;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 
@@ -40,7 +40,7 @@ class BackendDecorator implements CurlInterface
     /**
      * System config
      *
-     * @var Config
+     * @var DataInterface
      */
     protected $configuration;
 
@@ -48,9 +48,9 @@ class BackendDecorator implements CurlInterface
      * Constructor
      *
      * @param CurlTransport $transport
-     * @param Config $configuration
+     * @param DataInterface $configuration
      */
-    public function __construct(CurlTransport $transport, Config $configuration)
+    public function __construct(CurlTransport $transport, DataInterface $configuration)
     {
         $this->transport = $transport;
         $this->configuration = $configuration;
@@ -65,11 +65,10 @@ class BackendDecorator implements CurlInterface
      */
     protected function authorize()
     {
-        $url = $_ENV['app_backend_url'] .
-            $this->configuration->getParameter('application/backendLoginUrl');
+        $url = $_ENV['app_backend_url'] . $this->configuration->get('application/0/backendLoginUrl/0/value');
         $data = [
-            'login[username]' => $this->configuration->getParameter('application/backendLogin'),
-            'login[password]' => $this->configuration->getParameter('application/backendPassword'),
+            'login[username]' => $this->configuration->get('application/0/backendLogin/0/value'),
+            'login[password]' => $this->configuration->get('application/0/backendPassword/0/value'),
         ];
         $this->transport->write(CurlInterface::POST, $url, '1.0', [], $data);
         $response = $this->read();
diff --git a/dev/tests/functional/phpunit.xml.dist b/dev/tests/functional/phpunit.xml.dist
index 06b2ee9b0603d8fd6e602011e34ddbf2b131c00f..f99b813aa1073903e64d1495ea27d55440cd3547 100755
--- a/dev/tests/functional/phpunit.xml.dist
+++ b/dev/tests/functional/phpunit.xml.dist
@@ -26,7 +26,6 @@
             </arguments>
         </listener>
         <listener class="Magento\Mtf\System\Event\StateListener" />
-        <listener class="Magento\Mtf\System\JUnit"/>
     </listeners>
 
     <php>
@@ -37,7 +36,6 @@
         <env name="log_directory" value="var/log" />
         <env name="events_preset" value="base" />
         <env name="module_whitelist" value="Magento_Install,Magento_Core" />
-        <env name="report_file_name" value="test-cases-report.xml"/>
         <env name="basedir" value="var/log" />
         <env name="credentials_file_path" value="./credentials.xml.dist" />
     </php>
diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/Admin/SuperAdmin.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/Admin/SuperAdmin.php
index fd1a66d884fbecb34528b214b112ad0afa7741ca..3d18543896556fd8cd86604348c2ce5da1650900 100644
--- a/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/Admin/SuperAdmin.php
+++ b/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/Admin/SuperAdmin.php
@@ -22,10 +22,10 @@ class SuperAdmin extends DataFixture
         $this->_data = [
             'fields' => [
                 'username' => [
-                    'value' => $this->_configuration->getParameter('application/backendLogin'),
+                    'value' => $this->_configuration->get('application/0/backendLogin/0/value'),
                 ],
                 'password' => [
-                    'value' => $this->_configuration->getParameter('application/backendPassword'),
+                    'value' => $this->_configuration->get('application/0/backendPassword/0/value'),
                 ],
             ],
         ];
diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/GlobalSearch.xml b/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/GlobalSearch.xml
index e40e21c4fca28b00ba54d39c6bd30bd66f20f241..7b1c3f2aeac1d2d0f6e9be43c3dab50609066d32 100644
--- a/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/GlobalSearch.xml
+++ b/dev/tests/functional/tests/app/Magento/Backend/Test/Fixture/GlobalSearch.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="globalSearch" module="Magento_Backend" class="Magento\Backend\Test\Fixture\GlobalSearch">
     <dataset name="default">
         <field name="query" xsi:type="string">catalogProductSimple::default::name</field>
diff --git a/dev/tests/functional/tests/app/Magento/Backend/Test/Handler/Extractor.php b/dev/tests/functional/tests/app/Magento/Backend/Test/Handler/Extractor.php
index 967d142da277c2cb30be1ff7927363b03caf93a5..3df57e717b29304175d27a3fc9c66f4cb3cd9456 100755
--- a/dev/tests/functional/tests/app/Magento/Backend/Test/Handler/Extractor.php
+++ b/dev/tests/functional/tests/app/Magento/Backend/Test/Handler/Extractor.php
@@ -7,7 +7,6 @@
 
 namespace Magento\Backend\Test\Handler;
 
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
@@ -62,8 +61,8 @@ class Extractor
      */
     public function getData()
     {
-        /** @var \Magento\Mtf\Config $config */
-        $config = \Magento\Mtf\ObjectManagerFactory::getObjectManager()->get('Magento\Mtf\Config');
+        /** @var \Magento\Mtf\Config\DataInterface $config */
+        $config = \Magento\Mtf\ObjectManagerFactory::getObjectManager()->get('Magento\Mtf\Config\DataInterface');
         $url = $_ENV['app_backend_url'] . $this->url;
         $curl = new BackendDecorator(new CurlTransport(), $config);
         $curl->addOption(CURLOPT_HEADER, 1);
diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Fixture/BundleProduct.xml b/dev/tests/functional/tests/app/Magento/Bundle/Test/Fixture/BundleProduct.xml
index 6b345b542bb84bbdcfcfe6bd9ced8353fa68228f..b9f96e1cb55a7ff19150c846a5424c9b8a2c4414 100644
--- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Fixture/BundleProduct.xml
+++ b/dev/tests/functional/tests/app/Magento/Bundle/Test/Fixture/BundleProduct.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="bundleProduct" module="Magento_Bundle" type="eav" entity_type="catalog_product" product_type="bundle" collection="Magento\Catalog\Model\Resource\Product\Collection" identifier="sku" repository_class="Magento\Bundle\Test\Repository\BundleProduct" handler_interface="Magento\Bundle\Test\Handler\BundleProduct\BundleProductInterface" class="Magento\Bundle\Test\Fixture\BundleProduct">
     <dataset name="default">
         <field name="name" xsi:type="string">BundleProduct %isolation%</field>
diff --git a/dev/tests/functional/tests/app/Magento/Bundle/Test/Handler/BundleProduct/Curl.php b/dev/tests/functional/tests/app/Magento/Bundle/Test/Handler/BundleProduct/Curl.php
index cbd47bd232e4ea5fd3f79bc667b3f73084b37eb2..6eeb06506c9cd342adeea36c2426cb964edaf6de 100644
--- a/dev/tests/functional/tests/app/Magento/Bundle/Test/Handler/BundleProduct/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/Bundle/Test/Handler/BundleProduct/Curl.php
@@ -9,7 +9,8 @@ namespace Magento\Bundle\Test\Handler\BundleProduct;
 use Magento\Bundle\Test\Fixture\BundleProduct;
 use Magento\Catalog\Test\Handler\CatalogProductSimple\Curl as ProductCurl;
 use Magento\Mtf\Fixture\FixtureInterface;
-use Magento\Mtf\Config;
+use Magento\Mtf\Config\DataInterface;
+use Magento\Mtf\System\Event\EventManagerInterface;
 
 /**
  * Create new bundle product via curl.
@@ -25,11 +26,12 @@ class Curl extends ProductCurl implements BundleProductInterface
 
     /**
      * @constructor
-     * @param Config $configuration
+     * @param DataInterface $configuration
+     * @param EventManagerInterface $eventManager
      */
-    public function __construct(Config $configuration)
+    public function __construct(DataInterface $configuration, EventManagerInterface $eventManager)
     {
-        parent::__construct($configuration);
+        parent::__construct($configuration, $eventManager);
 
         $this->mappingData += [
             'selection_can_change_qty' => [
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogAttributeSet.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogAttributeSet.xml
index e30dafaff1c5a7eb1c90af347f40e670e8fe4b6e..20c3c831f6e627016d8ff8f74fff0f8d26485017 100644
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogAttributeSet.xml
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogAttributeSet.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
     <fixture name="catalogAttributeSet" module="Magento_Catalog" type="flat" entity_type="eav_attribute_set" collection="Magento\Catalog\Model\Resource\Product\Link\Product\Collection" repository_class="Magento\Catalog\Test\Repository\CatalogAttributeSet" handler_interface="Magento\Catalog\Test\Handler\CatalogAttributeSet\CatalogAttributeSetInterface" class="Magento\Catalog\Test\Fixture\CatalogAttributeSet">
     <dataset name="default">
         <field name="attribute_set_name" xsi:type="string">Default_attribute_set_%isolation%</field>
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductAttribute.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductAttribute.xml
index 0a33bf96c60d635bad7e1cff10fa6da4f6f646b4..1e99a0752d4e407a6dfac02c519cf83d9f6ded54 100644
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductAttribute.xml
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductAttribute.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="catalogProductAttribute" module="Magento_Catalog" type="composite" collection="Magento\Catalog\Model\Resource\Attribute" repository_class="Magento\Catalog\Test\Repository\CatalogProductAttribute" handler_interface="Magento\Catalog\Test\Handler\CatalogProductAttribute\CatalogProductAttributeInterface" class="Magento\Catalog\Test\Fixture\CatalogProductAttribute">
     <dataset name="default">
         <field name="frontend_label" xsi:type="string">attribute_label%isolation%</field>
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductSimple.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductSimple.xml
index 1815359930d5d7827cd2ce06681b12c7da7f60a0..59bc10f7eeecdc84fcec704f0166306b479f60f5 100755
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductSimple.xml
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductSimple.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="catalogProductSimple" module="Magento_Catalog" type="eav" entity_type="catalog_product" product_type="simple" collection="Magento\Catalog\Model\Resource\Product\Collection" identifier="sku" repository_class="Magento\Catalog\Test\Repository\CatalogProductSimple" handler_interface="Magento\Catalog\Test\Handler\CatalogProductSimple\CatalogProductSimpleInterface" class="Magento\Catalog\Test\Fixture\CatalogProductSimple">
     <dataset name="default">
         <field name="name" xsi:type="string">Test simple product %isolation%</field>
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductSimple/TaxClass.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductSimple/TaxClass.php
index 8ca245b0c1607022eb2da61b21028f5efd077404..7bc605d82acca354327d119a88a570982aec88a4 100644
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductSimple/TaxClass.php
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductSimple/TaxClass.php
@@ -9,7 +9,6 @@ namespace Magento\Catalog\Test\Fixture\CatalogProductSimple;
 use Magento\Tax\Test\Fixture\TaxClass as FixtureTaxClass;
 use Magento\Mtf\Fixture\FixtureFactory;
 use Magento\Mtf\Fixture\FixtureInterface;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
@@ -89,7 +88,7 @@ class TaxClass implements FixtureInterface
     protected function setTaxClassId($taxClassName)
     {
         $url = $_ENV['app_backend_url'] . 'tax/rule/new/';
-        $config = \Magento\Mtf\ObjectManagerFactory::getObjectManager()->create('Magento\Mtf\Config');
+        $config = \Magento\Mtf\ObjectManagerFactory::getObjectManager()->create('Magento\Mtf\Config\DataInterface');
         $curl = new BackendDecorator(new CurlTransport(), $config);
         $curl->addOption(CURLOPT_HEADER, 1);
         $curl->write(CurlInterface::POST, $url, '1.0', [], []);
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductVirtual.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductVirtual.xml
index fd551f743f338cc4b096d7085084070cc2a144a5..158e62ce41f722ec50d060011baf95da903f15f9 100644
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductVirtual.xml
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/CatalogProductVirtual.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="catalogProductVirtual" module="Magento_Catalog" type="eav" entity_type="catalog_product" product_type="virtual" collection="Magento\Catalog\Model\Resource\Product\Collection" identifier="sku" repository_class="Magento\Catalog\Test\Repository\CatalogProductVirtual" handler_interface="Magento\Catalog\Test\Handler\CatalogProductVirtual\CatalogProductVirtualInterface" class="Magento\Catalog\Test\Fixture\CatalogProductVirtual">
     <dataset name="default">
         <field name="name" xsi:type="string">Test virtual product %isolation%</field>
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Category.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Category.xml
index 663a249b5da66e367bd8b0a953e622653aaa065e..9ea63b5e3616f573ba5385f127969f81779f8210 100644
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Category.xml
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Fixture/Category.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="category" module="Magento_Catalog" type="eav" entity_type="catalog_category_entity" collection="Magento\Catalog\Model\Resource\Category\Collection" repository_class="Magento\Catalog\Test\Repository\Category" handler_interface="Magento\Catalog\Test\Handler\Category\CategoryInterface" class="Magento\Catalog\Test\Fixture\Category">
     <dataset name="default">
         <field name="name" xsi:type="string">Category%isolation%</field>
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogAttributeSet/Curl.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogAttributeSet/Curl.php
index 8c7e5905afb7339488389ab62caeedc929ecd784..b5f8585e01fe459e6f67529a6683c2c3281ddba8 100644
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogAttributeSet/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogAttributeSet/Curl.php
@@ -9,7 +9,6 @@ namespace Magento\Catalog\Test\Handler\CatalogAttributeSet;
 use Magento\Catalog\Test\Fixture\CatalogAttributeSet;
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Handler\Curl as AbstractCurl;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogProductSimple/Curl.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogProductSimple/Curl.php
index 123ef506c991ee390aedc790ce8f2e58fd8224e1..1e7ec99e39fe2fec29869f7faa934711cab988b0 100755
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogProductSimple/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/CatalogProductSimple/Curl.php
@@ -405,7 +405,8 @@ class Curl extends AbstractCurl implements CatalogProductSimpleInterface
         $curl->close();
 
         if (!strpos($response, 'data-ui-id="messages-message-success"')) {
-            throw new \Exception("Product creation by curl handler was not successful! Response: $response");
+            $this->_eventManager->dispatchEvent(['curl_failed'], [$response]);
+            throw new \Exception('Product creation by curl handler was not successful!');
         }
 
         return $this->parseResponse($response);
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/Category/Curl.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/Category/Curl.php
index 9770e6726048c6139631ba6022d8801484e1c108..e684946a46f47f152fdd1d4373f31a31b1142dd4 100644
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/Category/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/Category/Curl.php
@@ -8,7 +8,6 @@ namespace Magento\Catalog\Test\Handler\Category;
 
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Handler\Curl as AbstractCurl;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/Curl/CreateProductAttribute.php b/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/Curl/CreateProductAttribute.php
index 6353c542d857e57541d700b0d9ad45d17e3a7a35..632de082cfe61df3dcfddd9ccf1359a9d3581638 100644
--- a/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/Curl/CreateProductAttribute.php
+++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/Handler/Curl/CreateProductAttribute.php
@@ -9,7 +9,6 @@ namespace Magento\Catalog\Test\Handler\Curl;
 use Magento\Catalog\Test\Fixture\ProductAttribute;
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Handler\Curl;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Fixture/CatalogRule.xml b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Fixture/CatalogRule.xml
index 073335f8ab0ff6b5aa04801c6d30489a51ac9ba5..88c2147c46a54c83273e0ebe386af6f4e3bf39a9 100644
--- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Fixture/CatalogRule.xml
+++ b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Fixture/CatalogRule.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="catalogRule" module="Magento_CatalogRule" type="eav" entity_type="catalog_rule" collection="Magento\CatalogRule\Model\Resource\Rule\Product\Price\Collection" repository_class="Magento\CatalogRule\Test\Repository\CatalogRule" handler_interface="Magento\CatalogRule\Test\Handler\CatalogRule\CatalogRuleInterface" class="Magento\CatalogRule\Test\Fixture\CatalogRule">
     <dataset name="default">
         <field name="name" xsi:type="string">CatalogPriceRule %isolation%</field>
diff --git a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Handler/CatalogRule/Curl.php b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Handler/CatalogRule/Curl.php
index 1c6d9a58f87105e992b2e1572477ef0085f32b6c..43089928c2c50da39f1c589cdb05a31ba4b6dc96 100644
--- a/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Handler/CatalogRule/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Handler/CatalogRule/Curl.php
@@ -9,7 +9,6 @@ namespace Magento\CatalogRule\Test\Handler\CatalogRule;
 use Magento\Backend\Test\Handler\Conditions;
 use Magento\CatalogRule\Test\Handler\CatalogRule;
 use Magento\Mtf\Fixture\FixtureInterface;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Fixture/CatalogSearchQuery.xml b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Fixture/CatalogSearchQuery.xml
index 59b4b4ee904fa40efd1b4a71bc46a437543e8d74..940729a21995ef1db6dd3a718c6c92293ddbe299 100644
--- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Fixture/CatalogSearchQuery.xml
+++ b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Fixture/CatalogSearchQuery.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="catalogSearchQuery" module="Magento_CatalogSearch" type="flat" entity_type="search_query" collection="Magento\Search\Model\Resource\Query\Collection" repository_class="Magento\CatalogSearch\Test\Repository\CatalogSearchQuery" handler_interface="Magento\CatalogSearch\Test\Handler\CatalogSearchQuery\CatalogSearchQueryInterface" class="Magento\CatalogSearch\Test\Fixture\CatalogSearchQuery">
     <field name="query_id" is_required="1">
       <default_value xsi:type="null"/>
diff --git a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Handler/CatalogSearchQuery/Curl.php b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Handler/CatalogSearchQuery/Curl.php
index 049e2e77a7d47967f1cc79cb7339c9ac17d63b0c..3381fe268097374df309f6d511e2b8fa7750747f 100644
--- a/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Handler/CatalogSearchQuery/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/CatalogSearch/Test/Handler/CatalogSearchQuery/Curl.php
@@ -8,7 +8,6 @@ namespace Magento\CatalogSearch\Test\Handler\CatalogSearchQuery;
 
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Handler\Curl as AbstractCurl;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Fixture/Cart.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/Fixture/Cart.xml
index 564e190e5f0f65b62786e16a4164e7e360617577..9c79804bfe3b25fd4bbe857f9f17c46fe9da2e08 100644
--- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Fixture/Cart.xml
+++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/Fixture/Cart.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="cart" module="Magento_Checkout" type="flat" entity_type="quote" repository_class="Magento\Checkout\Test\Repository\Cart" handler_interface="Magento\Checkout\Test\Handler\Cart\CartInterface" class="Magento\Checkout\Test\Fixture\Cart">
     <field name="entity_id" is_required="1">
       <default_value xsi:type="null"/>
diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Fixture/CheckoutAgreement.xml b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Fixture/CheckoutAgreement.xml
index 4a9a438e8460ae93d277273787204e0d78bfd333..d1f5018824ca4b96d33cf487ce339c285c1022f5 100644
--- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Fixture/CheckoutAgreement.xml
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Fixture/CheckoutAgreement.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
     <fixture name="checkoutAgreement" module="Magento_CheckoutAgreements"
              type="flat" entity_type="checkout_agreement" collection="Magento\CheckoutAgreements\Model\Resource\Agreement\Collection"
              repository_class="Magento\CheckoutAgreements\Test\Repository\CheckoutAgreement"
diff --git a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Handler/CheckoutAgreement/Curl.php b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Handler/CheckoutAgreement/Curl.php
index 426831f470e92ed668e07a121bdc21fe1f2f1d07..9c241ef1354cd41eea088125162a1fe2b80df565 100644
--- a/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Handler/CheckoutAgreement/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/CheckoutAgreements/Test/Handler/CheckoutAgreement/Curl.php
@@ -8,7 +8,6 @@ namespace Magento\CheckoutAgreements\Test\Handler\CheckoutAgreement;
 
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Handler\Curl as AbstractCurl;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Fixture/CmsBlock.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/Fixture/CmsBlock.xml
index 36bb9cf39af0421b3a0bc9e6e25115cb312ad55e..5d1a718ff1178b9a4737c8bbcc3df08f9e79accf 100644
--- a/dev/tests/functional/tests/app/Magento/Cms/Test/Fixture/CmsBlock.xml
+++ b/dev/tests/functional/tests/app/Magento/Cms/Test/Fixture/CmsBlock.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
     <fixture name="cmsBlock" module="Magento_Cms" type="flat" entity_type="cms_block" collection="Magento\Cms\Model\Resource\Block\Grid\Collection" identifier="identifier"
              handler_interface="Magento\Cms\Test\Handler\CmsBlock\CmsBlockInterface" class="Magento\Cms\Test\Fixture\CmsBlock">
         <dataset name="default">
diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Fixture/CmsPage.xml b/dev/tests/functional/tests/app/Magento/Cms/Test/Fixture/CmsPage.xml
index 149bef091c83163e09710dbaa2cd7f4bc6930058..071897f0c5b13b72147ac1b674931f71e784f333 100644
--- a/dev/tests/functional/tests/app/Magento/Cms/Test/Fixture/CmsPage.xml
+++ b/dev/tests/functional/tests/app/Magento/Cms/Test/Fixture/CmsPage.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
     <fixture name="cmsPage" module="Magento_Cms" type="flat" entity_type="cms_page" collection="Magento\Cms\Model\Resource\Page\Grid\Collection" identifier="identifier"
              repository_class="Magento\Cms\Test\Repository\CmsPage" handler_interface="Magento\Cms\Test\Handler\CmsPage\CmsPageInterface" class="Magento\Cms\Test\Fixture\CmsPage">
         <dataset name="default">
diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Handler/CmsBlock/Curl.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Handler/CmsBlock/Curl.php
index c3aefd941fc29abf6f5b823497131213d235f6ed..05564ee03f0572909f449a17b07910d1f4d54234 100644
--- a/dev/tests/functional/tests/app/Magento/Cms/Test/Handler/CmsBlock/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/Cms/Test/Handler/CmsBlock/Curl.php
@@ -8,7 +8,6 @@ namespace Magento\Cms\Test\Handler\CmsBlock;
 
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Handler\Curl as AbstractCurl;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
diff --git a/dev/tests/functional/tests/app/Magento/Cms/Test/Handler/CmsPage/Curl.php b/dev/tests/functional/tests/app/Magento/Cms/Test/Handler/CmsPage/Curl.php
index 4187350d28d7aead4044c949f745be6968cf1a17..a91b23ff28b1bba3b0802c4a3881a041e0517008 100644
--- a/dev/tests/functional/tests/app/Magento/Cms/Test/Handler/CmsPage/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/Cms/Test/Handler/CmsPage/Curl.php
@@ -8,7 +8,8 @@ namespace Magento\Cms\Test\Handler\CmsPage;
 
 use Magento\Backend\Test\Handler\Conditions;
 use Magento\Mtf\Fixture\FixtureInterface;
-use Magento\Mtf\Config;
+use Magento\Mtf\Config\DataInterface;
+use Magento\Mtf\System\Event\EventManagerInterface;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
@@ -55,12 +56,13 @@ class Curl extends Conditions implements CmsPageInterface
 
     /**
      * @constructor
-     * @param Config $configuration
+     * @param DataInterface $configuration
+     * @param EventManagerInterface $eventManager
      */
-    public function __construct(Config $configuration)
+    public function __construct(DataInterface $configuration, EventManagerInterface $eventManager)
     {
         $this->mappingData = array_merge($this->mappingData, $this->additionalMappingData);
-        parent::__construct($configuration);
+        parent::__construct($configuration, $eventManager);
     }
 
     /**
diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Fixture/ConfigurableProduct.xml b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Fixture/ConfigurableProduct.xml
index 839a00ef4a8074e7da8e5f7e59398ac5a578a3a7..6eb5ee6976ace67bf42136395b5894d354f7618c 100644
--- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Fixture/ConfigurableProduct.xml
+++ b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Fixture/ConfigurableProduct.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="configurableProduct"
            module="Magento_ConfigurableProduct" 
            type="eav" 
diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Handler/ConfigurableProduct/Curl.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Handler/ConfigurableProduct/Curl.php
index 1bed329a243d055bce4df0c0a5a19b997806a639..7e0813eca10a21cbce34254bfd1eb9e3dafecb20 100644
--- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Handler/ConfigurableProduct/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Handler/ConfigurableProduct/Curl.php
@@ -10,7 +10,8 @@ use Magento\Catalog\Test\Fixture\CatalogProductAttribute;
 use Magento\Catalog\Test\Handler\CatalogProductSimple\Curl as ProductCurl;
 use Magento\ConfigurableProduct\Test\Fixture\ConfigurableProduct\ConfigurableAttributesData;
 use Magento\Mtf\Fixture\FixtureInterface;
-use Magento\Mtf\Config;
+use Magento\Mtf\Config\DataInterface;
+use Magento\Mtf\System\Event\EventManagerInterface;
 
 /**
  * Class Curl
@@ -21,11 +22,12 @@ class Curl extends ProductCurl implements ConfigurableProductInterface
     /**
      * Constructor
      *
-     * @param Config $configuration
+     * @param DataInterface $configuration
+     * @param EventManagerInterface $eventManager
      */
-    public function __construct(Config $configuration)
+    public function __construct(DataInterface $configuration, EventManagerInterface $eventManager)
     {
-        parent::__construct($configuration);
+        parent::__construct($configuration, $eventManager);
 
         $this->mappingData += [
             'is_percent' => [
diff --git a/dev/tests/functional/tests/app/Magento/Core/Test/Fixture/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Core/Test/Fixture/ConfigData.xml
index 8bed37c9f9ba9a008e35327b901217acf596e00a..6b95f1c29ea9eac1be055d42985aeb2434aaecef 100644
--- a/dev/tests/functional/tests/app/Magento/Core/Test/Fixture/ConfigData.xml
+++ b/dev/tests/functional/tests/app/Magento/Core/Test/Fixture/ConfigData.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="configData" 
            module="Magento_Core" 
            type="flat" 
diff --git a/dev/tests/functional/tests/app/Magento/Core/Test/Fixture/SystemVariable.xml b/dev/tests/functional/tests/app/Magento/Core/Test/Fixture/SystemVariable.xml
index 01f5710dc7a3d13d105d0dfbfadf6c06406d55f2..ccb72344e985faaeb96b30a64cf2faa43c8cc27d 100644
--- a/dev/tests/functional/tests/app/Magento/Core/Test/Fixture/SystemVariable.xml
+++ b/dev/tests/functional/tests/app/Magento/Core/Test/Fixture/SystemVariable.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="systemVariable" 
            module="Magento_Core" 
            type="composite" 
diff --git a/dev/tests/functional/tests/app/Magento/Core/Test/Handler/ConfigData/Curl.php b/dev/tests/functional/tests/app/Magento/Core/Test/Handler/ConfigData/Curl.php
index 25be5b6e1ff02b819dc98d9fa7cc7467ce135eae..1a761f03046e6420cdef332767f73301ff55c0e5 100644
--- a/dev/tests/functional/tests/app/Magento/Core/Test/Handler/ConfigData/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/Core/Test/Handler/ConfigData/Curl.php
@@ -8,7 +8,6 @@ namespace Magento\Core\Test\Handler\ConfigData;
 
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Handler\Curl as AbstractCurl;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
@@ -116,7 +115,8 @@ class Curl extends AbstractCurl implements ConfigDataInterface
         $curl->close();
 
         if (strpos($response, 'data-ui-id="messages-message-success"') === false) {
-            throw new \Exception("Settings are not applied! Response: $response");
+            $this->_eventManager->dispatchEvent(['curl_failed'], [$response]);
+            throw new \Exception("Configuration settings are not applied! Url: $url");
         }
     }
 
@@ -128,7 +128,6 @@ class Curl extends AbstractCurl implements ConfigDataInterface
      */
     protected function getUrl($section)
     {
-        return $_ENV['app_backend_url'] .
-        'admin/system_config/save/section/' . $section;
+        return $_ENV['app_backend_url'] . 'admin/system_config/save/section/' . $section;
     }
 }
diff --git a/dev/tests/functional/tests/app/Magento/Core/Test/Handler/SystemVariable/Curl.php b/dev/tests/functional/tests/app/Magento/Core/Test/Handler/SystemVariable/Curl.php
index 6c02a8ae428e78fb67e534d0d4b973f5d52417b9..0ded2518a3b8ff6f98febb4e8f24d851d007a664 100644
--- a/dev/tests/functional/tests/app/Magento/Core/Test/Handler/SystemVariable/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/Core/Test/Handler/SystemVariable/Curl.php
@@ -8,7 +8,6 @@ namespace Magento\Core\Test\Handler\SystemVariable;
 
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Handler\Curl as AbstractCurl;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Fixture/CurrencySymbolEntity.xml b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Fixture/CurrencySymbolEntity.xml
index ad576cb9359802523e8db4a07f0c35d27626bf5f..9b37f90342b5b9e52c0a7b3fa232d85409f6c41f 100644
--- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Fixture/CurrencySymbolEntity.xml
+++ b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Fixture/CurrencySymbolEntity.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="currencySymbolEntity" module="Magento_CurrencySymbol" type="flat" entity_type="core_config_data" repository_class="Magento\CurrencySymbol\Test\Repository\CurrencySymbolEntity" handler_interface="Magento\CurrencySymbol\Test\Handler\CurrencySymbolEntity\CurrencySymbolEntityInterface" class="Magento\CurrencySymbol\Test\Fixture\CurrencySymbolEntity">
     <dataset name="default">
         <field name="inherit_custom_currency_symbol" xsi:type="string">Yes</field>
diff --git a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Handler/CurrencySymbolEntity/Curl.php b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Handler/CurrencySymbolEntity/Curl.php
index d1b311772c5129904075f55be2f2137f21b0a3eb..34a5317bf187b7e1811371b985c8ecd962fa71b6 100644
--- a/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Handler/CurrencySymbolEntity/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Handler/CurrencySymbolEntity/Curl.php
@@ -8,7 +8,6 @@ namespace Magento\CurrencySymbol\Test\Handler\CurrencySymbolEntity;
 
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Handler\Curl as AbstractCurl;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/Address.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/Address.xml
index c092c7e6aa3102711ebab77769dc5a07d48f5c3e..09e93bbf76968ec5a9dc5cdcaec363c71607cb39 100644
--- a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/Address.xml
+++ b/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/Address.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="address" module="Magento_Customer" type="eav" entity_type="customer_address" collection="Magento\Customer\Model\Resource\Address\Collection" repository_class="Magento\Customer\Test\Repository\Address" handler_interface="Magento\Customer\Test\Handler\Address\AddressInterface" class="Magento\Customer\Test\Fixture\Address">
     <dataset name="default">
         <field name="firstname" xsi:type="string">John</field>
diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/Customer.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/Customer.xml
index d5afd5538951e8d4ecddcfaaeb6820c742ce3e04..fe4bdb7814a700b02ed39663d62dc2b11379f814 100644
--- a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/Customer.xml
+++ b/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/Customer.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="customer" module="Magento_Customer" type="eav" entity_type="customer" collection="Magento\Customer\Model\Resource\Customer\Collection" identifier="email" repository_class="Magento\Customer\Test\Repository\Customer" handler_interface="Magento\Customer\Test\Handler\Customer\CustomerInterface" class="Magento\Customer\Test\Fixture\Customer">
     <dataset name="default">
         <field name="firstname" xsi:type="string">John</field>
diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/CustomerGroupInjectable.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/CustomerGroupInjectable.xml
index b470b1c21b5e357d8532cecd566650cff0cb1a51..cec2cec3a74619acaa55ad468a50738441768df7 100644
--- a/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/CustomerGroupInjectable.xml
+++ b/dev/tests/functional/tests/app/Magento/Customer/Test/Fixture/CustomerGroupInjectable.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="customerGroupInjectable" module="Magento_Customer" type="flat" entity_type="customer_group" collection="Magento\Customer\Model\Resource\Group\Collection" repository_class="Magento\Customer\Test\Repository\CustomerGroupInjectable" handler_interface="Magento\Customer\Test\Handler\CustomerGroupInjectable\CustomerGroupInjectableInterface" class="Magento\Customer\Test\Fixture\CustomerGroupInjectable">
     <dataset name="default">
         <field name="customer_group_code" xsi:type="string">customer_code_%isolation%</field>
diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Curl/CreateCustomerBackend.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Curl/CreateCustomerBackend.php
index e9860e68c44a4e346ab2a85c02021ae3c29992b2..cad3c992efa4681f8bf0851d50fa211c22aad7cc 100644
--- a/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Curl/CreateCustomerBackend.php
+++ b/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Curl/CreateCustomerBackend.php
@@ -8,7 +8,6 @@ namespace Magento\Customer\Test\Handler\Curl;
 
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Handler\Curl;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Curl/CreateCustomerGroup.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Curl/CreateCustomerGroup.php
index 22410354e5802ef983d6e3429696c464b086abf4..dadc4e66523bbc76d77a1ba8cbb52bba1fa744ff 100644
--- a/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Curl/CreateCustomerGroup.php
+++ b/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Curl/CreateCustomerGroup.php
@@ -8,7 +8,6 @@ namespace Magento\Customer\Test\Handler\Curl;
 
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Handler\Curl;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Customer/Curl.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Customer/Curl.php
index 1831cdcbd2168ecca66ec836b256511705db838a..67d98b313afe2c576d620daed3c0dfd392d40315 100644
--- a/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Customer/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Customer/Curl.php
@@ -179,6 +179,7 @@ class Curl extends AbstractCurl implements CustomerInterface
         $curl->close();
 
         if (!strpos($response, 'data-ui-id="messages-message-success"')) {
+            $this->_eventManager->dispatchEvent(['curl_failed', [$response]]);
             throw new \Exception('Failed to update customer!');
         }
     }
diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/CustomerGroupInjectable/Curl.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/CustomerGroupInjectable/Curl.php
index 4ca4adb67291be8c6fcaf88c6d694c73419a5a65..f2f7c1b52e6d809286919606322486f1421ee6bc 100644
--- a/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/CustomerGroupInjectable/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/CustomerGroupInjectable/Curl.php
@@ -9,7 +9,6 @@ namespace Magento\Customer\Test\Handler\CustomerGroupInjectable;
 use Magento\Backend\Test\Handler\Extractor;
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Handler\Curl as AbstractCurl;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Webapi/CreateCustomer.php b/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Webapi/CreateCustomer.php
index 0087460d6e6f69ae0212096882fe0d40b5e06852..af06e68b03ef85b14d92d27f4044803de10e059b 100644
--- a/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Webapi/CreateCustomer.php
+++ b/dev/tests/functional/tests/app/Magento/Customer/Test/Handler/Webapi/CreateCustomer.php
@@ -24,7 +24,7 @@ class CreateCustomer extends Webapi
      */
     public function persist(FixtureInterface $fixture = null)
     {
-        $configuration = $this->_configuration->getParameter('handler/webapi');
+        $configuration = $this->_configuration->get('handler/0/webapi/0/value');
 
         $soap = new SoapTransport($configuration['soap']);
         return $soap->call('customerCustomerList', $fixture->getData());
diff --git a/dev/tests/functional/tests/app/Magento/Directory/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Directory/Test/Repository/ConfigData.xml
index 546ccb6cda264b3d7100c471dd0489427a3d87cf..1afdae4142c3ca241c73666e9d8c9e310be9b530 100644
--- a/dev/tests/functional/tests/app/Magento/Directory/Test/Repository/ConfigData.xml
+++ b/dev/tests/functional/tests/app/Magento/Directory/Test/Repository/ConfigData.xml
@@ -9,27 +9,27 @@
     <repository class="Magento\Core\Test\Repository\ConfigData">
         <dataset name="config_currency_symbols_usd_and_uah">
             <field path="currency/options/allow" scope="currency" scope_id="1" xsi:type="array">
-                <item label="US Dollar" xsi:type="string">USD</item>
-                <item label="Ukrainian Hryvnia" xsi:type="string">UAH</item>
+                <item name="US Dollar" xsi:type="string">USD</item>
+                <item name="Ukrainian Hryvnia" xsi:type="string">UAH</item>
             </field>
         </dataset>
 
         <dataset name="config_currency_symbols_usd_and_uah_rollback">
             <field path="currency/options/allow" scope="currency" scope_id="1" xsi:type="array">
-                <item label="US Dollar" xsi:type="string">USD</item>
+                <item name="US Dollar" xsi:type="string">USD</item>
             </field>
         </dataset>
 
         <dataset name="config_currency_symbols_usd_and_chf">
             <field path="currency/options/allow" scope="currency" scope_id="1" xsi:type="array">
-                <item label="US Dollar" xsi:type="string">USD</item>
-                <item label="Swiss Franc" xsi:type="string">CHF</item>
+                <item name="US Dollar" xsi:type="string">USD</item>
+                <item name="Swiss Franc" xsi:type="string">CHF</item>
             </field>
         </dataset>
 
         <dataset name="config_currency_symbols_usd">
             <field path="currency/options/allow" scope="currency" scope_id="1" label="" xsi:type="array">
-                <item label="US Dollar" xsi:type="string">USD</item>
+                <item name="US Dollar" xsi:type="string">USD</item>
             </field>
         </dataset>
     </repository>
diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Fixture/DownloadableProduct.xml b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Fixture/DownloadableProduct.xml
index 572574f962f25db2eff34e2a52855ec760a87e7a..7c7caf2f5c2495c7e0fdf71340026c83ad3e7bb3 100644
--- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Fixture/DownloadableProduct.xml
+++ b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Fixture/DownloadableProduct.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="downloadableProduct" module="Magento_Downloadable" type="eav" entity_type="catalog_product" product_type="downloadable" collection="Magento\Catalog\Model\Resource\Product\Collection" identifier="sku" repository_class="Magento\Downloadable\Test\Repository\DownloadableProduct" handler_interface="Magento\Downloadable\Test\Handler\DownloadableProduct\DownloadableProductInterface" class="Magento\Downloadable\Test\Fixture\DownloadableProduct">
     <dataset name="default">
         <field name="name" xsi:type="string">DownloadableProduct_%isolation%</field>
diff --git a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Handler/DownloadableProduct/Curl.php b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Handler/DownloadableProduct/Curl.php
index 9812c5b6aca7e4266eebc0c6e8a99c5ac2c64155..7d05456656c3ccb3c46190a06b19c26c6cd02950 100644
--- a/dev/tests/functional/tests/app/Magento/Downloadable/Test/Handler/DownloadableProduct/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/Downloadable/Test/Handler/DownloadableProduct/Curl.php
@@ -8,7 +8,8 @@ namespace Magento\Downloadable\Test\Handler\DownloadableProduct;
 
 use Magento\Catalog\Test\Handler\CatalogProductSimple\Curl as ProductCurl;
 use Magento\Mtf\Fixture\FixtureInterface;
-use Magento\Mtf\Config;
+use Magento\Mtf\Config\DataInterface;
+use Magento\Mtf\System\Event\EventManagerInterface;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
@@ -22,11 +23,12 @@ class Curl extends ProductCurl implements DownloadableProductInterface
     /**
      * Constructor
      *
-     * @param Config $configuration
+     * @param DataInterface $configuration
+     * @param EventManagerInterface $eventManager
      */
-    public function __construct(Config $configuration)
+    public function __construct(DataInterface $configuration, EventManagerInterface $eventManager)
     {
-        parent::__construct($configuration);
+        parent::__construct($configuration, $eventManager);
 
         $this->mappingData += [
             'links_purchased_separately' => [
diff --git a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Fixture/GiftMessage.xml b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Fixture/GiftMessage.xml
index be06e0300b46846747b71fd0a6b99c1d621277a3..d11995d1e7dc6baef8dc65be2371f688ec1c73dc 100644
--- a/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Fixture/GiftMessage.xml
+++ b/dev/tests/functional/tests/app/Magento/GiftMessage/Test/Fixture/GiftMessage.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="giftMessage" module="Magento_GiftMessage" type="flat" entity_type="gift_message" collection="Magento\GiftMessage\Model\Resource\Message\Collection" identifier="gift_message_id" repository_class="Magento\GiftMessage\Test\Repository\GiftMessage" class="Magento\GiftMessage\Test\Fixture\GiftMessage">
     <dataset name="default">
         <field name="allow_gift_options" xsi:type="string">Yes</field>
diff --git a/dev/tests/functional/tests/app/Magento/GoogleShopping/Test/Fixture/GoogleShoppingAttribute.xml b/dev/tests/functional/tests/app/Magento/GoogleShopping/Test/Fixture/GoogleShoppingAttribute.xml
index 61944b24eed8fafc0154028a32cd80db5d596d75..b33b9b5cc9eb62b3c8ae87cebeb824634d22db03 100644
--- a/dev/tests/functional/tests/app/Magento/GoogleShopping/Test/Fixture/GoogleShoppingAttribute.xml
+++ b/dev/tests/functional/tests/app/Magento/GoogleShopping/Test/Fixture/GoogleShoppingAttribute.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="googleShoppingAttribute" module="Magento_GoogleShopping" type="flat" entity_type="googleshopping_types" collection="Magento\GoogleShopping\Model\Resource\Attribute\Collection" repository_class="Magento\GoogleShopping\Test\Repository\GoogleShoppingAttribute" handler_interface="Magento\GoogleShopping\Test\Handler\GoogleShoppingAttribute\GoogleShoppingAttributeInterface" class="Magento\GoogleShopping\Test\Fixture\GoogleShoppingAttribute">
     <dataset name="default">
         <field name="target_country" xsi:type="string">United States</field>
diff --git a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Fixture/GroupedProduct.xml b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Fixture/GroupedProduct.xml
index 22c825f3680670eb388bd767c7f79efbdf545bcf..5fc47bd6a0c653287b86c7ccc4ecd29838839f8d 100644
--- a/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Fixture/GroupedProduct.xml
+++ b/dev/tests/functional/tests/app/Magento/GroupedProduct/Test/Fixture/GroupedProduct.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="groupedProduct" module="Magento_GroupedProduct" type="eav" entity_type="catalog_product" product_type="grouped" collection="Magento\Catalog\Model\Resource\Product\Collection" identifier="sku" repository_class="Magento\GroupedProduct\Test\Repository\GroupedProduct" handler_interface="Magento\GroupedProduct\Test\Handler\GroupedProduct\GroupedProductInterface" class="Magento\GroupedProduct\Test\Fixture\GroupedProduct">
     <dataset name="default">
         <field name="name" xsi:type="string">GroupedProduct_%isolation%</field>
diff --git a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Fixture/ImportExport.xml b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Fixture/ImportExport.xml
index 08b3dd3c556210d2efd6bc3a25a85e048a209413..01f5463b5f052fac98c49d795f3ac38e4979139f 100644
--- a/dev/tests/functional/tests/app/Magento/ImportExport/Test/Fixture/ImportExport.xml
+++ b/dev/tests/functional/tests/app/Magento/ImportExport/Test/Fixture/ImportExport.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="importExport" module="Magento_ImportExport" type="flat" entity_type="importexport_importdata" class="Magento\ImportExport\Test\Fixture\ImportExport">
     <dataset name="default">
         <field name="entity" xsi:type="string">Products</field>
diff --git a/dev/tests/functional/tests/app/Magento/Install/Test/Constraint/AssertSuccessInstall.php b/dev/tests/functional/tests/app/Magento/Install/Test/Constraint/AssertSuccessInstall.php
index 7bf6181d89616a2c86b5b08b108f19e4c6086aa6..2f7039d86953e8694ebe824973be8225edac004c 100644
--- a/dev/tests/functional/tests/app/Magento/Install/Test/Constraint/AssertSuccessInstall.php
+++ b/dev/tests/functional/tests/app/Magento/Install/Test/Constraint/AssertSuccessInstall.php
@@ -52,6 +52,11 @@ class AssertSuccessInstall extends AbstractConstraint
         $dbData = $installPage->getInstallBlock()->getDbInfo();
 
         $allData = array_merge($user->getData(), $installConfig->getData());
+
+        foreach ($installConfig->getData() as $key => $value) {
+            $allData[$key] = isset($value['value']) ? $value['value'] : $value;
+        }
+
         $allData['admin'] = $allData['web'] . $allData['admin'] . '/';
 
         foreach ($this->adminFieldsList as $field) {
diff --git a/dev/tests/functional/tests/app/Magento/Install/Test/Fixture/Install.xml b/dev/tests/functional/tests/app/Magento/Install/Test/Fixture/Install.xml
index f2d6025c12beb22e083405f5592bf2a209e53985..d846de8f0bd45b0ed71068f8146e171994d682f6 100644
--- a/dev/tests/functional/tests/app/Magento/Install/Test/Fixture/Install.xml
+++ b/dev/tests/functional/tests/app/Magento/Install/Test/Fixture/Install.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="install" module="Magento_Install" type="virtual" entity_type="install" repository_class="Magento\Install\Test\Repository\Install" handler_interface="Magento\Install\Test\Handler\Install\InstallInterface" class="Magento\Install\Test\Fixture\Install">
     <field name="dbHost"/>
     <field name="dbUser"/>
diff --git a/dev/tests/functional/tests/app/Magento/Install/Test/TestCase/InstallTest.php b/dev/tests/functional/tests/app/Magento/Install/Test/TestCase/InstallTest.php
index 96e18ffc8452ce74121d887ac3290f17842f1277..74ec107e09a60690f1292e847fbc0a5c289f41b0 100644
--- a/dev/tests/functional/tests/app/Magento/Install/Test/TestCase/InstallTest.php
+++ b/dev/tests/functional/tests/app/Magento/Install/Test/TestCase/InstallTest.php
@@ -10,10 +10,9 @@ use Magento\Cms\Test\Page\CmsIndex;
 use Magento\Install\Test\Page\Install;
 use Magento\Install\Test\Fixture\Install as InstallConfig;
 use Magento\User\Test\Fixture\User;
-use Magento\Mtf\Config;
 use Magento\Mtf\Fixture\FixtureFactory;
 use Magento\Mtf\TestCase\Injectable;
-use Magento\Mtf\Config\GlobalConfig;
+use Magento\Mtf\Config\DataInterface;
 use Magento\Install\Test\Constraint\AssertAgreementTextPresent;
 use Magento\Install\Test\Constraint\AssertSuccessfulReadinessCheck;
 use Magento\Mtf\ObjectManagerFactory;
@@ -68,14 +67,14 @@ class InstallTest extends Injectable
      */
     public function __prepare()
     {
-        $config = ObjectManagerFactory::getObjectManager()->get('Magento\Mtf\Config\GlobalConfig');
+        $config = ObjectManagerFactory::getObjectManager()->get('Magento\Mtf\Config\DataInterface');
         // Prepare config data
-        $configData['dbHost'] = $config->get('install/host');
-        $configData['dbUser'] = $config->get('install/user');
-        $configData['dbPassword'] = $config->get('install/password');
-        $configData['dbName'] = $config->get('install/dbName');
-        $configData['web'] = $config->get('install/baseUrl');
-        $configData['admin'] = $config->get('install/backendName');
+        $configData['dbHost'] = $config->get('install/0/host/0');
+        $configData['dbUser'] = $config->get('install/0/user/0');
+        $configData['dbPassword'] = $config->get('install/0/password/0');
+        $configData['dbName'] = $config->get('install/0/dbName/0');
+        $configData['web'] = $config->get('install/0/baseUrl/0');
+        $configData['admin'] = $config->get('install/0/backendName/0');
 
         return ['configData' => $configData];
     }
diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Fixture/Integration.xml b/dev/tests/functional/tests/app/Magento/Integration/Test/Fixture/Integration.xml
index 3e58557ff604b5282f1e552fd95d3f0ad6bf65de..30c8310ea5534bdabf634e3e4e005c1ac71a87ca 100644
--- a/dev/tests/functional/tests/app/Magento/Integration/Test/Fixture/Integration.xml
+++ b/dev/tests/functional/tests/app/Magento/Integration/Test/Fixture/Integration.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="integration" module="Magento_Integration" type="composite" entity_type="integration" collection="Magento\Integration\Model\Resource\Integration\Collection" repository_class="Magento\Integration\Test\Repository\Integration" handler_interface="Magento\Integration\Test\Handler\Integration\IntegrationInterface" class="Magento\Integration\Test\Fixture\Integration">
     <dataset name="default">
         <field name="name" xsi:type="string">default_integration_%isolation%</field>
diff --git a/dev/tests/functional/tests/app/Magento/Integration/Test/Handler/Integration/Curl.php b/dev/tests/functional/tests/app/Magento/Integration/Test/Handler/Integration/Curl.php
index d8047148bec4461e4396776c0cb3a1b2d5621957..900572434e6de4e5719fabe54f620e87053ce375 100644
--- a/dev/tests/functional/tests/app/Magento/Integration/Test/Handler/Integration/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/Integration/Test/Handler/Integration/Curl.php
@@ -8,7 +8,6 @@ namespace Magento\Integration\Test\Handler\Integration;
 
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Handler\Curl as AbstractCurl;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Template.xml b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Template.xml
index 9d216c522278f6d9ac793770a231c61ed446e108..6311e64c6602a507e3da61125c06670429df3af5 100644
--- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Template.xml
+++ b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Template.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="template" module="Magento_Newsletter" type="flat" entity_type="newsletter_template" collection="Magento\Newsletter\Model\Resource\Template\Collection" identifier="template_id" repository_class="Magento\Newsletter\Test\Repository\Template" handler_interface="Magento\Newsletter\Test\Handler\Template\TemplateInterface" class="Magento\Newsletter\Test\Fixture\Template">
     <dataset name="default">
         <field name="code" xsi:type="string">TemplateName%isolation%</field>
diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Handler/Template/Curl.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Handler/Template/Curl.php
index 7578ea44254810996850a51e69d5b37d0377670b..8d94f60cda0c41ae9a9c18434edb8780d9165db6 100644
--- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Handler/Template/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Handler/Template/Curl.php
@@ -8,7 +8,6 @@ namespace Magento\Newsletter\Test\Handler\Template;
 
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Handler\Curl as AbstractCurl;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
diff --git a/dev/tests/functional/tests/app/Magento/OfflinePayments/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/OfflinePayments/Test/Repository/ConfigData.xml
index 0e2819446d17c536bc36b2f20dc6444b5f102429..a6eb9d9e85ee49354c799e5b7d254786b5198c5c 100644
--- a/dev/tests/functional/tests/app/Magento/OfflinePayments/Test/Repository/ConfigData.xml
+++ b/dev/tests/functional/tests/app/Magento/OfflinePayments/Test/Repository/ConfigData.xml
@@ -19,7 +19,7 @@
             <field path="payment/cashondelivery/active" scope="payment" scope_id="1" label="Yes" xsi:type="string">1</field>
             <field path="payment/cashondelivery/allowspecific" scope="payment" scope_id="1" label="Specific Countries" xsi:type="string">1</field>
             <field path="payment/cashondelivery/specificcountry" scope="payment" scope_id="1" xsi:type="array">
-                <item label="United Kingdom" xsi:type="string">GB</item>
+                <item name="United Kingdom" xsi:type="string">GB</item>
             </field>
         </dataset>
 
@@ -40,7 +40,7 @@
             <field path="payment/checkmo/active" scope="payment" scope_id="1" label="Yes" xsi:type="string">1</field>
             <field path="payment/checkmo/allowspecific" scope="payment" scope_id="1" label="Specific Countries" xsi:type="string">1</field>
             <field path="payment/checkmo/specificcountry" scope="payment" scope_id="1" xsi:type="array">
-                <item label="United Kingdom" xsi:type="string">GB</item>
+                <item name="United Kingdom" xsi:type="string">GB</item>
             </field>
         </dataset>
 
@@ -61,7 +61,7 @@
             <field path="payment/banktransfer/active" scope="payment" scope_id="1" label="Yes" xsi:type="string">1</field>
             <field path="payment/banktransfer/allowspecific" scope="payment" scope_id="1" label="Specific Countries" xsi:type="string">1</field>
             <field path="payment/banktransfer/specificcountry" scope="payment" scope_id="1" xsi:type="array">
-                <item label="United Kingdom" xsi:type="string">GB</item>
+                <item name="United Kingdom" xsi:type="string">GB</item>
             </field>
         </dataset>
 
@@ -82,7 +82,7 @@
             <field path="payment/purchaseorder/active" scope="payment" scope_id="1" label="Yes" xsi:type="string">1</field>
             <field path="payment/purchaseorder/allowspecific" scope="payment" scope_id="1" label="Specific Countries" xsi:type="string">1</field>
             <field path="payment/purchaseorder/specificcountry" scope="payment" scope_id="1" xsi:type="array">
-                <item label="United Kingdom" xsi:type="string">GB</item>
+                <item name="United Kingdom" xsi:type="string">GB</item>
             </field>
         </dataset>
 
diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Rating.xml b/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Rating.xml
index 99e16141dcdfc1ce45c3b9c890d6aac75a1e05ab..d551947d8c420dd84ac3396c240ec9bf0d140a76 100755
--- a/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Rating.xml
+++ b/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Rating.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="rating" module="Magento_Review" type="flat" entity_type="rating" collection="Magento\Review\Model\Resource\Rating\Collection" identifier="rating_code" repository_class="Magento\Review\Test\Repository\Rating" handler_interface="Magento\Review\Test\Handler\Rating\RatingInterface" class="Magento\Review\Test\Fixture\Rating">
     <dataset name="default">
         <field name="rating_code" xsi:type="string">Rating %isolation%</field>
diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Review.xml b/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Review.xml
index 50ede32fea8d7b74f06a6395941376ef155ef70f..a118552b4f5c6c97ee8523795f77d6e8b4d79d5b 100755
--- a/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Review.xml
+++ b/dev/tests/functional/tests/app/Magento/Review/Test/Fixture/Review.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="review" module="Magento_Review" type="composite" collection="Magento\Review\Model\Resource\Review\Collection" repository_class="Magento\Review\Test\Repository\Review" handler_interface="Magento\Review\Test\Handler\Review\ReviewInterface" class="Magento\Review\Test\Fixture\Review">
     <dataset name="default">
         <field name="status_id" xsi:type="string">Approved</field>
diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Handler/Rating/Curl.php b/dev/tests/functional/tests/app/Magento/Review/Test/Handler/Rating/Curl.php
index 58206282eb611641755d1f42f2e8c4667a1e4a97..ea7b1d6bad431f6814c07c6c5d97c553071dfe71 100755
--- a/dev/tests/functional/tests/app/Magento/Review/Test/Handler/Rating/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/Review/Test/Handler/Rating/Curl.php
@@ -9,7 +9,6 @@ namespace Magento\Review\Test\Handler\Rating;
 use Magento\Backend\Test\Handler\Extractor;
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Handler\Curl as AbstractCurl;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
diff --git a/dev/tests/functional/tests/app/Magento/Review/Test/Handler/Review/Curl.php b/dev/tests/functional/tests/app/Magento/Review/Test/Handler/Review/Curl.php
index df3c3004b7c979c7a2f84efc3588c373ad89038d..986d1f4883123d27e8f743e5473346c9948f9399 100644
--- a/dev/tests/functional/tests/app/Magento/Review/Test/Handler/Review/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/Review/Test/Handler/Review/Curl.php
@@ -6,7 +6,6 @@
 
 namespace Magento\Review\Test\Handler\Review;
 
-use Magento\Mtf\Config;
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Fixture/Sitemap.xml b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Fixture/Sitemap.xml
index dc51c43e5dd1f27e7789fbe1da1972a324120885..6927691a7aa8e27bc0be0ff11dd70d694724a917 100644
--- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Fixture/Sitemap.xml
+++ b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Fixture/Sitemap.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="sitemap" module="Magento_Sitemap" type="flat" entity_type="sitemap" collection="Magento\Sitemap\Model\Resource\Sitemap\Collection" repository_class="Magento\Sitemap\Test\Repository\Sitemap" handler_interface="Magento\Sitemap\Test\Handler\Sitemap\SitemapInterface" class="Magento\Sitemap\Test\Fixture\Sitemap">
     <dataset name="default">
         <field name="sitemap_filename" xsi:type="string">sitemap.xml</field>
diff --git a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Handler/Sitemap/Curl.php b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Handler/Sitemap/Curl.php
index c8b09124666bd8ab70c40b40bdf1f93affca8550..e78e858ded474e8669a7dc19f81afd22fe245ee8 100644
--- a/dev/tests/functional/tests/app/Magento/Sitemap/Test/Handler/Sitemap/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/Sitemap/Test/Handler/Sitemap/Curl.php
@@ -10,7 +10,6 @@ use Magento\Backend\Test\Handler\Extractor;
 use Magento\Sitemap\Test\Handler\Sitemap;
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Handler\Curl as AbstractCurl;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Store.xml b/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Store.xml
index b9be593561d7c588beb8de9f6aff896b262a5270..3a95b594d8400494d3809ae19d53599b063821f8 100644
--- a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Store.xml
+++ b/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Store.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="store" module="Magento_Store" type="flat" entity_type="store" collection="Magento\Store\Model\Resource\Store\Collection" repository_class="Magento\Store\Test\Repository\Store" handler_interface="Magento\Store\Test\Handler\Store\StoreInterface" class="Magento\Store\Test\Fixture\Store">
     <dataset name="default">
         <field name="group_id" xsi:type="array">
diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/StoreGroup.xml b/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/StoreGroup.xml
index fcd43ace417f90fc83a88a6d89d96a3eb24db03f..7b6a5ad692b1add59ad8803aa85e8832e8b6db9a 100644
--- a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/StoreGroup.xml
+++ b/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/StoreGroup.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="storeGroup" module="Magento_Store" type="flat" entity_type="store_group" collection="Magento\Store\Model\Resource\Group\Collection" identifier="" repository_class="Magento\Store\Test\Repository\StoreGroup" handler_interface="Magento\Store\Test\Handler\StoreGroup\StoreGroupInterface" class="Magento\Store\Test\Fixture\StoreGroup">
     <dataset name="default">
         <field name="website_id" xsi:type="array">
diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Website.xml b/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Website.xml
index 261b506e96a6127b5de859597b3ca13bd6d717ef..0878f90e302a1d1594eac5f1d8af895f8fd4e418 100644
--- a/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Website.xml
+++ b/dev/tests/functional/tests/app/Magento/Store/Test/Fixture/Website.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="website" module="Magento_Store" type="flat" entity_type="store_website" collection="Magento\Store\Model\Resource\Website\Collection" identifier="code" repository_class="Magento\Store\Test\Repository\Website" handler_interface="Magento\Store\Test\Handler\Website\WebsiteInterface" class="Magento\Store\Test\Fixture\Website">
     <dataset name="default">
         <field name="name" xsi:type="string">Main Website</field>
diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Handler/Store/Curl.php b/dev/tests/functional/tests/app/Magento/Store/Test/Handler/Store/Curl.php
index aaa0e84ce103a1a2813086a88aca122f793eddb1..d6293b08cd50a9f0773b6bf4b9c8680033b36553 100644
--- a/dev/tests/functional/tests/app/Magento/Store/Test/Handler/Store/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/Store/Test/Handler/Store/Curl.php
@@ -8,7 +8,6 @@ namespace Magento\Store\Test\Handler\Store;
 
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Handler\Curl as AbstractCurl;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Handler/StoreGroup/Curl.php b/dev/tests/functional/tests/app/Magento/Store/Test/Handler/StoreGroup/Curl.php
index 9922064088af8416f8e7d3adde471a174448a789..71faf510eed5e5886c59a8a19398f28cad987ed5 100644
--- a/dev/tests/functional/tests/app/Magento/Store/Test/Handler/StoreGroup/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/Store/Test/Handler/StoreGroup/Curl.php
@@ -8,7 +8,6 @@ namespace Magento\Store\Test\Handler\StoreGroup;
 
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Handler\Curl as AbstractCurl;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
diff --git a/dev/tests/functional/tests/app/Magento/Store/Test/Handler/Website/Curl.php b/dev/tests/functional/tests/app/Magento/Store/Test/Handler/Website/Curl.php
index 4de491270189098448ffb31ad31bfb2a87a4485b..bbd183601e4ef3697021b64745bad2b0bdadb64f 100644
--- a/dev/tests/functional/tests/app/Magento/Store/Test/Handler/Website/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/Store/Test/Handler/Website/Curl.php
@@ -8,7 +8,6 @@ namespace Magento\Store\Test\Handler\Website;
 
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Handler\Curl as AbstractCurl;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxClass.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxClass.xml
index 13e6c00c52879193a38fb344bba0ccf716eab9b1..30710bb5b2f81fc5e2f5f53025b9f6d5dc225476 100644
--- a/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxClass.xml
+++ b/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxClass.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="taxClass" module="Magento_Tax" type="flat" entity_type="tax_class" collection="Magento\Tax\Model\Resource\TaxClass\Collection" identifier="" repository_class="Magento\Tax\Test\Repository\TaxClass" handler_interface="Magento\Tax\Test\Handler\TaxClass\TaxClassInterface" class="Magento\Tax\Test\Fixture\TaxClass">
     <dataset name="default">
         <field name="class_name" xsi:type="string">Tax Class %isolation%</field>
diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRate.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRate.xml
index a344ad905106d0f0b6b363d9fc83fabb103d0779..b9a4a30142690008bd8b142c8e8a74692b19307a 100644
--- a/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRate.xml
+++ b/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRate.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="taxRate" module="Magento_Tax" type="flat" entity_type="tax_calculation_rate" collection="Magento\Tax\Model\Resource\Calculation\Rate\Collection" identifier="code" repository_class="Magento\Tax\Test\Repository\TaxRate" handler_interface="Magento\Tax\Test\Handler\TaxRate\TaxRateInterface" class="Magento\Tax\Test\Fixture\TaxRate">
     <dataset name="default">
         <field name="code" xsi:type="string">Tax Rate %isolation%</field>
diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRule.xml b/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRule.xml
index 82d0dc07793aeef0b07f4e2186b8bdb19830b146..b53f3f1eba5d9b4c3f29653c282cf1b7af82820a 100644
--- a/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRule.xml
+++ b/dev/tests/functional/tests/app/Magento/Tax/Test/Fixture/TaxRule.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="taxRule" module="Magento_Tax" type="flat" entity_type="tax_calculation_rule" collection="Magento\Tax\Model\Resource\Calculation\Rule\Collection" identifier="code" repository_class="Magento\Tax\Test\Repository\TaxRule" handler_interface="Magento\Tax\Test\Handler\TaxRule\TaxRuleInterface" class="Magento\Tax\Test\Fixture\TaxRule">
     <dataset name="default">
         <field name="code" xsi:type="string">TaxIdentifier%isolation%</field>
diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxClass/Curl.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxClass/Curl.php
index 28e77379db72e1010f28e6bf0212e34ac8a2feea..b6d6072bcb5a13ebcaba872d5465f00ed29681e8 100644
--- a/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxClass/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxClass/Curl.php
@@ -8,7 +8,6 @@ namespace Magento\Tax\Test\Handler\TaxClass;
 
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Handler\Curl as AbstractCurl;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxRate/Curl.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxRate/Curl.php
index 6cc269c5525d86bd6d4d7b854a4a3231d4dd8fbf..e1b370a6e44f8463404f512142f91449412b9903 100644
--- a/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxRate/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxRate/Curl.php
@@ -8,7 +8,6 @@ namespace Magento\Tax\Test\Handler\TaxRate;
 
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Handler\Curl as AbstractCurl;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
diff --git a/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxRule/Curl.php b/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxRule/Curl.php
index 2d47e8b3bdb62090385ef7b15d2bbff156bbc80f..872f49ae0387a92bd9bd19ad7a6b0ccbdfe6ee0b 100644
--- a/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxRule/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/Tax/Test/Handler/TaxRule/Curl.php
@@ -8,7 +8,6 @@ namespace Magento\Tax\Test\Handler\TaxRule;
 
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Handler\Curl as AbstractCurl;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
diff --git a/dev/tests/functional/tests/app/Magento/Ups/Test/Repository/ConfigData.xml b/dev/tests/functional/tests/app/Magento/Ups/Test/Repository/ConfigData.xml
index a6d197824433ed7cae1e7ede9e230d4b6defe362..6c8afa0db50de401e34b56f1bd04c938e74a9016 100644
--- a/dev/tests/functional/tests/app/Magento/Ups/Test/Repository/ConfigData.xml
+++ b/dev/tests/functional/tests/app/Magento/Ups/Test/Repository/ConfigData.xml
@@ -29,17 +29,17 @@
             <field path="carriers/ups/tracking_xml_url" scope="carriers" scope_id="1" label="" xsi:type="string">https://wwwcie.ups.com/ups.app/xml/Track</field>
             <field path="carriers/ups/unit_of_measure" scope="carriers" scope_id="1" label="LBS" xsi:type="string">LBS</field>
             <field path="carriers/ups/allowed_methods" scope="carriers" scope_id="1" xsi:type="array">
-                <item label="UPS Standard" xsi:type="string">11</item>
-                <item label="UPS Three-Day Select" xsi:type="string">12</item>
-                <item label="UPS Next Day Air Early A.M." xsi:type="string">14</item>
-                <item label="UPS Worldwide Express Plus" xsi:type="string">54</item>
-                <item label="UPS Second Day Air A.M." xsi:type="string">59</item>
-                <item label="UPS Worldwide Saver" xsi:type="string">65</item>
-                <item label="UPS Next Day Air" xsi:type="string">01</item>
-                <item label="UPS Second Day Air" xsi:type="string">02</item>
-                <item label="UPS Ground" xsi:type="string">03</item>
-                <item label="UPS Worldwide Express" xsi:type="string">07</item>
-                <item label="UPS Worldwide Expedited" xsi:type="string">08</item>
+                <item name="UPS Standard" xsi:type="string">11</item>
+                <item name="UPS Three-Day Select" xsi:type="string">12</item>
+                <item name="UPS Next Day Air Early A.M." xsi:type="string">14</item>
+                <item name="UPS Worldwide Express Plus" xsi:type="string">54</item>
+                <item name="UPS Second Day Air A.M." xsi:type="string">59</item>
+                <item name="UPS Worldwide Saver" xsi:type="string">65</item>
+                <item name="UPS Next Day Air" xsi:type="string">01</item>
+                <item name="UPS Second Day Air" xsi:type="string">02</item>
+                <item name="UPS Ground" xsi:type="string">03</item>
+                <item name="UPS Worldwide Express" xsi:type="string">07</item>
+                <item name="UPS Worldwide Expedited" xsi:type="string">08</item>
             </field>
             <field path="carriers/ups/sallowspecific" scope="carriers" scope_id="1" label="All Allowed Countries" xsi:type="string">0</field>
             <field path="carriers/ups/showmethod" scope="carriers" scope_id="1" label="No" xsi:type="string">0</field>
diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Fixture/UrlRewrite.xml b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Fixture/UrlRewrite.xml
index a73037a6417cea31f404c94f66c3f1fd72b0a6af..f0fda4e5442de3338d518ecad3cc758bfa82f5db 100644
--- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Fixture/UrlRewrite.xml
+++ b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Fixture/UrlRewrite.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="urlRewrite" module="Magento_UrlRewrite" type="virtual" entity_type="url_rewrite" collection="Magento\UrlRewrite\Model\Resource\UrlRewriteCollection" identifier="request_path" repository_class="Magento\UrlRewrite\Test\Repository\UrlRewrite" handler_interface="Magento\UrlRewrite\Test\Handler\UrlRewrite\UrlRewriteInterface" class="Magento\UrlRewrite\Test\Fixture\UrlRewrite">
     <dataset name="default">
         <field name="store_id" xsi:type="string">Main Website/Main Website Store/Default Store View</field>
diff --git a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Handler/UrlRewrite/Curl.php b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Handler/UrlRewrite/Curl.php
index ccc680aab72bdac4600300aaf370b56e22e1bc66..ab9aaa6a50f976b8b03880fb2a6c9bb6d25c4db1 100644
--- a/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Handler/UrlRewrite/Curl.php
+++ b/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Handler/UrlRewrite/Curl.php
@@ -8,7 +8,6 @@ namespace Magento\UrlRewrite\Test\Handler\UrlRewrite;
 
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Handler\Curl as AbstractCurl;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Fixture/Role.xml b/dev/tests/functional/tests/app/Magento/User/Test/Fixture/Role.xml
index 671556ced60023e557fce39be0f51dd6fef2d5d9..39ac5778e0cc30e30d6d8edeca2824949954327d 100644
--- a/dev/tests/functional/tests/app/Magento/User/Test/Fixture/Role.xml
+++ b/dev/tests/functional/tests/app/Magento/User/Test/Fixture/Role.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
     <fixture name="role" module="Magento_User" type="flat" entity_type="authorization_role" collection="Magento\User\Model\Resource\Role\User\Collection" repository_class="Magento\User\Test\Repository\Role" handler_interface="Magento\User\Test\Handler\Role\RoleInterface" class="Magento\User\Test\Fixture\Role">
         <dataset name="default">
             <field name="rolename" xsi:type="string">AdminRole%isolation%</field>
diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Fixture/User.xml b/dev/tests/functional/tests/app/Magento/User/Test/Fixture/User.xml
index 1044838fb45f6ee3a9bb9f0467e8425451130790..80c969cf4bbfe3c393e25e8abae8066e552ec028 100644
--- a/dev/tests/functional/tests/app/Magento/User/Test/Fixture/User.xml
+++ b/dev/tests/functional/tests/app/Magento/User/Test/Fixture/User.xml
@@ -5,7 +5,7 @@
  * See COPYING.txt for license details.
  */
  -->
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/fixture.xsd">
   <fixture name="user" module="Magento_User" type="flat" entity_type="admin_user" collection="Magento\User\Model\Resource\User\Collection" repository_class="Magento\User\Test\Repository\User" handler_interface="Magento\User\Test\Handler\User\UserInterface" class="Magento\User\Test\Fixture\User">
     <dataset name="default">
         <field name="username" xsi:type="string">AdminUser%isolation%</field>
diff --git a/dev/tests/functional/tests/app/Magento/User/Test/Fixture/User/CurrentPassword.php b/dev/tests/functional/tests/app/Magento/User/Test/Fixture/User/CurrentPassword.php
index 31ab14a90355b4a9ed4f4cf01dcc246adc61c417..7c7e8bc1d8a073e2c3c848ab0390e2e97232af14 100644
--- a/dev/tests/functional/tests/app/Magento/User/Test/Fixture/User/CurrentPassword.php
+++ b/dev/tests/functional/tests/app/Magento/User/Test/Fixture/User/CurrentPassword.php
@@ -36,10 +36,10 @@ class CurrentPassword implements FixtureInterface
     public function __construct(array $params, $data = '')
     {
         $this->params = $params;
-        /** @var \Magento\Mtf\Config $systemConfig */
+        /** @var \Magento\Mtf\Config\DataInterface $systemConfig */
         if ($data == '%current_password%') {
-            $systemConfig = ObjectManager::getInstance()->create('Magento\Mtf\Config');
-            $data = $systemConfig->getParameter('application/backendPassword');
+            $systemConfig = ObjectManager::getInstance()->create('Magento\Mtf\Config\DataInterface');
+            $data = $systemConfig->get('application/0/backendPassword/0/value');
         }
         $this->data = $data;
     }
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 857ae696219497fb2ac8c399047066dfae8e7a40..9fa901fa7027177a1a174971b08b21a6eb416bec 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
@@ -9,7 +9,8 @@ namespace Magento\User\Test\Handler\Role;
 use Magento\Backend\Test\Handler\Extractor;
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Handler\Curl as AbstractCurl;
-use Magento\Mtf\Config;
+use Magento\Mtf\Config\DataInterface;
+use Magento\Mtf\System\Event\EventManagerInterface;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
@@ -28,15 +29,16 @@ class Curl extends AbstractCurl implements RoleInterface
 
     /**
      * @constructor
-     * @param Config $configuration
+     * @param DataInterface $configuration
+     * @param EventManagerInterface $eventManager
      */
-    public function __construct(Config $configuration)
+    public function __construct(DataInterface $configuration, EventManagerInterface $eventManager)
     {
         $this->mappingData = array_merge(
             (null !== $this->mappingData) ? $this->mappingData : [],
             $this->additionalMappingData
         );
-        parent::__construct($configuration);
+        parent::__construct($configuration, $eventManager);
     }
 
     /**
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 1026e872f89221e111761229063be05f2bf2e24e..a1b5ea977ca197f908052e708db8a0619e796f2f 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
@@ -9,7 +9,6 @@ namespace Magento\User\Test\Handler\User;
 use Magento\Backend\Test\Handler\Extractor;
 use Magento\Mtf\Fixture\FixtureInterface;
 use Magento\Mtf\Handler\Curl as AbstractCurl;
-use Magento\Mtf\Config;
 use Magento\Mtf\Util\Protocol\CurlInterface;
 use Magento\Mtf\Util\Protocol\CurlTransport;
 use Magento\Mtf\Util\Protocol\CurlTransport\BackendDecorator;
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/Multishipping/Controller/CheckoutTest.php b/dev/tests/integration/testsuite/Magento/Multishipping/Controller/CheckoutTest.php
index c70148b0ffcdf0a06f2076da845c4d17349ac51f..30d0ee18b96e64b214d3819cd7e58fb6f3dbb940 100644
--- a/dev/tests/integration/testsuite/Magento/Multishipping/Controller/CheckoutTest.php
+++ b/dev/tests/integration/testsuite/Magento/Multishipping/Controller/CheckoutTest.php
@@ -5,51 +5,67 @@
  */
 namespace Magento\Multishipping\Controller;
 
-use Magento\TestFramework\Helper\Bootstrap;
+use \Magento\Multishipping\Model\Checkout\Type\Multishipping\State;
 
 /**
  * Test class for \Magento\Multishipping\Controller\Checkout
  *
  * @magentoAppArea frontend
+ * @magentoDataFixture Magento/Sales/_files/quote.php
+ * @magentoDataFixture Magento/Customer/_files/customer.php
  */
 class CheckoutTest extends \Magento\TestFramework\TestCase\AbstractController
 {
     /**
-     * Covers app/code/Magento/Checkout/Block/Multishipping/Payment/Info.php
-     * and app/code/Magento/Checkout/Block/Multishipping/Overview.php
+     * @var \Magento\Quote\Model\Quote
+     */
+    protected $quote;
+
+    /**
+     * @var \Magento\Checkout\Model\Session
+     */
+    protected $checkoutSession;
+
+    /**
+     * @inheritdoc
+     */
+    public function setUp()
+    {
+        parent::setUp();
+        $this->quote = $this->_objectManager->create('Magento\Quote\Model\Quote');
+        $this->checkoutSession = $this->_objectManager->get('Magento\Checkout\Model\Session');
+
+        $this->quote->load('test01', 'reserved_order_id');
+        $this->checkoutSession->setQuoteId($this->quote->getId());
+        $this->checkoutSession->setCartWasUpdated(false);
+    }
+
+    /**
+     * Covers \Magento\Multishipping\Block\Checkout\Payment\Info and \Magento\Multishipping\Block\Checkout\Overview
      *
-     * @magentoDataFixture Magento/Sales/_files/quote.php
-     * @magentoDataFixture Magento/Customer/_files/customer.php
      * @magentoConfigFixture current_store multishipping/options/checkout_multiple 1
      */
     public function testOverviewAction()
     {
-        /** @var $quote \Magento\Quote\Model\Quote */
-        $quote = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\Quote\Model\Quote');
-        $quote->load('test01', 'reserved_order_id');
-
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Checkout\Model\Session')
-            ->setQuoteId($quote->getId());
-
+        /** @var \Magento\Framework\Data\Form\FormKey $formKey */
         $formKey = $this->_objectManager->get('Magento\Framework\Data\Form\FormKey');
         $logger = $this->getMock('Psr\Log\LoggerInterface', [], [], '', false);
-
-        /** @var $session \Magento\Customer\Model\Session */
-        $session = Bootstrap::getObjectManager()->create('Magento\Customer\Model\Session', [$logger]);
-
-        /** @var \Magento\Customer\Api\AccountManagementInterface  $service */
-        $service = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Customer\Api\AccountManagementInterface');
+        /** @var \Magento\Customer\Api\AccountManagementInterface $service */
+        $service = $this->_objectManager->create('Magento\Customer\Api\AccountManagementInterface');
         $customer = $service->authenticate('customer@example.com', 'password');
+        /** @var \Magento\Customer\Model\Session $customerSession */
+        $customerSession = $this->_objectManager->create('Magento\Customer\Model\Session', [$logger]);
+        $customerSession->setCustomerDataAsLoggedIn($customer);
+        $this->checkoutSession->setCheckoutState(State::STEP_BILLING);
 
-        $session->setCustomerDataAsLoggedIn($customer);
         $this->getRequest()->setPostValue('payment', ['method' => 'checkmo']);
         $this->dispatch('multishipping/checkout/overview');
         $html = $this->getResponse()->getBody();
+
         $this->assertContains('<div class="box box-billing-method">', $html);
         $this->assertContains('<div class="box box-shipping-method">', $html);
         $this->assertContains(
-            '<dt class="title">' . $quote->getPayment()->getMethodInstance()->getTitle() . '</dt>',
+            '<dt class="title">' . $this->quote->getPayment()->getMethodInstance()->getTitle() . '</dt>',
             $html
         );
         $this->assertContains('<span class="price">$10.00</span>', $html);
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/Integrity/HhvmCompatibilityTest.php b/dev/tests/static/testsuite/Magento/Test/Integrity/HhvmCompatibilityTest.php
index c3a9fe9933ee4948c40bbd5630eea75f0b46a1e0..b7c342c1fd4ecdc410a7558a1a3131d76193c125 100644
--- a/dev/tests/static/testsuite/Magento/Test/Integrity/HhvmCompatibilityTest.php
+++ b/dev/tests/static/testsuite/Magento/Test/Integrity/HhvmCompatibilityTest.php
@@ -36,6 +36,7 @@ class HhvmCompatibilityTest extends \PHPUnit_Framework_TestCase
         'mime_magic.magicfile',
         'display_errors',
         'default_socket_timeout',
+        'pcre.recursion_limit',
     ];
 
     public function testAllowedIniGetSetDirectives()
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/dev/tools/performance-toolkit/benchmark.jmx b/dev/tools/performance-toolkit/benchmark.jmx
index 1fe4919a59eb43c0f72910d7de13a1448d2b8ab8..7d3d7aef7fa0ab39b7dce61fa73f45e9972e59bd 100644
--- a/dev/tools/performance-toolkit/benchmark.jmx
+++ b/dev/tools/performance-toolkit/benchmark.jmx
@@ -316,7 +316,7 @@ props.put(&quot;category_name&quot;, vars.get(&quot;category_name&quot;));</stri
           <stringProp name="HTTPSampler.response_timeout"></stringProp>
           <stringProp name="HTTPSampler.protocol"></stringProp>
           <stringProp name="HTTPSampler.contentEncoding">UTF-8</stringProp>
-          <stringProp name="HTTPSampler.path">${base_path}catalogsearch/result/?limit=30&amp;q=Simple</stringProp>
+          <stringProp name="HTTPSampler.path">${base_path}catalogsearch/result/index/?limit=30&amp;q=Simple</stringProp>
           <stringProp name="HTTPSampler.method">GET</stringProp>
           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -340,7 +340,7 @@ props.put(&quot;category_name&quot;, vars.get(&quot;category_name&quot;));</stri
           <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor: Extract product url keys" enabled="true">
             <stringProp name="RegexExtractor.useHeaders">false</stringProp>
             <stringProp name="RegexExtractor.refname">simple_products_url_keys</stringProp>
-            <stringProp name="RegexExtractor.regex">${base_path}(index.php/)?(simple.*)${url_suffix}&quot; title=&quot;[Ss]imple.*&quot;</stringProp>
+            <stringProp name="RegexExtractor.regex">&lt;a class=&quot;product-item-link&quot; href=&quot;http://${host}${base_path}(index.php/)?([^&apos;&quot;]+)${url_suffix}&quot;&gt;Simple</stringProp>
             <stringProp name="RegexExtractor.template">$2$</stringProp>
             <stringProp name="RegexExtractor.default"></stringProp>
             <stringProp name="RegexExtractor.match_number">-1</stringProp>
@@ -386,7 +386,7 @@ props.put(&quot;category_name&quot;, vars.get(&quot;category_name&quot;));</stri
             <XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="XPath Extractor: Extarct product title" enabled="true">
               <stringProp name="XPathExtractor.default"></stringProp>
               <stringProp name="XPathExtractor.refname">simple_product_title</stringProp>
-              <stringProp name="XPathExtractor.xpathQuery">.//*[@data-ui-id=&apos;page-title&apos;]/text()</stringProp>
+              <stringProp name="XPathExtractor.xpathQuery">.//*[@data-ui-id=&apos;page-title-wrapper&apos;]/text()</stringProp>
               <boolProp name="XPathExtractor.validate">false</boolProp>
               <boolProp name="XPathExtractor.tolerant">true</boolProp>
               <boolProp name="XPathExtractor.namespace">false</boolProp>
@@ -471,7 +471,7 @@ productList.add(productMap);                        </stringProp>
           <stringProp name="HTTPSampler.response_timeout"></stringProp>
           <stringProp name="HTTPSampler.protocol"></stringProp>
           <stringProp name="HTTPSampler.contentEncoding">UTF-8</stringProp>
-          <stringProp name="HTTPSampler.path">${base_path}catalogsearch/result/?limit=30&amp;q=Configurable</stringProp>
+          <stringProp name="HTTPSampler.path">${base_path}catalogsearch/result/index/?limit=30&amp;q=Configurable</stringProp>
           <stringProp name="HTTPSampler.method">GET</stringProp>
           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -495,7 +495,7 @@ productList.add(productMap);                        </stringProp>
           <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor: Extract product url keys" enabled="true">
             <stringProp name="RegexExtractor.useHeaders">false</stringProp>
             <stringProp name="RegexExtractor.refname">configurable_products_url_keys</stringProp>
-            <stringProp name="RegexExtractor.regex">${base_path}(index.php/)?(configurable.*)${url_suffix}&quot; title=&quot;[Cc]onfigurable.*&quot;</stringProp>
+            <stringProp name="RegexExtractor.regex">&lt;a class=&quot;product-item-link&quot; href=&quot;http://${host}${base_path}(index.php/)?([^&apos;&quot;]+)${url_suffix}&quot;&gt;Configurable</stringProp>
             <stringProp name="RegexExtractor.template">$2$</stringProp>
             <stringProp name="RegexExtractor.default"></stringProp>
             <stringProp name="RegexExtractor.match_number">-1</stringProp>
@@ -541,7 +541,7 @@ productList.add(productMap);                        </stringProp>
             <XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="XPath Extractor: Extarct product title" enabled="true">
               <stringProp name="XPathExtractor.default"></stringProp>
               <stringProp name="XPathExtractor.refname">configurable_product_title</stringProp>
-              <stringProp name="XPathExtractor.xpathQuery">.//*[@data-ui-id=&apos;page-title&apos;]/text()</stringProp>
+              <stringProp name="XPathExtractor.xpathQuery">.//*[@data-ui-id=&apos;page-title-wrapper&apos;]/text()</stringProp>
               <boolProp name="XPathExtractor.validate">false</boolProp>
               <boolProp name="XPathExtractor.tolerant">true</boolProp>
               <boolProp name="XPathExtractor.namespace">false</boolProp>
@@ -550,7 +550,7 @@ productList.add(productMap);                        </stringProp>
             <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor: Extarct product attribute id" enabled="true">
               <stringProp name="RegexExtractor.useHeaders">false</stringProp>
               <stringProp name="RegexExtractor.refname">configurable_product_attribute_id</stringProp>
-              <stringProp name="RegexExtractor.regex">&quot;spConfig&quot;:\{&quot;attributes&quot;:\{&quot;(\d+)&quot;</stringProp>
+              <stringProp name="RegexExtractor.regex">&quot;attributes&quot;:\{&quot;(\d+)&quot;</stringProp>
               <stringProp name="RegexExtractor.template">$1$</stringProp>
               <stringProp name="RegexExtractor.default"></stringProp>
               <stringProp name="RegexExtractor.match_number">1</stringProp>
@@ -1401,6 +1401,26 @@ vars.put(&quot;category_name&quot;, props.get(&quot;category_name&quot;));</stri
             <intProp name="Assertion.test_type">2</intProp>
           </ResponseAssertion>
           <hashTree/>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract form action" enabled="true">
+            <stringProp name="RegexExtractor.useHeaders">false</stringProp>
+            <stringProp name="RegexExtractor.refname">simple_product_1_form_action</stringProp>
+            <stringProp name="RegexExtractor.regex">&lt;form action=&quot;([^&apos;&quot;]+)&quot; method=&quot;post&quot; id=&quot;product_addtocart_form&quot;&gt;</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert form_action extracted" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="2845929">^.+$</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">1</intProp>
+            <stringProp name="Assertion.scope">variable</stringProp>
+            <stringProp name="Scope.variable">simple_product_1_form_action</stringProp>
+          </ResponseAssertion>
+          <hashTree/>
         </hashTree>
         <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true">
           <stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp>
@@ -1431,6 +1451,20 @@ vars.put(&quot;category_name&quot;, props.get(&quot;category_name&quot;));</stri
                 <boolProp name="HTTPArgument.use_equals">true</boolProp>
                 <stringProp name="Argument.name">qty</stringProp>
               </elementProp>
+              <elementProp name="isAjax" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">true</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">isAjax</stringProp>
+              </elementProp>
+              <elementProp name="ajax" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">true</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">ajax</stringProp>
+              </elementProp>
             </collectionProp>
           </elementProp>
           <stringProp name="HTTPSampler.domain"></stringProp>
@@ -1439,7 +1473,7 @@ vars.put(&quot;category_name&quot;, props.get(&quot;category_name&quot;));</stri
           <stringProp name="HTTPSampler.response_timeout"></stringProp>
           <stringProp name="HTTPSampler.protocol">http</stringProp>
           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-          <stringProp name="HTTPSampler.path">${base_path}checkout/cart/add</stringProp>
+          <stringProp name="HTTPSampler.path">${simple_product_1_form_action}</stringProp>
           <stringProp name="HTTPSampler.method">POST</stringProp>
           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -1468,17 +1502,6 @@ vars.put(&quot;category_name&quot;, props.get(&quot;category_name&quot;));</stri
             <intProp name="Assertion.test_type">6</intProp>
           </ResponseAssertion>
           <hashTree/>
-          <XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="XPath Assertion" enabled="true">
-            <boolProp name="XPath.negate">false</boolProp>
-            <stringProp name="XPath.xpath">count(//*[@class=&apos;cart item&apos;])=1</stringProp>
-            <boolProp name="XPath.validate">false</boolProp>
-            <boolProp name="XPath.whitespace">false</boolProp>
-            <boolProp name="XPath.tolerant">true</boolProp>
-            <boolProp name="XPath.namespace">false</boolProp>
-            <boolProp name="XPath.show_warnings">true</boolProp>
-            <boolProp name="XPath.report_errors">true</boolProp>
-          </XPathAssertion>
-          <hashTree/>
         </hashTree>
         <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true">
           <stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp>
@@ -1516,6 +1539,26 @@ vars.put(&quot;category_name&quot;, props.get(&quot;category_name&quot;));</stri
             <intProp name="Assertion.test_type">2</intProp>
           </ResponseAssertion>
           <hashTree/>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract form action" enabled="true">
+            <stringProp name="RegexExtractor.useHeaders">false</stringProp>
+            <stringProp name="RegexExtractor.refname">simple_product_2_form_action</stringProp>
+            <stringProp name="RegexExtractor.regex">&lt;form action=&quot;([^&apos;&quot;]+)&quot; method=&quot;post&quot; id=&quot;product_addtocart_form&quot;&gt;</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert form_action extracted" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="2845929">^.+$</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">1</intProp>
+            <stringProp name="Assertion.scope">variable</stringProp>
+            <stringProp name="Scope.variable">simple_product_2_form_action</stringProp>
+          </ResponseAssertion>
+          <hashTree/>
         </hashTree>
         <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true">
           <stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp>
@@ -1546,6 +1589,20 @@ vars.put(&quot;category_name&quot;, props.get(&quot;category_name&quot;));</stri
                 <boolProp name="HTTPArgument.use_equals">true</boolProp>
                 <stringProp name="Argument.name">qty</stringProp>
               </elementProp>
+              <elementProp name="isAjax" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">true</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">isAjax</stringProp>
+              </elementProp>
+              <elementProp name="ajax" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">true</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">ajax</stringProp>
+              </elementProp>
             </collectionProp>
           </elementProp>
           <stringProp name="HTTPSampler.domain"></stringProp>
@@ -1554,7 +1611,7 @@ vars.put(&quot;category_name&quot;, props.get(&quot;category_name&quot;));</stri
           <stringProp name="HTTPSampler.response_timeout"></stringProp>
           <stringProp name="HTTPSampler.protocol">http</stringProp>
           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-          <stringProp name="HTTPSampler.path">${base_path}checkout/cart/add</stringProp>
+          <stringProp name="HTTPSampler.path">${simple_product_2_form_action}</stringProp>
           <stringProp name="HTTPSampler.method">POST</stringProp>
           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -1583,17 +1640,6 @@ vars.put(&quot;category_name&quot;, props.get(&quot;category_name&quot;));</stri
             <intProp name="Assertion.test_type">6</intProp>
           </ResponseAssertion>
           <hashTree/>
-          <XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="XPath Assertion" enabled="true">
-            <boolProp name="XPath.negate">false</boolProp>
-            <stringProp name="XPath.xpath">count(//*[@class=&apos;cart item&apos;])=2</stringProp>
-            <boolProp name="XPath.validate">false</boolProp>
-            <boolProp name="XPath.whitespace">false</boolProp>
-            <boolProp name="XPath.tolerant">true</boolProp>
-            <boolProp name="XPath.namespace">false</boolProp>
-            <boolProp name="XPath.show_warnings">true</boolProp>
-            <boolProp name="XPath.report_errors">true</boolProp>
-          </XPathAssertion>
-          <hashTree/>
         </hashTree>
         <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true">
           <stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp>
@@ -1631,6 +1677,26 @@ vars.put(&quot;category_name&quot;, props.get(&quot;category_name&quot;));</stri
             <intProp name="Assertion.test_type">2</intProp>
           </ResponseAssertion>
           <hashTree/>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract form action" enabled="true">
+            <stringProp name="RegexExtractor.useHeaders">false</stringProp>
+            <stringProp name="RegexExtractor.refname">configurable_product_form_action</stringProp>
+            <stringProp name="RegexExtractor.regex">&lt;form action=&quot;([^&apos;&quot;]+)&quot; method=&quot;post&quot; id=&quot;product_addtocart_form&quot;&gt;</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert form_action extracted" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="2845929">^.+$</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">1</intProp>
+            <stringProp name="Assertion.scope">variable</stringProp>
+            <stringProp name="Scope.variable">configurable_product_form_action</stringProp>
+          </ResponseAssertion>
+          <hashTree/>
         </hashTree>
         <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true">
           <stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp>
@@ -1668,6 +1734,20 @@ vars.put(&quot;category_name&quot;, props.get(&quot;category_name&quot;));</stri
                 <boolProp name="HTTPArgument.use_equals">true</boolProp>
                 <stringProp name="Argument.name">super_attribute[${configurable_attribute_id}]</stringProp>
               </elementProp>
+              <elementProp name="isAjax" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">true</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">isAjax</stringProp>
+              </elementProp>
+              <elementProp name="ajax" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">true</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">ajax</stringProp>
+              </elementProp>
             </collectionProp>
           </elementProp>
           <stringProp name="HTTPSampler.domain"></stringProp>
@@ -1676,7 +1756,7 @@ vars.put(&quot;category_name&quot;, props.get(&quot;category_name&quot;));</stri
           <stringProp name="HTTPSampler.response_timeout"></stringProp>
           <stringProp name="HTTPSampler.protocol">http</stringProp>
           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-          <stringProp name="HTTPSampler.path">${base_path}checkout/cart/add</stringProp>
+          <stringProp name="HTTPSampler.path">${configurable_product_form_action}</stringProp>
           <stringProp name="HTTPSampler.method">POST</stringProp>
           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -1705,17 +1785,6 @@ vars.put(&quot;category_name&quot;, props.get(&quot;category_name&quot;));</stri
             <intProp name="Assertion.test_type">6</intProp>
           </ResponseAssertion>
           <hashTree/>
-          <XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="XPath Assertion" enabled="true">
-            <boolProp name="XPath.negate">false</boolProp>
-            <stringProp name="XPath.xpath">count(//*[@class=&apos;cart item&apos;])=3</stringProp>
-            <boolProp name="XPath.validate">false</boolProp>
-            <boolProp name="XPath.whitespace">false</boolProp>
-            <boolProp name="XPath.tolerant">true</boolProp>
-            <boolProp name="XPath.namespace">false</boolProp>
-            <boolProp name="XPath.show_warnings">true</boolProp>
-            <boolProp name="XPath.report_errors">true</boolProp>
-          </XPathAssertion>
-          <hashTree/>
         </hashTree>
       </hashTree>
       <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Guest Checkout" enabled="true">
@@ -1882,6 +1951,26 @@ vars.put(&quot;category_name&quot;, props.get(&quot;category_name&quot;));</stri
             <intProp name="Assertion.test_type">2</intProp>
           </ResponseAssertion>
           <hashTree/>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract form action" enabled="true">
+            <stringProp name="RegexExtractor.useHeaders">false</stringProp>
+            <stringProp name="RegexExtractor.refname">simple_product_1_form_action</stringProp>
+            <stringProp name="RegexExtractor.regex">&lt;form action=&quot;([^&apos;&quot;]+)&quot; method=&quot;post&quot; id=&quot;product_addtocart_form&quot;&gt;</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert form_action extracted" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="2845929">^.+$</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">1</intProp>
+            <stringProp name="Assertion.scope">variable</stringProp>
+            <stringProp name="Scope.variable">simple_product_1_form_action</stringProp>
+          </ResponseAssertion>
+          <hashTree/>
         </hashTree>
         <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true">
           <stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp>
@@ -1912,6 +2001,20 @@ vars.put(&quot;category_name&quot;, props.get(&quot;category_name&quot;));</stri
                 <boolProp name="HTTPArgument.use_equals">true</boolProp>
                 <stringProp name="Argument.name">qty</stringProp>
               </elementProp>
+              <elementProp name="isAjax" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">true</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">isAjax</stringProp>
+              </elementProp>
+              <elementProp name="ajax" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">true</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">ajax</stringProp>
+              </elementProp>
             </collectionProp>
           </elementProp>
           <stringProp name="HTTPSampler.domain"></stringProp>
@@ -1920,7 +2023,7 @@ vars.put(&quot;category_name&quot;, props.get(&quot;category_name&quot;));</stri
           <stringProp name="HTTPSampler.response_timeout"></stringProp>
           <stringProp name="HTTPSampler.protocol">http</stringProp>
           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-          <stringProp name="HTTPSampler.path">${base_path}checkout/cart/add</stringProp>
+          <stringProp name="HTTPSampler.path">${simple_product_1_form_action}</stringProp>
           <stringProp name="HTTPSampler.method">POST</stringProp>
           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -1949,17 +2052,6 @@ vars.put(&quot;category_name&quot;, props.get(&quot;category_name&quot;));</stri
             <intProp name="Assertion.test_type">6</intProp>
           </ResponseAssertion>
           <hashTree/>
-          <XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="XPath Assertion" enabled="true">
-            <boolProp name="XPath.negate">false</boolProp>
-            <stringProp name="XPath.xpath">count(//*[@class=&apos;cart item&apos;])=1</stringProp>
-            <boolProp name="XPath.validate">false</boolProp>
-            <boolProp name="XPath.whitespace">false</boolProp>
-            <boolProp name="XPath.tolerant">true</boolProp>
-            <boolProp name="XPath.namespace">false</boolProp>
-            <boolProp name="XPath.show_warnings">true</boolProp>
-            <boolProp name="XPath.report_errors">true</boolProp>
-          </XPathAssertion>
-          <hashTree/>
         </hashTree>
         <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true">
           <stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp>
@@ -1997,6 +2089,26 @@ vars.put(&quot;category_name&quot;, props.get(&quot;category_name&quot;));</stri
             <intProp name="Assertion.test_type">2</intProp>
           </ResponseAssertion>
           <hashTree/>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract form action" enabled="true">
+            <stringProp name="RegexExtractor.useHeaders">false</stringProp>
+            <stringProp name="RegexExtractor.refname">simple_product_2_form_action</stringProp>
+            <stringProp name="RegexExtractor.regex">&lt;form action=&quot;([^&apos;&quot;]+)&quot; method=&quot;post&quot; id=&quot;product_addtocart_form&quot;&gt;</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert form_action extracted" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="2845929">^.+$</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">1</intProp>
+            <stringProp name="Assertion.scope">variable</stringProp>
+            <stringProp name="Scope.variable">simple_product_2_form_action</stringProp>
+          </ResponseAssertion>
+          <hashTree/>
         </hashTree>
         <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true">
           <stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp>
@@ -2027,6 +2139,20 @@ vars.put(&quot;category_name&quot;, props.get(&quot;category_name&quot;));</stri
                 <boolProp name="HTTPArgument.use_equals">true</boolProp>
                 <stringProp name="Argument.name">qty</stringProp>
               </elementProp>
+              <elementProp name="isAjax" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">true</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">isAjax</stringProp>
+              </elementProp>
+              <elementProp name="ajax" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">true</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">ajax</stringProp>
+              </elementProp>
             </collectionProp>
           </elementProp>
           <stringProp name="HTTPSampler.domain"></stringProp>
@@ -2035,7 +2161,7 @@ vars.put(&quot;category_name&quot;, props.get(&quot;category_name&quot;));</stri
           <stringProp name="HTTPSampler.response_timeout"></stringProp>
           <stringProp name="HTTPSampler.protocol">http</stringProp>
           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-          <stringProp name="HTTPSampler.path">${base_path}checkout/cart/add</stringProp>
+          <stringProp name="HTTPSampler.path">${simple_product_2_form_action}</stringProp>
           <stringProp name="HTTPSampler.method">POST</stringProp>
           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -2064,17 +2190,6 @@ vars.put(&quot;category_name&quot;, props.get(&quot;category_name&quot;));</stri
             <intProp name="Assertion.test_type">6</intProp>
           </ResponseAssertion>
           <hashTree/>
-          <XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="XPath Assertion" enabled="true">
-            <boolProp name="XPath.negate">false</boolProp>
-            <stringProp name="XPath.xpath">count(//*[@class=&apos;cart item&apos;])=2</stringProp>
-            <boolProp name="XPath.validate">false</boolProp>
-            <boolProp name="XPath.whitespace">false</boolProp>
-            <boolProp name="XPath.tolerant">true</boolProp>
-            <boolProp name="XPath.namespace">false</boolProp>
-            <boolProp name="XPath.show_warnings">true</boolProp>
-            <boolProp name="XPath.report_errors">true</boolProp>
-          </XPathAssertion>
-          <hashTree/>
         </hashTree>
         <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true">
           <stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp>
@@ -2112,6 +2227,26 @@ vars.put(&quot;category_name&quot;, props.get(&quot;category_name&quot;));</stri
             <intProp name="Assertion.test_type">2</intProp>
           </ResponseAssertion>
           <hashTree/>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract form action" enabled="true">
+            <stringProp name="RegexExtractor.useHeaders">false</stringProp>
+            <stringProp name="RegexExtractor.refname">configurable_product_form_action</stringProp>
+            <stringProp name="RegexExtractor.regex">&lt;form action=&quot;([^&apos;&quot;]+)&quot; method=&quot;post&quot; id=&quot;product_addtocart_form&quot;&gt;</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert form_action extracted" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="2845929">^.+$</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">1</intProp>
+            <stringProp name="Assertion.scope">variable</stringProp>
+            <stringProp name="Scope.variable">configurable_product_form_action</stringProp>
+          </ResponseAssertion>
+          <hashTree/>
         </hashTree>
         <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true">
           <stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp>
@@ -2149,6 +2284,20 @@ vars.put(&quot;category_name&quot;, props.get(&quot;category_name&quot;));</stri
                 <boolProp name="HTTPArgument.use_equals">true</boolProp>
                 <stringProp name="Argument.name">super_attribute[${configurable_attribute_id}]</stringProp>
               </elementProp>
+              <elementProp name="isAjax" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">true</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">isAjax</stringProp>
+              </elementProp>
+              <elementProp name="ajax" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">true</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">ajax</stringProp>
+              </elementProp>
             </collectionProp>
           </elementProp>
           <stringProp name="HTTPSampler.domain"></stringProp>
@@ -2157,7 +2306,7 @@ vars.put(&quot;category_name&quot;, props.get(&quot;category_name&quot;));</stri
           <stringProp name="HTTPSampler.response_timeout"></stringProp>
           <stringProp name="HTTPSampler.protocol">http</stringProp>
           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-          <stringProp name="HTTPSampler.path">${base_path}checkout/cart/add</stringProp>
+          <stringProp name="HTTPSampler.path">${configurable_product_form_action}</stringProp>
           <stringProp name="HTTPSampler.method">POST</stringProp>
           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -2186,17 +2335,6 @@ vars.put(&quot;category_name&quot;, props.get(&quot;category_name&quot;));</stri
             <intProp name="Assertion.test_type">6</intProp>
           </ResponseAssertion>
           <hashTree/>
-          <XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="XPath Assertion" enabled="true">
-            <boolProp name="XPath.negate">false</boolProp>
-            <stringProp name="XPath.xpath">count(//*[@class=&apos;cart item&apos;])=3</stringProp>
-            <boolProp name="XPath.validate">false</boolProp>
-            <boolProp name="XPath.whitespace">false</boolProp>
-            <boolProp name="XPath.tolerant">true</boolProp>
-            <boolProp name="XPath.namespace">false</boolProp>
-            <boolProp name="XPath.show_warnings">true</boolProp>
-            <boolProp name="XPath.report_errors">true</boolProp>
-          </XPathAssertion>
-          <hashTree/>
         </hashTree>
         <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true">
           <stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp>
@@ -2932,6 +3070,26 @@ if (emailsCount &lt; 1) {
             <intProp name="Assertion.test_type">2</intProp>
           </ResponseAssertion>
           <hashTree/>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract form action" enabled="true">
+            <stringProp name="RegexExtractor.useHeaders">false</stringProp>
+            <stringProp name="RegexExtractor.refname">simple_product_1_form_action</stringProp>
+            <stringProp name="RegexExtractor.regex">&lt;form action=&quot;([^&apos;&quot;]+)&quot; method=&quot;post&quot; id=&quot;product_addtocart_form&quot;&gt;</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert form_action extracted" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="2845929">^.+$</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">1</intProp>
+            <stringProp name="Assertion.scope">variable</stringProp>
+            <stringProp name="Scope.variable">simple_product_1_form_action</stringProp>
+          </ResponseAssertion>
+          <hashTree/>
         </hashTree>
         <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true">
           <stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp>
@@ -2962,6 +3120,20 @@ if (emailsCount &lt; 1) {
                 <boolProp name="HTTPArgument.use_equals">true</boolProp>
                 <stringProp name="Argument.name">qty</stringProp>
               </elementProp>
+              <elementProp name="isAjax" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">true</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">isAjax</stringProp>
+              </elementProp>
+              <elementProp name="ajax" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">true</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">ajax</stringProp>
+              </elementProp>
             </collectionProp>
           </elementProp>
           <stringProp name="HTTPSampler.domain"></stringProp>
@@ -2970,7 +3142,7 @@ if (emailsCount &lt; 1) {
           <stringProp name="HTTPSampler.response_timeout"></stringProp>
           <stringProp name="HTTPSampler.protocol">http</stringProp>
           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-          <stringProp name="HTTPSampler.path">${base_path}checkout/cart/add</stringProp>
+          <stringProp name="HTTPSampler.path">${simple_product_1_form_action}</stringProp>
           <stringProp name="HTTPSampler.method">POST</stringProp>
           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -2999,17 +3171,6 @@ if (emailsCount &lt; 1) {
             <intProp name="Assertion.test_type">6</intProp>
           </ResponseAssertion>
           <hashTree/>
-          <XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="XPath Assertion" enabled="true">
-            <boolProp name="XPath.negate">false</boolProp>
-            <stringProp name="XPath.xpath">count(//*[@class=&apos;cart item&apos;])=1</stringProp>
-            <boolProp name="XPath.validate">false</boolProp>
-            <boolProp name="XPath.whitespace">false</boolProp>
-            <boolProp name="XPath.tolerant">true</boolProp>
-            <boolProp name="XPath.namespace">false</boolProp>
-            <boolProp name="XPath.show_warnings">true</boolProp>
-            <boolProp name="XPath.report_errors">true</boolProp>
-          </XPathAssertion>
-          <hashTree/>
         </hashTree>
         <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true">
           <stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp>
@@ -3047,6 +3208,26 @@ if (emailsCount &lt; 1) {
             <intProp name="Assertion.test_type">2</intProp>
           </ResponseAssertion>
           <hashTree/>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract form action" enabled="true">
+            <stringProp name="RegexExtractor.useHeaders">false</stringProp>
+            <stringProp name="RegexExtractor.refname">simple_product_2_form_action</stringProp>
+            <stringProp name="RegexExtractor.regex">&lt;form action=&quot;([^&apos;&quot;]+)&quot; method=&quot;post&quot; id=&quot;product_addtocart_form&quot;&gt;</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert form_action extracted" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="2845929">^.+$</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">1</intProp>
+            <stringProp name="Assertion.scope">variable</stringProp>
+            <stringProp name="Scope.variable">simple_product_2_form_action</stringProp>
+          </ResponseAssertion>
+          <hashTree/>
         </hashTree>
         <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true">
           <stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp>
@@ -3077,6 +3258,20 @@ if (emailsCount &lt; 1) {
                 <boolProp name="HTTPArgument.use_equals">true</boolProp>
                 <stringProp name="Argument.name">qty</stringProp>
               </elementProp>
+              <elementProp name="isAjax" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">true</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">isAjax</stringProp>
+              </elementProp>
+              <elementProp name="ajax" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">true</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">ajax</stringProp>
+              </elementProp>
             </collectionProp>
           </elementProp>
           <stringProp name="HTTPSampler.domain"></stringProp>
@@ -3085,7 +3280,7 @@ if (emailsCount &lt; 1) {
           <stringProp name="HTTPSampler.response_timeout"></stringProp>
           <stringProp name="HTTPSampler.protocol">http</stringProp>
           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-          <stringProp name="HTTPSampler.path">${base_path}checkout/cart/add</stringProp>
+          <stringProp name="HTTPSampler.path">${simple_product_2_form_action}</stringProp>
           <stringProp name="HTTPSampler.method">POST</stringProp>
           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -3114,17 +3309,6 @@ if (emailsCount &lt; 1) {
             <intProp name="Assertion.test_type">6</intProp>
           </ResponseAssertion>
           <hashTree/>
-          <XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="XPath Assertion" enabled="true">
-            <boolProp name="XPath.negate">false</boolProp>
-            <stringProp name="XPath.xpath">count(//*[@class=&apos;cart item&apos;])=2</stringProp>
-            <boolProp name="XPath.validate">false</boolProp>
-            <boolProp name="XPath.whitespace">false</boolProp>
-            <boolProp name="XPath.tolerant">true</boolProp>
-            <boolProp name="XPath.namespace">false</boolProp>
-            <boolProp name="XPath.show_warnings">true</boolProp>
-            <boolProp name="XPath.report_errors">true</boolProp>
-          </XPathAssertion>
-          <hashTree/>
         </hashTree>
         <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true">
           <stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp>
@@ -3162,6 +3346,26 @@ if (emailsCount &lt; 1) {
             <intProp name="Assertion.test_type">2</intProp>
           </ResponseAssertion>
           <hashTree/>
+          <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract form action" enabled="true">
+            <stringProp name="RegexExtractor.useHeaders">false</stringProp>
+            <stringProp name="RegexExtractor.refname">configurable_product_form_action</stringProp>
+            <stringProp name="RegexExtractor.regex">&lt;form action=&quot;([^&apos;&quot;]+)&quot; method=&quot;post&quot; id=&quot;product_addtocart_form&quot;&gt;</stringProp>
+            <stringProp name="RegexExtractor.template">$1$</stringProp>
+            <stringProp name="RegexExtractor.default"></stringProp>
+            <stringProp name="RegexExtractor.match_number">1</stringProp>
+          </RegexExtractor>
+          <hashTree/>
+          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert form_action extracted" enabled="true">
+            <collectionProp name="Asserion.test_strings">
+              <stringProp name="2845929">^.+$</stringProp>
+            </collectionProp>
+            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+            <boolProp name="Assertion.assume_success">false</boolProp>
+            <intProp name="Assertion.test_type">1</intProp>
+            <stringProp name="Assertion.scope">variable</stringProp>
+            <stringProp name="Scope.variable">configurable_product_form_action</stringProp>
+          </ResponseAssertion>
+          <hashTree/>
         </hashTree>
         <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true">
           <stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp>
@@ -3199,6 +3403,20 @@ if (emailsCount &lt; 1) {
                 <boolProp name="HTTPArgument.use_equals">true</boolProp>
                 <stringProp name="Argument.name">super_attribute[${configurable_attribute_id}]</stringProp>
               </elementProp>
+              <elementProp name="isAjax" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">true</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">isAjax</stringProp>
+              </elementProp>
+              <elementProp name="ajax" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">true</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+                <boolProp name="HTTPArgument.use_equals">true</boolProp>
+                <stringProp name="Argument.name">ajax</stringProp>
+              </elementProp>
             </collectionProp>
           </elementProp>
           <stringProp name="HTTPSampler.domain"></stringProp>
@@ -3207,7 +3425,7 @@ if (emailsCount &lt; 1) {
           <stringProp name="HTTPSampler.response_timeout"></stringProp>
           <stringProp name="HTTPSampler.protocol">http</stringProp>
           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-          <stringProp name="HTTPSampler.path">${base_path}checkout/cart/add</stringProp>
+          <stringProp name="HTTPSampler.path">${configurable_product_form_action}</stringProp>
           <stringProp name="HTTPSampler.method">POST</stringProp>
           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -3236,17 +3454,6 @@ if (emailsCount &lt; 1) {
             <intProp name="Assertion.test_type">6</intProp>
           </ResponseAssertion>
           <hashTree/>
-          <XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="XPath Assertion" enabled="true">
-            <boolProp name="XPath.negate">false</boolProp>
-            <stringProp name="XPath.xpath">count(//*[@class=&apos;cart item&apos;])=3</stringProp>
-            <boolProp name="XPath.validate">false</boolProp>
-            <boolProp name="XPath.whitespace">false</boolProp>
-            <boolProp name="XPath.tolerant">true</boolProp>
-            <boolProp name="XPath.namespace">false</boolProp>
-            <boolProp name="XPath.show_warnings">true</boolProp>
-            <boolProp name="XPath.report_errors">true</boolProp>
-          </XPathAssertion>
-          <hashTree/>
         </hashTree>
         <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true">
           <stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp>
diff --git a/dev/tools/performance-toolkit/generate.php b/dev/tools/performance-toolkit/generate.php
index 43a4d61cc09621160a16435766c723f5fbabb5b2..861abee07ef81a10ceee9e80fc2aa9ef91ccb20d 100644
--- a/dev/tools/performance-toolkit/generate.php
+++ b/dev/tools/performance-toolkit/generate.php
@@ -41,6 +41,18 @@ try {
         echo ' |- ' . $label . ': ' . $config->getValue($configKey) . PHP_EOL;
     }
 
+    /** @var $config \Magento\Indexer\Model\Config */
+    $config = $application->getObjectManager()->get('Magento\Indexer\Model\Config');
+    $indexerListIds = $config->getIndexers();
+    /** @var $indexerRegistry \Magento\Indexer\Model\IndexerRegistry */
+    $indexerRegistry = $application->getObjectManager()->create('Magento\Indexer\Model\IndexerRegistry');
+    $indexersState = [];
+    foreach ($indexerListIds as $key => $indexerId) {
+        $indexer = $indexerRegistry->get($indexerId['indexer_id']);
+        $indexersState[$indexerId['indexer_id']] = $indexer->isScheduled();
+        $indexer->setScheduled(true);
+    }
+
     foreach ($application->getFixtures() as $fixture) {
         echo $fixture->getActionTitle() . '... ';
         $startTime = microtime(true);
@@ -50,6 +62,12 @@ try {
         echo ' done in ' . gmdate('H:i:s', $resultTime) . PHP_EOL;
     }
 
+    foreach ($indexerListIds as $indexerId) {
+        /** @var $indexer \Magento\Indexer\Model\Indexer */
+        $indexer = $indexerRegistry->get($indexerId['indexer_id']);
+        $indexer->setScheduled($indexersState[$indexerId['indexer_id']]);
+    }
+
     $application->reindex();
     $totalEndTime = microtime(true);
     $totalResultTime = $totalEndTime - $totalStartTime;
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/Minifier/Adapter/Css/CssMinifier.php b/lib/internal/Magento/Framework/Code/Minifier/Adapter/Css/CssMinifier.php
index dddf0a6e4c00605e256cb9e1f349ea9c050df343..e1d4d01942333670ac1799df0820c589520b8118 100644
--- a/lib/internal/Magento/Framework/Code/Minifier/Adapter/Css/CssMinifier.php
+++ b/lib/internal/Magento/Framework/Code/Minifier/Adapter/Css/CssMinifier.php
@@ -11,6 +11,11 @@ use Magento\Framework\Code\Minifier\AdapterInterface;
 
 class CssMinifier implements AdapterInterface
 {
+    /**
+     * 'pcre.recursion_limit' value for CSSMin minification
+     */
+    const PCRE_RECURSION_LIMIT = 1000;
+
     /**
      * @var CSSmin
      */
@@ -32,6 +37,10 @@ class CssMinifier implements AdapterInterface
      */
     public function minify($content)
     {
-        return $this->cssMinifier->run($content);
+        $pcreRecursionLimit = ini_get('pcre.recursion_limit');
+        ini_set('pcre.recursion_limit', self::PCRE_RECURSION_LIMIT);
+        $result = $this->cssMinifier->run($content);
+        ini_set('pcre.recursion_limit', $pcreRecursionLimit);
+        return $result;
     }
 }
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/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 860338dce31c9c2334a77b4281d48429f5cce1dd..4b994828b51d1745246f8276cd45ad2499333aec 100644
--- a/lib/internal/Magento/Framework/Data/Test/Unit/StructureTest.php
+++ b/lib/internal/Magento/Framework/Data/Test/Unit/StructureTest.php
@@ -566,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/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/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/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/Template/Html/Minifier.php b/lib/internal/Magento/Framework/View/Template/Html/Minifier.php
index 7905393ae85405e4e9ef22c62feef972dbab5dce..af80583da16e7f37c084151650869ef3f7c39c89 100644
--- a/lib/internal/Magento/Framework/View/Template/Html/Minifier.php
+++ b/lib/internal/Magento/Framework/View/Template/Html/Minifier.php
@@ -122,11 +122,11 @@ class Minifier implements MinifierInterface
                     '#(?<!' . implode('|', $this->inlineHtmlTags) . ')\> \<#',
                     '><',
                     preg_replace(
-                        '#(?ix)(?>[^\S ]\s*|\s{2,})(?=(?:(?:[^<]++|<(?!/?(?:textarea|pre|script|style)\b))*+)'
-                        . '(?:<(?>textarea|pre|script|style)\b|\z))#',
+                        '#(?ix)(?>[^\S ]\s*|\s{2,})(?=(?:(?:[^<]++|<(?!/?(?:textarea|pre|script)\b))*+)'
+                        . '(?:<(?>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 7041e93bef494104850814b7bf0e252073eeaaa3..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,7 +10,7 @@ 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
 {
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 6a1a56c3d72cdcd08c45c89a305f43f55152b79b..de0509c8c6a7493cb49ddf2e40d7134cb68f5434 100644
--- a/lib/internal/Magento/Framework/View/Test/Unit/Layout/ScheduledStructureTest.php
+++ b/lib/internal/Magento/Framework/View/Test/Unit/Layout/ScheduledStructureTest.php
@@ -66,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()
     {
@@ -78,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()
     {
@@ -96,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()
     {
@@ -104,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()
     {
@@ -116,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()
     {
@@ -126,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()
     {
@@ -144,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()
     {
@@ -153,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()
     {
@@ -163,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()
     {
@@ -186,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()
     {
@@ -204,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()
     {
@@ -214,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()
     {
@@ -238,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()
     {
@@ -246,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()
     {
@@ -258,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()
     {
@@ -268,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()
     {
@@ -277,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()
     {
@@ -295,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()
     {
@@ -305,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()
     {
@@ -313,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()
     {
@@ -323,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()
     {
@@ -332,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()
     {
@@ -350,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()
     {
@@ -360,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()
     {
@@ -370,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()
     {
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 b3f9b82f3723b106829e136d1609134ed4fdc196..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,6 +158,8 @@
 ## http://developer.yahoo.com/performance/rules.html#expires
 
     ExpiresDefault "access plus 1 year"
+    ExpiresByType text/html A0
+    ExpiresByType text/plain A0
 
 </IfModule>
 
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
             ]
         ];