diff --git a/.gitignore b/.gitignore
index c2fd2085c..e588bf1f7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -37,7 +37,3 @@ sites/simpletest
# Ignore SimpleTest multi-site environment.
simpletest
-
-# Ignore core phpcs.xml and phpunit.xml.
-core/phpcs.xml
-core/phpunit.xml
diff --git a/composer.json b/composer.json
index 7a97a4799..b9536cfe3 100644
--- a/composer.json
+++ b/composer.json
@@ -5,10 +5,10 @@
"license": "GPL-2.0+",
"require": {
"composer/installers": "^1.0.24",
- "wikimedia/composer-merge-plugin": "~1.4"
+ "wikimedia/composer-merge-plugin": "^1.4"
},
"replace": {
- "drupal/core": "~8.3"
+ "drupal/core": "^8.4"
},
"minimum-stability": "dev",
"prefer-stable": true,
diff --git a/composer.lock b/composer.lock
index eb564b8e0..21fb0fdca 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,31 +4,40 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
- "content-hash": "38fbd049e065401d0e3a8f7b92465485",
+ "content-hash": "bec46eaaa9fa07a4cbd8c84302f0d275",
"packages": [
{
"name": "asm89/stack-cors",
- "version": "1.0.0",
+ "version": "1.1.0",
"source": {
"type": "git",
"url": "https://github.com/asm89/stack-cors.git",
- "reference": "3ae8ef219bb4c9a6caf857421719aa07fa7776cc"
+ "reference": "65ccbd455370f043c2e3b93482a3813603d68731"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/asm89/stack-cors/zipball/3ae8ef219bb4c9a6caf857421719aa07fa7776cc",
- "reference": "3ae8ef219bb4c9a6caf857421719aa07fa7776cc",
+ "url": "https://api.github.com/repos/asm89/stack-cors/zipball/65ccbd455370f043c2e3b93482a3813603d68731",
+ "reference": "65ccbd455370f043c2e3b93482a3813603d68731",
"shasum": ""
},
"require": {
- "php": ">=5.3.2",
- "symfony/http-foundation": "~2.1|~3.0",
- "symfony/http-kernel": "~2.1|~3.0"
+ "php": ">=5.5.9",
+ "symfony/http-foundation": "~2.7|~3.0",
+ "symfony/http-kernel": "~2.7|~3.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^5.0 || ^4.8.10",
+ "squizlabs/php_codesniffer": "^2.3"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.1-dev"
+ }
+ },
"autoload": {
- "psr-0": {
- "Asm89\\Stack": "src/"
+ "psr-4": {
+ "Asm89\\Stack\\": "src/Asm89/Stack/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -47,20 +56,20 @@
"cors",
"stack"
],
- "time": "2016-08-01T12:05:04+00:00"
+ "time": "2017-04-11T20:03:41+00:00"
},
{
"name": "composer/installers",
- "version": "v1.2.0",
+ "version": "v1.4.0",
"source": {
"type": "git",
"url": "https://github.com/composer/installers.git",
- "reference": "d78064c68299743e0161004f2de3a0204e33b804"
+ "reference": "9ce17fb70e9a38dd8acff0636a29f5cf4d575c1b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/installers/zipball/d78064c68299743e0161004f2de3a0204e33b804",
- "reference": "d78064c68299743e0161004f2de3a0204e33b804",
+ "url": "https://api.github.com/repos/composer/installers/zipball/9ce17fb70e9a38dd8acff0636a29f5cf4d575c1b",
+ "reference": "9ce17fb70e9a38dd8acff0636a29f5cf4d575c1b",
"shasum": ""
},
"require": {
@@ -102,12 +111,17 @@
"keywords": [
"Craft",
"Dolibarr",
+ "Eliasis",
"Hurad",
"ImageCMS",
+ "Kanboard",
+ "Lan Management System",
"MODX Evo",
"Mautic",
+ "Maya",
"OXID",
"Plentymarkets",
+ "Porto",
"RadPHP",
"SMF",
"Thelia",
@@ -125,20 +139,24 @@
"croogo",
"dokuwiki",
"drupal",
+ "eZ Platform",
"elgg",
"expressionengine",
"fuelphp",
"grav",
"installer",
+ "itop",
"joomla",
"kohana",
"laravel",
+ "lavalite",
"lithium",
"magento",
"mako",
"mediawiki",
"modulework",
"moodle",
+ "osclass",
"phpbb",
"piwik",
"ppi",
@@ -147,6 +165,7 @@
"roundcube",
"shopware",
"silverstripe",
+ "sydes",
"symfony",
"typo3",
"wordpress",
@@ -154,7 +173,7 @@
"zend",
"zikula"
],
- "time": "2016-08-13T20:53:52+00:00"
+ "time": "2017-08-09T07:53:48+00:00"
},
{
"name": "composer/semver",
@@ -732,16 +751,16 @@
},
{
"name": "guzzlehttp/guzzle",
- "version": "6.2.3",
+ "version": "6.3.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
- "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006"
+ "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006",
- "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/f4db5a78a5ea468d4831de7f0bf9d9415e348699",
+ "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699",
"shasum": ""
},
"require": {
@@ -751,9 +770,12 @@
},
"require-dev": {
"ext-curl": "*",
- "phpunit/phpunit": "^4.0",
+ "phpunit/phpunit": "^4.0 || ^5.0",
"psr/log": "^1.0"
},
+ "suggest": {
+ "psr/log": "Required for using the Log middleware"
+ },
"type": "library",
"extra": {
"branch-alias": {
@@ -790,7 +812,7 @@
"rest",
"web service"
],
- "time": "2017-02-28T22:50:30+00:00"
+ "time": "2017-06-22T18:50:49+00:00"
},
{
"name": "guzzlehttp/promises",
@@ -908,60 +930,18 @@
],
"time": "2017-03-20T17:10:46+00:00"
},
- {
- "name": "ircmaxell/password-compat",
- "version": "v1.0.4",
- "source": {
- "type": "git",
- "url": "https://github.com/ircmaxell/password_compat.git",
- "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/5c5cde8822a69545767f7c7f3058cb15ff84614c",
- "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c",
- "shasum": ""
- },
- "require-dev": {
- "phpunit/phpunit": "4.*"
- },
- "type": "library",
- "autoload": {
- "files": [
- "lib/password.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Anthony Ferrara",
- "email": "ircmaxell@php.net",
- "homepage": "http://blog.ircmaxell.com"
- }
- ],
- "description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash",
- "homepage": "https://github.com/ircmaxell/password_compat",
- "keywords": [
- "hashing",
- "password"
- ],
- "time": "2014-11-20T16:49:30+00:00"
- },
{
"name": "masterminds/html5",
- "version": "2.2.2",
+ "version": "2.3.0",
"source": {
"type": "git",
"url": "https://github.com/Masterminds/html5-php.git",
- "reference": "7866e93dcf0245de22378414e0c2c7350abc45af"
+ "reference": "2c37c6c520b995b761674de3be8455a381679067"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/7866e93dcf0245de22378414e0c2c7350abc45af",
- "reference": "7866e93dcf0245de22378414e0c2c7350abc45af",
+ "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/2c37c6c520b995b761674de3be8455a381679067",
+ "reference": "2c37c6c520b995b761674de3be8455a381679067",
"shasum": ""
},
"require": {
@@ -1013,7 +993,7 @@
"serializer",
"xml"
],
- "time": "2016-09-22T11:01:11+00:00"
+ "time": "2017-09-04T12:26:28+00:00"
},
{
"name": "paragonie/random_compat",
@@ -1211,16 +1191,16 @@
},
{
"name": "symfony-cmf/routing",
- "version": "1.4.0",
+ "version": "1.4.1",
"source": {
"type": "git",
- "url": "https://github.com/symfony-cmf/Routing.git",
- "reference": "b93704ca098334f56e9b317932f21a4362e620db"
+ "url": "https://github.com/symfony-cmf/routing.git",
+ "reference": "fb1e7f85ff8c6866238b7e73a490a0a0243ae8ac"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony-cmf/Routing/zipball/b93704ca098334f56e9b317932f21a4362e620db",
- "reference": "b93704ca098334f56e9b317932f21a4362e620db",
+ "url": "https://api.github.com/repos/symfony-cmf/routing/zipball/fb1e7f85ff8c6866238b7e73a490a0a0243ae8ac",
+ "reference": "fb1e7f85ff8c6866238b7e73a490a0a0243ae8ac",
"shasum": ""
},
"require": {
@@ -1266,33 +1246,36 @@
"database",
"routing"
],
- "time": "2016-03-31T09:11:39+00:00"
+ "time": "2017-05-09T08:10:41+00:00"
},
{
"name": "symfony/class-loader",
- "version": "v2.8.18",
+ "version": "v3.2.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/class-loader.git",
- "reference": "2c8de07a8a4cc4da9c018ab7a81888b80e762f93"
+ "reference": "fc4c04bfd17130a9dccfded9578353f311967da7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/class-loader/zipball/2c8de07a8a4cc4da9c018ab7a81888b80e762f93",
- "reference": "2c8de07a8a4cc4da9c018ab7a81888b80e762f93",
+ "url": "https://api.github.com/repos/symfony/class-loader/zipball/fc4c04bfd17130a9dccfded9578353f311967da7",
+ "reference": "fc4c04bfd17130a9dccfded9578353f311967da7",
"shasum": ""
},
"require": {
- "php": ">=5.3.9",
- "symfony/polyfill-apcu": "~1.1"
+ "php": ">=5.5.9"
},
"require-dev": {
- "symfony/finder": "^2.0.5|~3.0.0"
+ "symfony/finder": "~2.8|~3.0",
+ "symfony/polyfill-apcu": "~1.1"
+ },
+ "suggest": {
+ "symfony/polyfill-apcu": "For using ApcClassLoader on HHVM"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.8-dev"
+ "dev-master": "3.2-dev"
}
},
"autoload": {
@@ -1319,41 +1302,43 @@
],
"description": "Symfony ClassLoader Component",
"homepage": "https://symfony.com",
- "time": "2017-02-18T19:13:35+00:00"
+ "time": "2017-04-12T14:13:17+00:00"
},
{
"name": "symfony/console",
- "version": "v2.8.18",
+ "version": "v3.2.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "81508e6fac4476771275a3f4f53c3fee9b956bfa"
+ "reference": "a7a17e0c6c3c4d70a211f80782e4b90ddadeaa38"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/81508e6fac4476771275a3f4f53c3fee9b956bfa",
- "reference": "81508e6fac4476771275a3f4f53c3fee9b956bfa",
+ "url": "https://api.github.com/repos/symfony/console/zipball/a7a17e0c6c3c4d70a211f80782e4b90ddadeaa38",
+ "reference": "a7a17e0c6c3c4d70a211f80782e4b90ddadeaa38",
"shasum": ""
},
"require": {
- "php": ">=5.3.9",
- "symfony/debug": "^2.7.2|~3.0.0",
+ "php": ">=5.5.9",
+ "symfony/debug": "~2.8|~3.0",
"symfony/polyfill-mbstring": "~1.0"
},
"require-dev": {
"psr/log": "~1.0",
- "symfony/event-dispatcher": "~2.1|~3.0.0",
- "symfony/process": "~2.1|~3.0.0"
+ "symfony/event-dispatcher": "~2.8|~3.0",
+ "symfony/filesystem": "~2.8|~3.0",
+ "symfony/process": "~2.8|~3.0"
},
"suggest": {
"psr/log": "For using the console logger",
"symfony/event-dispatcher": "",
+ "symfony/filesystem": "",
"symfony/process": ""
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.8-dev"
+ "dev-master": "3.2-dev"
}
},
"autoload": {
@@ -1380,37 +1365,37 @@
],
"description": "Symfony Console Component",
"homepage": "https://symfony.com",
- "time": "2017-03-04T11:00:12+00:00"
+ "time": "2017-04-26T01:39:17+00:00"
},
{
"name": "symfony/debug",
- "version": "v2.8.18",
+ "version": "v3.2.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/debug.git",
- "reference": "e90099a2958d4833a02d05b504cc06e1c234abcc"
+ "reference": "fd6eeee656a5a7b384d56f1072243fe1c0e81686"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/debug/zipball/e90099a2958d4833a02d05b504cc06e1c234abcc",
- "reference": "e90099a2958d4833a02d05b504cc06e1c234abcc",
+ "url": "https://api.github.com/repos/symfony/debug/zipball/fd6eeee656a5a7b384d56f1072243fe1c0e81686",
+ "reference": "fd6eeee656a5a7b384d56f1072243fe1c0e81686",
"shasum": ""
},
"require": {
- "php": ">=5.3.9",
+ "php": ">=5.5.9",
"psr/log": "~1.0"
},
"conflict": {
"symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
},
"require-dev": {
- "symfony/class-loader": "~2.2|~3.0.0",
- "symfony/http-kernel": "~2.3.24|~2.5.9|^2.6.2|~3.0.0"
+ "symfony/class-loader": "~2.8|~3.0",
+ "symfony/http-kernel": "~2.8|~3.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.8-dev"
+ "dev-master": "3.2-dev"
}
},
"autoload": {
@@ -1437,32 +1422,32 @@
],
"description": "Symfony Debug Component",
"homepage": "https://symfony.com",
- "time": "2017-02-18T19:13:35+00:00"
+ "time": "2017-04-19T20:17:50+00:00"
},
{
"name": "symfony/dependency-injection",
- "version": "v2.8.18",
+ "version": "v3.2.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "efdbeefa454a41154fd99a6f0489f0e9cb46c497"
+ "reference": "5e00857475b6d1fa31ff4c76f1fddf1cfa9e8d59"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/efdbeefa454a41154fd99a6f0489f0e9cb46c497",
- "reference": "efdbeefa454a41154fd99a6f0489f0e9cb46c497",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/5e00857475b6d1fa31ff4c76f1fddf1cfa9e8d59",
+ "reference": "5e00857475b6d1fa31ff4c76f1fddf1cfa9e8d59",
"shasum": ""
},
"require": {
- "php": ">=5.3.9"
+ "php": ">=5.5.9"
},
"conflict": {
- "symfony/expression-language": "<2.6"
+ "symfony/yaml": "<3.2"
},
"require-dev": {
- "symfony/config": "~2.2|~3.0.0",
- "symfony/expression-language": "~2.6|~3.0.0",
- "symfony/yaml": "~2.3.42|~2.7.14|~2.8.7|~3.0.7"
+ "symfony/config": "~2.8|~3.0",
+ "symfony/expression-language": "~2.8|~3.0",
+ "symfony/yaml": "~3.2"
},
"suggest": {
"symfony/config": "",
@@ -1473,7 +1458,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.8-dev"
+ "dev-master": "3.2-dev"
}
},
"autoload": {
@@ -1500,31 +1485,31 @@
],
"description": "Symfony DependencyInjection Component",
"homepage": "https://symfony.com",
- "time": "2017-02-28T12:31:05+00:00"
+ "time": "2017-04-26T01:39:17+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v2.8.18",
+ "version": "v3.2.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "bb4ec47e8e109c1c1172145732d0aa468d967cd0"
+ "reference": "b8a401f733b43251e1d088c589368b2a94155e40"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/bb4ec47e8e109c1c1172145732d0aa468d967cd0",
- "reference": "bb4ec47e8e109c1c1172145732d0aa468d967cd0",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/b8a401f733b43251e1d088c589368b2a94155e40",
+ "reference": "b8a401f733b43251e1d088c589368b2a94155e40",
"shasum": ""
},
"require": {
- "php": ">=5.3.9"
+ "php": ">=5.5.9"
},
"require-dev": {
"psr/log": "~1.0",
- "symfony/config": "^2.0.5|~3.0.0",
- "symfony/dependency-injection": "~2.6|~3.0.0",
- "symfony/expression-language": "~2.6|~3.0.0",
- "symfony/stopwatch": "~2.3|~3.0.0"
+ "symfony/config": "~2.8|~3.0",
+ "symfony/dependency-injection": "~2.8|~3.0",
+ "symfony/expression-language": "~2.8|~3.0",
+ "symfony/stopwatch": "~2.8|~3.0"
},
"suggest": {
"symfony/dependency-injection": "",
@@ -1533,7 +1518,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.8-dev"
+ "dev-master": "3.2-dev"
}
},
"autoload": {
@@ -1560,35 +1545,33 @@
],
"description": "Symfony EventDispatcher Component",
"homepage": "https://symfony.com",
- "time": "2017-02-21T08:33:48+00:00"
+ "time": "2017-05-01T14:58:48+00:00"
},
{
"name": "symfony/http-foundation",
- "version": "v2.8.18",
+ "version": "v3.2.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "88af747e7af17d8d7d439ad4639dc3e23ddd3edd"
+ "reference": "9de6add7f731e5af7f5b2e9c0da365e43383ebef"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/88af747e7af17d8d7d439ad4639dc3e23ddd3edd",
- "reference": "88af747e7af17d8d7d439ad4639dc3e23ddd3edd",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/9de6add7f731e5af7f5b2e9c0da365e43383ebef",
+ "reference": "9de6add7f731e5af7f5b2e9c0da365e43383ebef",
"shasum": ""
},
"require": {
- "php": ">=5.3.9",
- "symfony/polyfill-mbstring": "~1.1",
- "symfony/polyfill-php54": "~1.0",
- "symfony/polyfill-php55": "~1.0"
+ "php": ">=5.5.9",
+ "symfony/polyfill-mbstring": "~1.1"
},
"require-dev": {
- "symfony/expression-language": "~2.4|~3.0.0"
+ "symfony/expression-language": "~2.8|~3.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.8-dev"
+ "dev-master": "3.2-dev"
}
},
"autoload": {
@@ -1615,48 +1598,48 @@
],
"description": "Symfony HttpFoundation Component",
"homepage": "https://symfony.com",
- "time": "2017-03-04T12:20:59+00:00"
+ "time": "2017-05-01T14:55:58+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v2.8.18",
+ "version": "v3.2.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "18d7a01ac14ffa5a652a635c402b9777f858fc1a"
+ "reference": "46e8b209abab55c072c47d72d5cd1d62c0585e05"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/18d7a01ac14ffa5a652a635c402b9777f858fc1a",
- "reference": "18d7a01ac14ffa5a652a635c402b9777f858fc1a",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/46e8b209abab55c072c47d72d5cd1d62c0585e05",
+ "reference": "46e8b209abab55c072c47d72d5cd1d62c0585e05",
"shasum": ""
},
"require": {
- "php": ">=5.3.9",
+ "php": ">=5.5.9",
"psr/log": "~1.0",
- "symfony/debug": "^2.6.2",
- "symfony/event-dispatcher": "^2.6.7|~3.0.0",
- "symfony/http-foundation": "~2.7.20|~2.8.13|~3.1.6"
+ "symfony/debug": "~2.8|~3.0",
+ "symfony/event-dispatcher": "~2.8|~3.0",
+ "symfony/http-foundation": "~2.8.13|~3.1.6|~3.2"
},
"conflict": {
- "symfony/config": "<2.7"
+ "symfony/config": "<2.8"
},
"require-dev": {
- "symfony/browser-kit": "~2.3|~3.0.0",
- "symfony/class-loader": "~2.1|~3.0.0",
- "symfony/config": "~2.8",
- "symfony/console": "~2.3|~3.0.0",
- "symfony/css-selector": "^2.0.5|~3.0.0",
- "symfony/dependency-injection": "~2.8|~3.0.0",
- "symfony/dom-crawler": "^2.0.5|~3.0.0",
- "symfony/expression-language": "~2.4|~3.0.0",
- "symfony/finder": "^2.0.5|~3.0.0",
- "symfony/process": "^2.0.5|~3.0.0",
- "symfony/routing": "~2.8|~3.0.0",
- "symfony/stopwatch": "~2.3|~3.0.0",
- "symfony/templating": "~2.2|~3.0.0",
- "symfony/translation": "^2.0.5|~3.0.0",
- "symfony/var-dumper": "~2.6|~3.0.0"
+ "symfony/browser-kit": "~2.8|~3.0",
+ "symfony/class-loader": "~2.8|~3.0",
+ "symfony/config": "~2.8|~3.0",
+ "symfony/console": "~2.8|~3.0",
+ "symfony/css-selector": "~2.8|~3.0",
+ "symfony/dependency-injection": "~2.8|~3.0",
+ "symfony/dom-crawler": "~2.8|~3.0",
+ "symfony/expression-language": "~2.8|~3.0",
+ "symfony/finder": "~2.8|~3.0",
+ "symfony/process": "~2.8|~3.0",
+ "symfony/routing": "~2.8|~3.0",
+ "symfony/stopwatch": "~2.8|~3.0",
+ "symfony/templating": "~2.8|~3.0",
+ "symfony/translation": "~2.8|~3.0",
+ "symfony/var-dumper": "~3.2"
},
"suggest": {
"symfony/browser-kit": "",
@@ -1670,7 +1653,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.8-dev"
+ "dev-master": "3.2-dev"
}
},
"autoload": {
@@ -1697,60 +1680,7 @@
],
"description": "Symfony HttpKernel Component",
"homepage": "https://symfony.com",
- "time": "2017-03-06T03:54:35+00:00"
- },
- {
- "name": "symfony/polyfill-apcu",
- "version": "v1.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-apcu.git",
- "reference": "5d4474f447403c3348e37b70acc2b95475b7befa"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/5d4474f447403c3348e37b70acc2b95475b7befa",
- "reference": "5d4474f447403c3348e37b70acc2b95475b7befa",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.3-dev"
- }
- },
- "autoload": {
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill backporting apcu_* functions to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "apcu",
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "time": "2016-11-14T01:06:16+00:00"
+ "time": "2017-05-01T17:46:48+00:00"
},
{
"name": "symfony/polyfill-iconv",
@@ -1870,141 +1800,27 @@
],
"time": "2016-11-14T01:06:16+00:00"
},
- {
- "name": "symfony/polyfill-php54",
- "version": "v1.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php54.git",
- "reference": "90e085822963fdcc9d1c5b73deb3d2e5783b16a0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php54/zipball/90e085822963fdcc9d1c5b73deb3d2e5783b16a0",
- "reference": "90e085822963fdcc9d1c5b73deb3d2e5783b16a0",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.3-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Php54\\": ""
- },
- "files": [
- "bootstrap.php"
- ],
- "classmap": [
- "Resources/stubs"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill backporting some PHP 5.4+ features to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "time": "2016-11-14T01:06:16+00:00"
- },
- {
- "name": "symfony/polyfill-php55",
- "version": "v1.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php55.git",
- "reference": "03e3f0350bca2220e3623a0e340eef194405fc67"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php55/zipball/03e3f0350bca2220e3623a0e340eef194405fc67",
- "reference": "03e3f0350bca2220e3623a0e340eef194405fc67",
- "shasum": ""
- },
- "require": {
- "ircmaxell/password-compat": "~1.0",
- "php": ">=5.3.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.3-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Php55\\": ""
- },
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill backporting some PHP 5.5+ features to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "time": "2016-11-14T01:06:16+00:00"
- },
{
"name": "symfony/process",
- "version": "v2.8.18",
+ "version": "v3.2.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "41336b20b52f5fd5b42a227e394e673c8071118f"
+ "reference": "999c2cf5061e627e6cd551dc9ebf90dd1d11d9f0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/41336b20b52f5fd5b42a227e394e673c8071118f",
- "reference": "41336b20b52f5fd5b42a227e394e673c8071118f",
+ "url": "https://api.github.com/repos/symfony/process/zipball/999c2cf5061e627e6cd551dc9ebf90dd1d11d9f0",
+ "reference": "999c2cf5061e627e6cd551dc9ebf90dd1d11d9f0",
"shasum": ""
},
"require": {
- "php": ">=5.3.9"
+ "php": ">=5.5.9"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.8-dev"
+ "dev-master": "3.2-dev"
}
},
"autoload": {
@@ -2031,7 +1847,7 @@
],
"description": "Symfony Process Component",
"homepage": "https://symfony.com",
- "time": "2017-03-04T12:20:59+00:00"
+ "time": "2017-04-12T14:13:17+00:00"
},
{
"name": "symfony/psr-http-message-bridge",
@@ -2095,32 +1911,32 @@
},
{
"name": "symfony/routing",
- "version": "v2.8.18",
+ "version": "v3.2.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
- "reference": "d145cd396f702c497cb24b21785ddac90a23fe71"
+ "reference": "5029745d6d463585e8b487dbc83d6333f408853a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/d145cd396f702c497cb24b21785ddac90a23fe71",
- "reference": "d145cd396f702c497cb24b21785ddac90a23fe71",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/5029745d6d463585e8b487dbc83d6333f408853a",
+ "reference": "5029745d6d463585e8b487dbc83d6333f408853a",
"shasum": ""
},
"require": {
- "php": ">=5.3.9"
+ "php": ">=5.5.9"
},
"conflict": {
- "symfony/config": "<2.7"
+ "symfony/config": "<2.8"
},
"require-dev": {
"doctrine/annotations": "~1.0",
"doctrine/common": "~2.2",
"psr/log": "~1.0",
- "symfony/config": "~2.7|~3.0.0",
- "symfony/expression-language": "~2.4|~3.0.0",
- "symfony/http-foundation": "~2.3|~3.0.0",
- "symfony/yaml": "^2.0.5|~3.0.0"
+ "symfony/config": "~2.8|~3.0",
+ "symfony/expression-language": "~2.8|~3.0",
+ "symfony/http-foundation": "~2.8|~3.0",
+ "symfony/yaml": "~2.8|~3.0"
},
"suggest": {
"doctrine/annotations": "For using the annotation loader",
@@ -2133,7 +1949,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.8-dev"
+ "dev-master": "3.2-dev"
}
},
"autoload": {
@@ -2166,44 +1982,55 @@
"uri",
"url"
],
- "time": "2017-03-02T15:56:34+00:00"
+ "time": "2017-04-12T14:13:17+00:00"
},
{
"name": "symfony/serializer",
- "version": "v2.8.18",
+ "version": "v3.2.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/serializer.git",
- "reference": "df3d919f00177f599c8970e86112c7582b08a582"
+ "reference": "6eeae1ba82005b761a53b7b8cf960bbf40c95986"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/serializer/zipball/df3d919f00177f599c8970e86112c7582b08a582",
- "reference": "df3d919f00177f599c8970e86112c7582b08a582",
+ "url": "https://api.github.com/repos/symfony/serializer/zipball/6eeae1ba82005b761a53b7b8cf960bbf40c95986",
+ "reference": "6eeae1ba82005b761a53b7b8cf960bbf40c95986",
"shasum": ""
},
"require": {
- "php": ">=5.3.9",
- "symfony/polyfill-php55": "~1.0"
+ "php": ">=5.5.9"
+ },
+ "conflict": {
+ "symfony/property-access": ">=3.0,<3.0.4|>=2.8,<2.8.4",
+ "symfony/property-info": "<3.1",
+ "symfony/yaml": "<3.1"
},
"require-dev": {
"doctrine/annotations": "~1.0",
"doctrine/cache": "~1.0",
- "symfony/config": "~2.2|~3.0.0",
- "symfony/property-access": "~2.3|~3.0.0",
- "symfony/yaml": "^2.0.5|~3.0.0"
+ "phpdocumentor/reflection-docblock": "~3.0",
+ "symfony/cache": "~3.1",
+ "symfony/config": "~2.8|~3.0",
+ "symfony/http-foundation": "~2.8|~3.0",
+ "symfony/property-access": "~2.8|~3.0",
+ "symfony/property-info": "~3.1",
+ "symfony/yaml": "~3.1"
},
"suggest": {
"doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.",
"doctrine/cache": "For using the default cached annotation reader and metadata cache.",
+ "psr/cache-implementation": "For using the metadata cache.",
"symfony/config": "For using the XML mapping loader.",
+ "symfony/http-foundation": "To use the DataUriNormalizer.",
"symfony/property-access": "For using the ObjectNormalizer.",
+ "symfony/property-info": "To deserialize relations.",
"symfony/yaml": "For using the default YAML mapping loader."
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.8-dev"
+ "dev-master": "3.2-dev"
}
},
"autoload": {
@@ -2230,34 +2057,34 @@
],
"description": "Symfony Serializer Component",
"homepage": "https://symfony.com",
- "time": "2017-03-05T17:40:13+00:00"
+ "time": "2017-05-01T14:55:58+00:00"
},
{
"name": "symfony/translation",
- "version": "v2.8.18",
+ "version": "v3.2.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
- "reference": "b538355bc99db2ec7cc35284ec76d92ae7d1d256"
+ "reference": "f4a04d2df710f81515df576b2de06bdeee518b83"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/b538355bc99db2ec7cc35284ec76d92ae7d1d256",
- "reference": "b538355bc99db2ec7cc35284ec76d92ae7d1d256",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/f4a04d2df710f81515df576b2de06bdeee518b83",
+ "reference": "f4a04d2df710f81515df576b2de06bdeee518b83",
"shasum": ""
},
"require": {
- "php": ">=5.3.9",
+ "php": ">=5.5.9",
"symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
- "symfony/config": "<2.7"
+ "symfony/config": "<2.8"
},
"require-dev": {
"psr/log": "~1.0",
- "symfony/config": "~2.8",
- "symfony/intl": "~2.7.25|^2.8.18|~3.2.5",
- "symfony/yaml": "~2.2|~3.0.0"
+ "symfony/config": "~2.8|~3.0",
+ "symfony/intl": "^2.8.18|^3.2.5",
+ "symfony/yaml": "~2.8|~3.0"
},
"suggest": {
"psr/log": "To use logging capability in translator",
@@ -2267,7 +2094,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.8-dev"
+ "dev-master": "3.2-dev"
}
},
"autoload": {
@@ -2294,53 +2121,57 @@
],
"description": "Symfony Translation Component",
"homepage": "https://symfony.com",
- "time": "2017-03-04T12:20:59+00:00"
+ "time": "2017-04-12T14:13:17+00:00"
},
{
"name": "symfony/validator",
- "version": "v2.8.18",
+ "version": "v3.2.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/validator.git",
- "reference": "8d4bfa7ec24e70ebc28d0cea5f2702d3f1257a63"
+ "reference": "98bf011bf1f3b69bece3b79e19633e9c51545b2b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/validator/zipball/8d4bfa7ec24e70ebc28d0cea5f2702d3f1257a63",
- "reference": "8d4bfa7ec24e70ebc28d0cea5f2702d3f1257a63",
+ "url": "https://api.github.com/repos/symfony/validator/zipball/98bf011bf1f3b69bece3b79e19633e9c51545b2b",
+ "reference": "98bf011bf1f3b69bece3b79e19633e9c51545b2b",
"shasum": ""
},
"require": {
- "php": ">=5.3.9",
+ "php": ">=5.5.9",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/translation": "~2.4|~3.0.0"
+ "symfony/translation": "~2.8|~3.0"
+ },
+ "conflict": {
+ "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0"
},
"require-dev": {
"doctrine/annotations": "~1.0",
"doctrine/cache": "~1.0",
- "egulias/email-validator": "^1.2.1",
- "symfony/config": "~2.2|~3.0.0",
- "symfony/expression-language": "~2.4|~3.0.0",
- "symfony/http-foundation": "~2.3|~3.0.0",
- "symfony/intl": "~2.7.25|^2.8.18|~3.2.5",
- "symfony/property-access": "~2.3|~3.0.0",
- "symfony/yaml": "^2.0.5|~3.0.0"
+ "egulias/email-validator": "^1.2.8|~2.0",
+ "symfony/cache": "~3.1",
+ "symfony/config": "~2.8|~3.0",
+ "symfony/expression-language": "~2.8|~3.0",
+ "symfony/http-foundation": "~2.8|~3.0",
+ "symfony/intl": "^2.8.18|^3.2.5",
+ "symfony/yaml": "~2.8|~3.0"
},
"suggest": {
"doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.",
"doctrine/cache": "For using the default cached annotation reader and metadata cache.",
"egulias/email-validator": "Strict (RFC compliant) email validation",
+ "psr/cache-implementation": "For using the metadata cache.",
"symfony/config": "",
- "symfony/expression-language": "For using the 2.4 Expression validator",
+ "symfony/expression-language": "For using the Expression validator",
"symfony/http-foundation": "",
"symfony/intl": "",
- "symfony/property-access": "For using the 2.4 Validator API",
+ "symfony/property-access": "For using the Expression validator",
"symfony/yaml": ""
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.8-dev"
+ "dev-master": "3.2-dev"
}
},
"autoload": {
@@ -2367,29 +2198,35 @@
],
"description": "Symfony Validator Component",
"homepage": "https://symfony.com",
- "time": "2017-02-28T02:24:56+00:00"
+ "time": "2017-04-12T14:13:17+00:00"
},
{
"name": "symfony/yaml",
- "version": "v2.8.18",
+ "version": "v3.2.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "2a7bab3c16f6f452c47818fdd08f3b1e49ffcf7d"
+ "reference": "acec26fcf7f3031e094e910b94b002fa53d4e4d6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/2a7bab3c16f6f452c47818fdd08f3b1e49ffcf7d",
- "reference": "2a7bab3c16f6f452c47818fdd08f3b1e49ffcf7d",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/acec26fcf7f3031e094e910b94b002fa53d4e4d6",
+ "reference": "acec26fcf7f3031e094e910b94b002fa53d4e4d6",
"shasum": ""
},
"require": {
- "php": ">=5.3.9"
+ "php": ">=5.5.9"
+ },
+ "require-dev": {
+ "symfony/console": "~2.8|~3.0"
+ },
+ "suggest": {
+ "symfony/console": "For validating YAML files using the lint command"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.8-dev"
+ "dev-master": "3.2-dev"
}
},
"autoload": {
@@ -2416,33 +2253,34 @@
],
"description": "Symfony Yaml Component",
"homepage": "https://symfony.com",
- "time": "2017-03-01T18:13:50+00:00"
+ "time": "2017-05-01T14:55:58+00:00"
},
{
"name": "twig/twig",
- "version": "v1.25.0",
+ "version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
- "reference": "f16a634ab08d87e520da5671ec52153d627f10f6"
+ "reference": "9935b662e24d6e634da88901ab534cc12e8c728f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/Twig/zipball/f16a634ab08d87e520da5671ec52153d627f10f6",
- "reference": "f16a634ab08d87e520da5671ec52153d627f10f6",
+ "url": "https://api.github.com/repos/twigphp/Twig/zipball/9935b662e24d6e634da88901ab534cc12e8c728f",
+ "reference": "9935b662e24d6e634da88901ab534cc12e8c728f",
"shasum": ""
},
"require": {
"php": ">=5.2.7"
},
"require-dev": {
+ "psr/container": "^1.0",
"symfony/debug": "~2.7",
- "symfony/phpunit-bridge": "~2.7"
+ "symfony/phpunit-bridge": "~3.2"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.25-dev"
+ "dev-master": "1.32-dev"
}
},
"autoload": {
@@ -2477,20 +2315,20 @@
"keywords": [
"templating"
],
- "time": "2016-09-21T23:05:12+00:00"
+ "time": "2017-02-27T00:07:03+00:00"
},
{
"name": "wikimedia/composer-merge-plugin",
- "version": "v1.4.0",
+ "version": "v1.4.1",
"source": {
"type": "git",
"url": "https://github.com/wikimedia/composer-merge-plugin.git",
- "reference": "ca453f9f13d8b05f86f20ea10be992a782e6f78c"
+ "reference": "81c6ac72a24a67383419c7eb9aa2b3437f2ab100"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/wikimedia/composer-merge-plugin/zipball/ca453f9f13d8b05f86f20ea10be992a782e6f78c",
- "reference": "ca453f9f13d8b05f86f20ea10be992a782e6f78c",
+ "url": "https://api.github.com/repos/wikimedia/composer-merge-plugin/zipball/81c6ac72a24a67383419c7eb9aa2b3437f2ab100",
+ "reference": "81c6ac72a24a67383419c7eb9aa2b3437f2ab100",
"shasum": ""
},
"require": {
@@ -2526,20 +2364,20 @@
}
],
"description": "Composer plugin to merge multiple composer.json files",
- "time": "2017-03-13T16:52:55+00:00"
+ "time": "2017-04-25T02:31:25+00:00"
},
{
"name": "zendframework/zend-diactoros",
- "version": "1.3.10",
+ "version": "1.4.1",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-diactoros.git",
- "reference": "83e8d98b9915de76c659ce27d683c02a0f99fa90"
+ "reference": "424a840dc3bedcdeea510b42e056c77c2d6c4bef"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/83e8d98b9915de76c659ce27d683c02a0f99fa90",
- "reference": "83e8d98b9915de76c659ce27d683c02a0f99fa90",
+ "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/424a840dc3bedcdeea510b42e056c77c2d6c4bef",
+ "reference": "424a840dc3bedcdeea510b42e056c77c2d6c4bef",
"shasum": ""
},
"require": {
@@ -2547,17 +2385,19 @@
"psr/http-message": "~1.0"
},
"provide": {
- "psr/http-message-implementation": "~1.0.0"
+ "psr/http-message-implementation": "1.0"
},
"require-dev": {
+ "ext-dom": "*",
+ "ext-libxml": "*",
"phpunit/phpunit": "^4.6 || ^5.5",
"zendframework/zend-coding-standard": "~1.0.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.3-dev",
- "dev-develop": "1.4-dev"
+ "dev-master": "1.4-dev",
+ "dev-develop": "1.5-dev"
}
},
"autoload": {
@@ -2576,7 +2416,7 @@
"psr",
"psr-7"
],
- "time": "2017-01-23T04:53:24+00:00"
+ "time": "2017-08-17T21:21:00+00:00"
},
{
"name": "zendframework/zend-escaper",
@@ -3039,6 +2879,48 @@
],
"time": "2017-01-03T13:21:43+00:00"
},
+ {
+ "name": "ircmaxell/password-compat",
+ "version": "v1.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/ircmaxell/password_compat.git",
+ "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/5c5cde8822a69545767f7c7f3058cb15ff84614c",
+ "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c",
+ "shasum": ""
+ },
+ "require-dev": {
+ "phpunit/phpunit": "4.*"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "lib/password.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Anthony Ferrara",
+ "email": "ircmaxell@php.net",
+ "homepage": "http://blog.ircmaxell.com"
+ }
+ ],
+ "description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash",
+ "homepage": "https://github.com/ircmaxell/password_compat",
+ "keywords": [
+ "hashing",
+ "password"
+ ],
+ "time": "2014-11-20T16:49:30+00:00"
+ },
{
"name": "jcalderonzumba/gastonjs",
"version": "v1.0.2",
@@ -3159,16 +3041,16 @@
},
{
"name": "mikey179/vfsStream",
- "version": "v1.6.4",
+ "version": "v1.6.5",
"source": {
"type": "git",
"url": "https://github.com/mikey179/vfsStream.git",
- "reference": "0247f57b2245e8ad2e689d7cee754b45fbabd592"
+ "reference": "d5fec95f541d4d71c4823bb5e30cf9b9e5b96145"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/mikey179/vfsStream/zipball/0247f57b2245e8ad2e689d7cee754b45fbabd592",
- "reference": "0247f57b2245e8ad2e689d7cee754b45fbabd592",
+ "url": "https://api.github.com/repos/mikey179/vfsStream/zipball/d5fec95f541d4d71c4823bb5e30cf9b9e5b96145",
+ "reference": "d5fec95f541d4d71c4823bb5e30cf9b9e5b96145",
"shasum": ""
},
"require": {
@@ -3201,7 +3083,7 @@
],
"description": "Virtual file system to mock the real file system in unit tests.",
"homepage": "http://vfs.bovigo.org/",
- "time": "2016-07-18T14:02:57+00:00"
+ "time": "2017-08-01T08:02:14+00:00"
},
{
"name": "phpdocumentor/reflection-docblock",
@@ -3565,16 +3447,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "4.8.35",
+ "version": "4.8.36",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87"
+ "reference": "46023de9a91eec7dfb06cc56cb4e260017298517"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87",
- "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/46023de9a91eec7dfb06cc56cb4e260017298517",
+ "reference": "46023de9a91eec7dfb06cc56cb4e260017298517",
"shasum": ""
},
"require": {
@@ -3633,7 +3515,7 @@
"testing",
"xunit"
],
- "time": "2017-02-06T05:18:07+00:00"
+ "time": "2017-06-21T08:07:12+00:00"
},
{
"name": "phpunit/phpunit-mock-objects",
@@ -4143,25 +4025,25 @@
},
{
"name": "symfony/browser-kit",
- "version": "v2.8.18",
+ "version": "v3.2.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/browser-kit.git",
- "reference": "8827db04bcd8d9b9bf3114ea41081d8036ab209c"
+ "reference": "9fab1ab6f77b77f3df5fc5250fc6956811699b57"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/browser-kit/zipball/8827db04bcd8d9b9bf3114ea41081d8036ab209c",
- "reference": "8827db04bcd8d9b9bf3114ea41081d8036ab209c",
+ "url": "https://api.github.com/repos/symfony/browser-kit/zipball/9fab1ab6f77b77f3df5fc5250fc6956811699b57",
+ "reference": "9fab1ab6f77b77f3df5fc5250fc6956811699b57",
"shasum": ""
},
"require": {
- "php": ">=5.3.9",
- "symfony/dom-crawler": "~2.1|~3.0.0"
+ "php": ">=5.5.9",
+ "symfony/dom-crawler": "~2.8|~3.0"
},
"require-dev": {
- "symfony/css-selector": "^2.0.5|~3.0.0",
- "symfony/process": "~2.3.34|^2.7.6|~3.0.0"
+ "symfony/css-selector": "~2.8|~3.0",
+ "symfony/process": "~2.8|~3.0"
},
"suggest": {
"symfony/process": ""
@@ -4169,7 +4051,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.8-dev"
+ "dev-master": "3.2-dev"
}
},
"autoload": {
@@ -4196,29 +4078,29 @@
],
"description": "Symfony BrowserKit Component",
"homepage": "https://symfony.com",
- "time": "2017-02-21T08:33:48+00:00"
+ "time": "2017-04-12T14:13:17+00:00"
},
{
"name": "symfony/css-selector",
- "version": "v2.8.18",
+ "version": "v3.2.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
- "reference": "742bd688bd778dde8991ba696cb372570610afcd"
+ "reference": "02983c144038e697c959e6b06ef6666de759ccbc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/742bd688bd778dde8991ba696cb372570610afcd",
- "reference": "742bd688bd778dde8991ba696cb372570610afcd",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/02983c144038e697c959e6b06ef6666de759ccbc",
+ "reference": "02983c144038e697c959e6b06ef6666de759ccbc",
"shasum": ""
},
"require": {
- "php": ">=5.3.9"
+ "php": ">=5.5.9"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.8-dev"
+ "dev-master": "3.2-dev"
}
},
"autoload": {
@@ -4249,28 +4131,28 @@
],
"description": "Symfony CssSelector Component",
"homepage": "https://symfony.com",
- "time": "2017-02-21T08:33:48+00:00"
+ "time": "2017-05-01T14:55:58+00:00"
},
{
"name": "symfony/dom-crawler",
- "version": "v2.8.18",
+ "version": "v3.2.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/dom-crawler.git",
- "reference": "24b1a3ffa5b64e4f8b1c5f2cdffd16368640704a"
+ "reference": "f1ad34e8af09ed17570e027cf0c58a12eddec286"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/24b1a3ffa5b64e4f8b1c5f2cdffd16368640704a",
- "reference": "24b1a3ffa5b64e4f8b1c5f2cdffd16368640704a",
+ "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/f1ad34e8af09ed17570e027cf0c58a12eddec286",
+ "reference": "f1ad34e8af09ed17570e027cf0c58a12eddec286",
"shasum": ""
},
"require": {
- "php": ">=5.3.9",
+ "php": ">=5.5.9",
"symfony/polyfill-mbstring": "~1.0"
},
"require-dev": {
- "symfony/css-selector": "~2.8|~3.0.0"
+ "symfony/css-selector": "~2.8|~3.0"
},
"suggest": {
"symfony/css-selector": ""
@@ -4278,7 +4160,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.8-dev"
+ "dev-master": "3.2-dev"
}
},
"autoload": {
@@ -4305,7 +4187,69 @@
],
"description": "Symfony DomCrawler Component",
"homepage": "https://symfony.com",
- "time": "2017-02-21T08:33:48+00:00"
+ "time": "2017-04-12T14:13:17+00:00"
+ },
+ {
+ "name": "symfony/phpunit-bridge",
+ "version": "v3.2.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/phpunit-bridge.git",
+ "reference": "00916603c524b8048906de460b7ea0dfa1651281"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/00916603c524b8048906de460b7ea0dfa1651281",
+ "reference": "00916603c524b8048906de460b7ea0dfa1651281",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "conflict": {
+ "phpunit/phpunit": ">=6.0"
+ },
+ "suggest": {
+ "ext-zip": "Zip support is required when using bin/simple-phpunit",
+ "symfony/debug": "For tracking deprecated interfaces usages at runtime with DebugClassLoader"
+ },
+ "bin": [
+ "bin/simple-phpunit"
+ ],
+ "type": "symfony-bridge",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.2-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Bridge\\PhpUnit\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony PHPUnit Bridge",
+ "homepage": "https://symfony.com",
+ "time": "2017-04-12T14:13:17+00:00"
}
],
"aliases": [],
diff --git a/core/.eslintignore b/core/.eslintignore
index a15282a9a..fae394892 100644
--- a/core/.eslintignore
+++ b/core/.eslintignore
@@ -1,4 +1,6 @@
assets/vendor/**/*
-modules/locale/tests/locale_test.js
node_modules/**/*
**/js_test_files/**/*
+*.js
+!*.es6.js
+modules/locale/tests/locale_test.es6.js
diff --git a/core/.eslintrc.json b/core/.eslintrc.json
index 218d84f93..369539d27 100644
--- a/core/.eslintrc.json
+++ b/core/.eslintrc.json
@@ -1,5 +1,6 @@
{
- "extends": "eslint:recommended",
+ "extends": "eslint-config-airbnb",
+ "root": true,
"env": {
"browser": true,
"es6": true,
@@ -18,80 +19,23 @@
"CKEDITOR": true
},
"rules": {
- // Errors.
- "array-bracket-spacing": [2, "never"],
- "block-scoped-var": 2,
- "brace-style": [2, "stroustrup", {"allowSingleLine": true}],
- "comma-dangle": [2, "never"],
- "comma-spacing": 2,
- "comma-style": [2, "last"],
- "computed-property-spacing": [2, "never"],
- "curly": [2, "all"],
- "eol-last": 2,
- "eqeqeq": [2, "smart"],
- "guard-for-in": 2,
- "indent": [2, 2, {"SwitchCase": 1}],
- "key-spacing": [2, {"beforeColon": false, "afterColon": true}],
- "keyword-spacing": [2, {"before": true, "after": true}],
- "linebreak-style": [2, "unix"],
- "lines-around-comment": [2, {"beforeBlockComment": true, "afterBlockComment": false}],
- "new-parens": 2,
- "no-array-constructor": 2,
- "no-caller": 2,
- "no-catch-shadow": 2,
- "no-eval": 2,
- "no-extend-native": 2,
- "no-extra-bind": 2,
- "no-extra-parens": [2, "functions"],
- "no-implied-eval": 2,
- "no-iterator": 2,
- "no-label-var": 2,
- "no-labels": 2,
- "no-lone-blocks": 2,
- "no-loop-func": 2,
- "no-multi-spaces": 2,
- "no-multi-str": 2,
- "no-native-reassign": 2,
- "no-nested-ternary": 2,
- "no-new-func": 2,
- "no-new-object": 2,
- "no-new-wrappers": 2,
- "no-octal-escape": 2,
- "no-process-exit": 2,
- "no-proto": 2,
- "no-return-assign": 2,
- "no-script-url": 2,
- "no-sequences": 2,
- "no-shadow-restricted-names": 2,
- "no-spaced-func": 2,
- "no-trailing-spaces": 2,
- "no-undef-init": 2,
- "no-undefined": 2,
- "no-unused-expressions": 2,
- "no-unused-vars": [2, {"vars": "all", "args": "none"}],
- "no-with": 2,
- "object-curly-spacing": [2, "never"],
- "one-var": [2, "never"],
- "quote-props": [2, "consistent-as-needed"],
- "quotes": [2, "single", "avoid-escape"],
- "semi": [2, "always"],
- "semi-spacing": [2, {"before": false, "after": true}],
- "space-before-blocks": [2, "always"],
- "space-before-function-paren": [2, {"anonymous": "always", "named": "never"}],
- "space-in-parens": [2, "never"],
- "space-infix-ops": 2,
- "space-unary-ops": [2, { "words": true, "nonwords": false }],
- "spaced-comment": [2, "always"],
- "strict": [2, "function"],
- "yoda": [2, "never"],
- // Warnings.
+ "consistent-return": [0],
+ "no-underscore-dangle": [0],
"max-nested-callbacks": [1, 3],
+ "no-mutable-exports": [1],
+ "no-plusplus": [1, {
+ "allowForLoopAfterthoughts": true
+ }],
+ "no-param-reassign": [0],
+ "no-prototype-builtins": [0],
"valid-jsdoc": [1, {
"prefer": {
"returns": "return",
"property": "prop"
},
"requireReturn": false
- }]
+ }],
+ "brace-style": ["error", "stroustrup"],
+ "no-unused-vars": [1]
}
}
diff --git a/core/.eslintrc.legacy.json b/core/.eslintrc.legacy.json
new file mode 100644
index 000000000..9051bbfa5
--- /dev/null
+++ b/core/.eslintrc.legacy.json
@@ -0,0 +1,94 @@
+{
+ "extends": "eslint:recommended",
+ "root": true,
+ "env": {
+ "browser": true
+ },
+ "globals": {
+ "Drupal": true,
+ "drupalSettings": true,
+ "drupalTranslations": true,
+ "domready": true,
+ "jQuery": true,
+ "_": true,
+ "matchMedia": true,
+ "Backbone": true,
+ "Modernizr": true,
+ "CKEDITOR": true
+ },
+ "rules": {
+ "array-bracket-spacing": [2, "never"],
+ "block-scoped-var": 2,
+ "brace-style": [2, "stroustrup", {"allowSingleLine": true}],
+ "comma-dangle": [2, "never"],
+ "comma-spacing": 2,
+ "comma-style": [2, "last"],
+ "computed-property-spacing": [2, "never"],
+ "curly": [2, "all"],
+ "eol-last": 2,
+ "eqeqeq": [2, "smart"],
+ "guard-for-in": 2,
+ "indent": [2, 2, {"SwitchCase": 1}],
+ "key-spacing": [2, {"beforeColon": false, "afterColon": true}],
+ "keyword-spacing": [2, {"before": true, "after": true}],
+ "linebreak-style": [2, "unix"],
+ "lines-around-comment": [2, {"beforeBlockComment": true, "afterBlockComment": false}],
+ "new-parens": 2,
+ "no-array-constructor": 2,
+ "no-caller": 2,
+ "no-catch-shadow": 2,
+ "no-eval": 2,
+ "no-extend-native": 2,
+ "no-extra-bind": 2,
+ "no-extra-parens": [2, "functions"],
+ "no-implied-eval": 2,
+ "no-iterator": 2,
+ "no-label-var": 2,
+ "no-labels": 2,
+ "no-lone-blocks": 2,
+ "no-loop-func": 2,
+ "no-multi-spaces": 2,
+ "no-multi-str": 2,
+ "no-native-reassign": 2,
+ "no-nested-ternary": 2,
+ "no-new-func": 2,
+ "no-new-object": 2,
+ "no-new-wrappers": 2,
+ "no-octal-escape": 2,
+ "no-process-exit": 2,
+ "no-proto": 2,
+ "no-return-assign": 2,
+ "no-script-url": 2,
+ "no-sequences": 2,
+ "no-shadow-restricted-names": 2,
+ "no-spaced-func": 2,
+ "no-trailing-spaces": 2,
+ "no-undef-init": 2,
+ "no-undefined": 2,
+ "no-unused-expressions": 2,
+ "no-unused-vars": [2, {"vars": "all", "args": "none"}],
+ "no-with": 2,
+ "object-curly-spacing": [2, "never"],
+ "one-var": [2, "never"],
+ "quote-props": [2, "consistent-as-needed"],
+ "quotes": [2, "single", "avoid-escape"],
+ "semi": [2, "always"],
+ "semi-spacing": [2, {"before": false, "after": true}],
+ "space-before-blocks": [2, "always"],
+ "space-before-function-paren": [2, {"anonymous": "always", "named": "never"}],
+ "space-in-parens": [2, "never"],
+ "space-infix-ops": 2,
+ "space-unary-ops": [2, { "words": true, "nonwords": false }],
+ "spaced-comment": [2, "always"],
+ "strict": [2, "function"],
+ "yoda": [2, "never"],
+ "max-nested-callbacks": [1, 3],
+ "valid-jsdoc": [1, {
+ "prefer": {
+ "returns": "return",
+ "property": "prop"
+ },
+ "requireReturn": false
+ }]
+ }
+}
diff --git a/core/.gitignore b/core/.gitignore
new file mode 100644
index 000000000..be42d4885
--- /dev/null
+++ b/core/.gitignore
@@ -0,0 +1,11 @@
+# Ignore node_modules folder created when installing core's JavaScript
+# dependencies.
+node_modules
+
+# Ignore overrides of core's phpcs.xml.dist and phpunit.xml.dist.
+phpcs.xml
+phpunit.xml
+
+# Ignore package-lock.json that is automatically created when adding
+# dependencies by users of NPMv5.
+package-lock.json
diff --git a/core/.stylelintrc.json b/core/.stylelintrc.json
new file mode 100644
index 000000000..832748d39
--- /dev/null
+++ b/core/.stylelintrc.json
@@ -0,0 +1,47 @@
+{
+ "extends": "stylelint-config-standard",
+ "plugins": [
+ "stylelint-no-browser-hacks/lib"
+ ],
+ "rules": {
+ "at-rule-empty-line-before": null,
+ "block-no-empty": null,
+ "color-hex-case": null,
+ "color-hex-length": null,
+ "comment-empty-line-before": null,
+ "declaration-block-no-duplicate-properties": null,
+ "declaration-block-no-redundant-longhand-properties": null,
+ "declaration-block-no-shorthand-property-overrides": null,
+ "declaration-block-trailing-semicolon": null,
+ "declaration-colon-space-after": null,
+ "function-comma-space-after": null,
+ "function-linear-gradient-no-nonstandard-direction": null,
+ "function-name-case": null,
+ "function-whitespace-after": null,
+ "length-zero-no-unit": null,
+ "no-empty-source": null,
+ "no-unknown-animations": true,
+ "number-leading-zero": null,
+ "number-no-trailing-zeros": null,
+ "plugin/no-browser-hacks": [true, {
+ "browsers": [
+ "ie >= 9",
+ "edge >= 13",
+ "firefox >= 5",
+ "opera >= 12",
+ "safari >= 5",
+ "chrome >= 56"
+ ]
+ }],
+ "property-no-unknown": null,
+ "rule-empty-line-before": null,
+ "selector-pseudo-element-colon-notation": null,
+ "selector-type-no-unknown": null,
+ "shorthand-property-no-redundant-values": null,
+ "unit-whitelist": ["deg", "em", "ex", "ms", "rem", "%", "s", "px"]
+ },
+ "ignoreFiles": [
+ "assets/vendor/**/*.css",
+ "tests/Drupal/Tests/Core/Asset/css_test_files/**/*.css"
+ ]
+}
diff --git a/core/CHANGELOG.txt b/core/CHANGELOG.txt
index 1cfd863cf..ac078d5c2 100644
--- a/core/CHANGELOG.txt
+++ b/core/CHANGELOG.txt
@@ -1,14 +1,544 @@
-Drupal 8.3.7, 2017-08-16
+Drupal 8.4.0, 2017-10-04
------------------------
-- Fixed security issues. See SA-CORE-2017-004.
+### Drush users: Update to Drush 8.1.12+ or higher
-Drupal 8.3.4, 2017-06-21
-------------------------
-- Fixed security issues. See SA-CORE-2017-003.
+[Versions of Drush earlier than 8.1.12 will not work with Drupal
+8.4.x](https://www.drupal.org/node/2874827). Update Drush to 8.1.12 or higher
+**before using it to update to Drupal core 8.4.x** or you will encounter fatal
+errors that prevent updates from running.
-Drupal 8.3.1, 2017-04-19
-------------------------
-- Fixed security issues. See SA-CORE-2017-002.
+* If Drush is installed globally (i.e., generally available on the web host),
+ Drush 8.1.12 and higher will successfully update Drupal 8.3.x to 8.4.0, but
+ users may still see [other error messages after updates have
+ run](https://github.com/drush-ops/drush/issues/2933).)
+* If the site is built with Composer and includes Drush as a local dependency
+ (less common), you should update your `composer.json` file to require at
+ least [Drush 8.1.15](https://github.com/drush-ops/drush/releases/tag/8.1.15).
+ Drush 8.1.14 will not work in the same composer project as Drupal 8.4.
+
+### Updated browser requirements: Internet Explorer 9 and 10 no longer supported
+
+In April 2017, Microsoft discontinued all support for Internet Explorer 9 and
+10. Therefore, [Drupal 8.4 has as well](https://www.drupal.org/node/2842298).
+Drupal 8.4 still mostly works in these browser versions, but bugs that affect
+them only will no longer be fixed, and existing workarounds for them will
+be removed beginning in Drupal 8.5.
+
+Additionally, Drupal 8's [browser requirements documentation
+page](https://www.drupal.org/docs/8/system-requirements/browser-requirements)
+currently lists incorrect information regarding very outdated browser versions
+such as Safari 5 and Firefox 5. [Clarifications to the browser policy and
+documentation](https://www.drupal.org/node/2390621) are underway.
+
+### Known Issues
+
+Drupal 8.4.0 includes major version updates for two dependencies:
+Symfony 3.2 and jQuery 3. Both updates may introduce backwards compatibility
+issues for some sites or modules, so test carefully. For more information, see
+the "Third-party library updates" section below. Known issues related to the
+Symfony update include:
+
+* Drush issues:
+ * [Incompatibility with Drush 8.1.11 and earlier](https://www.drupal.org/node/2874827).
+ * [Other error messages with Drush 8.1.12 and higher](https://github.com/drush-ops/drush/issues/2933).
+ * [Incompatibility with Drush 8.1.14 and earlier for Composer-built sites](https://github.com/drupal-composer/drupal-project/issues/305).
+* [Certain file uploads may fail
+ silently](https://www.drupal.org/node/2906030) due to a Symfony 3 backwards
+ compatibility break if they used the `$deep` parameter (which was already
+ deprecated in Symfony 2.8 and is removed in Symfony 3.0. *Check any custom
+ file upload code* that may have used the deprecated parameter and [update
+ it according to the API change record](https://www.drupal.org/node/2743809).
+
+See the ['8.4.0 update' tag for a list of known issues across
+projects](https://www.drupal.org/project/issues/search?issue_tags=8.4.0%20update).
+
+[Search the issue queue for known
+issues](https://www.drupal.org/project/issues/search/drupal?project_issue_followers=&status%5B%5D=Open&version%5B%5D=8.x&issue_tags_op=%3D).
+
+### Important fixes since 8.3.x
+
+Translators should take note of several [string additions and changes since the
+last release](https://www.drupal.org/project/issues/search/drupal?project_issue_followers=&issue_tags_op=%3D&issue_tags=String+change+in+8.4.0).
+
+#### File usage tracking
+
+Drupal 8 has several longstanding [file usage tracking
+bugs](https://www.drupal.org/node/2821423). To prevent further data loss,
+Drupal 8.4 has [disabled the automatic deletion of files with no known
+remaining usages](https://www.drupal.org/node/2801777). This will result of the
+accumulation of unused files on sites, but ensures that files erroneously
+reporting 0 usages are not deleted while in use. Additionally, an issue with
+[validation errors when saving content referencing these
+files](https://www.drupal.org/node/2896480) has also been resolved.
+
+[The change record explains how sites can opt back into marking files
+temporary](https://www.drupal.org/node/2891902). If you choose to enable the
+setting, you can also set "Delete orphaned files" to "Never" on
+`/admin/config/media/file-system` to avoid permanent deletion of the affected
+files.
+
+While the files will no longer be deleted by default, file usage is still not
+tracked correctly in several scenarios, regardless of the setting. Discussion
+on [how to evolve the file usage tracking
+system](https://www.drupal.org/node/2821423) is underway.
+
+#### Configuration export sorting
+
+* [#2361539: Config export key order is not predictable for sequences, add
+ orderby property to config schema](https://www.drupal.org/node/2361539)
+ resolves an issue where sequences in configuration were not sorted unless
+ the code responsible for saving configuration explicitly performed a sort.
+ This resulted in unpredictable changes in configuration ordering and
+ confusing diffs even when nothing had changed. To resolve this issue, we've
+ [added an `orderby` key to the config schema](https://www.drupal.org/node/2852566)
+ that allows it to be sorted either by key or by value. Adding a preferred
+ sort is strongly recommended.
+* Two related issues remain open:
+ * [#2860531: Add orderby key to third-party
+ settings](https://www.drupal.org/node/2860531) relates to unsorted
+ sequences which result in unexpected discrepancies in configuration
+ during a configuration import.
+ * [#2885368: Config export key order for sequences: "orderedby" does not
+ support cases where the order actually
+ matters](https://www.drupal.org/node/2885368) relates to various
+ sequences in core and contributed modules in which the source order is
+ important.
+
+#### Revision data integrity fixes
+
+* Previously, data from draft revisions for
+ [path aliases](https://www.drupal.org/node/2856363),
+ [menus](https://www.drupal.org/node/2858434),
+ and [books](https://www.drupal.org/node/2858431) could leak into the live
+ site. Drupal 8.4.0 hotfixes all three issues by preventing changes to
+ this data from being saved on any revision that is not the default revision.
+ These fixes improve revision support for both stable features and the
+ experimental Content Moderation module.
+* Correspondingly, [Content Moderation now avoids such scenarios with
+ non-default revisions](https://www.drupal.org/node/2883868) by setting the
+ 'default revision' flag earlier.
+* Previously, [saving a revision of an entity translation could cause draft
+ revisions to go "missing"](https://www.drupal.org/node/2766957). Drupal 8.4.0
+ prevents this by preventing the moderation state from being set to anything
+ that would make the revision go "missing". Going forward, the entity system
+ will also [provide the 'revision_translation_affected' base field by default
+ for all revisionable and translatable entity
+ types](https://www.drupal.org/node/2896845) for tracking such revisions.
+* [A similar but unrelated bug in
+ Content Moderation](https://www.drupal.org/node/2862988) has also been fixed
+ in this release.
+
+#### Other critical improvements
+
+* When nodes were deleted, Menu UI module deleted their menu items. However,
+ menu items may exist even whenm Menu UI module is not enabled and can also be
+ attached to entities other than nodes. Therefore, menu item cleanup on entity
+ deletetion [is now performed by the Custom Menu Links
+ module](https://www.drupal.org/node/2350797) instead, covering the previously
+ missing cases. A related issue that [broke module uninstallation for some
+ modules providing menu items for certain entity
+ forms](https://www.drupal.org/node/2907654) has also been resolved.
+* A race condition occured in the Batch API when using fastcgi. The Batch API
+ now ensures that [the current batch state is written completely to the
+ database before starting the next
+ batch](https://www.drupal.org/node/2851111).
+* When uninstalling modules, empty fields were left behind to be purged.
+ However, without the field definitions from the module, it was not possible
+ to purge them any more. [Empty field deletion is now performed
+ immediately](https://www.drupal.org/node/2884202) instead to avoid this
+ scenario.
+* When clearing caches in a translated interface, the field labels would
+ [return to the default language](https://www.drupal.org/node/2650434).
+
+### New stable modules
+
+The following modules, previously considered experimental, are now stable and
+safe for use on production sites, with full backwards compatibility and upgrade
+paths from 8.4.0 to future releases:
+
+#### Datetime Range
+
+The [Datetime Range module](https://www.drupal.org/node/2893128) provides a
+field type that allows end dates to support contributed modules like
+[Calendar](https://www.drupal.org/project/calendar). This stable release is
+backwards-compatible with the 8.3.x experimental version and shares a
+consistent API with other Datetime fields.
+
+Future releases may improve Views support, usability, Datetime Range field
+validation, and REST support. For bugs or feature requests for this module,
+[see the core Datetime issue
+queue](https://www.drupal.org/project/issues/search/drupal?project_issue_followers=&status%5B%5D=Open&version%5B%5D=8.x&component%5B%5D=datetime.module&issue_tags_op=%3D).
+
+#### Layout Discovery
+
+The [Layout Discovery module](https://www.drupal.org/node/2834025) provides
+an API for modules or themes to register layouts as well as five common
+layouts. Providing this API in core enables core and contributed layout
+solutions to be compatible with each other. This stable release is
+backwards-compatible with the 8.3.x experimental version and introduces
+[support for per-region attributes](https://www.drupal.org/node/2885877).
+
+#### Media
+
+The new core [Media module](https://www.drupal.org/node/2831274) provides an
+API for reusable media entities and references. It is based on the contributed
+[Media Entity module](https://www.drupal.org/project/media_entity).
+
+Since there is a rich ecosystem of Drupal contributed modules built on Media
+Entity, the top priority for this release is to [provide a stable core API and
+data model](https://www.drupal.org/node/2895059) for a smoother transition for
+these modules. Developers and expert site builders can now add Media as a
+dependency. Work is underway to [provide an update path for existing sites'
+Media Entity data](https://www.drupal.org/node/2880334) and to [port existing
+contributed modules to the improved core
+API](https://www.drupal.org/node/2860796). Both versions cannot be used at the
+same time, so we also [prevent the 1.x version of the contributed Media Entity
+module from being enabled at the same time as the core Media
+module](https://www.drupal.org/node/2896427).
+
+Note that **the core Media module is currently marked hidden** and will not
+appear on the 'Extend' (module administration) page. (Enabling a contributed
+module that depends on the core Media module will also enable Media
+automatically.) The module will be displayed to site builders normally once
+user experience issues with it are resolved. Similarly, the REST API and
+normalizations for Media is not final and support for decoupled applications
+will also be improved in a future release.
+
+#### Inline Form Errors
+
+The [Inline Form Errors module](https://www.drupal.org/node/2897652) provides a
+summary of any validation errors at the top of a form and places the individual
+error messages next to the form elements themselves. This helps users
+understand which entries need to be fixed, and how. Inline Form Errors was
+provided as an experimental module from Drupal 8.0.0 on, but it is now stable
+and polished enough for production use. See the core [Inline Form Errors module
+issue queue](https://www.drupal.org/project/issues/drupal?text=&status=Open&priorities=All&categories=All&version=All&component=inline_form_errors.module)
+for outstanding issues.
+
+#### Workflows
+
+The Workflows module provides an abstract system of states (like Draft,
+Archived, and Published) and transitions between them. Workflows can be used by
+modules that implement non-publishing workflows (such as for users or products)
+as well as content publishing workflows.
+
+Drupal 8.4 introduces a final significant backwards compatibility and data
+model break for this module, [moving responsibility for workflow states and
+transitions from the Workflow entity to the Workflow type
+plugin](https://www.drupal.org/node/2849827). Read [Workflow type plugins are
+now responsible for state and transition
+schema](https://www.drupal.org/node/2897706) for full details on the API and
+data model changes related to this fix. Now that this change is complete, [the
+Workflows module became stable](https://www.drupal.org/node/2897130)!
+
+While the module can be installed as-is, it is not useful in itself without
+either Content Moderation and/or some other module that requires it.
+
+### Content authoring and site administration improvements
+
+* The "Save and keep (un)published" dropbutton has been replaced with [a
+ "Published" checkbox and single "Save"
+ button](https://www.drupal.org/node/2068063). The "Save and..." dropbutton
+ was a new design in Drupal 8, but users found it confusing, so we have
+ restored a design that is more similar to the user interface for Drupal 7 and
+ earlier.
+* Previously, deleting a field on a content type would also delete any views
+ depending on the field. While the confirmation form did indicate that the
+ view would be deleted, users did not expect the behavior and often missed the
+ message, leading to data loss. [Now, the view is disabled
+ instead](https://www.drupal.org/node/2468045). In the future, we intend to
+ [notify users that configuration has been
+ disabled](https://www.drupal.org/node/2832558) (as in this fix) as well as
+ [give users clearer warnings for other highly destructive
+ operations](https://www.drupal.org/node/2773205).
+* The [Drupal toolbar no longer flickers](https://www.drupal.org/node/2542050)
+ during page rendering, thus improving perceived front-end performance.
+* Options in [timezones selector are now grouped by
+ regions](https://www.drupal.org/node/2847651) and labeled by cities instead
+ of timezone names, making it much easier for users to find and select the
+ specific timezone they need.
+* Both the ["Comments" administration page at
+ `/admin/content/comment`](https://www.drupal.org/node/1986606) and the
+ ["Recent log messages" report provided by
+ dblog](https://www.drupal.org/node/2015149) are now configurable views. The
+ "Comments" administration page also [has some default filters
+ added](https://www.drupal.org/node/2898344).
+* Useful meta information about a node's status is typically displayed at the
+ top of the node sidebar. Previously, this meta information was provided by
+ the Seven theme, so it was not available in other administrative themes.
+ [This meta information is now provided by node.module
+ itself](https://www.drupal.org/node/2803875) so other administration themes
+ can access it.
+* [Views now supports rendering computed
+ fields](https://www.drupal.org/node/2852067).
+
+### REST and API-first improvements
+
+* Authenticated REST API performance increased by 15% by [utilizing the Dynamic
+ Page Cache](https://www.drupal.org/node/2827797).
+* POSTing entities [can now happen at `/node`, `/taxonomy/term` and so
+ on](https://www.drupal.org/node/2293697), instead of `/entity/node`,
+ `/entity/taxonomy_term`. Instead of confusingly different URLs, they therefore
+ now use the URLs you'd expect. Backwards compatibility is maintained.
+* There is now a dedicated resource for [resetting a user's
+ password](https://www.drupal.org/node/2847708).
+* Time fields now are [normalized to RFC3339 timestamps by
+ default](https://www.drupal.org/node/2768651), fixing time ambiguity.
+ Existing sites continue to receive UNIX timestamps, but can opt in. [See the
+ change record for more information about backwards compatibility and on how
+ to opt in](https://www.drupal.org/node/2859657).
+* [Path alias fields are now normalized as
+ well](https://www.drupal.org/node/2846554). [See the change record for
+ information about how this impacts API-first modules and other features
+ relying on serialized entities](https://www.drupal.org/node/2856220).
+* When denormalization fails, a [422 response is now
+ returned](https://www.drupal.org/node/2827084) instead of a 400, per the HTTP
+ specification.
+* With CORS enabled to allow origins besides the site's own host, [submitting
+ forms was broken](https://www.drupal.org/node/2853201) unless the site's own
+ host was also explicitly allowed. This is now resolved.
+* Fatal errors and exceptions [now show a
+ backtrace](https://www.drupal.org/node/2853300) for all non-HTML requests as
+ well as HTML requests, which makes for easier debugging and better bug
+ reports.
+* Massive expansion of test coverage.
+
+### Performance and scalability improvements
+
+* Drupal 8 caches at various different levels for more effective caching.
+ However, this resulted in exessively growing cache tables with tens or
+ hundreds of thousands of entries, and gigabytes in size. [A new limit of 5000
+ rows per cache bin was introduced to limit this
+ growth](https://www.drupal.org/node/2526150).
+* The internal page cache now [has a dedicated cache
+ bin](https://www.drupal.org/node/2889603) distinct from the rest of the
+ render cache for improved scalability.
+* The service collector pattern instantiates all services it collects, which is
+ expensive, and unnecessary for some use cases. For those use cases, a [new
+ service ID collector](https://www.drupal.org/node/2472337) pattern has been
+ added and the theme negotiator updated to use it. [See the change record for
+ information about how to use the service ID
+ collector](https://www.drupal.org/node/2598944) for improved performance.
+* The maximum time in-progress forms are cached [is now
+ customizable](https://www.drupal.org/node/1286154) rather than being limited
+ to a default cache lifetime of 6 hours. Sites can decrease the lifetime to
+ reduce cache footprint, or increase it if needed for a particular site's
+ usecase. [See the change record to learn how to access this new
+ setting](https://www.drupal.org/node/2886836).
+* If there are no status messages, the corresponding rendering [is now
+ skipped](https://www.drupal.org/node/2853509). On simple sites that use the
+ Dynamic Page Cache (the default), this can result in a 10% improvement when
+ there are no messages!
+* [Optimized the early Drupal installer](https://www.drupal.org/node/2872611)
+ to check whether any themes are installed first before invoking an
+ unnecessary function, which improves Drupal install time measurably for both
+ sites and automated tests.
+
+### Developer experience improvements
+
+* [Adopted Airbnb JavaScript style guide
+ 14.1](https://www.drupal.org/node/2815077) as the new baseline set of coding
+ standards for Drupal core and contributed modules. [See the change record for
+ information about how to configure your project for
+ eslint](https://www.drupal.org/node/2873849).
+* Field type definitions can now [enforce the cardinality of the
+ field](https://www.drupal.org/node/2403703). [See the change record for
+ information about how to specify a cardinality via the
+ annotation](https://www.drupal.org/node/2869873).
+* [Added new methods](https://www.drupal.org/node/2869809) to make getting
+ typed configuration entity representations easier. [See the change record for
+ more information about how to invoke these
+ methods](https://www.drupal.org/node/2877282).
+* The `html_tag` render element now [supports nested render
+ arrays](https://www.drupal.org/node/2694535), enabling the creation of
+ dynamic SVGs. [See the change record for information about how you can use
+ this in your theme](https://www.drupal.org/node/2887146).
+* [Added more helpful errors](https://www.drupal.org/node/2705037) when CSS
+ is not properly nested under an existing category in asset libraries.
+* Also see the [change records for the 8.4.x
+ branch](https://www.drupal.org/list-changes/drupal/published?keywords_description=&to_branch=8.4.x&version=&created_op=%3E%3D&created%5Bvalue%5D=&created%5Bmin%5D=&created%5Bmax%5D=)
+ for other changes for developers.
+
+### Automated testing improvements
+
+* [PHPUnit has been updated from 4.8.28 to
+ 4.8.35](https://www.drupal.org/node/2850797) in order to incorporate a
+ forward-compatibility layer for PHPUnit 4.8, which will be useful during a
+ future migration to PHPUnit 5 or PHPUnit 6.
+* Many former WebTestBase tests were converted to BrowserTestBase. [Track
+ current progress](http://simpletest-countdown.org/).
+* The default approach for testing deprecated code has changed to [require use
+ of the Drupal core deprecation policy](https://www.drupal.org/node/2488860)
+ (`@trigger_error()`) to mark code deprecated; otherwise a test error will
+ be thrown. [See the change record for information about how to update
+ `phpunit.xml` and how to test deprecated
+ code](https://www.drupal.org/node/2811561).
+* BrowserTestBase is [no longer dependent on traits from
+ Simpletest](https://www.drupal.org/node/2803621). Backwards
+ compatibility is preserved.
+* [Resolved random test failures](https://www.drupal.org/node/2866056) due to
+ ResourceTestBase's HTTP client timeout of 30 seconds.
+
+### Third-party library updates
+
+* [Drupal's Symfony dependency has been updated from Symfony 2.8 to Symfony
+ 3.2](https://www.drupal.org/node/2712647). This major version update is
+ necessary because Symfony 2.8 support will end around the release of Drupal
+ 8.6.0 next year. See the change record for information about [Symfony 3
+ backwards compatibility breaks that affected Drupal
+ core](https://www.drupal.org/node/2743809). [Drupal 8 also requires Symfony
+ 3.2.8](https://www.drupal.org/node/2871253) because of a bug in Symfony
+ 3.2.7.
+* [#2533498: Update jQuery to version 3](https://www.drupal.org/node/2533498).
+ Now that jQuery 3.0 has been released, jQuery 2.x will only be receiving
+ security updates, so Drupal 8.4.0 ships with this library update. jQuery 3
+ features numerous improvements, including better error reporting. See the
+ [jQuery Core 3.0 Upgrade Guide](https://jquery.com/upgrade-guide/3.0/) for
+ information on jQuery 3 backwards compatibility breaks that might affect the
+ JavaScript code in your modules, themes, and sites.
+* The zurb/joyride library (used by the Tour module) has been [updated to a
+ development version higher than 2.1.0.1](https://www.drupal.org/node/2898808)
+ to resolve an upstream incompatibility with jQuery 3. We will update to
+ Joyride 2.1.1 once it is available with the needed fix.
+* [zendframework/zend-diactoros has been updated from 1.3.10 to 1.4.1](https://www.drupal.org/node/2874817).
+* [jQuery UI has been updated from 1.11.4 to 1.12.1](https://www.drupal.org/node/2809427).
+* [jQuery Once has been updated from 2.1.1 to 2.2.0](https://www.drupal.org/node/2899156).
+* [CKEditor has been updated from 4.6.2 to 4.7.2](https://www.drupal.org/node/2904142).
+* [asm89/stack-cors has been updated from 1.0 to 1.1](https://www.drupal.org/node/2853201).
+* [The minimum phpsec/prophecy requirement is now 1.4](https://www.drupal.org/node/2900800).
+* [composer/installers has been updated from 1.2.0 to 1.4.0](https://www.drupal.org/node/2900112).
+* [wikimedia/composer-merge-plugin has been updated from 1.4.0 to 1.4.1](https://www.drupal.org/node/2900112).
+* [guzzlehttp/guzzle has been updated from 6.2.3 to 6.3.0](https://www.drupal.org/node/2900112).
+* [mikey179/vfsstream has been updated from 1.6.4 to 1.6.5](https://www.drupal.org/node/2900112).
+* [phpunit/phpunit has been updated from 4.8.35 to 4.8.36](https://www.drupal.org/node/2900112).
+* [masterminds/html5 has been updated from 2.2.2 to 2.3.0](https://www.drupal.org/node/2909743).
+* [symfony-cmf/routing has been udpated from 1.4.0 to 1.4.1](https://www.drupal.org/node/2909743).
+
+### Experimental modules
+
+#### Migrate ([beta stability](https://www.drupal.org/core/experimental#beta))
+
+Migrate provides a general API for migrations. It will be considered completely
+stable once all issues tagged [Migrate
+critical](https://www.drupal.org/project/issues/search/drupal?project_issue_followers=&status%5B%5D=Open&version%5B%5D=8.x&issue_tags_op=%3D&issue_tags=Migrate+critical)
+are resolved.
+
+* This release includes numerous developer experience improvements for Migrate
+ and Migrate Drupal, including [deprecating outdated references to
+ "CCK"](https://www.drupal.org/node/2751897), [simplifying field type
+ mapping](https://www.drupal.org/node/2896507), renaming several plugins to
+ better capture their and many other API and documentation improvements.
+ (Backwards compatibility is provided in each case Migrate is in beta.)
+* Added the ability to [provide the source
+ module](https://www.drupal.org/node/2569805) to migrations to help site
+ owners review what data is being migrating, especially for cases where the
+ source and destination module are not the same (for example if a new Drupal 8
+ module replaces old functionality.
+
+
+#### Migrate Drupal and Migrate Drupal UI ([alpha stability](https://www.drupal.org/core/experimental#alpha))
+
+Migrate Drupal module provides API support for Drupal-to-Drupal migrations, and
+Migrate Drupal UI offers a simple user interface to run migrations from older
+Drupal versions.
+
+* This release adds [date](https://www.drupal.org/node/2566779) and
+ [node reference](https://www.drupal.org/node/2814949) support for Drupal 6 to
+ 8 migrations.
+* Core provides migrations for most Drupal 6 data and can be used for migrating
+ Drupal 6 sites to Drupal 8, and the Drupal 6 to 8 migration path is nearing
+ beta stability. Some gaps remain, such as for some internationalization data.
+ ([Outstanding issues for the Drupal 6 to Drupal 8
+ migration](https://www.drupal.org/project/issues/search/drupal?project_issue_followers=&status%5B%5D=1&status%5B%5D=13&status%5B%5D=8&status%5B%5D=14&status%5B%5D=15&status%5B%5D=4&issue_tags_op=%3D&issue_tags=migrate-d6-d8).)
+* The Drupal 7 to Drupal 8 migration is incomplete but is suitable for
+ developers who would like to help improve the migration and can be used to
+ test upgrades especially for simple Drupal 7 sites. Most high-priority
+ migrations are available. ([Outstanding issues for the Drupal 7 to Drupal 8
+ migration](https://www.drupal.org/node/2456259).)
+* Drush support for Migrate is currently only available in the
+ [Drupal Upgrade](https://www.drupal.org/project/migrate_upgrade) contributed
+ module. (See the [pull request to add support to
+ Drush](https://github.com/drush-ops/drush/issues/2140).)
+* Conflicting text field processing settings [are now identified and
+ logged](https://www.drupal.org/node/2842222) to avoid security or data
+ integrity issues with the migration of plain and formatted text fields.
+* Automatic redirects are now [added for translation node paths that are no
+ longer valid](https://www.drupal.org/node/2850085) after migration has merged
+ translations into a single node.
+* A data integrity bug that resulted in [duplicate comment types and incorrect
+ comment_entity_statistics](https://www.drupal.org/node/2853872) for node and
+ forum comment migrations has been resolved.
+* A bug that [stopped public files from being migrated from D6 to D8 if the
+ user first selected Drupal 7 in the UI](https://www.drupal.org/node/2907233)
+ has also been resolved.
+
+#### Content Moderation ([beta stability](https://www.drupal.org/core/experimental#beta))
+
+Content Moderation allows workflows from the Workflows module to be applied to
+content. Content Moderation has beta stability in 8.4.0-alpha1. Notable improvements in this release:
+
+* Workflow states are now [selected from a select list, rather than under a drop-button](https://www.drupal.org/node/2753717), which represents a significant
+ usability improvement.
+* Now that workflows can be applied to any revisionable entity type, Content
+ Moderation [adds entity type checkboxes to the workflow form](https://www.drupal.org/node/2843083).
+ This allows site administrators to configure which entity types should have
+ the workflow at the same time as they configure the workflow itself, for a
+ more intuitive user experience.
+* Content Moderation now [prevents the deletion of workflows that are currently in use](https://www.drupal.org/node/2830740)
+ to prevent fatal errors and data integrity problems.
+* The confusing terminology of
+ ["forward revisions" has been replaced with that of "pending revisions"](https://www.drupal.org/node/2890364).
+ If your contributed module refers to revisions that are not yet published, it
+ should use this new term.
+* [The 'Latest revision' views filter has been rewritten to avoid relying on a
+ custom {revision_tracker}](https://www.drupal.org/node/2865579), and that
+ table has been removed from the database schema.
+
+As per the experimental module process, there were some backwards-incompatible
+changes since Drupal 8.3.x. Experimental modules do not offer a supported
+upgrade path, but [an unofficial upgrade path is
+available](https://www.drupal.org/node/2896630).
+
+#### Field Layout ([alpha stability](https://www.drupal.org/core/experimental#alpha))
+
+This module provides the ability for site builders to rearrange fields on
+content types, block types, etc. into new regions, for both the form and
+display, on the same forms provided by the normal field user interface. Field
+Layout has had several bugfixes since 8.3.0, but no significant changes. See
+the [entity display layout roadmap](https://www.drupal.org/node/2795833) for
+the next steps for this module, which needs to become stable by 8.5.0 to remain
+in Drupal core.
+
+#### Settings Tray ([beta stability](https://www.drupal.org/core/experimental#beta))
+
+The Settings Tray module allows configuring page elements such as blocks and
+menus from the frontend of your site. Settings Tray has improved significantly
+since Drupal 8.3.0, including numerous user interaction and accessibility
+fixes, better compatibility with stable core modules like Quick Edit and
+Contextual Links, added documentation, and [a CSS
+reset](https://www.drupal.org/node/2826722) for better themer experience.
+
+The module reached beta stability following completion of [moving the
+off-canvas dialog renderer into a core
+component](https://www.drupal.org/node/2784443), and [renaming the machine name
+of the module to settings_tray](https://www.drupal.org/node/2803375), to match
+its user-facing name. We hope to make Settings Tray stable by 8.5.0. To track
+progress, see the ["outside in" roadmap issue](https://www.drupal.org/node/2762505).
+
+#### Place Blocks ([alpha stability](https://www.drupal.org/core/experimental#alpha))
+
+This feature allows the user to place a block on any page and see the region
+where it will be displayed, without having to navigate to a backend
+administration form. [8.4.0-alpha1 was the deadline for Place Blocks to
+stabilize](https://www.drupal.org/core/experimental#versions), but the module's
+roadmap was not completed. Furthermore, the module is not intended as a
+standalone feature and should instead be a built-in part of the Block system.
+For these reasons, [Place Blocks module has been marked hidden in this
+release](https://www.drupal.org/node/2898267) (it can still be enabled with
+Drush). The Place Blocks module itself will be turned into an empty module in
+Drupal 8.5.x, since ideally the core Block system will offer the same
+functionality in 8.5.0 (though this depends on completion of a [core patch for
+the feature](https://www.drupal.org/node/2739075).)
Drupal 8.3.0, 2017-04-05
------------------------
diff --git a/core/MAINTAINERS.txt b/core/MAINTAINERS.txt
index 4e5f4e619..884a046f9 100644
--- a/core/MAINTAINERS.txt
+++ b/core/MAINTAINERS.txt
@@ -170,6 +170,7 @@ CSS
- John Albin Wilkins 'JohnAlbin' https://www.drupal.org/u/johnalbin
Database API
+- ?
MySQL DB driver
- David Strauss 'David Strauss' https://www.drupal.org/u/david-strauss
@@ -272,6 +273,10 @@ Mail
Markup
- ?
+Media
+- Sean Blommaert 'seanB' https://www.drupal.org/u/seanb
+- Adam Globus-Hoenich 'phenaproxima' https://www.drupal.org/u/phenaproxima
+
Menu
- Daniel Wehner 'dawehner' https://www.drupal.org/u/dawehner
- Peter Wolanin 'pwolanin' https://www.drupal.org/u/pwolanin
@@ -285,16 +290,10 @@ Menu UI
Migrate
- Adam Globus-Hoenich 'phenaproxima' https://www.drupal.org/u/phenaproxima
-- Ben Dougherty 'benjy' https://www.drupal.org/u/benjy
- Lucas Hedding 'heddn' https://www.drupal.org/u/heddn
-- Mike Ryan 'mikeryan' https://www.drupal.org/u/mikeryan
-- Vicki Spagnolo 'quietone' https://www.drupal.org/u/quietone
-
-Migrate (Drupal)
-- Ben Dougherty 'benjy' https://www.drupal.org/u/benjy
-- Lucas Hedding 'heddn' https://www.drupal.org/u/heddn
-- Mike Ryan 'mikeryan' https://www.drupal.org/u/mikeryan
+- Markus Sipilä 'masipila' https://www.drupal.org/u/masipila
- Vicki Spagnolo 'quietone' https://www.drupal.org/u/quietone
+- Maxime Turcotte 'maxocub' https://www.drupal.org/u/maxocub
Node
- Tim Millwood 'timmillwood' https://www.drupal.org/u/timmillwood
@@ -307,9 +306,6 @@ Node Access
Options
- ?
-Outside In
-- Ted Bowman 'tedbow' https://www.drupal.org/u/tedbow
-
Page Cache
- Lorenz Schori 'znerol' https://www.drupal.org/u/znerol
- Fabian Franz 'Fabianx' https://www.drupal.org/u/fabianx
@@ -356,6 +352,9 @@ Search
Serialization
- Damian Lee 'damiankloip' https://www.drupal.org/u/damiankloip
+Settings Tray
+- Ted Bowman 'tedbow' https://www.drupal.org/u/tedbow
+
Seven
- ?
@@ -512,11 +511,11 @@ tools, documentation, and processes to make it easier for new contributors to
get involved. They organize communications and logistics, and actively
participate in mentoring.
+- Mauricio Dinarte 'dinarcon' https://www.drupal.org/u/dinarcon
- Lucas Hedding 'heddn' https://www.drupal.org/u/heddn
+- Rachel Lawson 'rachel_norfolk' https://www.drupal.org/u/rachel_norfolk
- Valery Lourie 'valthebald' https://www.drupal.org/u/valthebald
-- Alina Mackenzie 'alimac' https://www.drupal.org/u/alimac
- Jess Myrbo 'xjm' https://www.drupal.org/u/xjm
-- Andrea Soper 'ZenDoodles' https://www.drupal.org/u/zendoodles
-- Cathy Theys 'YesCT' https://www.drupal.org/u/yesct
+- Matthew Radcliffe 'mradcliffe' https://www.drupal.org/u/mradcliffe
Provisional membership: None at this time.
diff --git a/core/assets/vendor/ckeditor/CHANGES.md b/core/assets/vendor/ckeditor/CHANGES.md
index 72c579805..19c099e4c 100644
--- a/core/assets/vendor/ckeditor/CHANGES.md
+++ b/core/assets/vendor/ckeditor/CHANGES.md
@@ -1,6 +1,119 @@
CKEditor 4 Changelog
====================
+## CKEditor 4.7.2
+
+New Features:
+
+* [#455](https://github.com/ckeditor/ckeditor-dev/issues/455): Added [Advanced Content Filter](https://docs.ckeditor.com/#!/guide/dev_acf) integration with the [Justify](http://ckeditor.com/addon/justify) plugin.
+
+Fixed Issues:
+
+* [#663](https://github.com/ckeditor/ckeditor-dev/issues/663): [Chrome] Fixed: Clicking the scrollbar throws an `Uncaught TypeError: element.is is not a function` error.
+* [#520](https://github.com/ckeditor/ckeditor-dev/issues/520): Fixed: Widgets cannot be properly pasted into a table cell.
+* [#579](https://github.com/ckeditor/ckeditor-dev/issues/579): Fixed: Internal `cke_table-faked-selection-table` class is visible in the Stylesheet Classes field of the [Table Properties](http://ckeditor.com/addon/table) dialog.
+* [#545](https://github.com/ckeditor/ckeditor-dev/issues/545): [Edge] Fixed: Error thrown when pressing the [Select All](https://ckeditor.com/addon/selectall) button in [Source Mode](http://ckeditor.com/addon/sourcearea).
+* [#582](https://github.com/ckeditor/ckeditor-dev/issues/582): Fixed: Double slash in the path to stylesheet needed by the [Table Selection](http://ckeditor.com/addon/tableselection) plugin. Thanks to [Marius Dumitru Florea](https://github.com/mflorea)!
+* [#491](https://github.com/ckeditor/ckeditor-dev/issues/491): Fixed: Unnecessary dependency on the [Editor Toolbar](http://ckeditor.com/addon/toolbar) plugin inside the [Notification](http://ckeditor.com/addon/notification) plugin.
+* [#646](https://github.com/ckeditor/ckeditor-dev/issues/646): Fixed: Error thrown into the browser console after opening the [Styles Combo](http://ckeditor.com/addon/stylescombo) plugin menu in the editor without any selection.
+* [#501](https://github.com/ckeditor/ckeditor-dev/issues/501): Fixed: Double click does not open the dialog for modifying anchors inserted via the [Link](http://ckeditor.com/addon/link) plugin.
+* [#9780](https://dev.ckeditor.com/ticket/9780): [IE8-9] Fixed: Clicking inside an empty [read-only](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-readOnly) editor throws an error.
+* [#16820](https://dev.ckeditor.com/ticket/16820): [IE10] Fixed: Clicking below a single horizontal rule throws an error.
+* [#426](https://github.com/ckeditor/ckeditor-dev/issues/426): Fixed: The [`range.cloneContents`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-cloneContents) method selects the whole element when the selection starts at the beginning of that element.
+* [#644](https://github.com/ckeditor/ckeditor-dev/issues/644): Fixed: The [`range.extractContents`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-extractContents) method returns an incorrect result when multiple nodes are selected.
+* [#684](https://github.com/ckeditor/ckeditor-dev/issues/684): Fixed: The [`elementPath.contains`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.elementPath-method-contains) method incorrectly excludes the last element instead of root when the `fromTop` parameter is set to `true`.
+
+Other Changes:
+
+* Updated the [SCAYT](http://ckeditor.com/addon/scayt) (Spell Check As You Type) plugin:
+ * [#148](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/148): Fixed: SCAYT leaves underlined word after the CKEditor Replace dialog corrects it.
+* [#751](https://github.com/ckeditor/ckeditor-dev/issues/751): Added the [`CKEDITOR.dom.nodeList.toArray`](https://docs.ckeditor.com/#!/api/CKEDITOR.dom.nodeList-method-toArray) method which returns an array representation of a [node list](https://docs.ckeditor.com/#!/api/CKEDITOR.dom.nodeList).
+
+## CKEditor 4.7.1
+
+New Features:
+
+* Added a new Mexican Spanish localization. Thanks to [David Alexandro Rodriguez](https://www.transifex.com/user/profile/darsco16/)!
+* [#413](https://github.com/ckeditor/ckeditor-dev/issues/413): Added Paste as Plain Text keyboard shortcut to the [Accessibility Help](http://ckeditor.com/addon/a11yhelp) instructions.
+
+Fixed Issues:
+
+* [#515](https://github.com/ckeditor/ckeditor-dev/issues/515): [Chrome] Fixed: Mouse actions on CKEditor scrollbar throw an exception when the [Table Selection](http://ckeditor.com/addon/tableselection) plugin is loaded.
+* [#493](https://github.com/ckeditor/ckeditor-dev/issues/493): Fixed: Selection started from a nested table causes an error in the browser while scrolling down.
+* [#415](https://github.com/ckeditor/ckeditor-dev/issues/415): [Firefox] Fixed: Enter key breaks the table structure when pressed in a table selection.
+* [#457](https://github.com/ckeditor/ckeditor-dev/issues/457): Fixed: Error thrown when deleting content from the editor with no selection.
+* [#478](https://github.com/ckeditor/ckeditor-dev/issues/478): [Chrome] Fixed: Error thrown by the [Enter Key](http://ckeditor.com/addon/enterkey) plugin when pressing Enter with no selection.
+* [#424](https://github.com/ckeditor/ckeditor-dev/issues/424): Fixed: Error thrown by [Tab Key Handling](http://ckeditor.com/addon/tab) and [Indent List](http://ckeditor.com/addon/indentlist) plugins when pressing Tab with no selection in inline editor.
+* [#476](https://github.com/ckeditor/ckeditor-dev/issues/476): Fixed: Anchors inserted with the [Link](http://ckeditor.com/addon/link) plugin on collapsed selection cannot be edited.
+* [#417](https://github.com/ckeditor/ckeditor-dev/issues/417): Fixed: The [Table Resize](http://ckeditor.com/addon/tableresize) plugin throws an error when used with a table with only header or footer rows.
+* [#523](https://github.com/ckeditor/ckeditor-dev/issues/523): Fixed: The [`editor.getCommandKeystroke`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getCommandKeystroke) method does not obtain the correct keystroke.
+* [#534](https://github.com/ckeditor/ckeditor-dev/issues/534): [IE] Fixed: [Paste from Word](http://ckeditor.com/addon/pastefromword) does not work in Quirks Mode.
+* [#450](https://github.com/ckeditor/ckeditor-dev/issues/450): Fixed: [`CKEDITOR.filter`](http://docs.ckeditor.com/#!/api/CKEDITOR.filter) incorrectly transforms the `margin` CSS property.
+
+## CKEditor 4.7
+
+**Important Notes:**
+
+* [#13793](http://dev.ckeditor.com/ticket/13793): The [`embed_provider`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-embed_provider) configuration option for the [Media Embed](http://ckeditor.com/addon/embed) and [Semantic Media Embed](http://ckeditor.com/addon/embedsemantic) plugins is no longer preset by default.
+* The [UI Color](http://ckeditor.com/addon/uicolor) plugin now uses a custom color picker instead of the `YUI 2.7.0` library which has some known vulnerabilities (it's a security precaution, there was no security issue in CKEditor due to the way it was used).
+
+New Features:
+
+* [#16755](http://dev.ckeditor.com/ticket/16755): Added the [Table Selection](http://ckeditor.com/addon/tableselection) plugin that lets you select and manipulate an arbitrary rectangular table fragment (a few cells, a row or a column).
+* [#16961](http://dev.ckeditor.com/ticket/16961): Added support for pasting from Microsoft Excel.
+* [#13381](http://dev.ckeditor.com/ticket/13381): Dynamic code evaluation call in [`CKEDITOR.template`](http://docs.ckeditor.com/#!/api/CKEDITOR.template) removed. CKEditor can now be used with the `unsafe-eval` Content Security Policy. Thanks to [Caridy Patiño](http://caridy.name)!
+* [#16971](http://dev.ckeditor.com/ticket/16971): Added support for color in the `background` property containing also other styles for table cells in the [Table Tools](http://ckeditor.com/addon/tabletools) plugin.
+* [#16847](http://dev.ckeditor.com/ticket/16847): Added support for parsing and inlining any formatting created using the Microsoft Word style system to the [Paste from Word](http://ckeditor.com/addon/pastefromword) plugin.
+* [#16818](http://dev.ckeditor.com/ticket/16818): Added table cell height parsing in the [Paste from Word](http://ckeditor.com/addon/pastefromword) plugin.
+* [#16850](http://dev.ckeditor.com/ticket/16850): Added a new [`config.enableContextMenu`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-enableContextMenu) configuration option for enabling and disabling the [context menu](http://ckeditor.com/addon/contextmenu).
+* [#16937](http://dev.ckeditor.com/ticket/16937): The `command` parameter in [CKEDITOR.editor.getCommandKeystroke](http://docs.ckeditor.dev/#!/api/CKEDITOR.editor-method-getCommandKeystroke) now also accepts a command name as an argument.
+* [#17010](http://dev.ckeditor.com/ticket/17010): The [`CKEDITOR.dom.range.shrink`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-shrink) method now allows for skipping bogus ` ` elements.
+
+Fixed Issues:
+
+* [#16935](http://dev.ckeditor.com/ticket/16935): [Chrome] Fixed: Blurring the editor in [Source Mode](http://ckeditor.com/addon/sourcearea) throws an error.
+* [#16825](http://dev.ckeditor.com/ticket/16825): [Chrome] Fixed: Error thrown when destroying a focused inline editor.
+* [#16857](http://dev.ckeditor.com/ticket/16857): Fixed: Ctrl+Shift+V blocked by [Copy Formatting](http://ckeditor.com/addon/copyformatting).
+* [#16845](https://dev.ckeditor.com/ticket/16845): [IE] Fixed: Cursor jumps to the top of the scrolled editor after focusing it when the [Copy Formatting](http://ckeditor.com/addon/copyformatting) plugin is enabled.
+* [#16786](http://dev.ckeditor.com/ticket/16786): Fixed: Added missing translations for the [Copy Formatting](http://ckeditor.com/addon/copyformatting) plugin.
+* [#14714](http://dev.ckeditor.com/ticket/14714): [WebKit/Blink] Fixed: Exception thrown on refocusing a blurred inline editor.
+* [#16913](http://dev.ckeditor.com/ticket/16913): [Firefox, IE] Fixed: [Paste as Plain Text](http://ckeditor.com/addon/pastetext) keystroke does not work.
+* [#16968](http://dev.ckeditor.com/ticket/16968): Fixed: [Safari] [Paste as Plain Text](http://ckeditor.com/addon/pastetext) is not handled by the editor.
+* [#16912](http://dev.ckeditor.com/ticket/16912): Fixed: Exception thrown when a single image is pasted using [Paste from Word](http://ckeditor.com/addon/pastefromword).
+* [#16821](http://dev.ckeditor.com/ticket/16821): Fixed: Extraneous `` elements with `height` style stacked when [pasting from Word](http://ckeditor.com/addon/pastefromword).
+* [#16866](http://dev.ckeditor.com/ticket/16866): [IE, Edge] Fixed: Whitespaces not preserved when [pasting from Word](http://ckeditor.com/addon/pastefromword).
+* [#16860](http://dev.ckeditor.com/ticket/16860): Fixed: Paragraphs which only look like lists incorrectly transformed into them when [pasting from Word](http://ckeditor.com/addon/pastefromword).
+* [#16817](http://dev.ckeditor.com/ticket/16817): Fixed: When [pasting from Word](http://ckeditor.com/addon/pastefromword), paragraphs are transformed into lists with some corrupted data.
+* [#16833](http://dev.ckeditor.com/ticket/16833): [IE11] Fixed: Malformed list with headers [pasted from Word](http://ckeditor.com/addon/pastefromword).
+* [#16826](http://dev.ckeditor.com/ticket/16826): [IE] Fixed: Superfluous paragraphs within lists [pasted from Word](http://ckeditor.com/addon/pastefromword).
+* [#12465](http://dev.ckeditor.com/ticket/12465): Fixed: Cannot change the state of checkboxes or radio buttons if the properties dialog was invoked with a double-click.
+* [#13062](http://dev.ckeditor.com/ticket/13062): Fixed: Impossible to unlink when the caret is at the edge of the link.
+* [#13585](http://dev.ckeditor.com/ticket/13585): Fixed: Error when wrapping two adjacent `
` elements with a `
`.
+* [#16811](http://dev.ckeditor.com/ticket/16811): Fixed: Table alignment is not preserved by the [Paste from Word](http://ckeditor.com/addon/pastefromword) plugin.
+* [#16810](http://dev.ckeditor.com/ticket/16810): Fixed: Vertical align in tables is not supported by the [Paste from Word](http://ckeditor.com/addon/pastefromword) plugin.
+* [#11956](http://dev.ckeditor.com/ticket/11956): [Blink, IE] Fixed: [Link](http://ckeditor.com/addon/link) dialog does not open on a double click on the second word of the link with a background color or other styles.
+* [#10472](http://dev.ckeditor.com/ticket/10472): Fixed: Unable to use [Table Resize](http://ckeditor.com/addon/tableresize) on table header and footer.
+* [#14762](http://dev.ckeditor.com/ticket/14762): Fixed: Hovering over an empty table (without rows or cells) throws an error when the [Table Resize](http://ckeditor.com/addon/tableresize) plugin is active.
+* [#16777](https://dev.ckeditor.com/ticket/16777): [Edge] Fixed: The [Clipboard](http://ckeditor.com/addon/clipboard) plugin does not allow to drop widgets into the editor.
+* [#14894](https://dev.ckeditor.com/ticket/14894): [Chrome] Fixed: The editor scrolls to the top after focusing or when a dialog is opened.
+* [#14769](https://dev.ckeditor.com/ticket/14769): Fixed: URLs with '-' in host are not detected by the [Auto Link](http://ckeditor.com/addon/autolink) plugin.
+* [#16804](https://dev.ckeditor.com/ticket/16804): Fixed: Focus is not on the first menu item when the user opens a context menu or a drop-down list from the editor toolbar.
+* [#14407](https://dev.ckeditor.com/ticket/14407): [IE] Fixed: Non-editable widgets can be edited.
+* [#16927](https://dev.ckeditor.com/ticket/16927): Fixed: An error thrown if a bundle containing the [Color Button](http://ckeditor.com/addon/colorbutton) plugin is run in ES5 strict mode. Thanks to [Igor Rubinovich](https://github.com/IgorRubinovich)!
+* [#16920](http://dev.ckeditor.com/ticket/16920): Fixed: Several plugins not using the [Dialog](http://ckeditor.com/addon/dialog) plugin as a direct dependency.
+* [PR#336](https://github.com/ckeditor/ckeditor-dev/pull/336): Fixed: Typo in [`CKEDITOR.getCss`](http://docs.ckeditor.com/#!/api/CKEDITOR-method-getCss) API documentation. Thanks to [knusperpixel](https://github.com/knusperpixel)!
+* [#17027](http://dev.ckeditor.com/ticket/17027): Fixed: Command event data should be initialized as an empty object.
+* Fixed the behavior of HTML parser when parsing `src`/`srcdoc` attributes of the `