diff --git a/CHANGELOG.md b/CHANGELOG.md
index 338ab6cf7da11ec471acb79edb367b2fedddf175..72d11b49ba5d716aea1f9f023b77e8192cf59065 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,152 +1,162 @@
+0.74.0-beta2
+=============
+* Fixed bugs
+    * Wrong capitalization of the label names (the sentence-style capitalization instead of the headline style)
+    * Inconsistency in the labels in the Admin panel
+    * Customer menu tabs aren't displayed as selected for the child pages
+    * An issue with the Active item in the navigation menu in the Blank and Luma themes
+    * Incorrect price alignment during checkout in the Blank and Luma themes
+    * Broken field "URL" in the Downloadable product in the Admin panel
+* GitHub issues and requests:
+    * [#1096] (https://github.com/magento/magento2/issues/1096) -- Customer model - getPrimaryAddresses without primary billing address
+    * [#1114] (https://github.com/magento/magento2/issues/1114) -- GA bug
+    * [#1116] (https://github.com/magento/magento2/issues/1116) -- Incorrect use of implode()
+    * [#1126] (https://github.com/magento/magento2/pull/1126) -- Fixed occurrences of implode with wrong argument order
+    * [#1128] (https://github.com/magento/magento2/pull/1128) -- Change wording for long operation warning
+
 0.74.0-beta1
 =============
 * Various
-    * Inline JS code is eliminated
+    * Inline JS code was eliminated
     * Fixed XSS vulnerability issues
-    * "Last login time" functionality is moved from Magento_Log module to Magento_Customer module
-    * Implemented two-strategies JS translation
+    * The "Last login time" functionality was moved from the `Magento_Log` module to the `Magento_Customer` module
+    * Implemented two-strategies JavaScript 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
+    * Accessibility improvements: WAI-ARIA in a product item on a category page and related products
+    * Checkout flow code can work with a separate DB storage
+    * <a href="http://devdocs.magento.com/guides/v1.0/release-notes/changes.html#change-devrc-unit">Unit tests moved to module directories</a>
     * Addressed naming inconsistencies in REST routes
-    * Added Advanced Developer Workflow for frontend developers
+    * 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
+    * Utilized Magento error handler in the Setup application to convert errors and warnings to exceptions
+    * Fixed an issue when private content handling did not work with enabled HTML profiler and developer mode
+    * Fixed an issue where Magento Composer Installer failed to uninstall last package
+    * Fixed an issue where a fatal error was thrown in the Setup application after running composer install with the `--no-dev` option
+    * Fixed a JavaScript issue with expanding the list of modules on the  Customize Your Store step in the Setup Wizard
+    * Fixed a JavaScript issue with returning from the Create Admin Account step to the Customize Your Store step in the Setup 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
+    * Added a new `Magento_MediaStorage` module to store components of the `Magento_Core` module
+    * Implemented JavaScript resources bundling (server side pre-processing)
+    * Replaced `Zend_Locale` with native PHP implementation
+    * Replaced `Zend_Date` with native PHP `DateTime` object/functions
+    * Refactored Magento\Framework\Exception\LocalizedException
+    * Renamed Magento\Framework\Validator\ValidatorException
+    * Renamed Magento\Framework\Controller\Result\JSON to meet PSR standard
+    * Updated the oyejorge/less.php library to the latest version
+    * Refactored WebApi framework to support particular 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
+    * Removed the `Magento_Core` module
 * 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
+    * 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
+    * Finished work around <a href="http://hhvm.com/" target="_blank">HHVM compatibility</a>
     * Fixed EAV caching on storefront
-    * Optimized DI compilation for interception
+    * Optimized dependency injection compilation for interception
 * Design
-    * New design in Backend
-    * New messages design in Installation Wizard
-    * New design for MAP on Catalog Frontend Pages
+    * New design for the Magento Admin
+    * New message design in Setup Wizard
+    * New design for Minimum Advertised Price (MAP) on storefront catalog pages
 * Fixed bugs
-    * Catch syntax error in module.xml files
+    * 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
+    * Page cache was invalidated by cron jobs after reindexing, even when nothing was changed
+    * Typo in method name in `Adminhtml/Index/Grid.php`
+    * Missing validation of table prefix in Step 2: Add a Database in the Setup wizard
+    * User hint of password strength validator in Web Setup wizard now consistent with the algorithm used
+    * New Logger did not 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
+    * 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 storefront or Admin 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
+    * Shopping Cart displayed partly broken if it 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 was broken
+    * Copy and paste detector is run against test files that are blacklisted
+    * Displayed 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
     * 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
+    * Fixed Product Tax (FPT) is not applied in shopping cart and orders for registered users
     * 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
+    * Horizontal scrolling displays 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
+    * Remove hard-coded IDs from catalog API code
+    * Bottom margin for "Wishlist Search" widget
+    * Custom option image with limits view for storefront
     * 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
+    * Cart quantity is more than in-stock amount
+    * Page layout configuration cannot be extended or overridden by the theme
     * 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
+    * Cannot place order for virtual product with customer address attribute from Admin
+    * 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 Admin
     * 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
+    * Unable to generate variations while creating a configurable product
+    * Variations are created with out of stock status if configurable product has been switched from simple product
+    * Impossible to 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
+    * Impossible to upload files in configuration
     * 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
+    * Required marker is displayed on wrong line in Admin
+    * Categories' titles in storefront navigation Menu overlap "expand" button on mobile
+    * Admin Login form alignment issues with IE9
+    * Display check boxes on Update Attributes page using a mass action
+    * Removed Test\Unit from cached dependency injection configuration for performance reasons
     * Impossible to place order with DHL EU shipping method
     * Updates while tables recreation in setup process
-    * Pagination on downloadable products tab in customer account
+    * Pagination issues in the Downloadable Products tab page in a 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
+    * Customer can't find order on storefront
+    * 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
+    * Impossible to remove added row from "Minimum Qty Allowed in Shopping Cart"
+    * Impossible to add to the cart a product with required Custom Options of "Field" and/or "Area" type
     * 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
+    * Removed `adminhtml`-only web service route for using customer user password reset tokens and setting new passwords
+    * Removed 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 update Gift Message from Admin
     * Impossible to create configurable product
-    * Impossible to create new attribute through Product Creation page
+    * Impossible to create new attribute using the 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
+    * Product image could added only after double-click in IE9
+    * Inconsistent timestamp return for Admin timezone
     * 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
+    * Deploy script modifies LESS files with `@urls-resolved: true`
+    * Zip code field is missing in customer addresses in the Admin
     * 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
+    * Empty email is sent when a registered user changes password in the storefront
     * 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
+    * Fixed an issue with `WebDriverException` for iframes in functional tests
+    * Added functional test for Admin 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 administrator 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
+    * Increased integration tests coverage for `Magento_Indexer` module
+    * Increased unit test coverage for `Magento_Cms`, `Magento_Email`, and `Magento_Sales` modules
 * 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
@@ -155,7 +165,7 @@
     * [#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)
+    * [#1016] (https://github.com/magento/magento2/issues/1016) -- Backend Javascript Errors (new installation)
     * [#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
diff --git a/Gruntfile.js b/Gruntfile.js
index 59a6f8d4ceaa89c75c1597d8ebc6214e5fe9e6cc..dbdca189e092fa0511bd2f2ca710b34cf7cfb2b5 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -8,18 +8,24 @@ module.exports = function (grunt) {
     'use strict';
 
     var _ = require('underscore'),
-        path = require('path');
+        path = require('path'),
+        configDir = './dev/tools/grunt/configs',
+        taskDir = './dev/tools/grunt/tasks';
 
-    require('./dev/tools/grunt/tasks/mage-minify')(grunt);
-    require('time-grunt')(grunt);
+    [
+        taskDir + '/mage-minify',
+        taskDir + '/deploy',
+        'time-grunt'
+    ].forEach(function (task) {
+        require(task)(grunt);
+    });
 
     require('load-grunt-config')(grunt, {
-        configPath: path.join(process.cwd(), 'dev/tools/grunt/configs'),
+        configPath: path.join(__dirname, configDir),
         init: true,
         loadGruntTasks: {
             pattern: [
-                'grunt-*',
-                '!grunt-template-jasmine-requirejs'
+                'grunt-*'
             ]
         }
     });
@@ -70,24 +76,6 @@ module.exports = function (grunt) {
             'clean:pub'
         ],
 
-        spec: [
-            'specRunner:lib',
-            'specRunner:backend',
-            'specRunner:frontend'
-        ],
-
-        unit: [
-            'jasmine:lib-unit',
-            'jasmine:backend-unit',
-            'jasmine:frontend-unit'
-        ],
-
-        integration: [
-            'jasmine:lib-integration',
-            'jasmine:backend-integration',
-            'jasmine:frontend-integration'
-        ],
-
         'legacy-build': [
             'mage-minify:legacy'
         ],
@@ -96,7 +84,15 @@ module.exports = function (grunt) {
             'usebanner:documentationCss',
             'usebanner:documentationLess',
             'usebanner:documentationHtml'
-        ]
+        ],
+
+        spec: function (theme) {
+            var runner = require('./dev/tests/js/jasmine/spec_runner');
+
+            runner.init(grunt, { theme: theme });
+
+            grunt.task.run(runner.getTasks());
+        }
     }, function (task, name) {
         grunt.registerTask(name, task);
     });
diff --git a/app/code/Magento/AdminNotification/composer.json b/app/code/Magento/AdminNotification/composer.json
index 26fe4843a27f037e11f00c3b6d2bbace9e0c9ba3..4bdbc07cfbd7e9bb30713dafc8291546c9b0ea60 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.74.0-beta1",
-        "magento/module-backend": "0.74.0-beta1",
-        "magento/module-media-storage": "0.74.0-beta1",
-        "magento/framework": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-media-storage": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "lib-libxml": "*",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Authorization/composer.json b/app/code/Magento/Authorization/composer.json
index 77ff967c18683861bf28bd13b3dd7760bbc053aa..41cca87deaa066a7e119c190d49aa72f09d4d8a9 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.74.0-beta1",
-        "magento/framework": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Backend/composer.json b/app/code/Magento/Backend/composer.json
index 659cf679b5a1d1a927053f423a23a8ecf8b3bed1..639122ecc702064bc2ceda23e59f32b21fd19f8f 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.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/module-store": "0.74.0-beta2",
+        "magento/module-directory": "0.74.0-beta2",
+        "magento/module-developer": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-cron": "0.74.0-beta2",
+        "magento/module-theme": "0.74.0-beta2",
+        "magento/module-reports": "0.74.0-beta2",
+        "magento/module-sales": "0.74.0-beta2",
+        "magento/module-quote": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-user": "0.74.0-beta2",
+        "magento/module-backup": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-translation": "0.74.0-beta2",
+        "magento/module-require-js": "0.74.0-beta2",
+        "magento/module-config": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Backup/composer.json b/app/code/Magento/Backup/composer.json
index 714e41e7aae2b3e55c16fc813238911341d8dcc0..2c9f59ec6320c18d224d40af33aa6d20c546a5d7 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.74.0-beta1",
-        "magento/module-backend": "0.74.0-beta1",
-        "magento/module-cron": "0.74.0-beta1",
-        "magento/framework": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-cron": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Bundle/composer.json b/app/code/Magento/Bundle/composer.json
index bd5de2331605a8ed5e2ef03bceed9054d2dd995e..172bf912af2924d869d8f763c172729ae41920a6 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.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/module-store": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-tax": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-sales": "0.74.0-beta2",
+        "magento/module-checkout": "0.74.0-beta2",
+        "magento/module-catalog-inventory": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-catalog-rule": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-config": "0.74.0-beta2",
+        "magento/module-gift-message": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
+        "magento/module-quote": "0.74.0-beta2",
+        "magento/module-media-storage": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "suggest": {
-        "magento/module-webapi": "0.74.0-beta1"
+        "magento/module-webapi": "0.74.0-beta2"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Captcha/composer.json b/app/code/Magento/Captcha/composer.json
index a00471c9759f5616e89b021b324ccb5c5116bd67..ee220a5e9b3af383185d71694704c4cb25b72f53 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.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/module-store": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-checkout": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Catalog/composer.json b/app/code/Magento/Catalog/composer.json
index 9a8170b92698efcd808b3e06769ad1fbf619ab8b..b0605d9539855499da59d386f5e106fa32951c96 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.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/module-store": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-cms": "0.74.0-beta2",
+        "magento/module-indexer": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-theme": "0.74.0-beta2",
+        "magento/module-checkout": "0.74.0-beta2",
+        "magento/module-log": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-widget": "0.74.0-beta2",
+        "magento/module-wishlist": "0.74.0-beta2",
+        "magento/module-tax": "0.74.0-beta2",
+        "magento/module-msrp": "0.74.0-beta2",
+        "magento/module-catalog-inventory": "0.74.0-beta2",
+        "magento/module-directory": "0.74.0-beta2",
+        "magento/module-catalog-rule": "0.74.0-beta2",
+        "magento/module-product-alert": "0.74.0-beta2",
+        "magento/module-url-rewrite": "0.74.0-beta2",
+        "magento/module-catalog-url-rewrite": "0.74.0-beta2",
+        "magento/module-page-cache": "0.74.0-beta2",
+        "magento/module-quote": "0.74.0-beta2",
+        "magento/module-config": "0.74.0-beta2",
+        "magento/module-media-storage": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "suggest": {
-        "magento/module-cookie": "0.74.0-beta1"
+        "magento/module-cookie": "0.74.0-beta2"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/category/edit/form.phtml b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/category/edit/form.phtml
index fa28528a72b8449dfb68bbb4044c5554f6f7e4bd..6386f540f8aad8f52634cd9c325cf38419eb47a2 100644
--- a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/category/edit/form.phtml
+++ b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/category/edit/form.phtml
@@ -52,7 +52,7 @@ $categoryId = $block->getCategoryId();
 
 <div data-id="information-dialog-category" class="messages" style="display: none;">
     <div class="message message-notice">
-        <div><?php echo __('This operation can take much time'); ?></div>
+        <div><?php echo __('This operation can take a long time'); ?></div>
     </div>
 </div>
 
diff --git a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/category/tree.phtml b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/category/tree.phtml
index bf8ae2b23d0d1331c944f0a1d758d87fbda82a0e..b808d1a08b89069b6c54a04dedb4c0c77b48a870 100644
--- a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/category/tree.phtml
+++ b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/category/tree.phtml
@@ -32,7 +32,7 @@
 
 <div data-id="information-dialog-tree" class="messages" style="display: none;">
     <div class="message message-notice">
-       <div><?php echo __('This operation can take much time'); ?></div>
+       <div><?php echo __('This operation can take a long time'); ?></div>
     </div>
 </div>
 <!--[if IE]>
diff --git a/app/code/Magento/CatalogImportExport/composer.json b/app/code/Magento/CatalogImportExport/composer.json
index 3bb4b80527dc8989ba4ef59f37efcd9377882ab8..3d648c064b3abec3b79a9ebf0ce4675582bece41 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.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",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-import-export": "0.74.0-beta2",
+        "magento/module-indexer": "0.74.0-beta2",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-catalog-inventory": "0.74.0-beta2",
+        "magento/module-media-storage": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "ext-ctype": "*",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/CatalogInventory/composer.json b/app/code/Magento/CatalogInventory/composer.json
index a99f0c15c70591434e213c94bd370e5acc14c7b5..a08100c30935a41452a6cdcbbca3a6fba2b62d9e 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.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/module-config": "0.74.0-beta2",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-indexer": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-quote": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/CatalogRule/composer.json b/app/code/Magento/CatalogRule/composer.json
index d7523d37ba568775f8fe18fabdb4585b482856fa..527f58c05615f46d3c9348c710cb8f5ce65b8777 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.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/module-store": "0.74.0-beta2",
+        "magento/module-rule": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-indexer": "0.74.0-beta2",
+        "magento/module-import-export": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/CatalogSearch/composer.json b/app/code/Magento/CatalogSearch/composer.json
index 9c69ab5a1b10fea15fa6fa4d44323e926a1b0c4c..d0d4169d006ce4208d00d09dc1b3dc3c87a907c5 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.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/module-store": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-search": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-directory": "0.74.0-beta2",
+        "magento/module-indexer": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-theme": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/CatalogUrlRewrite/composer.json b/app/code/Magento/CatalogUrlRewrite/composer.json
index de90f444789d867ebda8453f31af08074193e769..730aec4c662dca3ff93602e6ecfcc12d33594130 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.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/module-backend": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-catalog-import-export": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-import-export": "0.74.0-beta2",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-url-rewrite": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/CatalogWidget/composer.json b/app/code/Magento/CatalogWidget/composer.json
index 8b533a13e21623868e280a344d074c008b2c1098..772427302289cc7e94adf038c5620c8751c04d20 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.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/module-catalog": "0.74.0-beta2",
+        "magento/module-widget": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-rule": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-wishlist": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Centinel/composer.json b/app/code/Magento/Centinel/composer.json
index 2270659643400f47167fa405dd0219815331ce13..497c1378422053931b3f7c2580aeb4f9843162c5 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.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/module-store": "0.74.0-beta2",
+        "magento/module-checkout": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-sales": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Checkout/composer.json b/app/code/Magento/Checkout/composer.json
index 6c15c5a46c36fabb60a805f4c8a2a8ca3bf0b75c..a92572b3680b6c80688bc383ec8b5f72ea1a0cde 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.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/module-store": "0.74.0-beta2",
+        "magento/module-sales": "0.74.0-beta2",
+        "magento/module-catalog-inventory": "0.74.0-beta2",
+        "magento/module-config": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-payment": "0.74.0-beta2",
+        "magento/module-tax": "0.74.0-beta2",
+        "magento/module-directory": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-gift-message": "0.74.0-beta2",
+        "magento/module-wishlist": "0.74.0-beta2",
+        "magento/module-page-cache": "0.74.0-beta2",
+        "magento/module-theme": "0.74.0-beta2",
+        "magento/module-msrp": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
+        "magento/module-ui": "0.74.0-beta2",
+        "magento/module-quote": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "suggest": {
-        "magento/module-cookie": "0.74.0-beta1"
+        "magento/module-cookie": "0.74.0-beta2"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/CheckoutAgreements/composer.json b/app/code/Magento/CheckoutAgreements/composer.json
index 1597afb38007873a927009646947de57b7408854..564eb787401ac173b467a9dc1a741c80188af697 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.74.0-beta1",
-        "magento/module-store": "0.74.0-beta1",
-        "magento/module-backend": "0.74.0-beta1",
-        "magento/framework": "0.74.0-beta1",
+        "magento/module-checkout": "0.74.0-beta2",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Cms/composer.json b/app/code/Magento/Cms/composer.json
index bb170a779ef25fc387efcdcb606f631f9dfcf0b5..d98e7df4c6fc084b82a8279bf5d69c2d4c25d446 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.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/module-store": "0.74.0-beta2",
+        "magento/module-theme": "0.74.0-beta2",
+        "magento/module-widget": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-email": "0.74.0-beta2",
+        "magento/module-ui": "0.74.0-beta2",
+        "magento/module-variable": "0.74.0-beta2",
+        "magento/module-media-storage": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/CmsUrlRewrite/composer.json b/app/code/Magento/CmsUrlRewrite/composer.json
index 7f4ce715dab58c3447aa8f84308990613b359ae1..9d32b3444bbb28713fdb769c65b01506cb3dd1ae 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.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/module-store": "0.74.0-beta2",
+        "magento/module-cms": "0.74.0-beta2",
+        "magento/module-url-rewrite": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Config/composer.json b/app/code/Magento/Config/composer.json
index f67e70b620e702c1490466ca08f342f94db2da28..72d17066f3299561cd531e7a1a27f32330c58830 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.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/framework": "0.74.0-beta2",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-cron": "0.74.0-beta2",
+        "magento/module-email": "0.74.0-beta2",
+        "magento/module-directory": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-media-storage": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/ConfigurableImportExport/composer.json b/app/code/Magento/ConfigurableImportExport/composer.json
index 1144bb9390be0053eb5a529ccf54861e62a08172..159d501aab3926c6ea08cb36613de2f915b90960 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.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/module-catalog": "0.74.0-beta2",
+        "magento/module-catalog-import-export": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-import-export": "0.74.0-beta2",
+        "magento/module-configurable-product": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/ConfigurableProduct/composer.json b/app/code/Magento/ConfigurableProduct/composer.json
index b5a49513dedb3ce1b0e367e796d92ba436d9c7e1..1b82ecacc37d54c27ecdd6a2bfee6e625b40a939 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.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/module-store": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-catalog-inventory": "0.74.0-beta2",
+        "magento/module-sales": "0.74.0-beta2",
+        "magento/module-checkout": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-catalog-rule": "0.74.0-beta2",
+        "magento/module-directory": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
+        "magento/module-media-storage": "0.74.0-beta2",
+        "magento/module-quote": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "suggest": {
-      "magento/module-webapi": "0.74.0-beta1"
+      "magento/module-webapi": "0.74.0-beta2"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Contact/composer.json b/app/code/Magento/Contact/composer.json
index 85af063ad24caf5edd01ce7305a966e184d28722..57b5f1fb07d116c5a6def7ee13b40e6bd8efe874 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.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/module-config": "0.74.0-beta2",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-cms": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Cookie/composer.json b/app/code/Magento/Cookie/composer.json
index d671460b9f065a3d80741d81be7bf1508060d346..6eb0244da272a35850eaeeb2aede214145e1fea6 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.74.0-beta1",
-        "magento/framework": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "suggest": {
-        "magento/module-backend": "0.74.0-beta1"
+        "magento/module-backend": "0.74.0-beta2"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Cron/composer.json b/app/code/Magento/Cron/composer.json
index 58c67083c1b1c0d7580e5de643fed7716ad1424f..a5f2fd8de55aa27542811c9361cfac9e3d3ba001 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.74.0-beta1",
-        "magento/module-store": "0.74.0-beta1",
-        "magento/framework": "0.74.0-beta1",
+        "magento/module-config": "0.74.0-beta2",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/CurrencySymbol/composer.json b/app/code/Magento/CurrencySymbol/composer.json
index 3c4206446733865d0afe6c82bfc3255463db6ac2..7010fffc07b1b69be0f4e47d1f7cb164ee2009d7 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.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/module-config": "0.74.0-beta2",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-page-cache": "0.74.0-beta2",
+        "magento/module-directory": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Customer/composer.json b/app/code/Magento/Customer/composer.json
index c7fe524a9cd1af4ecf0af22154559c3006ce9bdf..aa814c3b434f9ca4becb84a524e2daaff6ac6154 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.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/module-store": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-directory": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-newsletter": "0.74.0-beta2",
+        "magento/module-sales": "0.74.0-beta2",
+        "magento/module-checkout": "0.74.0-beta2",
+        "magento/module-wishlist": "0.74.0-beta2",
+        "magento/module-theme": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-review": "0.74.0-beta2",
+        "magento/module-tax": "0.74.0-beta2",
+        "magento/module-page-cache": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
+        "magento/module-authorization": "0.74.0-beta2",
+        "magento/module-integration": "0.74.0-beta2",
+        "magento/module-media-storage": "0.74.0-beta2",
+        "magento/module-ui": "0.74.0-beta2",
+        "magento/module-config": "0.74.0-beta2",
+        "magento/module-quote": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "suggest": {
-        "magento/module-cookie": "0.74.0-beta1"
+        "magento/module-cookie": "0.74.0-beta2"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/CustomerImportExport/composer.json b/app/code/Magento/CustomerImportExport/composer.json
index 45ff4fa4dc755ae1e1c81d7f170153189125ac44..6163121f930528b81563fcbfd5166c6fbd3e75cb 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.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/module-store": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-import-export": "0.74.0-beta2",
+        "magento/module-directory": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/DesignEditor/composer.json b/app/code/Magento/DesignEditor/composer.json
index 7d56ea7bf7d9fb4675bf40b8e6b4de2b07f09c46..35909f252fa2800b842cd827b53d96d23e21a3f0 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.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/module-store": "0.74.0-beta2",
+        "magento/module-theme": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-translation": "0.74.0-beta2",
+        "magento/module-config": "0.74.0-beta2",
+        "magento/module-media-storage": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Developer/composer.json b/app/code/Magento/Developer/composer.json
index 11372d7006e1095473b280e83646581040a1cd43..4481cd9cef6b380a943b5c9090bbded76cf2a2c4 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.74.0-beta1",
-        "magento/framework": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Dhl/composer.json b/app/code/Magento/Dhl/composer.json
index 3318cc573a782ab25fd78bfa1255db5569a0348c..0b55a5e7fb7583d45e8f575500caeec4108fbf84 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.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",
+        "magento/module-config": "0.74.0-beta2",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-shipping": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-directory": "0.74.0-beta2",
+        "magento/module-sales": "0.74.0-beta2",
+        "magento/module-checkout": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-catalog-inventory": "0.74.0-beta2",
+        "magento/module-quote": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "lib-libxml": "*",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Directory/composer.json b/app/code/Magento/Directory/composer.json
index 27c2fd01b7b7e449f5ada161f5c5af47b6b6caa3..9fe7db235aa15e9e2fc07d008c844581b73ece0b 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.74.0-beta1",
-        "magento/module-store": "0.74.0-beta1",
-        "magento/module-backend": "0.74.0-beta1",
-        "magento/framework": "0.74.0-beta1",
+        "magento/module-config": "0.74.0-beta2",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "lib-libxml": "*",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Downloadable/composer.json b/app/code/Magento/Downloadable/composer.json
index e56b7b434fa6573d1bd8dfa7179fa98014f606e0..e1c4c4f63618d9fc705d4722a1ee9cda57b5f62a 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.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/module-store": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-tax": "0.74.0-beta2",
+        "magento/module-theme": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-sales": "0.74.0-beta2",
+        "magento/module-checkout": "0.74.0-beta2",
+        "magento/module-directory": "0.74.0-beta2",
+        "magento/module-wishlist": "0.74.0-beta2",
+        "magento/module-gift-message": "0.74.0-beta2",
+        "magento/module-catalog-inventory": "0.74.0-beta2",
+        "magento/module-msrp": "0.74.0-beta2",
+        "magento/module-config": "0.74.0-beta2",
+        "magento/module-media-storage": "0.74.0-beta2",
+        "magento/module-quote": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Eav/composer.json b/app/code/Magento/Eav/composer.json
index 68d77c9d3a8ca314c5c4d98e04ac1d0f1d476e3e..837f27f1db1cd0fec7b61a883878092b47ff7ae7 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.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/module-store": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-config": "0.74.0-beta2",
+        "magento/module-media-storage": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Email/composer.json b/app/code/Magento/Email/composer.json
index bf8f13e936765f2463b88d78cd116045af005df0..1ea2d97faf7463293d39d9e65617cfa53ae03886 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.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/module-config": "0.74.0-beta2",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-cms": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-variable": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Fedex/Setup/InstallData.php b/app/code/Magento/Fedex/Setup/InstallData.php
index ce35f99800209d55db02447bcdec8f61c0a19bbe..55363c9acc31db62d062092e70aff7541e946ef1 100755
--- a/app/code/Magento/Fedex/Setup/InstallData.php
+++ b/app/code/Magento/Fedex/Setup/InstallData.php
@@ -96,7 +96,7 @@ class InstallData implements InstallDataInterface
                         $mapNew[] = $shippingMethod;
                     }
                 }
-                $mapNew = implode($mapNew, ',');
+                $mapNew = implode(',', $mapNew);
             } else {
                 continue;
             }
diff --git a/app/code/Magento/Fedex/composer.json b/app/code/Magento/Fedex/composer.json
index 39dea42bc6425365ab31299c40337bf852d7d535..090e04498b0459ffd3621b67917a16f83004e0e6 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.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",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-shipping": "0.74.0-beta2",
+        "magento/module-directory": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-sales": "0.74.0-beta2",
+        "magento/module-catalog-inventory": "0.74.0-beta2",
+        "magento/module-quote": "0.74.0-beta2",
+        "magento/module-config": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "lib-libxml": "*",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/GiftMessage/composer.json b/app/code/Magento/GiftMessage/composer.json
index a63693d4131512cdb0481b073b7d0f1184852a2d..32828754a4c6050ddcb32c41fa72777194e61729 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.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/module-store": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-checkout": "0.74.0-beta2",
+        "magento/module-multishipping": "0.74.0-beta2",
+        "magento/module-sales": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-quote": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/GoogleAdwords/composer.json b/app/code/Magento/GoogleAdwords/composer.json
index dfdd67b7d169a12dc7507775559a32d52819a135..5910e7b7bd1c3e6ecf4ede31914c3b0742d2c8b8 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.74.0-beta1",
-        "magento/module-sales": "0.74.0-beta1",
-        "magento/framework": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-sales": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/GoogleAnalytics/composer.json b/app/code/Magento/GoogleAnalytics/composer.json
index 9b0de3cf5ba2cfde61f55022eedbba4bb6397f6a..3df1f85b5e00267b40039d4eea1a7420f8b1c032 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.74.0-beta1",
-        "magento/module-sales": "0.74.0-beta1",
-        "magento/framework": "0.74.0-beta1",
-        "magento/module-cookie": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-sales": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
+        "magento/module-cookie": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/GoogleOptimizer/composer.json b/app/code/Magento/GoogleOptimizer/composer.json
index bf30fc297c18a97ac57c2195c922bef52b1834f7..7d9229a0ae1edfb7bb880df7b31bd5e20e13563f 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.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/module-store": "0.74.0-beta2",
+        "magento/module-google-analytics": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-cms": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/GoogleShopping/composer.json b/app/code/Magento/GoogleShopping/composer.json
index 0e87a23f1e6c976f0621cf7680bb03ec2678829d..d1c57e9befe38f5d1d813b751043ebedd83cd8cf 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.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/module-store": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-directory": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-tax": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/GroupedImportExport/composer.json b/app/code/Magento/GroupedImportExport/composer.json
index 4d0479944ea3bc8b3b98cce893d5c3f725f66b1a..5a287d286f7f3ba465d0ff7b3192be469a41e2af 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.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/module-catalog": "0.74.0-beta2",
+        "magento/module-import-export": "0.74.0-beta2",
+        "magento/module-catalog-import-export": "0.74.0-beta2",
+        "magento/module-grouped-product": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/GroupedProduct/composer.json b/app/code/Magento/GroupedProduct/composer.json
index ccf2adcab0a397ae21a800994d374e0caa1805a9..7d0848de8487442f4374094c8f1166dfafcaee0b 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.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/module-store": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-catalog-inventory": "0.74.0-beta2",
+        "magento/module-sales": "0.74.0-beta2",
+        "magento/module-checkout": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-media-storage": "0.74.0-beta2",
+        "magento/module-msrp": "0.74.0-beta2",
+        "magento/module-quote": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/ImportExport/composer.json b/app/code/Magento/ImportExport/composer.json
index eaaecbe071b0fb5f992db1889de661bb60cb8f33..0babfceb059a23506fb519fbc4fe9d095221eb44 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.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",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-indexer": "0.74.0-beta2",
+        "magento/module-media-storage": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "ext-ctype": "*",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Indexer/composer.json b/app/code/Magento/Indexer/composer.json
index 31d4298885d34cf0ae7bcd3225dd0ba71eb4c191..29b3528dad550e62e60d931a2166f146d100f54f 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.74.0-beta1",
-        "magento/module-page-cache": "0.74.0-beta1",
-        "magento/framework": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-page-cache": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Integration/composer.json b/app/code/Magento/Integration/composer.json
index 3a163437da5817ff3ba602c11bb398364c030198..70db5bfe2d95a86570d9ab2039d1c91229373435 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.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/module-store": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-user": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
+        "magento/module-authorization": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/LayeredNavigation/composer.json b/app/code/Magento/LayeredNavigation/composer.json
index 6ce4ba9dde72193798efbb730fafc2208ad76889..d0f240acf188433f974962216238443f4075689c 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.74.0-beta1",
-        "magento/module-catalog": "0.74.0-beta1",
-        "magento/framework": "0.74.0-beta1",
+        "magento/module-config": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Log/composer.json b/app/code/Magento/Log/composer.json
index 889b0c8bc36410ab007e4de7dfe7f14f1540939e..55ef40e0c62e08b89a1ab092e266a95993e212bb 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.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/module-store": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/MediaStorage/composer.json b/app/code/Magento/MediaStorage/composer.json
index 051e531f2c7bfcb7bd1aa1141477d66a09b1505c..bddfdffd918bdb3462c7f604fa558076879079d2 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.74.0-beta1",
-        "magento/module-backend": "0.74.0-beta1",
-        "magento/module-config": "0.74.0-beta1",
-        "magento/framework": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-config": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Msrp/composer.json b/app/code/Magento/Msrp/composer.json
index 003e4b9a9910ef6eaf7b1aa0f40303fd0328e621..27b2fad7748b152f986ffee32f54ff46472aecbf 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.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/module-store": "0.74.0-beta2",
+        "magento/module-bundle": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-downloadable": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-grouped-product": "0.74.0-beta2",
+        "magento/module-tax": "0.74.0-beta2",
+        "magento/module-quote": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Multishipping/composer.json b/app/code/Magento/Multishipping/composer.json
index 0f052635d1a77f4b7ebedeeee5290907881d2316..437f0d8c722e7021258e8e6e0b92a60266836cdc 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.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/module-store": "0.74.0-beta2",
+        "magento/module-checkout": "0.74.0-beta2",
+        "magento/module-sales": "0.74.0-beta2",
+        "magento/module-payment": "0.74.0-beta2",
+        "magento/module-tax": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-theme": "0.74.0-beta2",
+        "magento/module-quote": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Newsletter/composer.json b/app/code/Magento/Newsletter/composer.json
index a68b7906027c84a47ebd74e70f09f2613e4f7057..460524e9b3689cdb22c9d4215a5d2826b13de4e2 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.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/module-store": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-widget": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-cms": "0.74.0-beta2",
+        "magento/module-email": "0.74.0-beta2",
+        "magento/module-cron": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-require-js": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/OfflinePayments/composer.json b/app/code/Magento/OfflinePayments/composer.json
index d7df360aa89dfd2ca358ced5c1cb7da97a33c91b..11f6f88c5c9a6d2cacb80f4308e13a8fabb4007c 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.74.0-beta1",
-        "magento/framework": "0.74.0-beta1",
+        "magento/module-payment": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/OfflineShipping/composer.json b/app/code/Magento/OfflineShipping/composer.json
index 8e0d5b7c01e48d18bdaeffa50a0ae4d41a2101ce..53659003e0037b744fb74c281efde0dcb4d3e8da 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.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/module-config": "0.74.0-beta2",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-shipping": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-sales": "0.74.0-beta2",
+        "magento/module-sales-rule": "0.74.0-beta2",
+        "magento/module-directory": "0.74.0-beta2",
+        "magento/module-checkout": "0.74.0-beta2",
+        "magento/module-quote": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/PageCache/composer.json b/app/code/Magento/PageCache/composer.json
index 7176399192439e013fc28d958b519948121c73d1..bf42a2eeb57e54ed7caabde4b982abcfbf91fc2b 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.74.0-beta1",
-        "magento/module-store": "0.74.0-beta1",
-        "magento/module-backend": "0.74.0-beta1",
-        "magento/framework": "0.74.0-beta1",
+        "magento/module-config": "0.74.0-beta2",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Payment/composer.json b/app/code/Magento/Payment/composer.json
index ed4c8488d654f6a435fc44c2b2fc58e340a2c99b..e01a5f8c9d78683adacbc9ed92cec5d014258aea 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.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/module-config": "0.74.0-beta2",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-sales": "0.74.0-beta2",
+        "magento/module-centinel": "0.74.0-beta2",
+        "magento/module-checkout": "0.74.0-beta2",
+        "magento/module-quote": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Payment/view/adminhtml/templates/info/default.phtml b/app/code/Magento/Payment/view/adminhtml/templates/info/default.phtml
index 48a8c0a91dbf4a4af37cb8d5f3586969e0782aa4..f2db06784d9fae66316ec9ca74e3619286202f03 100644
--- a/app/code/Magento/Payment/view/adminhtml/templates/info/default.phtml
+++ b/app/code/Magento/Payment/view/adminhtml/templates/info/default.phtml
@@ -19,7 +19,7 @@
 <?php foreach ($_specificInfo as $_label => $_value):?>
     <tr>
         <th><?php echo $block->escapeHtml($_label)?>:</th>
-        <td><?php echo nl2br(implode($block->getValueAsArray($_value, true), "\n"))?></td>
+        <td><?php echo nl2br(implode("\n", $block->getValueAsArray($_value, true)))?></td>
     </tr>
 <?php endforeach; ?>
 </table>
diff --git a/app/code/Magento/Payment/view/adminhtml/templates/info/pdf/default.phtml b/app/code/Magento/Payment/view/adminhtml/templates/info/pdf/default.phtml
index 89d131de11cf184b4bde0e52d914791872e289db..db51c499e2835fde214a1b75db2fbda6f9219104 100644
--- a/app/code/Magento/Payment/view/adminhtml/templates/info/pdf/default.phtml
+++ b/app/code/Magento/Payment/view/adminhtml/templates/info/pdf/default.phtml
@@ -16,8 +16,8 @@
 
 <?php if ($_specificInfo = $block->getSpecificInformation()):?>
 <?php foreach ($_specificInfo as $_label => $_value):?>
-<?php echo $_label ?>: <?php echo implode($block->getValueAsArray($_value), ' ')?>{{pdf_row_separator}}
+<?php echo $_label ?>: <?php echo implode(' ', $block->getValueAsArray($_value))?>{{pdf_row_separator}}
 <?php endforeach; ?>
 <?php endif;?>
 
-<?php echo implode($block->getChildPdfAsArray(), '{{pdf_row_separator}}') ?>
+<?php echo implode('{{pdf_row_separator}}', $block->getChildPdfAsArray()) ?>
diff --git a/app/code/Magento/Payment/view/frontend/templates/info/default.phtml b/app/code/Magento/Payment/view/frontend/templates/info/default.phtml
index cbd9eb6f607536e895b08c75ffc7a31e6773d0f5..ae2a9e0b712d7e1354961986d9bfa76efcb870e7 100644
--- a/app/code/Magento/Payment/view/frontend/templates/info/default.phtml
+++ b/app/code/Magento/Payment/view/frontend/templates/info/default.phtml
@@ -21,7 +21,7 @@
             <?php foreach ($_specificInfo as $_label => $_value):?>
                 <tr>
                     <th scope="row"><?php echo $block->escapeHtml($_label)?></th>
-                    <td><?php echo nl2br(implode($block->getValueAsArray($_value, true), "\n"))?></td>
+                    <td><?php echo nl2br(implode("\n", $block->getValueAsArray($_value, true)))?></td>
                 </tr>
             <?php endforeach; ?>
         </table>
diff --git a/app/code/Magento/Persistent/composer.json b/app/code/Magento/Persistent/composer.json
index 11767647b31449cc627a8372c3606319dea190b0..9c8da77db34ae907db6b54c55a6854a0639f87c0 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.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/module-store": "0.74.0-beta2",
+        "magento/module-checkout": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-cron": "0.74.0-beta2",
+        "magento/module-page-cache": "0.74.0-beta2",
+        "magento/module-quote": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/ProductAlert/composer.json b/app/code/Magento/ProductAlert/composer.json
index be38ece6573145e27a836b060d26807eac683370..26d2e7aec1ff07e2db2d5a71c5a1b72472c9eec0 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.74.0-beta1",
-        "magento/module-catalog": "0.74.0-beta1",
-        "magento/module-customer": "0.74.0-beta1",
-        "magento/framework": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Quote/composer.json b/app/code/Magento/Quote/composer.json
index afc1734fbd94cd125ff2cddcb2fee917123f0605..ae730104a913cb91e40c2fe35a4b6f0267d33c96 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.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/module-store": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-catalog-rule": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-authorization": "0.74.0-beta2",
+        "magento/module-payment": "0.74.0-beta2",
+        "magento/module-sales": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-directory": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-tax": "0.74.0-beta2",
+        "magento/module-catalog-inventory": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Reports/composer.json b/app/code/Magento/Reports/composer.json
index c11dd26ace010719356a7de27f8059d7d96f8d53..3723ef185420c053d25c340c108fe4be6f96a52f 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.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/module-config": "0.74.0-beta2",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-sales": "0.74.0-beta2",
+        "magento/module-cms": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-widget": "0.74.0-beta2",
+        "magento/module-log": "0.74.0-beta2",
+        "magento/module-wishlist": "0.74.0-beta2",
+        "magento/module-review": "0.74.0-beta2",
+        "magento/module-catalog-inventory": "0.74.0-beta2",
+        "magento/module-tax": "0.74.0-beta2",
+        "magento/module-downloadable": "0.74.0-beta2",
+        "magento/module-sales-rule": "0.74.0-beta2",
+        "magento/module-quote": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/RequireJs/composer.json b/app/code/Magento/RequireJs/composer.json
index 2475e1bae2fe98fa634e68912d9f55ebb07f9d0a..ea1e62c2a69b85d7204632e26c74ff33b8b6734e 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.74.0-beta1",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Review/composer.json b/app/code/Magento/Review/composer.json
index fe9732c3832fe5da41ac0dbe2ca73e37207e9e0d..b8ed58f3b392fc59bea283d23fdf2b890862ef96 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.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/module-store": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-theme": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-newsletter": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
+        "magento/module-ui": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "suggest": {
-        "magento/module-cookie": "0.74.0-beta1"
+        "magento/module-cookie": "0.74.0-beta2"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Rss/composer.json b/app/code/Magento/Rss/composer.json
index 57d61c78416508948b9db84bf98c21b072ef9c0f..8ffd701cc3c4258b28e307ddeab9d71c3575e5c7 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.74.0-beta1",
-        "magento/module-backend": "0.74.0-beta1",
-        "magento/framework": "0.74.0-beta1",
-        "magento/module-customer": "0.74.0-beta1",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Rule/composer.json b/app/code/Magento/Rule/composer.json
index 1325db3409841ea31efe8eda0424cc1ac1e8c019..a6519c1785c7d7a6cf0337f11c27611e6dd88dea 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.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",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "lib-libxml": "*",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Reorder/Renderer/Action.php b/app/code/Magento/Sales/Block/Adminhtml/Reorder/Renderer/Action.php
index 2690ecac41192aaf8c3e9e7b5c218458cf22d5e2..0e664f928847f931615f4b0361d97755c77878c1 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Reorder/Renderer/Action.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Reorder/Renderer/Action.php
@@ -93,7 +93,7 @@ class Action extends \Magento\Backend\Block\Widget\Grid\Column\Renderer\Abstract
             $attributesObject->setData($action['@']);
             $html[] = '<a ' . $attributesObject->serialize() . '>' . $action['#'] . '</a>';
         }
-        return implode($html, '');
+        return implode('', $html);
     }
 
     /**
diff --git a/app/code/Magento/Sales/composer.json b/app/code/Magento/Sales/composer.json
index 422223e5139f617720e275ad5d5e0e50d2e5896a..31b8dbf81c00ce7e59155bcdfb5e8a1bf8edef0e 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.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/module-store": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-authorization": "0.74.0-beta2",
+        "magento/module-payment": "0.74.0-beta2",
+        "magento/module-checkout": "0.74.0-beta2",
+        "magento/module-theme": "0.74.0-beta2",
+        "magento/module-sales-rule": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-widget": "0.74.0-beta2",
+        "magento/module-directory": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-tax": "0.74.0-beta2",
+        "magento/module-gift-message": "0.74.0-beta2",
+        "magento/module-reports": "0.74.0-beta2",
+        "magento/module-catalog-inventory": "0.74.0-beta2",
+        "magento/module-wishlist": "0.74.0-beta2",
+        "magento/module-email": "0.74.0-beta2",
+        "magento/module-shipping": "0.74.0-beta2",
+        "magento/module-config": "0.74.0-beta2",
+        "magento/module-media-storage": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
+        "magento/module-ui": "0.74.0-beta2",
+        "magento/module-quote": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/SalesRule/Model/Resource/Report/Collection.php b/app/code/Magento/SalesRule/Model/Resource/Report/Collection.php
index 96883618eeabdb6c71da9d0d444aff5d6d15f029..8fa981c6bee286253548a3dc7e55f75c74d0a8ba 100644
--- a/app/code/Magento/SalesRule/Model/Resource/Report/Collection.php
+++ b/app/code/Magento/SalesRule/Model/Resource/Report/Collection.php
@@ -170,7 +170,7 @@ class Collection extends \Magento\Sales\Model\Resource\Report\Collection\Abstrac
         }
 
         if (!empty($rulesFilterSqlParts)) {
-            $this->getSelect()->where(implode($rulesFilterSqlParts, ' OR '));
+            $this->getSelect()->where(implode(' OR ', $rulesFilterSqlParts));
         }
         return $this;
     }
diff --git a/app/code/Magento/SalesRule/composer.json b/app/code/Magento/SalesRule/composer.json
index 7b6dabaf938042fa2b51407057005cace699102d..e51f138d4a36c70bcfdda1c4bc5f7575a53c9bfb 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.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/module-config": "0.74.0-beta2",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-rule": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-sales": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-directory": "0.74.0-beta2",
+        "magento/module-shipping": "0.74.0-beta2",
+        "magento/module-payment": "0.74.0-beta2",
+        "magento/module-reports": "0.74.0-beta2",
+        "magento/module-catalog-rule": "0.74.0-beta2",
+        "magento/module-widget": "0.74.0-beta2",
+        "magento/module-quote": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Search/composer.json b/app/code/Magento/Search/composer.json
index 415447e9acbc405a7c005793b35d0e22a614f5f5..04db045d1fd36024eacc4f9f8d3abc4cfc815682 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.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/framework": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-catalog-search": "0.74.0-beta2",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-reports": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Sendfriend/composer.json b/app/code/Magento/Sendfriend/composer.json
index 79ff1d7a327d2abc552ae245dab2ec19f579653f..17f3ff0c27f3cdb4208d4fc6bcfe9e97b57a2a68 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.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/module-store": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-theme": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Shipping/composer.json b/app/code/Magento/Shipping/composer.json
index 4b7d996aa9f690da7d3cc9e16022535c30e4810d..a20dd8cc86d23868eb2561b8d12302570fe0f54b 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.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",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-sales": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-directory": "0.74.0-beta2",
+        "magento/module-contact": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-payment": "0.74.0-beta2",
+        "magento/module-tax": "0.74.0-beta2",
+        "magento/module-catalog-inventory": "0.74.0-beta2",
+        "magento/module-quote": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "ext-gd": "*",
         "magento/magento-composer-installer": "*"
     },
     "suggest": {
-        "magento/module-fedex": "0.74.0-beta1",
-        "magento/module-ups": "0.74.0-beta1"
+        "magento/module-fedex": "0.74.0-beta2",
+        "magento/module-ups": "0.74.0-beta2"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Sitemap/composer.json b/app/code/Magento/Sitemap/composer.json
index 12eb36220dca7a48017263c5cbec95585753bd00..8d0878ec176cf9f2e1430698ee9787e85d7c1b09 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.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/module-store": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-cms": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-catalog-url-rewrite": "0.74.0-beta2",
+        "magento/module-media-storage": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Store/composer.json b/app/code/Magento/Store/composer.json
index 23428c023c772aee7985533b95f22e38f7a75674..c8c35d4401a6e1b73cfc9803080327c9d510aad9 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.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/module-directory": "0.74.0-beta2",
+        "magento/module-ui": "0.74.0-beta2",
+        "magento/module-config": "0.74.0-beta2",
+        "magento/module-media-storage": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Tax/composer.json b/app/code/Magento/Tax/composer.json
index aadd9667575528ba6c8ca55d3799b21cc02bfb4b..b5795c8cf572ce6e042b9c5303de88a3b3688edb 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.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/module-config": "0.74.0-beta2",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-directory": "0.74.0-beta2",
+        "magento/module-checkout": "0.74.0-beta2",
+        "magento/module-shipping": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-sales": "0.74.0-beta2",
+        "magento/module-reports": "0.74.0-beta2",
+        "magento/module-quote": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/TaxImportExport/composer.json b/app/code/Magento/TaxImportExport/composer.json
index 5691c9d7310bbfd52bc0c717b997878258788548..8aedb28da45de8215cddff61e630a3e0be1d7224 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.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/module-tax": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-directory": "0.74.0-beta2",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Theme/composer.json b/app/code/Magento/Theme/composer.json
index 054b5be09cb89b6af480f563d49084c47d61356f..b26672d7ac1b1a7cd5b2d0705ba0a8e11b05962f 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.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/module-store": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-cms": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-widget": "0.74.0-beta2",
+        "magento/module-config": "0.74.0-beta2",
+        "magento/module-media-storage": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
+        "magento/module-require-js": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "suggest": {
-        "magento/module-translation": "0.74.0-beta1"
+        "magento/module-translation": "0.74.0-beta2"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Translation/composer.json b/app/code/Magento/Translation/composer.json
index 2b6b99c5a5b6684b0dd40ae7c719d2155a199496..70864da21f8b8c6a8e5a41858cada3c080ebd112 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.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/module-backend": "0.74.0-beta2",
+        "magento/module-developer": "0.74.0-beta2",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-theme": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Ui/composer.json b/app/code/Magento/Ui/composer.json
index b0982298f12b05511723d258d7c814e1a1dcb972..f87854f14f8ce4ad5f97595870996f5e3ae8105f 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.74.0-beta1",
-        "magento/framework": "0.74.0-beta1",
-        "magento/module-eav": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Ups/composer.json b/app/code/Magento/Ups/composer.json
index 3ade1437142271516c30b3e9e6bb535b66243fde..20f97b0f584c966aa380087464568b83b37d4634 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.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/module-store": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-sales": "0.74.0-beta2",
+        "magento/module-shipping": "0.74.0-beta2",
+        "magento/module-directory": "0.74.0-beta2",
+        "magento/module-catalog-inventory": "0.74.0-beta2",
+        "magento/module-quote": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/UrlRewrite/composer.json b/app/code/Magento/UrlRewrite/composer.json
index 0f6cc4c40641bbbf39e21818263d2b6e59ce3c2d..5c1a1dd683191df1966b8a4097a6916f7e8bfe50 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.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/module-catalog": "0.74.0-beta2",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-catalog-url-rewrite": "0.74.0-beta2",
+        "magento/module-cms": "0.74.0-beta2",
+        "magento/module-cms-url-rewrite": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/User/composer.json b/app/code/Magento/User/composer.json
index d38aaa90c87b16997210056787a35102cb2950f6..b594a2acc6525460f0961f3fad8ccf1c2c77f3c0 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.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/module-store": "0.74.0-beta2",
+        "magento/module-authorization": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-integration": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Usps/composer.json b/app/code/Magento/Usps/composer.json
index 68f18c23eb633ccde6f5164311a0780751b46aef..b98f0b6f9aff08165c319b08eea7597015ebb077 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.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",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/module-shipping": "0.74.0-beta2",
+        "magento/module-directory": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-sales": "0.74.0-beta2",
+        "magento/module-catalog-inventory": "0.74.0-beta2",
+        "magento/module-quote": "0.74.0-beta2",
+        "magento/module-config": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "lib-libxml": "*",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Variable/composer.json b/app/code/Magento/Variable/composer.json
index 6d7b619e65727bd62962c50a4ca9ab2159acde5d..3ebd1161f56fe1553a95f86d78d95f41cb53a1bb 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.74.0-beta1",
-        "magento/module-email": "0.74.0-beta1",
-        "magento/module-store": "0.74.0-beta1",
-        "magento/framework": "0.74.0-beta1",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-email": "0.74.0-beta2",
+        "magento/module-store": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Version/composer.json b/app/code/Magento/Version/composer.json
index 9b9831759083c9a51158378d524d2f5a07dd0769..790873f60c90f7a4ccdeb117ff9215e79d0c6b8a 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.74.0-beta1",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Webapi/composer.json b/app/code/Magento/Webapi/composer.json
index 0136c7bdf532b9264ec783b69f5e64a269f03cb9..737fbb38189e971ee9bc6d29040a741b1ad88c5e 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.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/module-store": "0.74.0-beta2",
+        "magento/module-authorization": "0.74.0-beta2",
+        "magento/module-integration": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "suggest": {
-        "magento/module-user": "0.74.0-beta1"
+        "magento/module-user": "0.74.0-beta2"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Weee/composer.json b/app/code/Magento/Weee/composer.json
index 8480dfcfa5fe338a9c6fdceeb566ecb024f8554f..25eedfda977a62a7110e0aa1a7193878f846bf34 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.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/module-store": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-tax": "0.74.0-beta2",
+        "magento/module-sales": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-directory": "0.74.0-beta2",
+        "magento/module-eav": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-quote": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Widget/composer.json b/app/code/Magento/Widget/composer.json
index 0aa395f85c8c85205b03bea4407a46211ae5801f..a1981449435f5125c48e5251ee76eeb14b77ac42 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.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/module-store": "0.74.0-beta2",
+        "magento/module-cms": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-theme": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
+        "magento/module-variable": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/code/Magento/Wishlist/composer.json b/app/code/Magento/Wishlist/composer.json
index 004b28a9a14d3769dcf3dc22f7af500a5da4e2c6..567e48897c9d618d940785d8e587c734c49cdc44 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.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/module-store": "0.74.0-beta2",
+        "magento/module-customer": "0.74.0-beta2",
+        "magento/module-catalog": "0.74.0-beta2",
+        "magento/module-checkout": "0.74.0-beta2",
+        "magento/module-theme": "0.74.0-beta2",
+        "magento/module-catalog-inventory": "0.74.0-beta2",
+        "magento/module-rss": "0.74.0-beta2",
+        "magento/module-backend": "0.74.0-beta2",
+        "magento/module-sales": "0.74.0-beta2",
+        "magento/module-grouped-product": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
+        "magento/module-ui": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "suggest": {
-        "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"
+        "magento/module-configurable-product": "0.74.0-beta2",
+        "magento/module-downloadable": "0.74.0-beta2",
+        "magento/module-bundle": "0.74.0-beta2",
+        "magento/module-cookie": "0.74.0-beta2"
     },
     "type": "magento2-module",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/design/adminhtml/Magento/backend/composer.json b/app/design/adminhtml/Magento/backend/composer.json
index fedb7a45696e89600bf4546d45e39c86d5074af0..df9acf8487c6a4c48f51fd7237f17998a2af64bf 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.74.0-beta1",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-theme",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/design/frontend/Magento/blank/composer.json b/app/design/frontend/Magento/blank/composer.json
index 4e238d267afb5e499c9f49936fa95724e4c5232f..c0d99f390e24c49932d3a13c943004b7259241d2 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.74.0-beta1",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-theme",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "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 6b06d6914a0feb010b8903bb2de4e8173a221290..7c4a0c1ab12379cec4f85df3b34bbb76efc2761e 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.74.0-beta1",
-        "magento/framework": "0.74.0-beta1",
+        "magento/theme-frontend-blank": "0.74.0-beta2",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-theme",
-    "version": "0.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/app/i18n/magento/de_de/composer.json b/app/i18n/magento/de_de/composer.json
index 4405c15797e07f2c9742718c495e0a63d8f1f9c9..3489faab6623a1096e4bce93c145e2db131f690b 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.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
     ],
     "require": {
-        "magento/framework": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta2",
         "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 e60b68a5e769d9efcac3f03e691b823a27d4e7a7..03f6fae4438e0e91e923c22312afe699e0df225e 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.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
     ],
     "require": {
-        "magento/framework": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta2",
         "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 b0583142f7b14854b893ec53aa810bce785ba0c6..7b80bcc0f53436a9be865f48c0891a3c44582e39 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.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
     ],
     "require": {
-        "magento/framework": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta2",
         "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 f265ca1a3cd3288553ca3a0d68999f15da4ac8de..56a2643eef7abb99e163df1e69543150cf0543e2 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.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
     ],
     "require": {
-        "magento/framework": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta2",
         "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 aefcd710853b420915589d47411fbf6551d5a2a2..700e4cab06051364f4e5306a08f2ec6a0856b0af 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.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
     ],
     "require": {
-        "magento/framework": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta2",
         "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 916daafa18259faa6ede5a5c45bca6d291a31c00..d6a8fb0b185001e89b576dfbf7d591f0829f39ea 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.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
     ],
     "require": {
-        "magento/framework": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta2",
         "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 4075918bcb42bcb376461e9b9ab7aac37209131a..5d4c631ba8fb2d6c41cdd3751ddd21050058c2b1 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.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
     ],
     "require": {
-        "magento/framework": "0.74.0-beta1",
+        "magento/framework": "0.74.0-beta2",
         "magento/magento-composer-installer": "*"
     },
     "type": "magento2-language",
diff --git a/composer.json b/composer.json
index c5b5d17eb8badb72eddfa355623f63ef51cad1ed..a0313c405b16650680d1ddecf2588bba16416653 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.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/composer.lock b/composer.lock
index e941f4cfd37e10882f8cee92343b703f49202ceb..00989580f30f29375e5f2fe27c8a2668836854a0 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": "d5894e8331088f5a3432dec4ee28ace4",
+    "hash": "2540c30fb9f7ddea359e3a1f9bc67097",
     "packages": [
         {
             "name": "composer/composer",
diff --git a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertChildProductsInGrid.php b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertChildProductsInGrid.php
index a467c0ad9af43e6223eb416643bdebafe9b00031..557e1c09882feee7e9194e88305861f2676b9e29 100755
--- a/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertChildProductsInGrid.php
+++ b/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertChildProductsInGrid.php
@@ -52,7 +52,7 @@ class AssertChildProductsInGrid extends AbstractConstraint
             }
         }
 
-        \PHPUnit_Framework_Assert::assertEmpty($errors, implode($errors, ' '));
+        \PHPUnit_Framework_Assert::assertEmpty($errors, implode(' ', $errors));
     }
 
     /**
diff --git a/dev/tests/integration/testsuite/Magento/Multishipping/Controller/CheckoutTest.php b/dev/tests/integration/testsuite/Magento/Multishipping/Controller/CheckoutTest.php
index 30d0ee18b96e64b214d3819cd7e58fb6f3dbb940..f4022f124511e6ff7e953af51754645b55399e28 100644
--- a/dev/tests/integration/testsuite/Magento/Multishipping/Controller/CheckoutTest.php
+++ b/dev/tests/integration/testsuite/Magento/Multishipping/Controller/CheckoutTest.php
@@ -57,11 +57,9 @@ class CheckoutTest extends \Magento\TestFramework\TestCase\AbstractController
         $customerSession = $this->_objectManager->create('Magento\Customer\Model\Session', [$logger]);
         $customerSession->setCustomerDataAsLoggedIn($customer);
         $this->checkoutSession->setCheckoutState(State::STEP_BILLING);
-
         $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(
diff --git a/dev/tests/js/.gitignore b/dev/tests/js/JsTestDriver/.gitignore
similarity index 100%
rename from dev/tests/js/.gitignore
rename to dev/tests/js/JsTestDriver/.gitignore
diff --git a/dev/tests/js/framework/qunit/qunit-1.14.0.css b/dev/tests/js/JsTestDriver/framework/qunit/qunit-1.14.0.css
similarity index 100%
rename from dev/tests/js/framework/qunit/qunit-1.14.0.css
rename to dev/tests/js/JsTestDriver/framework/qunit/qunit-1.14.0.css
diff --git a/dev/tests/js/framework/qunit/qunit-1.14.0.js b/dev/tests/js/JsTestDriver/framework/qunit/qunit-1.14.0.js
similarity index 100%
rename from dev/tests/js/framework/qunit/qunit-1.14.0.js
rename to dev/tests/js/JsTestDriver/framework/qunit/qunit-1.14.0.js
diff --git a/dev/tests/js/framework/requirejs-util.js b/dev/tests/js/JsTestDriver/framework/requirejs-util.js
similarity index 100%
rename from dev/tests/js/framework/requirejs-util.js
rename to dev/tests/js/JsTestDriver/framework/requirejs-util.js
diff --git a/dev/tests/js/framework/stub.js b/dev/tests/js/JsTestDriver/framework/stub.js
similarity index 100%
rename from dev/tests/js/framework/stub.js
rename to dev/tests/js/JsTestDriver/framework/stub.js
diff --git a/dev/tests/js/jsTestDriver.php.dist b/dev/tests/js/JsTestDriver/jsTestDriver.php.dist
similarity index 92%
rename from dev/tests/js/jsTestDriver.php.dist
rename to dev/tests/js/JsTestDriver/jsTestDriver.php.dist
index 49d93ba262e50d6a6c5916bbf82ad731d659994d..e3f8985644d0bcfc909b299627cf885f045d6099 100644
--- a/dev/tests/js/jsTestDriver.php.dist
+++ b/dev/tests/js/JsTestDriver/jsTestDriver.php.dist
@@ -11,7 +11,7 @@
 return array(
     'server' => 'http://localhost:9876',
     'load' => array(
-        '/dev/tests/js/framework',
+        '/dev/tests/js/JsTestDriver/framework',
         '/lib/web/mage/webapi.js',
         '/lib/web/mage/validation/validation.js',
         '/app/code/Magento/DesignEditor/view/adminhtml/web/js/infinitescroll.js',
@@ -33,6 +33,6 @@ return array(
         '/lib/web/mage/gallery-fullscreen.js',
         '/lib/web/mage/zoom.js',
     ),
-    'test' => array('/dev/tests/js/testsuite'),
+    'test' => array('/dev/tests/js/JsTestDriver/testsuite'),
     'JsTestDriver' => '{{path_to_jstestdriver_jar}}'
 );
diff --git a/dev/tests/js/jsTestDriverOrder.php b/dev/tests/js/JsTestDriver/jsTestDriverOrder.php
similarity index 92%
rename from dev/tests/js/jsTestDriverOrder.php
rename to dev/tests/js/JsTestDriver/jsTestDriverOrder.php
index 763e221c28cde73759221a3980d0e34758b5e303..b12aef10f57a3c4eea9993b1fa2092e7c5848e56 100644
--- a/dev/tests/js/jsTestDriverOrder.php
+++ b/dev/tests/js/JsTestDriver/jsTestDriverOrder.php
@@ -14,7 +14,7 @@ return [
     '/lib/web/underscore.js',
     '/lib/web/mage/template.js',
     '/lib/web/jquery/jquery-ui-1.9.2.js',
-    '/dev/tests/js/framework/requirejs-util.js',
+    '/dev/tests/js/JsTestDriver/framework/requirejs-util.js',
     '/lib/web/jquery/jquery.cookie.js',
     '/lib/web/mage/apply/main.js',
     '/lib/web/mage/mage.js',
diff --git a/dev/tests/js/run_js_tests.php b/dev/tests/js/JsTestDriver/run_js_tests.php
similarity index 98%
rename from dev/tests/js/run_js_tests.php
rename to dev/tests/js/JsTestDriver/run_js_tests.php
index 3bafc3318adeb11d0e8a17e33ae776c124901861..846b4681e197d1d524d1eb21a5a03add3b909b13 100644
--- a/dev/tests/js/run_js_tests.php
+++ b/dev/tests/js/JsTestDriver/run_js_tests.php
@@ -6,8 +6,8 @@
  * See COPYING.txt for license details.
  */
 
-define('RELATIVE_APP_ROOT', '../../..');
-require __DIR__ . '/../../../app/autoload.php';
+define('RELATIVE_APP_ROOT', '../../../..');
+require __DIR__ . '/../../../../app/autoload.php';
 
 $userConfig = normalize('jsTestDriver.php');
 $defaultConfig = normalize('jsTestDriver.php.dist');
diff --git a/dev/tests/js/testsuite/lib/ko/datepicker/datepicker.js b/dev/tests/js/JsTestDriver/testsuite/lib/ko/datepicker/datepicker.js
similarity index 100%
rename from dev/tests/js/testsuite/lib/ko/datepicker/datepicker.js
rename to dev/tests/js/JsTestDriver/testsuite/lib/ko/datepicker/datepicker.js
diff --git a/dev/tests/js/testsuite/lib/ko/datepicker/index.html b/dev/tests/js/JsTestDriver/testsuite/lib/ko/datepicker/index.html
similarity index 100%
rename from dev/tests/js/testsuite/lib/ko/datepicker/index.html
rename to dev/tests/js/JsTestDriver/testsuite/lib/ko/datepicker/index.html
diff --git a/dev/tests/js/testsuite/lib/storage/index.html b/dev/tests/js/JsTestDriver/testsuite/lib/storage/index.html
similarity index 100%
rename from dev/tests/js/testsuite/lib/storage/index.html
rename to dev/tests/js/JsTestDriver/testsuite/lib/storage/index.html
diff --git a/dev/tests/js/testsuite/lib/storage/test-storage.js b/dev/tests/js/JsTestDriver/testsuite/lib/storage/test-storage.js
similarity index 100%
rename from dev/tests/js/testsuite/lib/storage/test-storage.js
rename to dev/tests/js/JsTestDriver/testsuite/lib/storage/test-storage.js
diff --git a/dev/tests/js/testsuite/mage/_demo/index.html b/dev/tests/js/JsTestDriver/testsuite/mage/_demo/index.html
similarity index 100%
rename from dev/tests/js/testsuite/mage/_demo/index.html
rename to dev/tests/js/JsTestDriver/testsuite/mage/_demo/index.html
diff --git a/dev/tests/js/testsuite/mage/_demo/test.js b/dev/tests/js/JsTestDriver/testsuite/mage/_demo/test.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/_demo/test.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/_demo/test.js
diff --git a/dev/tests/js/testsuite/mage/accordion/accordion.js b/dev/tests/js/JsTestDriver/testsuite/mage/accordion/accordion.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/accordion/accordion.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/accordion/accordion.js
diff --git a/dev/tests/js/testsuite/mage/accordion/index.html b/dev/tests/js/JsTestDriver/testsuite/mage/accordion/index.html
similarity index 100%
rename from dev/tests/js/testsuite/mage/accordion/index.html
rename to dev/tests/js/JsTestDriver/testsuite/mage/accordion/index.html
diff --git a/dev/tests/js/testsuite/mage/button/button-test.js b/dev/tests/js/JsTestDriver/testsuite/mage/button/button-test.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/button/button-test.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/button/button-test.js
diff --git a/dev/tests/js/testsuite/mage/calendar/calendar-qunit.js b/dev/tests/js/JsTestDriver/testsuite/mage/calendar/calendar-qunit.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/calendar/calendar-qunit.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/calendar/calendar-qunit.js
diff --git a/dev/tests/js/testsuite/mage/calendar/calendar-test.js b/dev/tests/js/JsTestDriver/testsuite/mage/calendar/calendar-test.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/calendar/calendar-test.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/calendar/calendar-test.js
diff --git a/dev/tests/js/testsuite/mage/calendar/calendar.html b/dev/tests/js/JsTestDriver/testsuite/mage/calendar/calendar.html
similarity index 100%
rename from dev/tests/js/testsuite/mage/calendar/calendar.html
rename to dev/tests/js/JsTestDriver/testsuite/mage/calendar/calendar.html
diff --git a/dev/tests/js/testsuite/mage/calendar/date-range-test.js b/dev/tests/js/JsTestDriver/testsuite/mage/calendar/date-range-test.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/calendar/date-range-test.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/calendar/date-range-test.js
diff --git a/dev/tests/js/testsuite/mage/collapsible/content.html b/dev/tests/js/JsTestDriver/testsuite/mage/collapsible/content.html
similarity index 100%
rename from dev/tests/js/testsuite/mage/collapsible/content.html
rename to dev/tests/js/JsTestDriver/testsuite/mage/collapsible/content.html
diff --git a/dev/tests/js/testsuite/mage/collapsible/index.html b/dev/tests/js/JsTestDriver/testsuite/mage/collapsible/index.html
similarity index 100%
rename from dev/tests/js/testsuite/mage/collapsible/index.html
rename to dev/tests/js/JsTestDriver/testsuite/mage/collapsible/index.html
diff --git a/dev/tests/js/testsuite/mage/collapsible/test-collapsible.js b/dev/tests/js/JsTestDriver/testsuite/mage/collapsible/test-collapsible.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/collapsible/test-collapsible.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/collapsible/test-collapsible.js
diff --git a/dev/tests/js/testsuite/mage/decorate-test.js b/dev/tests/js/JsTestDriver/testsuite/mage/decorate-test.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/decorate-test.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/decorate-test.js
diff --git a/dev/tests/js/testsuite/mage/design_editor/adminhtml/js/infinitescroll.js b/dev/tests/js/JsTestDriver/testsuite/mage/design_editor/adminhtml/js/infinitescroll.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/design_editor/adminhtml/js/infinitescroll.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/design_editor/adminhtml/js/infinitescroll.js
diff --git a/dev/tests/js/testsuite/mage/dropdown/index.html b/dev/tests/js/JsTestDriver/testsuite/mage/dropdown/index.html
similarity index 100%
rename from dev/tests/js/testsuite/mage/dropdown/index.html
rename to dev/tests/js/JsTestDriver/testsuite/mage/dropdown/index.html
diff --git a/dev/tests/js/testsuite/mage/dropdown/test-dropdown.js b/dev/tests/js/JsTestDriver/testsuite/mage/dropdown/test-dropdown.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/dropdown/test-dropdown.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/dropdown/test-dropdown.js
diff --git a/dev/tests/js/testsuite/mage/edit_trigger/edit-trigger-test.js b/dev/tests/js/JsTestDriver/testsuite/mage/edit_trigger/edit-trigger-test.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/edit_trigger/edit-trigger-test.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/edit_trigger/edit-trigger-test.js
diff --git a/dev/tests/js/testsuite/mage/form/form-test.js b/dev/tests/js/JsTestDriver/testsuite/mage/form/form-test.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/form/form-test.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/form/form-test.js
diff --git a/dev/tests/js/testsuite/mage/gallery/gallery-fullscreen-test.js b/dev/tests/js/JsTestDriver/testsuite/mage/gallery/gallery-fullscreen-test.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/gallery/gallery-fullscreen-test.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/gallery/gallery-fullscreen-test.js
diff --git a/dev/tests/js/testsuite/mage/gallery/gallery-test.js b/dev/tests/js/JsTestDriver/testsuite/mage/gallery/gallery-test.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/gallery/gallery-test.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/gallery/gallery-test.js
diff --git a/dev/tests/js/testsuite/mage/list/index.html b/dev/tests/js/JsTestDriver/testsuite/mage/list/index.html
similarity index 100%
rename from dev/tests/js/testsuite/mage/list/index.html
rename to dev/tests/js/JsTestDriver/testsuite/mage/list/index.html
diff --git a/dev/tests/js/testsuite/mage/list/jquery-list-test.js b/dev/tests/js/JsTestDriver/testsuite/mage/list/jquery-list-test.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/list/jquery-list-test.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/list/jquery-list-test.js
diff --git a/dev/tests/js/testsuite/mage/loader/jquery-loader-test.js b/dev/tests/js/JsTestDriver/testsuite/mage/loader/jquery-loader-test.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/loader/jquery-loader-test.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/loader/jquery-loader-test.js
diff --git a/dev/tests/js/testsuite/mage/loader/loader-test.js b/dev/tests/js/JsTestDriver/testsuite/mage/loader/loader-test.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/loader/loader-test.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/loader/loader-test.js
diff --git a/dev/tests/js/testsuite/mage/loader/loader.html b/dev/tests/js/JsTestDriver/testsuite/mage/loader/loader.html
similarity index 100%
rename from dev/tests/js/testsuite/mage/loader/loader.html
rename to dev/tests/js/JsTestDriver/testsuite/mage/loader/loader.html
diff --git a/dev/tests/js/testsuite/mage/mage-test.js b/dev/tests/js/JsTestDriver/testsuite/mage/mage-test.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/mage-test.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/mage-test.js
diff --git a/dev/tests/js/testsuite/mage/menu/index.html b/dev/tests/js/JsTestDriver/testsuite/mage/menu/index.html
similarity index 100%
rename from dev/tests/js/testsuite/mage/menu/index.html
rename to dev/tests/js/JsTestDriver/testsuite/mage/menu/index.html
diff --git a/dev/tests/js/testsuite/mage/menu/test-menu.js b/dev/tests/js/JsTestDriver/testsuite/mage/menu/test-menu.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/menu/test-menu.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/menu/test-menu.js
diff --git a/dev/tests/js/testsuite/mage/requirejs/plugin/id-normalizer-test.js b/dev/tests/js/JsTestDriver/testsuite/mage/requirejs/plugin/id-normalizer-test.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/requirejs/plugin/id-normalizer-test.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/requirejs/plugin/id-normalizer-test.js
diff --git a/dev/tests/js/testsuite/mage/search/regular-search-test.js b/dev/tests/js/JsTestDriver/testsuite/mage/search/regular-search-test.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/search/regular-search-test.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/search/regular-search-test.js
diff --git a/dev/tests/js/testsuite/mage/suggest/suggest-test.js b/dev/tests/js/JsTestDriver/testsuite/mage/suggest/suggest-test.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/suggest/suggest-test.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/suggest/suggest-test.js
diff --git a/dev/tests/js/testsuite/mage/suggest/tree-suggest-test.js b/dev/tests/js/JsTestDriver/testsuite/mage/suggest/tree-suggest-test.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/suggest/tree-suggest-test.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/suggest/tree-suggest-test.js
diff --git a/dev/tests/js/testsuite/mage/tabs/index.html b/dev/tests/js/JsTestDriver/testsuite/mage/tabs/index.html
similarity index 100%
rename from dev/tests/js/testsuite/mage/tabs/index.html
rename to dev/tests/js/JsTestDriver/testsuite/mage/tabs/index.html
diff --git a/dev/tests/js/testsuite/mage/tabs/tabs-test.js b/dev/tests/js/JsTestDriver/testsuite/mage/tabs/tabs-test.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/tabs/tabs-test.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/tabs/tabs-test.js
diff --git a/dev/tests/js/testsuite/mage/tabs/tabs.js b/dev/tests/js/JsTestDriver/testsuite/mage/tabs/tabs.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/tabs/tabs.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/tabs/tabs.js
diff --git a/dev/tests/js/testsuite/mage/translate/translate-test.js b/dev/tests/js/JsTestDriver/testsuite/mage/translate/translate-test.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/translate/translate-test.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/translate/translate-test.js
diff --git a/dev/tests/js/testsuite/mage/translate_inline/translate-inline-test.js b/dev/tests/js/JsTestDriver/testsuite/mage/translate_inline/translate-inline-test.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/translate_inline/translate-inline-test.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/translate_inline/translate-inline-test.js
diff --git a/dev/tests/js/testsuite/mage/translate_inline_vde/translate-inline-vde-dialog-test.js b/dev/tests/js/JsTestDriver/testsuite/mage/translate_inline_vde/translate-inline-vde-dialog-test.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/translate_inline_vde/translate-inline-vde-dialog-test.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/translate_inline_vde/translate-inline-vde-dialog-test.js
diff --git a/dev/tests/js/testsuite/mage/translate_inline_vde/translate-inline-vde-test.js b/dev/tests/js/JsTestDriver/testsuite/mage/translate_inline_vde/translate-inline-vde-test.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/translate_inline_vde/translate-inline-vde-test.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/translate_inline_vde/translate-inline-vde-test.js
diff --git a/dev/tests/js/testsuite/mage/validation/index.html b/dev/tests/js/JsTestDriver/testsuite/mage/validation/index.html
similarity index 100%
rename from dev/tests/js/testsuite/mage/validation/index.html
rename to dev/tests/js/JsTestDriver/testsuite/mage/validation/index.html
diff --git a/dev/tests/js/testsuite/mage/validation/test-validation.js b/dev/tests/js/JsTestDriver/testsuite/mage/validation/test-validation.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/validation/test-validation.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/validation/test-validation.js
diff --git a/dev/tests/js/testsuite/mage/webapi-test.js b/dev/tests/js/JsTestDriver/testsuite/mage/webapi-test.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/webapi-test.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/webapi-test.js
diff --git a/dev/tests/js/testsuite/mage/zoom/zoom-test.js b/dev/tests/js/JsTestDriver/testsuite/mage/zoom/zoom-test.js
similarity index 100%
rename from dev/tests/js/testsuite/mage/zoom/zoom-test.js
rename to dev/tests/js/JsTestDriver/testsuite/mage/zoom/zoom-test.js
diff --git a/dev/tests/js/framework/spec_runner.js b/dev/tests/js/framework/spec_runner.js
deleted file mode 100644
index 733cad2f7c4da5516ad6abd9178787671a5d23e1..0000000000000000000000000000000000000000
--- a/dev/tests/js/framework/spec_runner.js
+++ /dev/null
@@ -1,200 +0,0 @@
-/**
- * Copyright © 2015 Magento. All rights reserved.
- * See COPYING.txt for license details.
- */
-/**
- * Creates jasmine configuration object
- *
- * @param  {String} type - type of tests
- * @param  {String} dir - area dir
- * @param  {Number} port - port to run on
- * @return {Object}
- */
-function buildConfig(type, dir, port) {
-    'use strict';
-
-    var isLib           = dir === 'lib',
-        requireConfigs  = [
-            '<%= path.spec %>/require.config.js',
-            '<%= path.spec %>/' + type + '/config/global.js'
-        ],
-        specsRoot       = '<%= path.spec %>/' + type,
-        specs           =  specsRoot + (isLib ? '/lib/**/*.js' : '/**/' + dir + '/**/*.js');
-    
-    if (!isLib) {
-        requireConfigs.push('<%= path.spec %>/' + type + '/config/' + dir + '.js');
-    }
-
-    return {
-        src: '<%= path.spec %>/shim.js',
-        options: {
-            host: 'http://localhost:' + port,
-            specs: specs,
-            templateOptions: {
-                requireConfigFile: requireConfigs
-            }
-        }
-    };
-}
-
-module.exports = function (grunt) {
-    'use strict';
-
-    var connect     = require('connect'),
-        logger      = require('morgan'),
-        serveStatic = require('serve-static'),
-        fs          = require('fs'),
-        root;
-
-    root = __dirname
-        .replace('/dev/tests/js/framework', '')
-        .replace('\\dev\\tests\\js\\framework', '');
-
-    grunt.registerMultiTask('specRunner', function () {
-        var app = connect(),
-            options,
-            area,
-            theme,
-            share,
-            middlewares;
-
-        options = this.options({
-            port: 3000,
-            theme: null,
-            areaDir: null,
-            shareDir: null,
-            enableLogs: false,
-            middleware: null
-        });
-
-        area    = options.areaDir;
-        share   = options.shareDir;
-        theme   = options.theme;
-
-        if (options.enableLogs) {
-            app.use(logger('dev'));
-        }
-
-        app.use(function (req, res, next) {
-            var url     = req.url,
-                match   = url.match(/^\/([A-Z][^\/]+)_(\w+)\/(.+)$/),
-                vendor,
-                module,
-                path,
-                getModuleUrl,
-                getThemeUrl;
-
-            /**
-             * Returns path to theme root folder
-             *
-             * @return {String}
-             */
-            function themeRoot() {
-                return [
-                    '/app/design',
-                    area,
-                    vendor,
-                    theme
-                ].join('/');
-            }
-
-            /**
-             * Based on 'thematic' parameter, returnes either path to theme's lib,
-             *     or 'lib/web'.
-             *
-             * @param  {Boolean} thematic
-             * @return {String}
-             */
-            function lib(thematic) {
-                return thematic ? themeRoot() + '/web' : '/lib/web';
-            }
-
-            if (match !== null) {
-                vendor  = match[1];
-                module  = match[2];
-                path    = match[3];
-
-                /**
-                 * Assembles modular path. If 'shared' flag provided and is truthy,
-                 *     will use share dir instead of area one.
-                 *
-                 * @param  {Boolean} shared
-                 * @return {String}
-                 */
-                getModuleUrl = function (shared) {
-                    return [
-                        '/app/code',
-                        vendor,
-                        module,
-                        'view',
-                        !!shared ? share : area,
-                        'web',
-                        path
-                    ].join('/');
-                };
-
-                /**
-                 * Assembles theme modular path.
-                 *
-                 * @return {String}
-                 */
-                getThemeUrl = function () {
-                    return [
-                        themeRoot(),
-                        vendor + '_' + module,
-                        'web',
-                        path
-                    ].join('/');
-                };
-
-                url = exists(url = getThemeUrl()) ?
-                    url :
-                    exists(url = getModuleUrl()) ?
-                        url : getModuleUrl(true);
-
-            } else if (canModify(url)) {
-                url = (exists(url = lib(true)) ? url : lib()) + req.url;
-            }
-
-            req.url = url;
-
-            next();
-        });
-
-        if (options.middleware && typeof options.middleware === 'function') {
-            middlewares = options.middleware(connect, options);
-
-            if (Array.isArray(middlewares)) {
-                middlewares.forEach(function (middleware) {
-                    app.use(middleware);
-                });
-            }
-        }
-
-        app.use(serveStatic(root));
-
-        app.listen(options.port);
-    });
-
-    /**
-     * Defines if passed file path exists
-     *
-     * @param  {String} path
-     * @return {Boolean}
-     */
-    function exists(path) {
-        return fs.existsSync(root + path);
-    }
-
-    /**
-     * Restricts url's which lead to '/_SpecRunner.html', '/dev/tests' or '.grunt' folders from being modified
-     *
-     * @param  {String} url
-     * @return {Boolean}
-     */
-    function canModify(url) {
-        return url.match(/^\/(\.grunt)|(dev\/tests)|(dev\\tests)|(_SpecRunner\.html)/) === null;
-    }
-
-    return { configure: buildConfig };
-};
diff --git a/dev/tests/js/spec/assets/apply/components/fn.js b/dev/tests/js/jasmine/assets/apply/components/fn.js
similarity index 100%
rename from dev/tests/js/spec/assets/apply/components/fn.js
rename to dev/tests/js/jasmine/assets/apply/components/fn.js
diff --git a/dev/tests/js/spec/assets/apply/config.json b/dev/tests/js/jasmine/assets/apply/config.json
similarity index 100%
rename from dev/tests/js/spec/assets/apply/config.json
rename to dev/tests/js/jasmine/assets/apply/config.json
diff --git a/dev/tests/js/spec/assets/apply/index.js b/dev/tests/js/jasmine/assets/apply/index.js
similarity index 94%
rename from dev/tests/js/spec/assets/apply/index.js
rename to dev/tests/js/jasmine/assets/apply/index.js
index 31268a6aa773230559203076bff7998a1d91c1ea..7fd9b379e1f24ef6329d9ed5c21ef02c3654c7f5 100644
--- a/dev/tests/js/spec/assets/apply/index.js
+++ b/dev/tests/js/jasmine/assets/apply/index.js
@@ -3,7 +3,7 @@
  * See COPYING.txt for license details.
  */
 define([
-    'tests/tools',
+    'tests/assets/tools',
     'tests/assets/apply/components/fn',
     'text!./config.json',
     'text!./templates/node.html'
diff --git a/dev/tests/js/spec/assets/apply/templates/node.html b/dev/tests/js/jasmine/assets/apply/templates/node.html
similarity index 100%
rename from dev/tests/js/spec/assets/apply/templates/node.html
rename to dev/tests/js/jasmine/assets/apply/templates/node.html
diff --git a/dev/tests/js/spec/assets/jsbuild/config.js b/dev/tests/js/jasmine/assets/jsbuild/config.js
similarity index 100%
rename from dev/tests/js/spec/assets/jsbuild/config.js
rename to dev/tests/js/jasmine/assets/jsbuild/config.js
diff --git a/dev/tests/js/spec/assets/jsbuild/external.js b/dev/tests/js/jasmine/assets/jsbuild/external.js
similarity index 100%
rename from dev/tests/js/spec/assets/jsbuild/external.js
rename to dev/tests/js/jasmine/assets/jsbuild/external.js
diff --git a/dev/tests/js/spec/assets/jsbuild/local.js b/dev/tests/js/jasmine/assets/jsbuild/local.js
similarity index 100%
rename from dev/tests/js/spec/assets/jsbuild/local.js
rename to dev/tests/js/jasmine/assets/jsbuild/local.js
diff --git a/dev/tests/js/spec/assets/script/config.json b/dev/tests/js/jasmine/assets/script/config.json
similarity index 100%
rename from dev/tests/js/spec/assets/script/config.json
rename to dev/tests/js/jasmine/assets/script/config.json
diff --git a/dev/tests/js/spec/assets/script/index.js b/dev/tests/js/jasmine/assets/script/index.js
similarity index 93%
rename from dev/tests/js/spec/assets/script/index.js
rename to dev/tests/js/jasmine/assets/script/index.js
index 031241f4c2d3e8beb24b9d7ee2373daa058a03f7..e9519e7ebe1e6b4e398ef06b68e59facb73850f5 100644
--- a/dev/tests/js/spec/assets/script/index.js
+++ b/dev/tests/js/jasmine/assets/script/index.js
@@ -3,7 +3,7 @@
  * See COPYING.txt for license details.
  */
 define([
-    'tests/tools',
+    'tests/assets/tools',
     'text!./config.json',
     'text!./templates/selector.html',
     'text!./templates/virtual.html'
diff --git a/dev/tests/js/spec/assets/script/templates/selector.html b/dev/tests/js/jasmine/assets/script/templates/selector.html
similarity index 100%
rename from dev/tests/js/spec/assets/script/templates/selector.html
rename to dev/tests/js/jasmine/assets/script/templates/selector.html
diff --git a/dev/tests/js/spec/assets/script/templates/virtual.html b/dev/tests/js/jasmine/assets/script/templates/virtual.html
similarity index 100%
rename from dev/tests/js/spec/assets/script/templates/virtual.html
rename to dev/tests/js/jasmine/assets/script/templates/virtual.html
diff --git a/dev/tests/js/spec/assets/text/config.js b/dev/tests/js/jasmine/assets/text/config.js
similarity index 50%
rename from dev/tests/js/spec/assets/text/config.js
rename to dev/tests/js/jasmine/assets/text/config.js
index fe8bc894e540567eb4948f04a683003932e39bda..0b0faa2d5cdd3eb68a7aeaccb5637f7c3eb97fcc 100644
--- a/dev/tests/js/spec/assets/text/config.js
+++ b/dev/tests/js/jasmine/assets/text/config.js
@@ -8,11 +8,11 @@ define(function () {
     return {
         local: {
             path: 'text!tests/assets/text/local.html',
-            result: '<span>Local Template</span>'
+            result: '<!--\n/**\n * Copyright © 2015 Magento. All rights reserved.\n * See COPYING.txt for license details.\n */\n-->\n<span>Local Template</span>'
         },
         external: {
             path: 'text!tests/assets/text/external.html',
-            result: '<span>External Template</span>'
+            result: '<!--\n/**\n * Copyright © 2015 Magento. All rights reserved.\n * See COPYING.txt for license details.\n */\n-->\n<span>External Template</span>'
         }
     };
 });
diff --git a/dev/tests/js/spec/assets/text/external.html b/dev/tests/js/jasmine/assets/text/external.html
similarity index 100%
rename from dev/tests/js/spec/assets/text/external.html
rename to dev/tests/js/jasmine/assets/text/external.html
diff --git a/dev/tests/js/spec/assets/text/local.html b/dev/tests/js/jasmine/assets/text/local.html
similarity index 100%
rename from dev/tests/js/spec/assets/text/local.html
rename to dev/tests/js/jasmine/assets/text/local.html
diff --git a/dev/tests/js/spec/tools.js b/dev/tests/js/jasmine/assets/tools.js
similarity index 100%
rename from dev/tests/js/spec/tools.js
rename to dev/tests/js/jasmine/assets/tools.js
diff --git a/dev/tests/js/jasmine/require.conf.js b/dev/tests/js/jasmine/require.conf.js
new file mode 100644
index 0000000000000000000000000000000000000000..88a0960aa1876bf8eca5c99e520f23965b83ea50
--- /dev/null
+++ b/dev/tests/js/jasmine/require.conf.js
@@ -0,0 +1,32 @@
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+
+'use strict';
+
+require.config({
+    baseUrl: './',
+    bundles: {
+        'mage/requirejs/static': [
+            'buildTools',
+            'jsbuild',
+            'statistician',
+            'text'
+        ]
+    },
+    paths: {
+        'tests': 'dev/tests/js/jasmine'
+    },
+    config: {
+        jsbuild: {
+            'dev/tests/js/jasmine/assets/jsbuild/local.js': 'define([], function () {\'use strict\'; return \'internal module\'; });'
+        },
+        text: {
+            'dev/tests/js/jasmine/assets/text/local.html': '<!--\n/**\n * Copyright © 2015 Magento. All rights reserved.\n * See COPYING.txt for license details.\n */\n-->\n<span>Local Template</span>'
+        }
+    },
+    deps: [
+        'mage/requirejs/static'
+    ]
+});
\ No newline at end of file
diff --git a/dev/tests/js/jasmine/spec_runner/index.js b/dev/tests/js/jasmine/spec_runner/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..d63429aae1270559b0ef2af345d06d8dde170b8c
--- /dev/null
+++ b/dev/tests/js/jasmine/spec_runner/index.js
@@ -0,0 +1,62 @@
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+
+'use strict';
+
+var tasks = [],
+    _ = require('underscore');
+
+function init(grunt, options) {
+    var _                   = require('underscore'),
+        stripJsonComments   = require('strip-json-comments'),
+        path                = require('path'),
+        config,
+        themes;
+        
+    config = grunt.file.read(__dirname + '/settings.json');
+    config = stripJsonComments(config);
+    config = JSON.parse(config);
+
+    themes = require(path.resolve(process.cwd(), config.themes));
+
+    if (options.theme) {
+        themes = _.pick(themes, options.theme);
+    }
+
+    tasks = Object.keys(themes);
+
+    config.themes = themes;
+
+    enableTasks(grunt, config);
+}
+
+function enableTasks(grunt, config) {
+    var jasmine = require('./tasks/jasmine'),
+        connect = require('./tasks/connect');
+
+    jasmine.init(config);
+    connect.init(config);
+
+    grunt.initConfig({
+        jasmine: jasmine.getTasks(),
+        connect: connect.getTasks()
+    });
+}
+
+function getTasks() {
+    tasks = tasks.map(function (theme) {
+        return [
+            'connect:' + theme,
+            'jasmine:' + theme
+        ]
+    });
+
+    return _.flatten(tasks);
+}
+
+module.exports = {
+    init: init,
+    getTasks: getTasks
+};
\ No newline at end of file
diff --git a/dev/tests/js/jasmine/spec_runner/settings.json b/dev/tests/js/jasmine/spec_runner/settings.json
new file mode 100644
index 0000000000000000000000000000000000000000..109da479146da84882c4a6a68e8778db0b19701d
--- /dev/null
+++ b/dev/tests/js/jasmine/spec_runner/settings.json
@@ -0,0 +1,72 @@
+{
+    "host": "http://localhost:<%= port %>",
+    "port": 8000,
+    "root": "dev/tests/js/jasmine",
+
+    /**
+     * Path to themes configuration module. Relative to Magento root.
+     * This node is replaced by formatted theme configuration by 'dev/tests/jasmine/spec_runner' module
+     */
+    "themes": "dev/tools/grunt/configs/themes",
+    
+    "files": {
+        /**
+         * Path to RequireJS library. Relative to "server.base" config.
+         */
+        "requireJs": "requirejs/require.js",
+
+        /**
+         * Overridden "grunt-contrib-jasmine" SpecRunner template.
+         */
+        "template": "<%= root %>/spec_runner/template.html",
+
+        /**
+         * These files are included to the page in <head> right after "require.js" in declared sequence.
+         */
+        "requirejsConfigs": [
+            "pub/static/_requirejs/<%= area %>/<%= name %>/<%= locale %>/requirejs-config.js",
+            "<%= root %>/require.conf.js",
+            "<%= root %>/tests/lib/**/*.conf.js",
+            "<%= root %>/tests/app/code/**/base/**/*.conf.js",
+            "<%= root %>/tests/app/code/**/<%= area %>/**/*.conf.js",
+            "<%= root %>/tests/app/design/<%= area %>/<%= name %>/**/*.conf.js"
+        ],
+
+        /**
+         * Files that contain tests. These are loaded to the page via RequireJS after all RequireJS configuration files have been loaded to the page.
+         * The sequence is ignored.
+         */
+        "specs": [
+            "<%= root %>/tests/lib/**/*.test.js",
+            "<%= root %>/tests/app/code/**/base/**/*.test.js",
+            "<%= root %>/tests/app/code/**/<%= area %>/**/*.test.js",
+            "<%= root %>/tests/app/design/<%= area %>/<%= name %>/**/*.test.js"
+        ]
+    },
+    "server": {
+        /**
+         * Directory to serve files from
+         */
+        "base": "pub/static/<%= area %>/<%= name %>/<%= locale %>",
+
+        /**
+         * Strings, mentioned here are interpreted as regular expressions. Use this option to override server's
+         *     default behaviour and serve matched urls "as is" from Magento root.
+         */
+        "serveAsIs": [
+            "^\/_SpecRunner.html",
+            "^\/dev\/tests",
+            "^\/.grunt",
+            "^\/pub\/static"
+        ],
+        "options": {
+            /**
+             * All options mentioned here are defaults for "connect" grunt task.
+             * "debug" option enables server logs
+             * "keepalive" makes "connect" task pause with set up spec server, which you can fetch by %host%:%port%/_SpecRunner.html address in browser
+             */
+            "debug": false,
+            "keepalive": false
+        }
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/js/jasmine/spec_runner/tasks/connect.js b/dev/tests/js/jasmine/spec_runner/tasks/connect.js
new file mode 100644
index 0000000000000000000000000000000000000000..d472f210d3d5fe1abd5e0ac3e68336819eb12f42
--- /dev/null
+++ b/dev/tests/js/jasmine/spec_runner/tasks/connect.js
@@ -0,0 +1,64 @@
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+
+'use strict';
+
+var tasks = {};
+
+function init(config) {
+    var serveStatic = require('serve-static'),
+        grunt       = require('grunt'),
+        _           = require('underscore'),
+        path        = require('path'),
+        ignoredPaths, middleware, themes, files, port;
+
+    port         = config.port;
+    files        = config.files;
+    themes       = config.themes;
+    ignoredPaths = config.server.serveAsIs;
+
+    function serveAsIs(path) {
+        return ignoredPaths.some(function (ignoredPath) {
+            return new RegExp(ignoredPath).test(path);
+        });
+    }
+
+    middleware = function (connect, options, middlewares) {
+        var server = serveStatic(process.cwd());
+
+        middlewares.unshift(function (req, res, next) {
+            var url = req.url;
+                
+            if (serveAsIs(url)) {
+                return server.apply(null, arguments);
+            }
+
+            return next();
+        });
+
+        return middlewares;
+    }
+
+    _.each(themes, function (themeData, themeName) {
+        var options = {
+            base: _.template(config.server.base)(themeData),
+            port: port++,
+            middleware: middleware
+        };
+
+        _.defaults(options, config.server.options);
+
+        tasks[themeName] = { options: options };
+    });
+}
+
+function getTasks() {
+    return tasks;
+}
+
+module.exports = {
+    init: init,
+    getTasks: getTasks
+};
\ No newline at end of file
diff --git a/dev/tests/js/jasmine/spec_runner/tasks/jasmine.js b/dev/tests/js/jasmine/spec_runner/tasks/jasmine.js
new file mode 100644
index 0000000000000000000000000000000000000000..9c2eaeb23996feb26f2f8f4819056cacdbc47bb0
--- /dev/null
+++ b/dev/tests/js/jasmine/spec_runner/tasks/jasmine.js
@@ -0,0 +1,65 @@
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+
+'use strict';
+
+var tasks = {},
+    _ = require('underscore');
+
+function init(config) {
+    var grunt  = require('grunt'),
+        expand = grunt.file.expand.bind(grunt.file),
+        themes, root, host, port, files;
+
+    root         = config.root;
+    port         = config.port;
+    files        = config.files;
+    host         = _.template(config.host)({ port: port });
+    themes       = config.themes;
+
+    _.each(themes, function (themeData, themeName) {
+        var specs,
+            configs,
+            render;
+
+        _.extend(themeData, { root: root });
+
+        render  = renderTemplate.bind(null, themeData);
+        specs   = files.specs.map(render);
+        specs   = expand(specs).map(cutJsExtension);
+        configs = files.requirejsConfigs.map(render);
+
+        tasks[themeName] = {
+            src: configs,
+            options: {
+                host: host,
+                template: render(files.template),
+                vendor: files.requireJs,
+
+                /**
+                 * @todo rename "helpers" to "specs" (implies overriding grunt-contrib-jasmine code)
+                 */
+                helpers: specs
+            }
+        }
+    });
+}
+
+function renderTemplate(data, template) {
+    return _.template(template)(data);
+}
+
+function cutJsExtension(path) {
+    return path.replace(/\.js$/, '');
+}
+
+function getTasks() {
+    return tasks;
+}
+
+module.exports = {
+    init: init,
+    getTasks: getTasks
+};
\ No newline at end of file
diff --git a/dev/tests/js/jasmine/spec_runner/template.html b/dev/tests/js/jasmine/spec_runner/template.html
new file mode 100644
index 0000000000000000000000000000000000000000..39c2f843480509bbedaac4a21b11209c8bd45d62
--- /dev/null
+++ b/dev/tests/js/jasmine/spec_runner/template.html
@@ -0,0 +1,30 @@
+<!--
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+-->
+
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta charset="utf-8" />
+        <title>Jasmine Spec Runner</title>
+        <link rel="shortcut icon" type="image/png" href="<%= temp %>/jasmine_favicon.png">
+        <% css.forEach(function (style) { %>
+        <link rel="stylesheet" href="<%= style %>">
+        <% }); %>
+        <% with (scripts) { %>
+            <% [].concat(polyfills, jasmine, boot, vendor, src, reporters).forEach(function (script) { %>
+            <script type="text/javascript" src="<%= script %>"></script>
+            <% }); %>
+        <% } %>
+        <script type="text/javascript">
+            var jasmineBoot = window.onload;
+            window.onload = null;
+
+            require(<%= JSON.stringify(scripts.helpers) %>, jasmineBoot);
+        </script>
+    </head>
+    <body></body>
+</html>
\ No newline at end of file
diff --git a/dev/tests/js/spec/integration/Magento/Msrp/frontend/js/msrp.js b/dev/tests/js/jasmine/tests/app/code/Magento/Msrp/frontend/js/msrp.test.js
similarity index 100%
rename from dev/tests/js/spec/integration/Magento/Msrp/frontend/js/msrp.js
rename to dev/tests/js/jasmine/tests/app/code/Magento/Msrp/frontend/js/msrp.test.js
diff --git a/dev/tests/js/spec/integration/Magento/PageCache/frontend/js/pageCache.js b/dev/tests/js/jasmine/tests/app/code/Magento/PageCache/frontend/js/page-cache.test.js
similarity index 100%
rename from dev/tests/js/spec/integration/Magento/PageCache/frontend/js/pageCache.js
rename to dev/tests/js/jasmine/tests/app/code/Magento/PageCache/frontend/js/page-cache.test.js
diff --git a/dev/tests/js/spec/unit/Magento/Ui/adminhtml/events.js b/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/lib/events.test.js
similarity index 99%
rename from dev/tests/js/spec/unit/Magento/Ui/adminhtml/events.js
rename to dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/lib/events.test.js
index c97b375562b05bc3d08dd1f2a2684b86d37b0183..bc2f08748f45e25f476cd2b0494f988b9f2bf41f 100644
--- a/dev/tests/js/spec/unit/Magento/Ui/adminhtml/events.js
+++ b/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/lib/events.test.js
@@ -2,6 +2,7 @@
  * Copyright © 2015 Magento. All rights reserved.
  * See COPYING.txt for license details.
  */
+
 define([
     'Magento_Ui/js/lib/events'
 ], function (EventBus) {
diff --git a/dev/tests/js/spec/integration/Magento/Ui/adminhtml/datepicker.js b/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/lib/ko/bind/datepicker.test.js
similarity index 99%
rename from dev/tests/js/spec/integration/Magento/Ui/adminhtml/datepicker.js
rename to dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/lib/ko/bind/datepicker.test.js
index 48c728fcf2e283474aed3270a522ceee3398d16f..9868699682a9d4d7ff0df2634fb2fc4da1b6c921 100644
--- a/dev/tests/js/spec/integration/Magento/Ui/adminhtml/datepicker.js
+++ b/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/lib/ko/bind/datepicker.test.js
@@ -2,6 +2,7 @@
  * Copyright © 2015 Magento. All rights reserved.
  * See COPYING.txt for license details.
  */
+
 define([
     'ko',
     'jquery',
diff --git a/dev/tests/js/spec/integration/lib/mage/apply.js b/dev/tests/js/jasmine/tests/lib/mage/apply.test.js
similarity index 98%
rename from dev/tests/js/spec/integration/lib/mage/apply.js
rename to dev/tests/js/jasmine/tests/lib/mage/apply.test.js
index 5e3965b5903b76d1089e57cf8d9e783065bfa342..a9d22ac7c67d2f59379da2e8aa67fdc503b8d2ae 100644
--- a/dev/tests/js/spec/integration/lib/mage/apply.js
+++ b/dev/tests/js/jasmine/tests/lib/mage/apply.test.js
@@ -4,7 +4,7 @@
  */
 define([
     'underscore',
-    'tests/tools',
+    'tests/assets/tools',
     'tests/assets/apply/index',
     'mage/apply/main'
 ], function (_, tools, config, mage) {
diff --git a/dev/tests/js/spec/integration/lib/mage/requirejs/static-jsbuild.js b/dev/tests/js/jasmine/tests/lib/mage/requirejs/static-jsbuild.test.js
similarity index 100%
rename from dev/tests/js/spec/integration/lib/mage/requirejs/static-jsbuild.js
rename to dev/tests/js/jasmine/tests/lib/mage/requirejs/static-jsbuild.test.js
diff --git a/dev/tests/js/spec/integration/lib/mage/requirejs/static-text.js b/dev/tests/js/jasmine/tests/lib/mage/requirejs/static-text.test.js
similarity index 100%
rename from dev/tests/js/spec/integration/lib/mage/requirejs/static-text.js
rename to dev/tests/js/jasmine/tests/lib/mage/requirejs/static-text.test.js
diff --git a/dev/tests/js/spec/unit/lib/mage/requirejs/statistician.js b/dev/tests/js/jasmine/tests/lib/mage/requirejs/statistician.test.js
similarity index 100%
rename from dev/tests/js/spec/unit/lib/mage/requirejs/statistician.js
rename to dev/tests/js/jasmine/tests/lib/mage/requirejs/statistician.test.js
diff --git a/dev/tests/js/spec/integration/lib/mage/scripts.js b/dev/tests/js/jasmine/tests/lib/mage/scripts.test.js
similarity index 98%
rename from dev/tests/js/spec/integration/lib/mage/scripts.js
rename to dev/tests/js/jasmine/tests/lib/mage/scripts.test.js
index 05c4c13388919dd9a0ffd482663cf9bb99eda4bc..3bfbd4b637ea97801570ff2a571e8e21c3009d9c 100644
--- a/dev/tests/js/spec/integration/lib/mage/scripts.js
+++ b/dev/tests/js/jasmine/tests/lib/mage/scripts.test.js
@@ -3,7 +3,7 @@
  * See COPYING.txt for license details.
  */
 define([
-    'tests/tools',
+    'tests/assets/tools',
     'tests/assets/script/index',
     'mage/apply/scripts'
 ], function (tools, config, processScripts) {
diff --git a/dev/tests/js/spec/unit/lib/mage/template.js b/dev/tests/js/jasmine/tests/lib/mage/template.test.js
similarity index 100%
rename from dev/tests/js/spec/unit/lib/mage/template.js
rename to dev/tests/js/jasmine/tests/lib/mage/template.test.js
diff --git a/dev/tests/js/spec/integration/config/adminhtml.js b/dev/tests/js/spec/integration/config/adminhtml.js
deleted file mode 100644
index a9a60a43acad7e385f816e2ddce011f2cf682167..0000000000000000000000000000000000000000
--- a/dev/tests/js/spec/integration/config/adminhtml.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
- * Copyright © 2015 Magento. All rights reserved.
- * See COPYING.txt for license details.
- */
-
-require.config({
-    paths: {
-        'jquery/ui': 'jquery/jquery-ui-1.9.2'
-    }
-});
diff --git a/dev/tests/js/spec/integration/config/frontend.js b/dev/tests/js/spec/integration/config/frontend.js
deleted file mode 100644
index 8791f57a90cfd289dbad10f5c140a34052b48139..0000000000000000000000000000000000000000
--- a/dev/tests/js/spec/integration/config/frontend.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
- * Copyright © 2015 Magento. All rights reserved.
- * See COPYING.txt for license details.
- */
-
-require.config({
-    paths: {
-        'jquery/ui': 'jquery/jquery-ui'    
-    }
-})
\ No newline at end of file
diff --git a/dev/tests/js/spec/integration/config/global.js b/dev/tests/js/spec/integration/config/global.js
deleted file mode 100644
index 0f9ac6f574916eec9b0ee5707333c4461eece39e..0000000000000000000000000000000000000000
--- a/dev/tests/js/spec/integration/config/global.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright © 2015 Magento. All rights reserved.
- * See COPYING.txt for license details.
- */
-require.config({
-    bundles: {
-        'mage/requirejs/static': [
-            'jsbuild',
-            'text',
-            'buildTools'
-        ]
-    },
-    config: {
-        jsbuild: {
-            'dev/tests/js/spec/assets/jsbuild/local.js': 'define([], function () {\'use strict\'; return \'internal module\'; });'
-        },
-        text: {
-            'dev/tests/js/spec/assets/text/local.html': '<span>Local Template</span>'
-        }
-    },
-    deps: [
-        'mage/requirejs/static'
-    ],
-    paths: {
-        'jquery/ui': 'jquery/jquery-ui'
-    }
-});
diff --git a/dev/tests/js/spec/require.config.js b/dev/tests/js/spec/require.config.js
deleted file mode 100644
index 2df785bb9962a997e3a19e838f834a8b1e984340..0000000000000000000000000000000000000000
--- a/dev/tests/js/spec/require.config.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * Copyright © 2015 Magento. All rights reserved.
- * See COPYING.txt for license details.
- */
-
-require.config({
-    paths: {
-        'ko': 'ko/ko',
-        'domReady': 'requirejs/domReady',
-        'text': 'requirejs/text',
-        'tests': 'dev/tests/js/spec'
-    },
-    shim: {
-        'jquery/ui': ['jquery']
-    }
-});
diff --git a/dev/tests/js/spec/shim.js b/dev/tests/js/spec/shim.js
deleted file mode 100644
index 0cbe7edb109dee558040426db6c8d14678ff7b9c..0000000000000000000000000000000000000000
--- a/dev/tests/js/spec/shim.js
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Copyright © 2015 Magento. All rights reserved.
- * See COPYING.txt for license details.
- */
-(function () {
-    'use strict';
-
-    var Ap = Array.prototype,
-        slice = Ap.slice,
-        Fp = Function.prototype;
-
-    if (!Fp.bind) {
-        /**
-         * PhantomJS doesn't support Function.prototype.bind natively, so
-         * polyfill it whenever this module is required.
-         *
-         * @param  {*} context
-         * @return {Function}
-         */
-        Fp.bind = function (context) {
-            var func = this,
-                args = slice.call(arguments, 1);
-                
-            function bound() {
-                var invokedAsConstructor = func.prototype && (this instanceof func);
-
-                return func.apply(
-                    // Ignore the context parameter when invoking the bound function
-                    // as a constructor. Note that this includes not only constructor
-                    // invocations using the new keyword but also calls to base class
-                    // constructors such as BaseClass.call(this, ...) or super(...).
-                    !invokedAsConstructor && context || this,
-                    args.concat(slice.call(arguments))
-                );
-            }
-
-            // The bound function must share the .prototype of the unbound
-            // function so that any object created by one constructor will count
-            // as an instance of both constructors.
-            bound.prototype = func.prototype;
-
-            return bound;
-        };
-    }
-
-})();
diff --git a/dev/tests/js/spec/unit/config/adminhtml.js b/dev/tests/js/spec/unit/config/adminhtml.js
deleted file mode 100644
index a9a60a43acad7e385f816e2ddce011f2cf682167..0000000000000000000000000000000000000000
--- a/dev/tests/js/spec/unit/config/adminhtml.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
- * Copyright © 2015 Magento. All rights reserved.
- * See COPYING.txt for license details.
- */
-
-require.config({
-    paths: {
-        'jquery/ui': 'jquery/jquery-ui-1.9.2'
-    }
-});
diff --git a/dev/tests/js/spec/unit/config/frontend.js b/dev/tests/js/spec/unit/config/frontend.js
deleted file mode 100644
index f6ee8dc73b131128e9cb0709f9765b060cd2e90d..0000000000000000000000000000000000000000
--- a/dev/tests/js/spec/unit/config/frontend.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
- * Copyright © 2015 Magento. All rights reserved.
- * See COPYING.txt for license details.
- */
-
-require.config({
-    paths: {
-        'jquery/ui': 'jquery/jquery-ui'
-    }
-});
diff --git a/dev/tests/js/spec/unit/config/global.js b/dev/tests/js/spec/unit/config/global.js
deleted file mode 100644
index c59abab9fc575c4c8b3c99e8ee3422c53523a79a..0000000000000000000000000000000000000000
--- a/dev/tests/js/spec/unit/config/global.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Copyright © 2015 Magento. All rights reserved.
- * See COPYING.txt for license details.
- */
-
-require.config({
-    bundles: {
-        'mage/requirejs/static': [
-            'buildTools'
-        ]
-    },
-    deps: [
-        'mage/requirejs/static'
-    ]
-});
diff --git a/dev/tests/static/testsuite/Magento/Test/Js/_files/blacklist/core.txt b/dev/tests/static/testsuite/Magento/Test/Js/_files/blacklist/core.txt
index 2ba58c46a10ad6d2ce222f759e2baa6051c067b0..9210d15d05df6a7a82ce4f6c5f1b312bf54ccf01 100644
--- a/dev/tests/static/testsuite/Magento/Test/Js/_files/blacklist/core.txt
+++ b/dev/tests/static/testsuite/Magento/Test/Js/_files/blacklist/core.txt
@@ -12,8 +12,8 @@ app/code/Magento/Sales/view/adminhtml/web/order/giftoptions_tooltip.js
 app/code/Magento/Shipping/view/adminhtml/web/order/packaging.js
 app/code/Magento/Theme/view/frontend/web/menu.js
 app/code/Magento/Variable/view/adminhtml/web/variables.js
-dev/tests/js/testsuite/mage/translate_inline_vde/translate-inline-vde-test.js
-dev/tests/js/framework/qunit
+dev/tests/js/JsTestDriver/testsuite/mage/translate_inline_vde/translate-inline-vde-test.js
+dev/tests/js/JsTestDriver/framework/qunit
 lib/web/mage/adminhtml
 lib/web/mage/captcha.js
 lib/web/legacy-build.min.js
diff --git a/dev/tools/grunt/configs/jasmine.js b/dev/tools/grunt/configs/jasmine.js
deleted file mode 100644
index 75c33b5d92f98e3df5e7e4d9922a9cb6cc0d59c8..0000000000000000000000000000000000000000
--- a/dev/tools/grunt/configs/jasmine.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Copyright © 2015 Magento. All rights reserved.
- * See COPYING.txt for license details.
- */
-
-'use strict';
-
-var path = require('path');
-
-module.exports = function (grunt) {
-    var file = path.join(process.cwd(), 'dev/tests/js/framework/spec_runner'),
-        specRunner = require(file)(grunt);
-
-    return {
-        options: {
-            template: require('grunt-template-jasmine-requirejs'),
-            ignoreEmpty: true
-        },
-        'lib-unit':               specRunner.configure('unit', 'lib', 8080),
-        'lib-integration':        specRunner.configure('integration', 'lib', 8080),
-        'backend-unit':           specRunner.configure('unit', 'adminhtml', 8000),
-        'backend-integration':    specRunner.configure('integration', 'adminhtml', 8000),
-        'frontend-unit':          specRunner.configure('unit', 'frontend', 3000),
-        'frontend-integration':   specRunner.configure('integration', 'frontend', 3000)
-    };
-};
diff --git a/dev/tools/grunt/configs/specRunner.json b/dev/tools/grunt/configs/specRunner.json
deleted file mode 100644
index 0d47c57e101a2b121e6ea5f0f67c87ca2191b70e..0000000000000000000000000000000000000000
--- a/dev/tools/grunt/configs/specRunner.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-    "options": {
-        "shareDir": "base"
-    },
-    "backend": {
-        "options": {
-            "port": 8000,
-            "areaDir": "adminhtml",
-            "theme": "backend"
-        }
-    },
-    "frontend": {
-        "options": {
-            "port": 3000,
-            "areaDir": "frontend",
-            "theme": "blank"
-        }
-    },
-    "lib": {
-        "options": {
-            "port": 8080
-        }
-    }
-}
\ No newline at end of file
diff --git a/dev/tools/grunt/tasks/deploy.js b/dev/tools/grunt/tasks/deploy.js
new file mode 100644
index 0000000000000000000000000000000000000000..bff8b1fabecaf8d9774a79aa3134c7163847ca30
--- /dev/null
+++ b/dev/tools/grunt/tasks/deploy.js
@@ -0,0 +1,35 @@
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+module.exports = function (grunt) {
+    'use strict';
+
+    var exec    = require('child_process').execSync,
+        spawn   = require('child_process').spawn,
+        log     = grunt.log.write,
+        ok      = grunt.log.ok,
+        error   = grunt.log.error;
+
+    grunt.registerTask('deploy', function () {
+        var deploy,
+            done = this.async();
+
+        log('Cleaning "pub/static"...');
+        exec('rm -rf pub/static/*');
+        ok('"pub/static" is empty.');
+
+        log('Deploying Magento application...');
+        deploy = spawn('php', ['dev/tools/Magento/Tools/View/deploy.php']);
+
+        deploy.stdout.on('data', function (data) {
+            log(data);
+        });
+
+        deploy.stdin.on('data', function (data) {
+            error(data);
+        });
+
+        deploy.on('close', done);
+    });
+};
diff --git a/lib/internal/Magento/Framework/AppInterface.php b/lib/internal/Magento/Framework/AppInterface.php
index 85c2186e67320a90827eb1499b604e9a1ade03ea..8d7f705d6661566cdaef4c424cdb9a8a351dea29 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.74.0-beta1';
+    const VERSION = '0.74.0-beta2';
 
     /**
      * Launch application
diff --git a/lib/internal/Magento/Framework/composer.json b/lib/internal/Magento/Framework/composer.json
index d45fdb1c4457449bf35ce7d6986ab78a4c86f884..6584da302fbcc5cb180a9921b029beda1a41049b 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.74.0-beta1",
+    "version": "0.74.0-beta2",
     "license": [
         "OSL-3.0",
         "AFL-3.0"
diff --git a/package.json b/package.json
index 12ffc19d59651831c958e793c61e221f076988c0..eaee4e18e2484b09731ec9a8e2a165eef83ae29c 100644
--- a/package.json
+++ b/package.json
@@ -9,11 +9,11 @@
   },
   "homepage": "http://magento.com/",
   "devDependencies": {
-    "connect": "^3.3.3",
     "grunt": "^0.4.5",
     "grunt-autoprefixer": "^2.0.0",
     "grunt-banner": "^0.3.1",
     "grunt-contrib-clean": "^0.6.0",
+    "grunt-contrib-connect": "^0.9.0",
     "grunt-contrib-cssmin": "^0.10.0",
     "grunt-contrib-imagemin": "^0.9.2",
     "grunt-contrib-jasmine": "^0.8.1",
@@ -28,6 +28,7 @@
     "morgan": "^1.5.0",
     "node-minify": "^1.0.1",
     "serve-static": "^1.7.1",
+    "strip-json-comments": "^1.0.2",
     "time-grunt": "^1.0.0",
     "underscore": "^1.7.0"
   },