diff --git a/composer.json b/composer.json index ecf8b66456..c691cb717f 100644 --- a/composer.json +++ b/composer.json @@ -40,6 +40,7 @@ "drupal/faqfield": "^7.1", "drupal/feeds": "^3.0@beta", "drupal/field_defaults": "^2.0", + "drupal/field_group": "^3.6", "drupal/field_permissions": "^1.1", "drupal/hierarchy_manager": "^3.3", "drupal/image_style_warmer": "^1.1", @@ -134,6 +135,9 @@ ] }, + "patchLevel": { + "drupal/core": "-p2" + }, "patches": { "drupal/tome": { "CSS on Amazon S3 via Flysystem not processing properly": "https://www.drupal.org/files/issues/2020-08-06/3161384-4.patch", @@ -143,9 +147,7 @@ }, "drupal/core": { "Enable MenuActiveTrail to find the original menu item created by node_menus": "./patches/drupal/correctActiveTrail_d10.patch", - "Show views theme suggestions in twig debug": "https://www.drupal.org/files/issues/2024-06-06/2118743-251.patch", - "Add a taxonomy revision UI": "https://www.drupal.org/files/issues/2023-10-26/add-taxonomy-revision-ui-2936995-58.patch", - "Enable taxonomy revision log message": "./patches/drupal/taxonomy_revision_log.patch" + "Show views theme suggestions in twig debug": "./patches/drupal/viewsSuggestions-10_3.patch" }, "drupal/autologout": { "Autologout can log out out from other tabs": "https://www.drupal.org/files/issues/2024-06-03/3395581-7.patch" diff --git a/composer.lock b/composer.lock index 740db231cb..26b42f865d 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "06ca7c5968b37fb09f0f66a126ffa880", + "content-hash": "93324a928ad5a44abbc3c4ab0c967cd6", "packages": [ { "name": "asm89/stack-cors", @@ -64,16 +64,16 @@ }, { "name": "aws/aws-crt-php", - "version": "v1.2.6", + "version": "v1.2.7", "source": { "type": "git", "url": "https://github.com/awslabs/aws-crt-php.git", - "reference": "a63485b65b6b3367039306496d49737cf1995408" + "reference": "d71d9906c7bb63a28295447ba12e74723bd3730e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/a63485b65b6b3367039306496d49737cf1995408", - "reference": "a63485b65b6b3367039306496d49737cf1995408", + "url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/d71d9906c7bb63a28295447ba12e74723bd3730e", + "reference": "d71d9906c7bb63a28295447ba12e74723bd3730e", "shasum": "" }, "require": { @@ -112,22 +112,22 @@ ], "support": { "issues": "https://github.com/awslabs/aws-crt-php/issues", - "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.6" + "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.7" }, - "time": "2024-06-13T17:21:28+00:00" + "time": "2024-10-18T22:15:13+00:00" }, { "name": "aws/aws-sdk-php", - "version": "3.314.7", + "version": "3.324.13", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "3a7ea3e49ae50eaaa969dc15d69b2dd46b4d7284" + "reference": "781cb9594f7d1754c888452f980748115fd159d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/3a7ea3e49ae50eaaa969dc15d69b2dd46b4d7284", - "reference": "3a7ea3e49ae50eaaa969dc15d69b2dd46b4d7284", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/781cb9594f7d1754c888452f980748115fd159d3", + "reference": "781cb9594f7d1754c888452f980748115fd159d3", "shasum": "" }, "require": { @@ -180,7 +180,10 @@ ], "psr-4": { "Aws\\": "src/" - } + }, + "exclude-from-classmap": [ + "src/data/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -207,9 +210,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.314.7" + "source": "https://github.com/aws/aws-sdk-php/tree/3.324.13" }, - "time": "2024-06-24T21:03:27+00:00" + "time": "2024-10-29T18:11:10+00:00" }, { "name": "caxy/php-htmldiff", @@ -549,24 +552,24 @@ }, { "name": "composer/semver", - "version": "3.4.2", + "version": "3.4.3", "source": { "type": "git", "url": "https://github.com/composer/semver.git", - "reference": "c51258e759afdb17f1fd1fe83bc12baaef6309d6" + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/c51258e759afdb17f1fd1fe83bc12baaef6309d6", - "reference": "c51258e759afdb17f1fd1fe83bc12baaef6309d6", + "url": "https://api.github.com/repos/composer/semver/zipball/4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", "shasum": "" }, "require": { "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "phpstan/phpstan": "^1.4", - "symfony/phpunit-bridge": "^4.2 || ^5" + "phpstan/phpstan": "^1.11", + "symfony/phpunit-bridge": "^3 || ^7" }, "type": "library", "extra": { @@ -610,7 +613,7 @@ "support": { "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.4.2" + "source": "https://github.com/composer/semver/tree/3.4.3" }, "funding": [ { @@ -626,7 +629,7 @@ "type": "tidelift" } ], - "time": "2024-07-12T11:35:52+00:00" + "time": "2024-09-19T14:15:21+00:00" }, { "name": "consolidation/annotated-command", @@ -848,16 +851,16 @@ }, { "name": "consolidation/output-formatters", - "version": "4.5.0", + "version": "4.6.0", "source": { "type": "git", "url": "https://github.com/consolidation/output-formatters.git", - "reference": "7a611b01eb48eb19cd54672339fc08c0985bf540" + "reference": "5fd5656718d7068a02d046f418a7ba873d5abbfe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/7a611b01eb48eb19cd54672339fc08c0985bf540", - "reference": "7a611b01eb48eb19cd54672339fc08c0985bf540", + "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/5fd5656718d7068a02d046f418a7ba873d5abbfe", + "reference": "5fd5656718d7068a02d046f418a7ba873d5abbfe", "shasum": "" }, "require": { @@ -896,9 +899,9 @@ "description": "Format text by applying transformations provided by plug-in formatters.", "support": { "issues": "https://github.com/consolidation/output-formatters/issues", - "source": "https://github.com/consolidation/output-formatters/tree/4.5.0" + "source": "https://github.com/consolidation/output-formatters/tree/4.6.0" }, - "time": "2024-04-02T15:18:52+00:00" + "time": "2024-10-18T14:02:48+00:00" }, { "name": "consolidation/robo", @@ -1194,16 +1197,16 @@ }, { "name": "dflydev/dot-access-data", - "version": "v3.0.2", + "version": "v3.0.3", "source": { "type": "git", "url": "https://github.com/dflydev/dflydev-dot-access-data.git", - "reference": "f41715465d65213d644d3141a6a93081be5d3549" + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549", - "reference": "f41715465d65213d644d3141a6a93081be5d3549", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/a23a2bf4f31d3518f3ecb38660c95715dfead60f", + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f", "shasum": "" }, "require": { @@ -1263,9 +1266,9 @@ ], "support": { "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", - "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2" + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.3" }, - "time": "2022-10-27T11:44:00+00:00" + "time": "2024-07-08T12:26:09+00:00" }, { "name": "doctrine/annotations", @@ -1431,16 +1434,16 @@ }, { "name": "doctrine/common", - "version": "3.4.4", + "version": "3.4.5", "source": { "type": "git", "url": "https://github.com/doctrine/common.git", - "reference": "0aad4b7ab7ce8c6602dfbb1e1a24581275fb9d1a" + "reference": "6c8fef961f67b8bc802ce3e32e3ebd1022907286" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/common/zipball/0aad4b7ab7ce8c6602dfbb1e1a24581275fb9d1a", - "reference": "0aad4b7ab7ce8c6602dfbb1e1a24581275fb9d1a", + "url": "https://api.github.com/repos/doctrine/common/zipball/6c8fef961f67b8bc802ce3e32e3ebd1022907286", + "reference": "6c8fef961f67b8bc802ce3e32e3ebd1022907286", "shasum": "" }, "require": { @@ -1502,7 +1505,7 @@ ], "support": { "issues": "https://github.com/doctrine/common/issues", - "source": "https://github.com/doctrine/common/tree/3.4.4" + "source": "https://github.com/doctrine/common/tree/3.4.5" }, "funding": [ { @@ -1518,7 +1521,7 @@ "type": "tidelift" } ], - "time": "2024-04-16T13:35:33+00:00" + "time": "2024-10-08T15:53:43+00:00" }, { "name": "doctrine/deprecations", @@ -1900,20 +1903,20 @@ }, { "name": "drupal/admin_toolbar", - "version": "3.4.2", + "version": "3.5.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/admin_toolbar.git", - "reference": "3.4.2" + "reference": "3.5.0" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/admin_toolbar-3.4.2.zip", - "reference": "3.4.2", - "shasum": "f5a008e5c73f5a11c6c8067c0ea6ebb76aa33854" + "url": "https://ftp.drupal.org/files/projects/admin_toolbar-3.5.0.zip", + "reference": "3.5.0", + "shasum": "099e8d4dc98e1d551b4f9cffdc39599eb8ad04e8" }, "require": { - "drupal/core": "^9.2 || ^10" + "drupal/core": "^9.5 || ^10 || ^11" }, "require-dev": { "drupal/admin_toolbar_tools": "*" @@ -1921,8 +1924,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "3.4.2", - "datestamp": "1696006195", + "version": "3.5.0", + "datestamp": "1722639094", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -1955,12 +1958,16 @@ "homepage": "https://www.drupal.org/u/matio89", "role": "Maintainer" }, + { + "name": "japerry", + "homepage": "https://www.drupal.org/user/45640" + }, { "name": "matio89", "homepage": "https://www.drupal.org/user/2320090" }, { - "name": "Musa.thomas", + "name": "musa.thomas", "homepage": "https://www.drupal.org/user/1213824" }, { @@ -1981,20 +1988,20 @@ }, { "name": "drupal/allowed_formats", - "version": "3.0.0", + "version": "3.0.1", "source": { "type": "git", "url": "https://git.drupalcode.org/project/allowed_formats.git", - "reference": "3.0.0" + "reference": "3.0.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/allowed_formats-3.0.0.zip", - "reference": "3.0.0", - "shasum": "1dad855db0e12fa3cdef8ca4e3bfc98f89090490" + "url": "https://ftp.drupal.org/files/projects/allowed_formats-3.0.1.zip", + "reference": "3.0.1", + "shasum": "9dfaed3ab8425ee94146914fdb492cefc6c6bb4d" }, "require": { - "drupal/core": "^10.1" + "drupal/core": "^10.1 || ^11" }, "conflict": { "drupal/core": "<10.1.0" @@ -2002,8 +2009,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "3.0.0", - "datestamp": "1693983469", + "version": "3.0.1", + "datestamp": "1723158950", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -2078,7 +2085,7 @@ ], "authors": [ { - "name": "AjitS", + "name": "ajits", "homepage": "https://www.drupal.org/user/981944" }, { @@ -2121,6 +2128,10 @@ "name": "prabeen.giri", "homepage": "https://www.drupal.org/user/913078" }, + { + "name": "scott_earnest", + "homepage": "https://www.drupal.org/user/416158" + }, { "name": "str8", "homepage": "https://www.drupal.org/user/2865063" @@ -2276,29 +2287,29 @@ }, { "name": "drupal/ckeditor_media_resize", - "version": "1.0.0-beta1", + "version": "1.0.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/ckeditor_media_resize.git", - "reference": "1.0.0-beta1" + "reference": "1.0.0" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/ckeditor_media_resize-1.0.0-beta1.zip", - "reference": "1.0.0-beta1", - "shasum": "84fed6d2eeb21e9b82c362a1280650821605e177" + "url": "https://ftp.drupal.org/files/projects/ckeditor_media_resize-1.0.0.zip", + "reference": "1.0.0", + "shasum": "0e700e53a9aaedbd7586d3fc995201bed14e12a8" }, "require": { - "drupal/core": "^9.4 || ^10" + "drupal/core": "^10.3.0 || ^11" }, "type": "drupal-module", "extra": { "drupal": { - "version": "1.0.0-beta1", - "datestamp": "1699120747", + "version": "1.0.0", + "datestamp": "1730224770", "security-coverage": { - "status": "not-covered", - "message": "Beta releases are not covered by Drupal security advisories." + "status": "covered", + "message": "Covered by Drupal's security advisory policy" } } }, @@ -2317,7 +2328,7 @@ "homepage": "https://www.drupal.org/user/1336864" }, { - "name": "Tim Bozeman", + "name": "tim bozeman", "homepage": "https://www.drupal.org/user/2241356" } ], @@ -2343,7 +2354,7 @@ }, "require": { "drupal/ckeditor": "*", - "drupal/core": "^8 || ^9 || ^10 || ^11" + "drupal/core": "^8 || ^9 || ^10 || ^11 || ^12" }, "type": "drupal-module", "extra": { @@ -2429,27 +2440,28 @@ }, { "name": "drupal/composer_deploy", - "version": "1.7.0", + "version": "1.10.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/composer_deploy.git", - "reference": "8.x-1.7" + "reference": "8.x-1.10" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/composer_deploy-8.x-1.7.zip", - "reference": "8.x-1.7", - "shasum": "545cb7d83c701fb68f4d95522f24d7270332ce8a" + "url": "https://ftp.drupal.org/files/projects/composer_deploy-8.x-1.10.zip", + "reference": "8.x-1.10", + "shasum": "71a80d50a6f2a0f1f00fcae3dd61865ef3caf6bd" }, "require": { - "drupal/core": "^8.8 || ^9 || ^10", - "webflo/drupal-finder": "^1.2" + "drupal/core": "^9 || ^10 || ^11", + "php": ">=8.1", + "webflo/drupal-finder": "^1.3" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.7", - "datestamp": "1660818349", + "version": "8.x-1.10", + "datestamp": "1728893427", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -2617,7 +2629,7 @@ "homepage": "https://www.drupal.org/user/157725" }, { - "name": "AstonVictor", + "name": "astonvictor", "homepage": "https://www.drupal.org/user/3466615" }, { @@ -2705,16 +2717,16 @@ }, { "name": "drupal/core", - "version": "10.2.8", + "version": "10.3.6", "source": { "type": "git", "url": "https://github.com/drupal/core.git", - "reference": "74106472294be770cb76d93bb5a239f7ce741716" + "reference": "168ec99f2012aeb4e93c6c7dd4a90dc919ae96c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core/zipball/74106472294be770cb76d93bb5a239f7ce741716", - "reference": "74106472294be770cb76d93bb5a239f7ce741716", + "url": "https://api.github.com/repos/drupal/core/zipball/168ec99f2012aeb4e93c6c7dd4a90dc919ae96c6", + "reference": "168ec99f2012aeb4e93c6c7dd4a90dc919ae96c6", "shasum": "" }, "require": { @@ -2853,7 +2865,8 @@ "lib/Drupal/Core/DrupalKernel.php", "lib/Drupal/Core/DrupalKernelInterface.php", "lib/Drupal/Core/Installer/InstallerRedirectTrait.php", - "lib/Drupal/Core/Site/Settings.php" + "lib/Drupal/Core/Site/Settings.php", + "lib/Drupal/Component/Datetime/Time.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -2862,22 +2875,22 @@ ], "description": "Drupal is an open source content management platform powering millions of websites and applications.", "support": { - "source": "https://github.com/drupal/core/tree/10.2.8" + "source": "https://github.com/drupal/core/tree/10.3.6" }, - "time": "2024-09-11T16:27:41+00:00" + "time": "2024-10-03T08:58:13+00:00" }, { "name": "drupal/core-composer-scaffold", - "version": "10.3.0", + "version": "10.3.6", "source": { "type": "git", "url": "https://github.com/drupal/core-composer-scaffold.git", - "reference": "a1a186caeb89899143e0c6912ccee9d3d7181dbe" + "reference": "f58ab5c0d02d275c5aa226c4505b457e41b161cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core-composer-scaffold/zipball/a1a186caeb89899143e0c6912ccee9d3d7181dbe", - "reference": "a1a186caeb89899143e0c6912ccee9d3d7181dbe", + "url": "https://api.github.com/repos/drupal/core-composer-scaffold/zipball/f58ab5c0d02d275c5aa226c4505b457e41b161cc", + "reference": "f58ab5c0d02d275c5aa226c4505b457e41b161cc", "shasum": "" }, "require": { @@ -2912,13 +2925,13 @@ "drupal" ], "support": { - "source": "https://github.com/drupal/core-composer-scaffold/tree/10.3.0" + "source": "https://github.com/drupal/core-composer-scaffold/tree/10.3.6" }, - "time": "2024-05-11T08:21:39+00:00" + "time": "2024-08-22T14:31:34+00:00" }, { "name": "drupal/core-project-message", - "version": "10.3.0", + "version": "10.3.6", "source": { "type": "git", "url": "https://github.com/drupal/core-project-message.git", @@ -2953,79 +2966,79 @@ "drupal" ], "support": { - "source": "https://github.com/drupal/core-project-message/tree/11.0.0-beta1" + "source": "https://github.com/drupal/core-project-message/tree/11.0.5" }, "time": "2023-07-24T07:55:25+00:00" }, { "name": "drupal/core-recommended", - "version": "10.2.8", + "version": "10.3.6", "source": { "type": "git", "url": "https://github.com/drupal/core-recommended.git", - "reference": "9880260a404d28578cb23dcc104fc5d37dc9dc6f" + "reference": "5ddec63138dc10869dea5d1cd4e72c977bb9b538" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core-recommended/zipball/9880260a404d28578cb23dcc104fc5d37dc9dc6f", - "reference": "9880260a404d28578cb23dcc104fc5d37dc9dc6f", + "url": "https://api.github.com/repos/drupal/core-recommended/zipball/5ddec63138dc10869dea5d1cd4e72c977bb9b538", + "reference": "5ddec63138dc10869dea5d1cd4e72c977bb9b538", "shasum": "" }, "require": { "asm89/stack-cors": "~v2.2.0", "composer/semver": "~3.4.0", "doctrine/annotations": "~1.14.3", - "doctrine/deprecations": "~1.1.2", - "doctrine/lexer": "~2.1.0", - "drupal/core": "10.2.8", + "doctrine/deprecations": "~1.1.3", + "doctrine/lexer": "~2.1.1", + "drupal/core": "10.3.6", "egulias/email-validator": "~4.0.2", "guzzlehttp/guzzle": "~7.8.1", "guzzlehttp/promises": "~2.0.2", "guzzlehttp/psr7": "~2.6.2", - "masterminds/html5": "~2.8.1", - "mck89/peast": "~v1.15.4", - "pear/archive_tar": "~1.4.14", + "masterminds/html5": "~2.9.0", + "mck89/peast": "~v1.16.2", + "pear/archive_tar": "~1.5.0", "pear/console_getopt": "~v1.4.3", - "pear/pear-core-minimal": "~v1.10.14", + "pear/pear-core-minimal": "~v1.10.15", "pear/pear_exception": "~v1.0.2", "psr/cache": "~3.0.0", "psr/container": "~2.0.2", "psr/event-dispatcher": "~1.0.0", "psr/http-client": "~1.0.3", - "psr/http-factory": "~1.0.2", + "psr/http-factory": "~1.1.0", "psr/log": "~3.0.0", "ralouphie/getallheaders": "~3.0.3", - "sebastian/diff": "~4.0.5", - "symfony/console": "~v6.4.1", - "symfony/dependency-injection": "~v6.4.1", - "symfony/deprecation-contracts": "~v3.4.0", - "symfony/error-handler": "~v6.4.0", - "symfony/event-dispatcher": "~v6.4.0", - "symfony/event-dispatcher-contracts": "~v3.4.0", - "symfony/filesystem": "~v6.4.0", - "symfony/finder": "~v6.4.0", - "symfony/http-foundation": "~v6.4.0", - "symfony/http-kernel": "~v6.4.1", - "symfony/mailer": "~v6.4.0", - "symfony/mime": "~v6.4.0", - "symfony/polyfill-ctype": "~v1.28.0", - "symfony/polyfill-iconv": "~v1.28.0", - "symfony/polyfill-intl-grapheme": "~v1.28.0", - "symfony/polyfill-intl-idn": "~v1.28.0", - "symfony/polyfill-intl-normalizer": "~v1.28.0", - "symfony/polyfill-mbstring": "~v1.28.0", - "symfony/polyfill-php83": "~v1.28.0", - "symfony/process": "~v6.4.0", - "symfony/psr-http-message-bridge": "~v6.4.0", - "symfony/routing": "~v6.4.1", - "symfony/serializer": "~v6.4.1", - "symfony/service-contracts": "~v3.4.0", - "symfony/string": "~v6.4.0", - "symfony/translation-contracts": "~v3.4.0", - "symfony/validator": "~v6.4.0", - "symfony/var-dumper": "~v6.4.0", - "symfony/var-exporter": "~v6.4.1", - "symfony/yaml": "~v6.4.0", + "sebastian/diff": "~4.0.6", + "symfony/console": "~v6.4.8", + "symfony/dependency-injection": "~v6.4.7", + "symfony/deprecation-contracts": "~v3.5.0", + "symfony/error-handler": "~v6.4.7", + "symfony/event-dispatcher": "~v6.4.7", + "symfony/event-dispatcher-contracts": "~v3.5.0", + "symfony/filesystem": "~v6.4.8", + "symfony/finder": "~v6.4.8", + "symfony/http-foundation": "~v6.4.7", + "symfony/http-kernel": "~v6.4.7", + "symfony/mailer": "~v6.4.7", + "symfony/mime": "~v6.4.7", + "symfony/polyfill-ctype": "~v1.29.0", + "symfony/polyfill-iconv": "~v1.29.0", + "symfony/polyfill-intl-grapheme": "~v1.29.0", + "symfony/polyfill-intl-idn": "~v1.29.0", + "symfony/polyfill-intl-normalizer": "~v1.29.0", + "symfony/polyfill-mbstring": "~v1.29.0", + "symfony/polyfill-php83": "~v1.29.0", + "symfony/process": "~v6.4.8", + "symfony/psr-http-message-bridge": "~v6.4.7", + "symfony/routing": "~v6.4.7", + "symfony/serializer": "~v6.4.7", + "symfony/service-contracts": "~v3.5.0", + "symfony/string": "~v6.4.8", + "symfony/translation-contracts": "~v3.5.0", + "symfony/validator": "~v6.4.7", + "symfony/var-dumper": "~v6.4.7", + "symfony/var-exporter": "~v6.4.7", + "symfony/yaml": "~v6.4.7", "twig/twig": "~v3.14.0" }, "conflict": { @@ -3038,27 +3051,27 @@ ], "description": "Core and its dependencies with known-compatible minor versions. Require this project INSTEAD OF drupal/core.", "support": { - "source": "https://github.com/drupal/core-recommended/tree/10.2.8" + "source": "https://github.com/drupal/core-recommended/tree/10.3.6" }, - "time": "2024-09-11T16:27:41+00:00" + "time": "2024-10-03T08:58:13+00:00" }, { "name": "drupal/csv_serialization", - "version": "4.0.0", + "version": "4.0.1", "source": { "type": "git", "url": "https://git.drupalcode.org/project/csv_serialization.git", - "reference": "4.0.0" + "reference": "4.0.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/csv_serialization-4.0.0.zip", - "reference": "4.0.0", - "shasum": "90d429b044f7d6608d9075852285f37a97d5de6c" + "url": "https://ftp.drupal.org/files/projects/csv_serialization-4.0.1.zip", + "reference": "4.0.1", + "shasum": "cd172acbf6b5996daa88b0d8d897074c5fe742dd" }, "require": { - "drupal/core": "^10", - "league/csv": "^9.1" + "drupal/core": "^10 || ^11", + "league/csv": "^9.16" }, "require-dev": { "drupal/coder": "^8.3" @@ -3066,8 +3079,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "4.0.0", - "datestamp": "1698702085", + "version": "4.0.1", + "datestamp": "1723473162", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3198,30 +3211,33 @@ }, { "name": "drupal/devel", - "version": "5.2.1", + "version": "5.3.1", "source": { "type": "git", "url": "https://git.drupalcode.org/project/devel.git", - "reference": "5.2.1" + "reference": "5.3.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/devel-5.2.1.zip", - "reference": "5.2.1", - "shasum": "793861751e01092fe8bc7c0cd47589ebea2bb8df" + "url": "https://ftp.drupal.org/files/projects/devel-5.3.1.zip", + "reference": "5.3.1", + "shasum": "6a5f13bdf93dc5f7f194b6af847589ae15e37b63" }, "require": { "doctrine/common": "^2.7 || ^3.4", - "drupal/core": ">=10.0 <12.0.0-stable", + "drupal/core": "^10.3 || ^11 || ^12", "php": ">=8.1", - "symfony/var-dumper": "^4 || ^5 || ^6" + "symfony/var-dumper": "^4 || ^5 || ^6 || ^7" }, "conflict": { + "drupal/core": "<10.3", "drush/drush": "<12.5.1", "kint-php/kint": "<3" }, "require-dev": { - "drush/drush": "^12.5.1" + "drush/drush": "^13", + "firephp/firephp-core": "^0.5.3", + "kint-php/kint": "^5.1" }, "suggest": { "kint-php/kint": "Kint provides an informative display of arrays/objects. Useful for debugging and developing." @@ -3229,8 +3245,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "5.2.1", - "datestamp": "1711328410", + "version": "5.3.1", + "datestamp": "1723258446", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3257,17 +3273,17 @@ }, { "name": "drupal/diff", - "version": "1.7.0", + "version": "1.8.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/diff.git", - "reference": "8.x-1.7" + "reference": "8.x-1.8" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/diff-8.x-1.7.zip", - "reference": "8.x-1.7", - "shasum": "d282bdf3350ac71f95b38576a9f397bdbab8d249" + "url": "https://ftp.drupal.org/files/projects/diff-8.x-1.8.zip", + "reference": "8.x-1.8", + "shasum": "a104bf731a282f06ff0d5a7fb861c01b5b933765" }, "require": { "drupal/core": "^10 || ^11", @@ -3282,13 +3298,13 @@ "phpstan/phpstan-deprecation-rules": "*", "phpstan/phpstan-phpunit": "1.4.x-dev", "phpstan/phpstan-strict-rules": "^1@stable", - "previousnext/coding-standard": "^1" + "previousnext/coding-standard": "1.0.1" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.7", - "datestamp": "1718073570", + "version": "8.x-1.8", + "datestamp": "1727892285", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3364,29 +3380,29 @@ }, { "name": "drupal/embed", - "version": "1.7.0", + "version": "1.9.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/embed.git", - "reference": "8.x-1.7" + "reference": "8.x-1.9" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/embed-8.x-1.7.zip", - "reference": "8.x-1.7", - "shasum": "b7ca4264be51038f947d26b6725fc0446b224f60" + "url": "https://ftp.drupal.org/files/projects/embed-8.x-1.9.zip", + "reference": "8.x-1.9", + "shasum": "e6b4875e2b245ddf1a68a8615cbb4c5a378a0e9f" }, "require": { - "drupal/core": "^9.3 | ^10" + "drupal/core": "^9.5 | ^10" }, "require-dev": { - "drupal/ckeditor": "*" + "drupal/ckeditor": "^1.0" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.7", - "datestamp": "1697642867", + "version": "8.x-1.9", + "datestamp": "1723283819", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3403,7 +3419,7 @@ "homepage": "https://www.drupal.org/user/2828287" }, { - "name": "Dave Reid", + "name": "dave reid", "homepage": "https://www.drupal.org/user/53892" }, { @@ -3508,29 +3524,29 @@ }, { "name": "drupal/entity_reference_revisions", - "version": "1.11.0", + "version": "1.12.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/entity_reference_revisions.git", - "reference": "8.x-1.11" + "reference": "8.x-1.12" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/entity_reference_revisions-8.x-1.11.zip", - "reference": "8.x-1.11", - "shasum": "de21cbb0d8a0344dc3496addcad4ed536747cec5" + "url": "https://ftp.drupal.org/files/projects/entity_reference_revisions-8.x-1.12.zip", + "reference": "8.x-1.12", + "shasum": "2a2ff8617c7ce01b56df1caaf0a563da04948e26" }, "require": { - "drupal/core": "^9 || ^10" + "drupal/core": "^9 || ^10 || ^11" }, "require-dev": { - "drupal/diff": "1.x-dev" + "drupal/diff": "^1 || ^2" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.11", - "datestamp": "1705140721", + "version": "8.x-1.12", + "datestamp": "1722804497", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3572,26 +3588,26 @@ }, { "name": "drupal/externalauth", - "version": "2.0.5", + "version": "2.0.6", "source": { "type": "git", "url": "https://git.drupalcode.org/project/externalauth.git", - "reference": "2.0.5" + "reference": "2.0.6" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/externalauth-2.0.5.zip", - "reference": "2.0.5", - "shasum": "7c262c7ca20d26aae45896daee4249e47b637abc" + "url": "https://ftp.drupal.org/files/projects/externalauth-2.0.6.zip", + "reference": "2.0.6", + "shasum": "0dbc9fbab0901e940d52b239e08f031797f6bd2a" }, "require": { - "drupal/core": "^9 || ^10" + "drupal/core": "^9.5 || ^10 || ^11" }, "type": "drupal-module", "extra": { "drupal": { - "version": "2.0.5", - "datestamp": "1708329378", + "version": "2.0.6", + "datestamp": "1720689758", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3685,39 +3701,39 @@ }, { "name": "drupal/feeds", - "version": "3.0.0-beta5", + "version": "3.0.0-rc2", "source": { "type": "git", "url": "https://git.drupalcode.org/project/feeds.git", - "reference": "8.x-3.0-beta5" + "reference": "8.x-3.0-rc2" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/feeds-8.x-3.0-beta5.zip", - "reference": "8.x-3.0-beta5", - "shasum": "cd932e65a954e9a9392e0da98e1980c75397b02a" + "url": "https://ftp.drupal.org/files/projects/feeds-8.x-3.0-rc2.zip", + "reference": "8.x-3.0-rc2", + "shasum": "ad6c93ccc121b9f921902c5cad3f7b0ac67d0627" }, "require": { - "drupal/core": "^9.3 || ^10", - "laminas/laminas-feed": "^2.13" + "drupal/core": "^10.1 || ^11", + "laminas/laminas-feed": "^2.22" }, "require-dev": { - "drupal/pathauto": "^1.8", - "drush/drush": "^9 || ^10 || ^11 || ^12" + "drupal/pathauto": "^1.0", + "megachriz/drupalbook": "^1.0 || ^2.0" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-3.0-beta5", - "datestamp": "1718270214", + "version": "8.x-3.0-rc2", + "datestamp": "1726755546", "security-coverage": { "status": "not-covered", - "message": "Beta releases are not covered by Drupal security advisories." + "message": "RC releases are not covered by Drupal security advisories." } }, "drush": { "services": { - "drush.services.yml": "^9 || ^10 || ^11 | ^12" + "drush.services.yml": ">=9" } } }, @@ -3731,7 +3747,7 @@ "homepage": "https://www.drupal.org/user/53995" }, { - "name": "Dave Reid", + "name": "dave reid", "homepage": "https://www.drupal.org/user/53892" }, { @@ -3763,7 +3779,7 @@ "homepage": "https://www.drupal.org/user/24399" }, { - "name": "MegaChriz", + "name": "megachriz", "homepage": "https://www.drupal.org/user/654114" }, { @@ -3850,26 +3866,29 @@ }, { "name": "drupal/field_group", - "version": "3.4.0", + "version": "3.6.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/field_group.git", - "reference": "8.x-3.4" + "reference": "8.x-3.6" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/field_group-8.x-3.4.zip", - "reference": "8.x-3.4", - "shasum": "80b937e1a11f8b29c69d853fc4bf798c057c6f94" + "url": "https://ftp.drupal.org/files/projects/field_group-8.x-3.6.zip", + "reference": "8.x-3.6", + "shasum": "427c0a65dc1936e69e60c120776056cfe5b43e86" }, "require": { - "drupal/core": "^9.2 || ^10" + "drupal/core": "^9.2 || ^10 || ^11" + }, + "require-dev": { + "drupal/jquery_ui_accordion": "*" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-3.4", - "datestamp": "1667241979", + "version": "8.x-3.6", + "datestamp": "1722672510", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3882,13 +3901,21 @@ ], "authors": [ { - "name": "Anybody", + "name": "anybody", "homepage": "https://www.drupal.org/user/291091" }, { - "name": "Hydra", + "name": "grevil", + "homepage": "https://www.drupal.org/user/3668491" + }, + { + "name": "hydra", "homepage": "https://www.drupal.org/user/647364" }, + { + "name": "joevagyok", + "homepage": "https://www.drupal.org/user/2876343" + }, { "name": "jyve", "homepage": "https://www.drupal.org/user/591438" @@ -3915,26 +3942,26 @@ }, { "name": "drupal/field_permissions", - "version": "1.3.0", + "version": "1.4.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/field_permissions.git", - "reference": "8.x-1.3" + "reference": "8.x-1.4" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/field_permissions-8.x-1.3.zip", - "reference": "8.x-1.3", - "shasum": "f3815d21b423c94e800388f3c29237fc1a00189d" + "url": "https://ftp.drupal.org/files/projects/field_permissions-8.x-1.4.zip", + "reference": "8.x-1.4", + "shasum": "bd3f5803d8c195bc136d4a25774346d69f653029" }, "require": { - "drupal/core": ">=8.9 <11" + "drupal/core": "^9.5 || ^10 || ^11" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.3", - "datestamp": "1703264421", + "version": "8.x-1.4", + "datestamp": "1721754779", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3979,26 +4006,26 @@ }, { "name": "drupal/hierarchy_manager", - "version": "3.3.2", + "version": "3.4.1", "source": { "type": "git", "url": "https://git.drupalcode.org/project/hierarchy_manager.git", - "reference": "3.3.2" + "reference": "3.4.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/hierarchy_manager-3.3.2.zip", - "reference": "3.3.2", - "shasum": "a002812135572c37d92534024b849614ed130b35" + "url": "https://ftp.drupal.org/files/projects/hierarchy_manager-3.4.1.zip", + "reference": "3.4.1", + "shasum": "5ec05df356cdab8d667b0c1cf3ad116f5b827489" }, "require": { - "drupal/core": "^9.2.0 || ^10" + "drupal/core": "^9.2.0 || ^10 || ^11" }, "type": "drupal-module", "extra": { "drupal": { - "version": "3.3.2", - "datestamp": "1677489250", + "version": "3.4.1", + "datestamp": "1723244795", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4011,11 +4038,11 @@ ], "authors": [ { - "name": "Mingsong", + "name": "mingsong", "homepage": "https://www.drupal.org/user/2986445" } ], - "description": "Provides API and plugins to build hierarchy views for entites such as taxonomy or menu.", + "description": "Provides API and plugins to build hierarchy views for entities such as taxonomy or menu.", "homepage": "https://www.drupal.org/project/hierarchy_manager", "support": { "source": "https://git.drupalcode.org/project/hierarchy_manager" @@ -4270,26 +4297,26 @@ }, { "name": "drupal/language_switcher_extended", - "version": "1.1.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/language_switcher_extended.git", - "reference": "8.x-1.1" + "reference": "8.x-1.2" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/language_switcher_extended-8.x-1.1.zip", - "reference": "8.x-1.1", - "shasum": "0d433ce4351eff78aa19a527c63f3f1828f50056" + "url": "https://ftp.drupal.org/files/projects/language_switcher_extended-8.x-1.2.zip", + "reference": "8.x-1.2", + "shasum": "89ab9aec0636bcb07f895f452227fbb99df42d46" }, "require": { - "drupal/core": "^8 || ^9 || ^10" + "drupal/core": "^8 || ^9 || ^10 || ^11" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.1", - "datestamp": "1668763827", + "version": "8.x-1.2", + "datestamp": "1721318296", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4372,26 +4399,26 @@ }, { "name": "drupal/menu_block", - "version": "1.11.0", + "version": "1.13.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/menu_block.git", - "reference": "8.x-1.11" + "reference": "8.x-1.13" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/menu_block-8.x-1.11.zip", - "reference": "8.x-1.11", - "shasum": "7b2dec26a81177094860b1f884cca5c40b60fa85" + "url": "https://ftp.drupal.org/files/projects/menu_block-8.x-1.13.zip", + "reference": "8.x-1.13", + "shasum": "693a932cba9bd5767bdeee506de446228bc4cc8c" }, "require": { - "drupal/core": "^9.1 || ^10" + "drupal/core": "^10.1 || ^11" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.11", - "datestamp": "1715036334", + "version": "8.x-1.13", + "datestamp": "1722579322", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4552,20 +4579,20 @@ }, { "name": "drupal/menu_item_fields", - "version": "1.10.0", + "version": "1.11.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/menu_item_fields.git", - "reference": "8.x-1.10" + "reference": "8.x-1.11" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/menu_item_fields-8.x-1.10.zip", - "reference": "8.x-1.10", - "shasum": "2bb833fb166d7358eda8b79129f8d311046156ad" + "url": "https://ftp.drupal.org/files/projects/menu_item_fields-8.x-1.11.zip", + "reference": "8.x-1.11", + "shasum": "bdb1fc4e355e3d7172b72ebb3faf157b78308284" }, "require": { - "drupal/core": "^9 || ^10" + "drupal/core": "^10 || ^11" }, "require-dev": { "upstreamable/md-to-html": "^1.0" @@ -4573,8 +4600,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.10", - "datestamp": "1691185856", + "version": "8.x-1.11", + "datestamp": "1723290860", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4727,20 +4754,20 @@ }, { "name": "drupal/paragraphs", - "version": "1.17.0", + "version": "1.18.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/paragraphs.git", - "reference": "8.x-1.17" + "reference": "8.x-1.18" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/paragraphs-8.x-1.17.zip", - "reference": "8.x-1.17", - "shasum": "81c05f6a1eb59ab957c9ac97b2e79d6c9837bd72" + "url": "https://ftp.drupal.org/files/projects/paragraphs-8.x-1.18.zip", + "reference": "8.x-1.18", + "shasum": "594e2937ea5c95fc88b60420590c4d83f5cd71ee" }, "require": { - "drupal/core": "^9.3 || ^10", + "drupal/core": "^10.2 || ^11", "drupal/entity_reference_revisions": "~1.3" }, "require-dev": { @@ -4748,6 +4775,7 @@ "drupal/diff": "1.x-dev", "drupal/entity_browser": "2.x-dev", "drupal/entity_usage": "2.x-dev", + "drupal/feeds": "^3", "drupal/field_group": "3.x-dev", "drupal/inline_entity_form": "1.x-dev", "drupal/paragraphs-paragraphs_library": "*", @@ -4761,8 +4789,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.17", - "datestamp": "1709804220", + "version": "8.x-1.18", + "datestamp": "1723029144", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4883,31 +4911,34 @@ }, { "name": "drupal/pathauto", - "version": "1.12.0", + "version": "1.13.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/pathauto.git", - "reference": "8.x-1.12" + "reference": "8.x-1.13" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/pathauto-8.x-1.12.zip", - "reference": "8.x-1.12", - "shasum": "b7b6432e315e38e59a7c6cc117134326c580de4c" + "url": "https://ftp.drupal.org/files/projects/pathauto-8.x-1.13.zip", + "reference": "8.x-1.13", + "shasum": "e64b5a82cf1b8ab48bce400b21ae6fc99c8078fd" }, "require": { - "drupal/core": "^9.3 || ^10", + "drupal/core": "^9.4 || ^10 || ^11", "drupal/ctools": "*", "drupal/token": "*" }, + "require-dev": { + "drupal/forum": "*" + }, "suggest": { "drupal/redirect": "When installed Pathauto will provide a new \"Update Action\" in case your URLs change. This is the recommended update action and is considered the best practice for SEO and usability." }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.12", - "datestamp": "1712319355", + "version": "8.x-1.13", + "datestamp": "1722507672", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4951,26 +4982,26 @@ }, { "name": "drupal/redirect", - "version": "1.9.0", + "version": "1.10.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/redirect.git", - "reference": "8.x-1.9" + "reference": "8.x-1.10" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/redirect-8.x-1.9.zip", - "reference": "8.x-1.9", - "shasum": "2987de20f509e9f7cec8a0f81d3a6774f9b0ba3e" + "url": "https://ftp.drupal.org/files/projects/redirect-8.x-1.10.zip", + "reference": "8.x-1.10", + "shasum": "9d72d7e0717dbdea3ab3306c5d6840da5bd3024c" }, "require": { - "drupal/core": "^9.2 || ^10" + "drupal/core": "^9.2 || ^10 || ^11" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.9", - "datestamp": "1693393506", + "version": "8.x-1.10", + "datestamp": "1723277641", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4987,7 +5018,7 @@ "homepage": "https://www.drupal.org/user/214652" }, { - "name": "Dave Reid", + "name": "dave reid", "homepage": "https://www.drupal.org/user/53892" }, { @@ -5007,26 +5038,26 @@ }, { "name": "drupal/remove_http_headers", - "version": "2.1.0", + "version": "2.1.2", "source": { "type": "git", "url": "https://git.drupalcode.org/project/remove_http_headers.git", - "reference": "2.1.0" + "reference": "2.1.2" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/remove_http_headers-2.1.0.zip", - "reference": "2.1.0", - "shasum": "622b4446ce1e07915f5889a5d7d0f10721f73000" + "url": "https://ftp.drupal.org/files/projects/remove_http_headers-2.1.2.zip", + "reference": "2.1.2", + "shasum": "1dde47df9ed6565c817af9eaaf8fd4dcc4eaf170" }, "require": { - "drupal/core": "^10" + "drupal/core": "^10.3 || ^11" }, "type": "drupal-module", "extra": { "drupal": { - "version": "2.1.0", - "datestamp": "1701249847", + "version": "2.1.2", + "datestamp": "1728551290", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5040,10 +5071,18 @@ "authors": [ { "name": "Orlando Thöny", - "homepage": "https://www.drupal.org/user/3636010", + "homepage": "https://www.drupal.org/user/291091", "email": "orlando.thoeny@gmail.com", "role": "Maintainer" }, + { + "name": "grevil", + "homepage": "https://www.drupal.org/user/3668491" + }, + { + "name": "guilherme-lima-almeida", + "homepage": "https://www.drupal.org/user/3636010" + }, { "name": "marco-s", "homepage": "https://www.drupal.org/user/3396620" @@ -5070,25 +5109,25 @@ }, { "name": "drupal/s3fs", - "version": "3.4.0", + "version": "3.6.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/s3fs.git", - "reference": "8.x-3.4" + "reference": "8.x-3.6" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/s3fs-8.x-3.4.zip", - "reference": "8.x-3.4", - "shasum": "4b31c7a34a892cf70476327e1d5c1cf2e99c20a0" + "url": "https://ftp.drupal.org/files/projects/s3fs-8.x-3.6.zip", + "reference": "8.x-3.6", + "shasum": "b422cef4ed8f32c287b3e09ddac22c8d087dcd58" }, "require": { "aws/aws-sdk-php": "^3.18", - "drupal/core": "^8.8 || ^9 || ~10.0.0 || ~10.1.0 || ~10.2.0" + "drupal/core": "^8.8 || ^9 || ~10.0.0 || ~10.1.0 || ~10.2.0 || ~10.3.0 || ~11.0.0" }, "require-dev": { - "drupal/advagg": "^4.0 || ^5.0 || ^6.0", - "drush/drush": "^10 || ^11 || ^12", + "drupal/key": "^1", + "drush/drush": "^10 || ^11 || ^12 || ^13", "mglaman/phpstan-drupal": "^1.1", "phpstan/extension-installer": "^1.2", "phpstan/phpstan": "^1.9", @@ -5101,8 +5140,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-3.4", - "datestamp": "1701992779", + "version": "8.x-3.6", + "datestamp": "1723007914", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5153,28 +5192,28 @@ }, { "name": "drupal/samlauth", - "version": "3.9.0", + "version": "3.10.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/samlauth.git", - "reference": "8.x-3.9" + "reference": "8.x-3.10" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/samlauth-8.x-3.9.zip", - "reference": "8.x-3.9", - "shasum": "1af6aec1b9f7f49bd2bc8e023ef53dbbd7329722" + "url": "https://ftp.drupal.org/files/projects/samlauth-8.x-3.10.zip", + "reference": "8.x-3.10", + "shasum": "c7112aa6b765ed9b6879d8d0f39dd9bf5b2c7270" }, "require": { - "drupal/core": "^9.2 || ^10", - "drupal/externalauth": "^1.3 || ^2", + "drupal/core": "^9.5 || ^10 || ^11", + "drupal/externalauth": "^1.3 || ^2.0.6", "onelogin/php-saml": "^3.3.1 || ^4" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-3.9", - "datestamp": "1690407017", + "version": "8.x-3.10", + "datestamp": "1723060564", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5215,27 +5254,27 @@ }, { "name": "drupal/simple_sitemap", - "version": "4.1.9", + "version": "4.2.1", "source": { "type": "git", "url": "https://git.drupalcode.org/project/simple_sitemap.git", - "reference": "4.1.9" + "reference": "4.2.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/simple_sitemap-4.1.9.zip", - "reference": "4.1.9", - "shasum": "d86d90408b334cd7470ea631e3be5acca2103377" + "url": "https://ftp.drupal.org/files/projects/simple_sitemap-4.2.1.zip", + "reference": "4.2.1", + "shasum": "d96b481571ca2fecdb305e87d2557f9338116864" }, "require": { - "drupal/core": "^9.3 || ^10", + "drupal/core": "^10.2 || ^11", "ext-xmlwriter": "*" }, "type": "drupal-module", "extra": { "drupal": { - "version": "4.1.9", - "datestamp": "1712441608", + "version": "4.2.1", + "datestamp": "1723802052", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5259,7 +5298,7 @@ "role": "Maintainer" }, { - "name": "WalkingDexter", + "name": "walkingdexter", "homepage": "https://www.drupal.org/user/3251330" } ], @@ -5272,17 +5311,17 @@ }, { "name": "drupal/simplify_menu", - "version": "3.1.1", + "version": "3.2.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/simplify_menu.git", - "reference": "3.1.1" + "reference": "3.2.0" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/simplify_menu-3.1.1.zip", - "reference": "3.1.1", - "shasum": "03babea75fb5c9473cad3d131b96553ff8cc0956" + "url": "https://ftp.drupal.org/files/projects/simplify_menu-3.2.0.zip", + "reference": "3.2.0", + "shasum": "5b239e4da9d76cdeef9867ea7a37b749b34e8b54" }, "require": { "drupal/core": "^9 || ^10" @@ -5290,8 +5329,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "3.1.1", - "datestamp": "1690572635", + "version": "3.2.0", + "datestamp": "1722535735", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5326,6 +5365,10 @@ { "name": "shrop", "homepage": "https://www.drupal.org/user/14767" + }, + { + "name": "slucero", + "homepage": "https://www.drupal.org/user/1612534" } ], "description": "Adds a TwigExtension that grants access to Drupal's menu render array so it can be used within a twig template.", @@ -5384,26 +5427,29 @@ }, { "name": "drupal/token", - "version": "1.14.0", + "version": "1.15.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/token.git", - "reference": "8.x-1.14" + "reference": "8.x-1.15" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/token-8.x-1.14.zip", - "reference": "8.x-1.14", - "shasum": "df3cae709fcc1a99ac1111ce67a0d6af56d287d7" + "url": "https://ftp.drupal.org/files/projects/token-8.x-1.15.zip", + "reference": "8.x-1.15", + "shasum": "5916fbccc86458a5f51e71f832ac70ff4c84ebdf" }, "require": { - "drupal/core": "^9.2 || ^10" + "drupal/core": "^9.2 || ^10 || ^11" + }, + "require-dev": { + "drupal/book": "*" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.14", - "datestamp": "1713009399", + "version": "8.x-1.15", + "datestamp": "1722206211", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5421,11 +5467,11 @@ ], "authors": [ { - "name": "Berdir", + "name": "berdir", "homepage": "https://www.drupal.org/user/214652" }, { - "name": "Dave Reid", + "name": "dave reid", "homepage": "https://www.drupal.org/user/53892" }, { @@ -5634,24 +5680,23 @@ }, { "name": "drupal/twig_tweak", - "version": "3.3.0", + "version": "3.4.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/twig_tweak.git", - "reference": "3.3.0" + "reference": "3.4.0" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/twig_tweak-3.3.0.zip", - "reference": "3.3.0", - "shasum": "a029ab1775b62f08e573e5ad1ab27bc833e7f5b9" + "url": "https://ftp.drupal.org/files/projects/twig_tweak-3.4.0.zip", + "reference": "3.4.0", + "shasum": "1f47f71b4cfbad97fff11db1adc72c311bb1645e" }, "require": { - "drupal/core": "^9.3 || ^10.0", + "drupal/core": "^10.3 || ^11.0", "ext-json": "*", - "php": ">=7.3", - "symfony/polyfill-php80": "^1.17", - "twig/twig": "^2.15.3 || ^3.4.3" + "php": ">=8.1", + "twig/twig": "^3.10.3" }, "suggest": { "symfony/var-dumper": "Better dump() function for debugging Twig variables" @@ -5659,8 +5704,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "3.3.0", - "datestamp": "1708670116", + "version": "3.4.0", + "datestamp": "1721562308", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5668,7 +5713,7 @@ }, "drush": { "services": { - "drush.services.yml": "^9 || ^10 || ^11" + "drush.services.yml": "^10 || ^11" } } }, @@ -5904,7 +5949,7 @@ "homepage": "https://www.drupal.org/user/1557710" }, { - "name": "Steven Jones", + "name": "steven jones", "homepage": "https://www.drupal.org/user/99644" } ], @@ -5980,29 +6025,32 @@ }, { "name": "drupal/viewsreference", - "version": "2.0.0-beta8", + "version": "2.0.0-beta10", "source": { "type": "git", "url": "https://git.drupalcode.org/project/viewsreference.git", - "reference": "8.x-2.0-beta8" + "reference": "8.x-2.0-beta10" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/viewsreference-8.x-2.0-beta8.zip", - "reference": "8.x-2.0-beta8", - "shasum": "5a84a12d6350a1b6631634910faeaa13d1fb1b9c" + "url": "https://ftp.drupal.org/files/projects/viewsreference-8.x-2.0-beta10.zip", + "reference": "8.x-2.0-beta10", + "shasum": "699c3f790d3dbe6ebcd890916409c66562a04eb4" }, "require": { - "drupal/core": "^9.3 || ^10 || ^11" + "drupal/core": "^10 || ^11" }, "conflict": { "drupal/viewsreferennce": "*" }, + "require-dev": { + "drupal/views_ajax_history": "1.x-dev" + }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-2.0-beta8", - "datestamp": "1717030540", + "version": "8.x-2.0-beta10", + "datestamp": "1725510905", "security-coverage": { "status": "not-covered", "message": "Beta releases are not covered by Drupal security advisories." @@ -6027,7 +6075,7 @@ "homepage": "https://www.drupal.org/user/3267594" }, { - "name": "seanB", + "name": "seanb", "homepage": "https://www.drupal.org/user/545912" } ], @@ -6043,16 +6091,16 @@ }, { "name": "drush/drush", - "version": "12.5.2", + "version": "12.5.3", "source": { "type": "git", "url": "https://github.com/drush-ops/drush.git", - "reference": "4aebed85dc818ff762f2e24a85b023d2a52050df" + "reference": "7fe0a492d5126c457c5fb184c4668a132b0aaac6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drush-ops/drush/zipball/4aebed85dc818ff762f2e24a85b023d2a52050df", - "reference": "4aebed85dc818ff762f2e24a85b023d2a52050df", + "url": "https://api.github.com/repos/drush-ops/drush/zipball/7fe0a492d5126c457c5fb184c4668a132b0aaac6", + "reference": "7fe0a492d5126c457c5fb184c4668a132b0aaac6", "shasum": "" }, "require": { @@ -6175,7 +6223,7 @@ "issues": "https://github.com/drush-ops/drush/issues", "security": "https://github.com/drush-ops/drush/security/advisories", "slack": "https://drupal.slack.com/messages/C62H9CWQM", - "source": "https://github.com/drush-ops/drush/tree/12.5.2" + "source": "https://github.com/drush-ops/drush/tree/12.5.3" }, "funding": [ { @@ -6183,7 +6231,7 @@ "type": "github" } ], - "time": "2024-05-02T17:20:48+00:00" + "time": "2024-08-02T11:57:29+00:00" }, { "name": "egulias/email-validator", @@ -6549,16 +6597,16 @@ }, { "name": "guzzlehttp/promises", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8" + "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", - "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", + "url": "https://api.github.com/repos/guzzle/promises/zipball/f9c436286ab2892c7db7be8c8da4ef61ccf7b455", + "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455", "shasum": "" }, "require": { @@ -6612,7 +6660,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.0.3" + "source": "https://github.com/guzzle/promises/tree/2.0.4" }, "funding": [ { @@ -6628,7 +6676,7 @@ "type": "tidelift" } ], - "time": "2024-07-18T10:29:17+00:00" + "time": "2024-10-17T10:06:22+00:00" }, { "name": "guzzlehttp/psr7", @@ -6748,33 +6796,33 @@ }, { "name": "laminas/laminas-escaper", - "version": "2.13.0", + "version": "2.14.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-escaper.git", - "reference": "af459883f4018d0f8a0c69c7a209daef3bf973ba" + "reference": "0f7cb975f4443cf22f33408925c231225cfba8cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/af459883f4018d0f8a0c69c7a209daef3bf973ba", - "reference": "af459883f4018d0f8a0c69c7a209daef3bf973ba", + "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/0f7cb975f4443cf22f33408925c231225cfba8cb", + "reference": "0f7cb975f4443cf22f33408925c231225cfba8cb", "shasum": "" }, "require": { "ext-ctype": "*", "ext-mbstring": "*", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" }, "conflict": { "zendframework/zend-escaper": "*" }, "require-dev": { - "infection/infection": "^0.27.0", - "laminas/laminas-coding-standard": "~2.5.0", + "infection/infection": "^0.27.9", + "laminas/laminas-coding-standard": "~3.0.0", "maglnet/composer-require-checker": "^3.8.0", - "phpunit/phpunit": "^9.6.7", - "psalm/plugin-phpunit": "^0.18.4", - "vimeo/psalm": "^5.9" + "phpunit/phpunit": "^9.6.16", + "psalm/plugin-phpunit": "^0.19.0", + "vimeo/psalm": "^5.21.1" }, "type": "library", "autoload": { @@ -6806,20 +6854,20 @@ "type": "community_bridge" } ], - "time": "2023-10-10T08:35:13+00:00" + "time": "2024-10-24T10:12:53+00:00" }, { "name": "laminas/laminas-feed", - "version": "2.22.0", + "version": "2.23.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-feed.git", - "reference": "669792b819fca7274698147ad7a2ecc1b0a9b141" + "reference": "23807e692b3174750b426143bd93572b71b6739a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-feed/zipball/669792b819fca7274698147ad7a2ecc1b0a9b141", - "reference": "669792b819fca7274698147ad7a2ecc1b0a9b141", + "url": "https://api.github.com/repos/laminas/laminas-feed/zipball/23807e692b3174750b426143bd93572b71b6739a", + "reference": "23807e692b3174750b426143bd93572b71b6739a", "shasum": "" }, "require": { @@ -6827,24 +6875,24 @@ "ext-libxml": "*", "laminas/laminas-escaper": "^2.9", "laminas/laminas-stdlib": "^3.6", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" }, "conflict": { "laminas/laminas-servicemanager": "<3.3", "zendframework/zend-feed": "*" }, "require-dev": { - "laminas/laminas-cache": "^2.13.2 || ^3.11", - "laminas/laminas-cache-storage-adapter-memory": "^1.1.0 || ^2.2", + "laminas/laminas-cache": "^2.13.2 || ^3.12", + "laminas/laminas-cache-storage-adapter-memory": "^1.1.0 || ^2.3", "laminas/laminas-coding-standard": "~2.5.0", "laminas/laminas-db": "^2.18", - "laminas/laminas-http": "^2.18", - "laminas/laminas-servicemanager": "^3.21.0", - "laminas/laminas-validator": "^2.38", - "phpunit/phpunit": "^10.3.1", - "psalm/plugin-phpunit": "^0.18.4", + "laminas/laminas-http": "^2.19", + "laminas/laminas-servicemanager": "^3.22.1", + "laminas/laminas-validator": "^2.46", + "phpunit/phpunit": "^10.5.5", + "psalm/plugin-phpunit": "^0.19.0", "psr/http-message": "^2.0", - "vimeo/psalm": "^5.14.1" + "vimeo/psalm": "^5.18.0" }, "suggest": { "laminas/laminas-cache": "Laminas\\Cache component, for optionally caching feeds between requests", @@ -6886,34 +6934,34 @@ "type": "community_bridge" } ], - "time": "2023-10-11T20:16:37+00:00" + "time": "2024-10-09T10:53:30+00:00" }, { "name": "laminas/laminas-stdlib", - "version": "3.19.0", + "version": "3.20.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-stdlib.git", - "reference": "6a192dd0882b514e45506f533b833b623b78fff3" + "reference": "8974a1213be42c3e2f70b2c27b17f910291ab2f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/6a192dd0882b514e45506f533b833b623b78fff3", - "reference": "6a192dd0882b514e45506f533b833b623b78fff3", + "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/8974a1213be42c3e2f70b2c27b17f910291ab2f4", + "reference": "8974a1213be42c3e2f70b2c27b17f910291ab2f4", "shasum": "" }, "require": { - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" }, "conflict": { "zendframework/zend-stdlib": "*" }, "require-dev": { - "laminas/laminas-coding-standard": "^2.5", - "phpbench/phpbench": "^1.2.15", - "phpunit/phpunit": "^10.5.8", - "psalm/plugin-phpunit": "^0.18.4", - "vimeo/psalm": "^5.20.0" + "laminas/laminas-coding-standard": "^3.0", + "phpbench/phpbench": "^1.3.1", + "phpunit/phpunit": "^10.5.38", + "psalm/plugin-phpunit": "^0.19.0", + "vimeo/psalm": "^5.26.1" }, "type": "library", "autoload": { @@ -6945,20 +6993,20 @@ "type": "community_bridge" } ], - "time": "2024-01-19T12:39:49+00:00" + "time": "2024-10-29T13:46:07+00:00" }, { "name": "league/container", - "version": "4.2.2", + "version": "4.2.3", "source": { "type": "git", "url": "https://github.com/thephpleague/container.git", - "reference": "ff346319ca1ff0e78277dc2311a42107cc1aab88" + "reference": "72f9bebe7bd623007782a40f5ec305661ab706d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/container/zipball/ff346319ca1ff0e78277dc2311a42107cc1aab88", - "reference": "ff346319ca1ff0e78277dc2311a42107cc1aab88", + "url": "https://api.github.com/repos/thephpleague/container/zipball/72f9bebe7bd623007782a40f5ec305661ab706d8", + "reference": "72f9bebe7bd623007782a40f5ec305661ab706d8", "shasum": "" }, "require": { @@ -7019,7 +7067,7 @@ ], "support": { "issues": "https://github.com/thephpleague/container/issues", - "source": "https://github.com/thephpleague/container/tree/4.2.2" + "source": "https://github.com/thephpleague/container/tree/4.2.3" }, "funding": [ { @@ -7027,20 +7075,20 @@ "type": "github" } ], - "time": "2024-03-13T13:12:53+00:00" + "time": "2024-10-23T12:06:58+00:00" }, { "name": "league/csv", - "version": "9.16.0", + "version": "9.18.0", "source": { "type": "git", "url": "https://github.com/thephpleague/csv.git", - "reference": "998280c6c34bd67d8125fdc8b45bae28d761b440" + "reference": "b02d010e4055ae992247f6ffd1e7b103ef2a0790" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/csv/zipball/998280c6c34bd67d8125fdc8b45bae28d761b440", - "reference": "998280c6c34bd67d8125fdc8b45bae28d761b440", + "url": "https://api.github.com/repos/thephpleague/csv/zipball/b02d010e4055ae992247f6ffd1e7b103ef2a0790", + "reference": "b02d010e4055ae992247f6ffd1e7b103ef2a0790", "shasum": "" }, "require": { @@ -7048,17 +7096,16 @@ "php": "^8.1.2" }, "require-dev": { - "doctrine/collections": "^2.2.2", "ext-dom": "*", "ext-xdebug": "*", - "friendsofphp/php-cs-fixer": "^3.57.1", - "phpbench/phpbench": "^1.2.15", - "phpstan/phpstan": "^1.11.1", - "phpstan/phpstan-deprecation-rules": "^1.2.0", + "friendsofphp/php-cs-fixer": "^3.64.0", + "phpbench/phpbench": "^1.3.1", + "phpstan/phpstan": "^1.12.6", + "phpstan/phpstan-deprecation-rules": "^1.2.1", "phpstan/phpstan-phpunit": "^1.4.0", - "phpstan/phpstan-strict-rules": "^1.6.0", - "phpunit/phpunit": "^10.5.16 || ^11.1.3", - "symfony/var-dumper": "^6.4.6 || ^7.0.7" + "phpstan/phpstan-strict-rules": "^1.6.1", + "phpunit/phpunit": "^10.5.16 || ^11.4.1", + "symfony/var-dumper": "^6.4.8 || ^7.1.5" }, "suggest": { "ext-dom": "Required to use the XMLConverter and the HTMLConverter classes", @@ -7076,7 +7123,7 @@ "src/functions_include.php" ], "psr-4": { - "League\\Csv\\": "src" + "League\\Csv\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -7115,20 +7162,20 @@ "type": "github" } ], - "time": "2024-05-24T11:04:54+00:00" + "time": "2024-10-18T08:14:48+00:00" }, { "name": "masterminds/html5", - "version": "2.8.1", + "version": "2.9.0", "source": { "type": "git", "url": "https://github.com/Masterminds/html5-php.git", - "reference": "f47dcf3c70c584de14f21143c55d9939631bc6cf" + "reference": "f5ac2c0b0a2eefca70b2ce32a5809992227e75a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f47dcf3c70c584de14f21143c55d9939631bc6cf", - "reference": "f47dcf3c70c584de14f21143c55d9939631bc6cf", + "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f5ac2c0b0a2eefca70b2ce32a5809992227e75a6", + "reference": "f5ac2c0b0a2eefca70b2ce32a5809992227e75a6", "shasum": "" }, "require": { @@ -7136,7 +7183,7 @@ "php": ">=5.3.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8" + "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8 || ^9" }, "type": "library", "extra": { @@ -7180,22 +7227,22 @@ ], "support": { "issues": "https://github.com/Masterminds/html5-php/issues", - "source": "https://github.com/Masterminds/html5-php/tree/2.8.1" + "source": "https://github.com/Masterminds/html5-php/tree/2.9.0" }, - "time": "2023-05-10T11:58:31+00:00" + "time": "2024-03-31T07:05:07+00:00" }, { "name": "mck89/peast", - "version": "v1.15.4", + "version": "v1.16.3", "source": { "type": "git", "url": "https://github.com/mck89/peast.git", - "reference": "1df4dc28a6b5bb7ab117ab073c1712256e954e18" + "reference": "645ec21b650bc2aced18285c85f220d22afc1430" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mck89/peast/zipball/1df4dc28a6b5bb7ab117ab073c1712256e954e18", - "reference": "1df4dc28a6b5bb7ab117ab073c1712256e954e18", + "url": "https://api.github.com/repos/mck89/peast/zipball/645ec21b650bc2aced18285c85f220d22afc1430", + "reference": "645ec21b650bc2aced18285c85f220d22afc1430", "shasum": "" }, "require": { @@ -7208,7 +7255,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.15.4-dev" + "dev-master": "1.16.3-dev" } }, "autoload": { @@ -7229,22 +7276,22 @@ "description": "Peast is PHP library that generates AST for JavaScript code", "support": { "issues": "https://github.com/mck89/peast/issues", - "source": "https://github.com/mck89/peast/tree/v1.15.4" + "source": "https://github.com/mck89/peast/tree/v1.16.3" }, - "time": "2023-08-12T08:29:29+00:00" + "time": "2024-07-23T14:00:32+00:00" }, { "name": "mglaman/composer-drupal-lenient", - "version": "1.0.4", + "version": "1.0.5", "source": { "type": "git", "url": "https://github.com/mglaman/composer-drupal-lenient.git", - "reference": "6f9e03f238403b53c04f26a24dd8777f62135213" + "reference": "37ee92d480eb3bb870a4c7003854978f184e5aa9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mglaman/composer-drupal-lenient/zipball/6f9e03f238403b53c04f26a24dd8777f62135213", - "reference": "6f9e03f238403b53c04f26a24dd8777f62135213", + "url": "https://api.github.com/repos/mglaman/composer-drupal-lenient/zipball/37ee92d480eb3bb870a4c7003854978f184e5aa9", + "reference": "37ee92d480eb3bb870a4c7003854978f184e5aa9", "shasum": "" }, "require": { @@ -7281,7 +7328,7 @@ ], "support": { "issues": "https://github.com/mglaman/composer-drupal-lenient/issues", - "source": "https://github.com/mglaman/composer-drupal-lenient/tree/1.0.4" + "source": "https://github.com/mglaman/composer-drupal-lenient/tree/1.0.5" }, "funding": [ { @@ -7289,7 +7336,7 @@ "type": "github" } ], - "time": "2023-12-07T17:56:20+00:00" + "time": "2024-10-18T15:36:34+00:00" }, { "name": "mkalkbrenner/php-htmldiff-advanced", @@ -7334,16 +7381,16 @@ }, { "name": "mtdowling/jmespath.php", - "version": "2.7.0", + "version": "2.8.0", "source": { "type": "git", "url": "https://github.com/jmespath/jmespath.php.git", - "reference": "bbb69a935c2cbb0c03d7f481a238027430f6440b" + "reference": "a2a865e05d5f420b50cc2f85bb78d565db12a6bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/bbb69a935c2cbb0c03d7f481a238027430f6440b", - "reference": "bbb69a935c2cbb0c03d7f481a238027430f6440b", + "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/a2a865e05d5f420b50cc2f85bb78d565db12a6bc", + "reference": "a2a865e05d5f420b50cc2f85bb78d565db12a6bc", "shasum": "" }, "require": { @@ -7360,7 +7407,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -7394,22 +7441,22 @@ ], "support": { "issues": "https://github.com/jmespath/jmespath.php/issues", - "source": "https://github.com/jmespath/jmespath.php/tree/2.7.0" + "source": "https://github.com/jmespath/jmespath.php/tree/2.8.0" }, - "time": "2023-08-25T10:54:48+00:00" + "time": "2024-09-04T18:46:31+00:00" }, { "name": "nikic/php-parser", - "version": "v5.0.2", + "version": "v5.3.1", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13" + "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13", - "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/8eea230464783aa9671db8eea6f8c6ac5285794b", + "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b", "shasum": "" }, "require": { @@ -7420,7 +7467,7 @@ }, "require-dev": { "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^9.0" }, "bin": [ "bin/php-parse" @@ -7452,22 +7499,22 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.3.1" }, - "time": "2024-03-05T20:51:40+00:00" + "time": "2024-10-08T18:51:32+00:00" }, { "name": "nyholm/psr7", - "version": "1.8.1", + "version": "1.8.2", "source": { "type": "git", "url": "https://github.com/Nyholm/psr7.git", - "reference": "aa5fc277a4f5508013d571341ade0c3886d4d00e" + "reference": "a71f2b11690f4b24d099d6b16690a90ae14fc6f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Nyholm/psr7/zipball/aa5fc277a4f5508013d571341ade0c3886d4d00e", - "reference": "aa5fc277a4f5508013d571341ade0c3886d4d00e", + "url": "https://api.github.com/repos/Nyholm/psr7/zipball/a71f2b11690f4b24d099d6b16690a90ae14fc6f3", + "reference": "a71f2b11690f4b24d099d6b16690a90ae14fc6f3", "shasum": "" }, "require": { @@ -7520,7 +7567,7 @@ ], "support": { "issues": "https://github.com/Nyholm/psr7/issues", - "source": "https://github.com/Nyholm/psr7/tree/1.8.1" + "source": "https://github.com/Nyholm/psr7/tree/1.8.2" }, "funding": [ { @@ -7532,7 +7579,7 @@ "type": "github" } ], - "time": "2023-11-13T09:31:12+00:00" + "time": "2024-09-09T07:06:30+00:00" }, { "name": "nyholm/psr7-server", @@ -7666,16 +7713,16 @@ }, { "name": "pear/archive_tar", - "version": "1.4.14", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/pear/Archive_Tar.git", - "reference": "4d761c5334c790e45ef3245f0864b8955c562caa" + "reference": "b439c859564f5cbb0f64ad6002d0afe84a889602" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pear/Archive_Tar/zipball/4d761c5334c790e45ef3245f0864b8955c562caa", - "reference": "4d761c5334c790e45ef3245f0864b8955c562caa", + "url": "https://api.github.com/repos/pear/Archive_Tar/zipball/b439c859564f5cbb0f64ad6002d0afe84a889602", + "reference": "b439c859564f5cbb0f64ad6002d0afe84a889602", "shasum": "" }, "require": { @@ -7706,7 +7753,7 @@ "./" ], "license": [ - "BSD-3-Clause" + "BSD-2-Clause" ], "authors": [ { @@ -7732,17 +7779,7 @@ "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=Archive_Tar", "source": "https://github.com/pear/Archive_Tar" }, - "funding": [ - { - "url": "https://github.com/mrook", - "type": "github" - }, - { - "url": "https://www.patreon.com/michielrook", - "type": "patreon" - } - ], - "time": "2021-07-20T13:53:39+00:00" + "time": "2024-03-16T16:21:40+00:00" }, { "name": "pear/console_getopt", @@ -7905,7 +7942,7 @@ }, { "name": "phootwork/collection", - "version": "v3.2.2", + "version": "v3.2.3", "source": { "type": "git", "url": "https://github.com/phootwork/collection.git", @@ -7954,22 +7991,22 @@ ], "support": { "issues": "https://github.com/phootwork/phootwork/issues", - "source": "https://github.com/phootwork/collection/tree/v3.2.2" + "source": "https://github.com/phootwork/collection/tree/v3.2.3" }, "time": "2022-08-27T12:51:24+00:00" }, { "name": "phootwork/lang", - "version": "v3.2.2", + "version": "v3.2.3", "source": { "type": "git", "url": "https://github.com/phootwork/lang.git", - "reference": "baaf154ae7d521ebeee5e89105f5b12b0f234597" + "reference": "52ec8cce740ce1c424eef02f43b43d5ddfec7b5e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phootwork/lang/zipball/baaf154ae7d521ebeee5e89105f5b12b0f234597", - "reference": "baaf154ae7d521ebeee5e89105f5b12b0f234597", + "url": "https://api.github.com/repos/phootwork/lang/zipball/52ec8cce740ce1c424eef02f43b43d5ddfec7b5e", + "reference": "52ec8cce740ce1c424eef02f43b43d5ddfec7b5e", "shasum": "" }, "require": { @@ -8003,9 +8040,9 @@ ], "support": { "issues": "https://github.com/phootwork/phootwork/issues", - "source": "https://github.com/phootwork/lang/tree/v3.2.2" + "source": "https://github.com/phootwork/lang/tree/v3.2.3" }, - "time": "2023-05-26T05:37:59+00:00" + "time": "2024-10-03T13:43:19+00:00" }, { "name": "phpowermove/docblock", @@ -8265,20 +8302,20 @@ }, { "name": "psr/http-factory", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-factory.git", - "reference": "e616d01114759c4c489f93b099585439f795fe35" + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", - "reference": "e616d01114759c4c489f93b099585439f795fe35", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", "shasum": "" }, "require": { - "php": ">=7.0.0", + "php": ">=7.1", "psr/http-message": "^1.0 || ^2.0" }, "type": "library", @@ -8302,7 +8339,7 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common interfaces for PSR-7 HTTP message factories", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ "factory", "http", @@ -8314,9 +8351,9 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-factory/tree/1.0.2" + "source": "https://github.com/php-fig/http-factory" }, - "time": "2023-04-10T20:10:41+00:00" + "time": "2024-04-15T12:06:14+00:00" }, { "name": "psr/http-message", @@ -8654,16 +8691,16 @@ }, { "name": "symfony/console", - "version": "v6.4.11", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "42686880adaacdad1835ee8fc2a9ec5b7bd63998" + "reference": "f793dd5a7d9ae9923e35d0503d08ba734cec1d79" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/42686880adaacdad1835ee8fc2a9ec5b7bd63998", - "reference": "42686880adaacdad1835ee8fc2a9ec5b7bd63998", + "url": "https://api.github.com/repos/symfony/console/zipball/f793dd5a7d9ae9923e35d0503d08ba734cec1d79", + "reference": "f793dd5a7d9ae9923e35d0503d08ba734cec1d79", "shasum": "" }, "require": { @@ -8728,7 +8765,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.11" + "source": "https://github.com/symfony/console/tree/v6.4.13" }, "funding": [ { @@ -8744,20 +8781,20 @@ "type": "tidelift" } ], - "time": "2024-08-15T22:48:29+00:00" + "time": "2024-10-09T08:40:40+00:00" }, { "name": "symfony/css-selector", - "version": "v6.4.8", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "4b61b02fe15db48e3687ce1c45ea385d1780fe08" + "reference": "cb23e97813c5837a041b73a6d63a9ddff0778f5e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/4b61b02fe15db48e3687ce1c45ea385d1780fe08", - "reference": "4b61b02fe15db48e3687ce1c45ea385d1780fe08", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/cb23e97813c5837a041b73a6d63a9ddff0778f5e", + "reference": "cb23e97813c5837a041b73a6d63a9ddff0778f5e", "shasum": "" }, "require": { @@ -8793,7 +8830,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v6.4.8" + "source": "https://github.com/symfony/css-selector/tree/v6.4.13" }, "funding": [ { @@ -8809,20 +8846,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-09-25T14:18:03+00:00" }, { "name": "symfony/dependency-injection", - "version": "v6.4.11", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "e93c8368dc9915c2fe12018ff22fcbbdd32c9a9e" + "reference": "728ae8f4e190133ce99d6d5f0bc1e8c8bd7c7a96" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/e93c8368dc9915c2fe12018ff22fcbbdd32c9a9e", - "reference": "e93c8368dc9915c2fe12018ff22fcbbdd32c9a9e", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/728ae8f4e190133ce99d6d5f0bc1e8c8bd7c7a96", + "reference": "728ae8f4e190133ce99d6d5f0bc1e8c8bd7c7a96", "shasum": "" }, "require": { @@ -8874,7 +8911,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v6.4.11" + "source": "https://github.com/symfony/dependency-injection/tree/v6.4.13" }, "funding": [ { @@ -8890,20 +8927,20 @@ "type": "tidelift" } ], - "time": "2024-08-29T08:15:38+00:00" + "time": "2024-10-25T15:07:50+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v3.4.0", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", "shasum": "" }, "require": { @@ -8912,7 +8949,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -8941,7 +8978,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" }, "funding": [ { @@ -8957,20 +8994,20 @@ "type": "tidelift" } ], - "time": "2023-05-23T14:45:45+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/dom-crawler", - "version": "v6.4.8", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "105b56a0305d219349edeb60a800082eca864e4b" + "reference": "ae074dffb018c37a57071990d16e6152728dd972" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/105b56a0305d219349edeb60a800082eca864e4b", - "reference": "105b56a0305d219349edeb60a800082eca864e4b", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/ae074dffb018c37a57071990d16e6152728dd972", + "reference": "ae074dffb018c37a57071990d16e6152728dd972", "shasum": "" }, "require": { @@ -9008,7 +9045,7 @@ "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v6.4.8" + "source": "https://github.com/symfony/dom-crawler/tree/v6.4.13" }, "funding": [ { @@ -9024,20 +9061,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-10-25T15:07:50+00:00" }, { "name": "symfony/error-handler", - "version": "v6.4.10", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "231f1b2ee80f72daa1972f7340297d67439224f0" + "reference": "e3c78742f86a5b65fe2ac4c4b6b776d92fd7ca0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/231f1b2ee80f72daa1972f7340297d67439224f0", - "reference": "231f1b2ee80f72daa1972f7340297d67439224f0", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/e3c78742f86a5b65fe2ac4c4b6b776d92fd7ca0c", + "reference": "e3c78742f86a5b65fe2ac4c4b6b776d92fd7ca0c", "shasum": "" }, "require": { @@ -9083,7 +9120,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.4.10" + "source": "https://github.com/symfony/error-handler/tree/v6.4.13" }, "funding": [ { @@ -9099,20 +9136,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:30:32+00:00" + "time": "2024-09-25T14:18:03+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v6.4.8", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "8d7507f02b06e06815e56bb39aa0128e3806208b" + "reference": "0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/8d7507f02b06e06815e56bb39aa0128e3806208b", - "reference": "8d7507f02b06e06815e56bb39aa0128e3806208b", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e", + "reference": "0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e", "shasum": "" }, "require": { @@ -9163,7 +9200,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.8" + "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.13" }, "funding": [ { @@ -9179,20 +9216,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-09-25T14:18:03+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.4.2", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "4e64b49bf370ade88e567de29465762e316e4224" + "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/4e64b49bf370ade88e567de29465762e316e4224", - "reference": "4e64b49bf370ade88e567de29465762e316e4224", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", + "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", "shasum": "" }, "require": { @@ -9202,7 +9239,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -9239,7 +9276,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.4.2" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" }, "funding": [ { @@ -9255,20 +9292,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/filesystem", - "version": "v6.4.9", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "b51ef8059159330b74a4d52f68e671033c0fe463" + "reference": "4856c9cf585d5a0313d8d35afd681a526f038dd3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/b51ef8059159330b74a4d52f68e671033c0fe463", - "reference": "b51ef8059159330b74a4d52f68e671033c0fe463", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/4856c9cf585d5a0313d8d35afd681a526f038dd3", + "reference": "4856c9cf585d5a0313d8d35afd681a526f038dd3", "shasum": "" }, "require": { @@ -9305,7 +9342,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.4.9" + "source": "https://github.com/symfony/filesystem/tree/v6.4.13" }, "funding": [ { @@ -9321,20 +9358,20 @@ "type": "tidelift" } ], - "time": "2024-06-28T09:49:33+00:00" + "time": "2024-10-25T15:07:50+00:00" }, { "name": "symfony/finder", - "version": "v6.4.11", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "d7eb6daf8cd7e9ac4976e9576b32042ef7253453" + "reference": "daea9eca0b08d0ed1dc9ab702a46128fd1be4958" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/d7eb6daf8cd7e9ac4976e9576b32042ef7253453", - "reference": "d7eb6daf8cd7e9ac4976e9576b32042ef7253453", + "url": "https://api.github.com/repos/symfony/finder/zipball/daea9eca0b08d0ed1dc9ab702a46128fd1be4958", + "reference": "daea9eca0b08d0ed1dc9ab702a46128fd1be4958", "shasum": "" }, "require": { @@ -9369,7 +9406,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.11" + "source": "https://github.com/symfony/finder/tree/v6.4.13" }, "funding": [ { @@ -9385,20 +9422,20 @@ "type": "tidelift" } ], - "time": "2024-08-13T14:27:37+00:00" + "time": "2024-10-01T08:30:56+00:00" }, { "name": "symfony/http-foundation", - "version": "v6.4.10", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "117f1f20a7ade7bcea28b861fb79160a21a1e37b" + "reference": "4c0341b3e0a7291e752c69d2a1ed9a84b68d604c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/117f1f20a7ade7bcea28b861fb79160a21a1e37b", - "reference": "117f1f20a7ade7bcea28b861fb79160a21a1e37b", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/4c0341b3e0a7291e752c69d2a1ed9a84b68d604c", + "reference": "4c0341b3e0a7291e752c69d2a1ed9a84b68d604c", "shasum": "" }, "require": { @@ -9446,7 +9483,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.10" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.13" }, "funding": [ { @@ -9462,20 +9499,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:36:27+00:00" + "time": "2024-10-11T19:20:58+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.4.11", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "1ba6b89d781cb47448155cc70dd2e0f1b0584c79" + "reference": "4474015c363ec0cd3bf47d55657e68630dbae66e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1ba6b89d781cb47448155cc70dd2e0f1b0584c79", - "reference": "1ba6b89d781cb47448155cc70dd2e0f1b0584c79", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/4474015c363ec0cd3bf47d55657e68630dbae66e", + "reference": "4474015c363ec0cd3bf47d55657e68630dbae66e", "shasum": "" }, "require": { @@ -9560,7 +9597,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.4.11" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.13" }, "funding": [ { @@ -9576,20 +9613,20 @@ "type": "tidelift" } ], - "time": "2024-08-30T16:57:20+00:00" + "time": "2024-10-27T13:00:29+00:00" }, { "name": "symfony/mailer", - "version": "v6.4.9", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45" + "reference": "c2f7e0d8d7ac8fe25faccf5d8cac462805db2663" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45", - "reference": "e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45", + "url": "https://api.github.com/repos/symfony/mailer/zipball/c2f7e0d8d7ac8fe25faccf5d8cac462805db2663", + "reference": "c2f7e0d8d7ac8fe25faccf5d8cac462805db2663", "shasum": "" }, "require": { @@ -9640,7 +9677,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.4.9" + "source": "https://github.com/symfony/mailer/tree/v6.4.13" }, "funding": [ { @@ -9656,20 +9693,20 @@ "type": "tidelift" } ], - "time": "2024-06-28T07:59:05+00:00" + "time": "2024-09-25T14:18:03+00:00" }, { "name": "symfony/mime", - "version": "v6.4.11", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "dba5d5f6073baf7a3576b580cc4a208b4ca00553" + "reference": "1de1cf14d99b12c7ebbb850491ec6ae3ed468855" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/dba5d5f6073baf7a3576b580cc4a208b4ca00553", - "reference": "dba5d5f6073baf7a3576b580cc4a208b4ca00553", + "url": "https://api.github.com/repos/symfony/mime/zipball/1de1cf14d99b12c7ebbb850491ec6ae3ed468855", + "reference": "1de1cf14d99b12c7ebbb850491ec6ae3ed468855", "shasum": "" }, "require": { @@ -9725,7 +9762,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.4.11" + "source": "https://github.com/symfony/mime/tree/v6.4.13" }, "funding": [ { @@ -9741,20 +9778,20 @@ "type": "tidelift" } ], - "time": "2024-08-13T12:15:02+00:00" + "time": "2024-10-25T15:07:50+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb" + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", "shasum": "" }, "require": { @@ -9768,9 +9805,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -9807,7 +9841,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" }, "funding": [ { @@ -9823,20 +9857,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-iconv", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "6de50471469b8c9afc38164452ab2b6170ee71c1" + "reference": "cd4226d140ecd3d0f13d32ed0a4a095ffe871d2f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/6de50471469b8c9afc38164452ab2b6170ee71c1", - "reference": "6de50471469b8c9afc38164452ab2b6170ee71c1", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/cd4226d140ecd3d0f13d32ed0a4a095ffe871d2f", + "reference": "cd4226d140ecd3d0f13d32ed0a4a095ffe871d2f", "shasum": "" }, "require": { @@ -9850,9 +9884,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -9890,7 +9921,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.29.0" }, "funding": [ { @@ -9906,20 +9937,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "875e90aeea2777b6f135677f618529449334a612" + "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612", - "reference": "875e90aeea2777b6f135677f618529449334a612", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f", + "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f", "shasum": "" }, "require": { @@ -9930,9 +9961,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -9971,7 +9999,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0" }, "funding": [ { @@ -9987,20 +10015,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "ecaafce9f77234a6a449d29e49267ba10499116d" + "reference": "a287ed7475f85bf6f61890146edbc932c0fff919" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/ecaafce9f77234a6a449d29e49267ba10499116d", - "reference": "ecaafce9f77234a6a449d29e49267ba10499116d", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a287ed7475f85bf6f61890146edbc932c0fff919", + "reference": "a287ed7475f85bf6f61890146edbc932c0fff919", "shasum": "" }, "require": { @@ -10013,9 +10041,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -10058,7 +10083,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.29.0" }, "funding": [ { @@ -10074,20 +10099,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:30:37+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92" + "reference": "bc45c394692b948b4d383a08d7753968bed9a83d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", - "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d", + "reference": "bc45c394692b948b4d383a08d7753968bed9a83d", "shasum": "" }, "require": { @@ -10098,9 +10123,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -10142,7 +10164,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0" }, "funding": [ { @@ -10158,20 +10180,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "42292d99c55abe617799667f454222c54c60e229" + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", - "reference": "42292d99c55abe617799667f454222c54c60e229", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", "shasum": "" }, "require": { @@ -10185,9 +10207,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -10225,7 +10244,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" }, "funding": [ { @@ -10241,7 +10260,7 @@ "type": "tidelift" } ], - "time": "2023-07-28T09:04:16+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-php72", @@ -10466,16 +10485,16 @@ }, { "name": "symfony/polyfill-php83", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11" + "reference": "86fcae159633351e5fd145d1c47de6c528f8caff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", - "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/86fcae159633351e5fd145d1c47de6c528f8caff", + "reference": "86fcae159633351e5fd145d1c47de6c528f8caff", "shasum": "" }, "require": { @@ -10484,9 +10503,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -10526,7 +10542,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-php83/tree/v1.29.0" }, "funding": [ { @@ -10542,20 +10558,20 @@ "type": "tidelift" } ], - "time": "2023-08-16T06:22:46+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/process", - "version": "v6.4.8", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "8d92dd79149f29e89ee0f480254db595f6a6a2c5" + "reference": "1f9f59b46880201629df3bd950fc5ae8c55b960f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/8d92dd79149f29e89ee0f480254db595f6a6a2c5", - "reference": "8d92dd79149f29e89ee0f480254db595f6a6a2c5", + "url": "https://api.github.com/repos/symfony/process/zipball/1f9f59b46880201629df3bd950fc5ae8c55b960f", + "reference": "1f9f59b46880201629df3bd950fc5ae8c55b960f", "shasum": "" }, "require": { @@ -10587,7 +10603,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.8" + "source": "https://github.com/symfony/process/tree/v6.4.13" }, "funding": [ { @@ -10603,20 +10619,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-09-25T14:18:03+00:00" }, { "name": "symfony/psr-http-message-bridge", - "version": "v6.4.11", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "74835ba54eca99a38f374f7a6d932fa510124773" + "reference": "c9cf83326a1074f83a738fc5320945abf7fb7fec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/74835ba54eca99a38f374f7a6d932fa510124773", - "reference": "74835ba54eca99a38f374f7a6d932fa510124773", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/c9cf83326a1074f83a738fc5320945abf7fb7fec", + "reference": "c9cf83326a1074f83a738fc5320945abf7fb7fec", "shasum": "" }, "require": { @@ -10670,7 +10686,7 @@ "psr-7" ], "support": { - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.11" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.13" }, "funding": [ { @@ -10686,20 +10702,20 @@ "type": "tidelift" } ], - "time": "2024-08-14T13:55:58+00:00" + "time": "2024-09-25T14:18:03+00:00" }, { "name": "symfony/routing", - "version": "v6.4.11", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "8ee0c24c1bf61c263a26f1b9b6d19e83b1121f2a" + "reference": "640a74250d13f9c30d5ca045b6aaaabcc8215278" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/8ee0c24c1bf61c263a26f1b9b6d19e83b1121f2a", - "reference": "8ee0c24c1bf61c263a26f1b9b6d19e83b1121f2a", + "url": "https://api.github.com/repos/symfony/routing/zipball/640a74250d13f9c30d5ca045b6aaaabcc8215278", + "reference": "640a74250d13f9c30d5ca045b6aaaabcc8215278", "shasum": "" }, "require": { @@ -10753,7 +10769,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.11" + "source": "https://github.com/symfony/routing/tree/v6.4.13" }, "funding": [ { @@ -10769,20 +10785,20 @@ "type": "tidelift" } ], - "time": "2024-08-29T08:15:38+00:00" + "time": "2024-10-01T08:30:56+00:00" }, { "name": "symfony/serializer", - "version": "v6.4.11", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "a75d03d7720417f8a654e73e8f02acdea8779cd0" + "reference": "8be421505938b11a0ca4f656e4322232236386f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/a75d03d7720417f8a654e73e8f02acdea8779cd0", - "reference": "a75d03d7720417f8a654e73e8f02acdea8779cd0", + "url": "https://api.github.com/repos/symfony/serializer/zipball/8be421505938b11a0ca4f656e4322232236386f0", + "reference": "8be421505938b11a0ca4f656e4322232236386f0", "shasum": "" }, "require": { @@ -10851,7 +10867,7 @@ "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/serializer/tree/v6.4.11" + "source": "https://github.com/symfony/serializer/tree/v6.4.13" }, "funding": [ { @@ -10867,25 +10883,26 @@ "type": "tidelift" } ], - "time": "2024-08-17T07:51:47+00:00" + "time": "2024-10-03T09:58:04+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.4.2", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "11bbf19a0fb7b36345861e85c5768844c552906e" + "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/11bbf19a0fb7b36345861e85c5768844c552906e", - "reference": "11bbf19a0fb7b36345861e85c5768844c552906e", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", "shasum": "" }, "require": { "php": ">=8.1", - "psr/container": "^1.1|^2.0" + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" }, "conflict": { "ext-psr": "<1.1|>=2" @@ -10893,7 +10910,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -10933,7 +10950,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.4.2" + "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" }, "funding": [ { @@ -10949,20 +10966,20 @@ "type": "tidelift" } ], - "time": "2023-12-19T21:51:00+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/string", - "version": "v6.4.11", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "5bc3eb632cf9c8dbfd6529d89be9950d1518883b" + "reference": "38371c60c71c72b3d64d8d76f6b1bb81a2cc3627" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/5bc3eb632cf9c8dbfd6529d89be9950d1518883b", - "reference": "5bc3eb632cf9c8dbfd6529d89be9950d1518883b", + "url": "https://api.github.com/repos/symfony/string/zipball/38371c60c71c72b3d64d8d76f6b1bb81a2cc3627", + "reference": "38371c60c71c72b3d64d8d76f6b1bb81a2cc3627", "shasum": "" }, "require": { @@ -11019,7 +11036,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.4.11" + "source": "https://github.com/symfony/string/tree/v6.4.13" }, "funding": [ { @@ -11035,20 +11052,20 @@ "type": "tidelift" } ], - "time": "2024-08-12T09:55:28+00:00" + "time": "2024-09-25T14:18:03+00:00" }, { "name": "symfony/translation-contracts", - "version": "v3.4.2", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "43810bdb2ddb5400e5c5e778e27b210a0ca83b6b" + "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/43810bdb2ddb5400e5c5e778e27b210a0ca83b6b", - "reference": "43810bdb2ddb5400e5c5e778e27b210a0ca83b6b", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", + "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", "shasum": "" }, "require": { @@ -11057,7 +11074,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -11097,7 +11114,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.4.2" + "source": "https://github.com/symfony/translation-contracts/tree/v3.5.0" }, "funding": [ { @@ -11113,20 +11130,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/validator", - "version": "v6.4.11", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "4ff41cf10af1de99ad92895411b55c9f309bc2d8" + "reference": "68e0bf4522756269d9bff801a16701b2ed5eb730" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/4ff41cf10af1de99ad92895411b55c9f309bc2d8", - "reference": "4ff41cf10af1de99ad92895411b55c9f309bc2d8", + "url": "https://api.github.com/repos/symfony/validator/zipball/68e0bf4522756269d9bff801a16701b2ed5eb730", + "reference": "68e0bf4522756269d9bff801a16701b2ed5eb730", "shasum": "" }, "require": { @@ -11194,7 +11211,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v6.4.11" + "source": "https://github.com/symfony/validator/tree/v6.4.13" }, "funding": [ { @@ -11210,20 +11227,20 @@ "type": "tidelift" } ], - "time": "2024-08-30T15:57:55+00:00" + "time": "2024-10-25T15:07:50+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.11", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "ee14c8254a480913268b1e3b1cba8045ed122694" + "reference": "2acb151474ed8cb43624e3f41a0bf7c4c8ce4f41" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/ee14c8254a480913268b1e3b1cba8045ed122694", - "reference": "ee14c8254a480913268b1e3b1cba8045ed122694", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/2acb151474ed8cb43624e3f41a0bf7c4c8ce4f41", + "reference": "2acb151474ed8cb43624e3f41a0bf7c4c8ce4f41", "shasum": "" }, "require": { @@ -11279,7 +11296,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.11" + "source": "https://github.com/symfony/var-dumper/tree/v6.4.13" }, "funding": [ { @@ -11295,20 +11312,20 @@ "type": "tidelift" } ], - "time": "2024-08-30T16:03:21+00:00" + "time": "2024-09-25T14:18:03+00:00" }, { "name": "symfony/var-exporter", - "version": "v6.4.9", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "f9a060622e0d93777b7f8687ec4860191e16802e" + "reference": "0f605f72a363f8743001038a176eeb2a11223b51" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/f9a060622e0d93777b7f8687ec4860191e16802e", - "reference": "f9a060622e0d93777b7f8687ec4860191e16802e", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/0f605f72a363f8743001038a176eeb2a11223b51", + "reference": "0f605f72a363f8743001038a176eeb2a11223b51", "shasum": "" }, "require": { @@ -11356,7 +11373,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v6.4.9" + "source": "https://github.com/symfony/var-exporter/tree/v6.4.13" }, "funding": [ { @@ -11372,20 +11389,20 @@ "type": "tidelift" } ], - "time": "2024-06-24T15:53:56+00:00" + "time": "2024-09-25T14:18:03+00:00" }, { "name": "symfony/yaml", - "version": "v6.4.11", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "be37e7f13195e05ab84ca5269365591edd240335" + "reference": "e99b4e94d124b29ee4cf3140e1b537d2dad8cec9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/be37e7f13195e05ab84ca5269365591edd240335", - "reference": "be37e7f13195e05ab84ca5269365591edd240335", + "url": "https://api.github.com/repos/symfony/yaml/zipball/e99b4e94d124b29ee4cf3140e1b537d2dad8cec9", + "reference": "e99b4e94d124b29ee4cf3140e1b537d2dad8cec9", "shasum": "" }, "require": { @@ -11428,7 +11445,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v6.4.11" + "source": "https://github.com/symfony/yaml/tree/v6.4.13" }, "funding": [ { @@ -11444,7 +11461,7 @@ "type": "tidelift" } ], - "time": "2024-08-12T09:55:28+00:00" + "time": "2024-09-25T14:18:03+00:00" }, { "name": "twig/twig", @@ -11527,16 +11544,16 @@ }, { "name": "webflo/drupal-finder", - "version": "1.3.0", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/webflo/drupal-finder.git", - "reference": "1fa65484857c7a2e4dcf0d9e0b47198fe0681b8a" + "reference": "73045060b0894c77962a10cff047f72872d8810c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webflo/drupal-finder/zipball/1fa65484857c7a2e4dcf0d9e0b47198fe0681b8a", - "reference": "1fa65484857c7a2e4dcf0d9e0b47198fe0681b8a", + "url": "https://api.github.com/repos/webflo/drupal-finder/zipball/73045060b0894c77962a10cff047f72872d8810c", + "reference": "73045060b0894c77962a10cff047f72872d8810c", "shasum": "" }, "require": { @@ -11545,7 +11562,8 @@ }, "require-dev": { "mikey179/vfsstream": "^1.6", - "phpunit/phpunit": "^10.4" + "phpunit/phpunit": "^10.4", + "symfony/process": "^6.4" }, "type": "library", "autoload": { @@ -11566,9 +11584,9 @@ "description": "Helper class to locate a Drupal installation.", "support": { "issues": "https://github.com/webflo/drupal-finder/issues", - "source": "https://github.com/webflo/drupal-finder/tree/1.3.0" + "source": "https://github.com/webflo/drupal-finder/tree/1.3.1" }, - "time": "2024-05-08T21:22:39+00:00" + "time": "2024-06-28T13:45:36+00:00" }, { "name": "wikimedia/composer-merge-plugin", @@ -11641,7 +11659,7 @@ }, "prefer-stable": true, "prefer-lowest": false, - "platform": [], - "platform-dev": [], + "platform": {}, + "platform-dev": {}, "plugin-api-version": "2.6.0" } diff --git a/config/sync/block_content.type.html_block.yml b/config/sync/block_content.type.html_block.yml index 29c395ef17..1628297e6b 100644 --- a/config/sync/block_content.type.html_block.yml +++ b/config/sync/block_content.type.html_block.yml @@ -4,5 +4,5 @@ status: true dependencies: { } id: html_block label: 'HTML Block' -revision: 0 +revision: false description: '' diff --git a/config/sync/block_content.type.modal.yml b/config/sync/block_content.type.modal.yml index 06fed5ad4a..25cfbec6df 100644 --- a/config/sync/block_content.type.modal.yml +++ b/config/sync/block_content.type.modal.yml @@ -4,5 +4,5 @@ status: true dependencies: { } id: modal label: Modal -revision: 1 +revision: true description: '' diff --git a/config/sync/block_content.type.site_banner.yml b/config/sync/block_content.type.site_banner.yml index b0c3ab6825..f2669e234f 100644 --- a/config/sync/block_content.type.site_banner.yml +++ b/config/sync/block_content.type.site_banner.yml @@ -4,5 +4,5 @@ status: true dependencies: { } id: site_banner label: 'Site Banner' -revision: 0 +revision: false description: '' diff --git a/config/sync/block_content.type.uswds_paragraphs.yml b/config/sync/block_content.type.uswds_paragraphs.yml index 90ac88280e..8d9d7338a5 100644 --- a/config/sync/block_content.type.uswds_paragraphs.yml +++ b/config/sync/block_content.type.uswds_paragraphs.yml @@ -6,5 +6,5 @@ _core: default_config_hash: WJNbNTj9ewMN8JpReEuoJpf2j3npvOuOi4m2vNWq-Lo id: uswds_paragraphs label: 'USWDS Paragraphs' -revision: 1 +revision: true description: 'Basic block type with a paragraph field to USWDS bundles.' diff --git a/config/sync/block_content.type.wizard_block.yml b/config/sync/block_content.type.wizard_block.yml index fef2f473da..414f0b38f9 100644 --- a/config/sync/block_content.type.wizard_block.yml +++ b/config/sync/block_content.type.wizard_block.yml @@ -4,5 +4,5 @@ status: true dependencies: { } id: wizard_block label: 'Wizard Block' -revision: 0 +revision: false description: '' diff --git a/config/sync/editor.editor.uswds.yml b/config/sync/editor.editor.uswds.yml index fc3540c1dc..6acc0b90c4 100644 --- a/config/sync/editor.editor.uswds.yml +++ b/config/sync/editor.editor.uswds.yml @@ -84,9 +84,3 @@ settings: table_content_items: true image_upload: status: false - scheme: public - directory: inline-images - max_size: '' - max_dimensions: - width: null - height: null diff --git a/config/sync/hierarchy_manager.hmconfig.yml b/config/sync/hierarchy_manager.hmconfig.yml index aaeb648d31..aef1f23bf3 100644 --- a/config/sync/hierarchy_manager.hmconfig.yml +++ b/config/sync/hierarchy_manager.hmconfig.yml @@ -1,6 +1,5 @@ _core: default_config_hash: h6dm-6Fu8tAsr8ABsk6CEK3NLl9HLZcG9zvPh5JNqpQ -hierarchy_manager: null allowed_setup_plugins: hm_setup_menu: hm_setup_menu hm_setup_taxonomy: hm_setup_taxonomy @@ -9,27 +8,28 @@ setup_plugin_settings: display_profile: wizard_manager bundle: wizard: wizard - account: 0 - admin: 0 - devel: 0 - footer: 0 - left-menu-english: 0 - left-menu-spanish: 0 - main: 0 - primary-footer: 0 - primary-footer-spanish: 0 - tools: 0 - top-navigation: 0 - top-navigation-es: 0 - wizard-espanol: 0 + account: '0' + admin: '0' + devel: '0' + footer: '0' + left-menu-english: '0' + left-menu-spanish: '0' + main: '0' + primary-footer: '0' + primary-footer-spanish: '0' + tools: '0' + top-navigation: '0' + top-navigation-es: '0' + wizard-espanol: '0' hm_setup_taxonomy: display_profile: wizard_manager bundle: wizard: wizard - bears_tags: 0 - content_tags: 0 - page_type: 0 - uswds_breakpoints: 0 - uswds_classes: 0 - uswds_colors: 0 - uswds_icons: 0 + bears_tags: '0' + content_tags: '0' + page_type: '0' + uswds_breakpoints: '0' + uswds_classes: '0' + uswds_colors: '0' + uswds_icons: '0' +hierarchy_manager: null diff --git a/config/sync/node.type.agency_synonym.yml b/config/sync/node.type.agency_synonym.yml index 912432ca25..7d7a0fba77 100644 --- a/config/sync/node.type.agency_synonym.yml +++ b/config/sync/node.type.agency_synonym.yml @@ -22,8 +22,8 @@ third_party_settings: parent: 'main:' name: 'Federal Directory Synonym' type: agency_synonym -description: '' -help: '' +description: null +help: null new_revision: true preview_mode: 1 display_submitted: false diff --git a/config/sync/node.type.basic_page.yml b/config/sync/node.type.basic_page.yml index 524d4981ce..748e852b23 100644 --- a/config/sync/node.type.basic_page.yml +++ b/config/sync/node.type.basic_page.yml @@ -24,8 +24,8 @@ third_party_settings: parent: 'left-menu-spanish:' name: 'Basic Page' type: basic_page -description: '' -help: '' +description: null +help: null new_revision: true preview_mode: 1 display_submitted: false diff --git a/config/sync/node.type.bears_agency.yml b/config/sync/node.type.bears_agency.yml index a73212730a..03040b413d 100644 --- a/config/sync/node.type.bears_agency.yml +++ b/config/sync/node.type.bears_agency.yml @@ -23,8 +23,8 @@ third_party_settings: parent: 'main:' name: Agency type: bears_agency -description: '' -help: '' +description: null +help: null new_revision: true preview_mode: 1 display_submitted: true diff --git a/config/sync/node.type.bears_benefit.yml b/config/sync/node.type.bears_benefit.yml index 58f530ff08..29bfc5b6c7 100644 --- a/config/sync/node.type.bears_benefit.yml +++ b/config/sync/node.type.bears_benefit.yml @@ -23,8 +23,8 @@ third_party_settings: parent: 'main:' name: Benefit type: bears_benefit -description: '' -help: '' +description: null +help: null new_revision: true preview_mode: 1 display_submitted: true diff --git a/config/sync/node.type.bears_criteria.yml b/config/sync/node.type.bears_criteria.yml index 046208d073..3ffcd86fd1 100644 --- a/config/sync/node.type.bears_criteria.yml +++ b/config/sync/node.type.bears_criteria.yml @@ -23,8 +23,8 @@ third_party_settings: parent: 'main:' name: Criteria type: bears_criteria -description: '' -help: '' +description: null +help: null new_revision: true preview_mode: 1 display_submitted: true diff --git a/config/sync/node.type.bears_life_event.yml b/config/sync/node.type.bears_life_event.yml index 1f499ab1a1..fa1f01061f 100644 --- a/config/sync/node.type.bears_life_event.yml +++ b/config/sync/node.type.bears_life_event.yml @@ -24,8 +24,8 @@ third_party_settings: parent: 'left-menu-spanish:' name: 'Life Event' type: bears_life_event -description: '' -help: '' +description: null +help: null new_revision: true preview_mode: 0 display_submitted: true diff --git a/config/sync/node.type.bears_life_event_form.yml b/config/sync/node.type.bears_life_event_form.yml index 20355397b5..99caeba0e9 100644 --- a/config/sync/node.type.bears_life_event_form.yml +++ b/config/sync/node.type.bears_life_event_form.yml @@ -23,8 +23,8 @@ third_party_settings: parent: 'main:' name: 'Life Event Form' type: bears_life_event_form -description: '' -help: '' +description: null +help: null new_revision: true preview_mode: 1 display_submitted: true diff --git a/config/sync/node.type.directory_record.yml b/config/sync/node.type.directory_record.yml index ffc07f6f54..d636581946 100644 --- a/config/sync/node.type.directory_record.yml +++ b/config/sync/node.type.directory_record.yml @@ -24,8 +24,8 @@ third_party_settings: parent: 'left-menu-spanish:' name: 'Federal Directory Record' type: directory_record -description: '' -help: '' +description: null +help: null new_revision: true preview_mode: 1 display_submitted: false diff --git a/config/sync/node.type.state_directory_record.yml b/config/sync/node.type.state_directory_record.yml index 93154a3c66..bfc4c75afe 100644 --- a/config/sync/node.type.state_directory_record.yml +++ b/config/sync/node.type.state_directory_record.yml @@ -24,8 +24,8 @@ third_party_settings: parent: 'left-menu-spanish:' name: 'State Directory Record' type: state_directory_record -description: '' -help: '' +description: null +help: null new_revision: true preview_mode: 1 display_submitted: false diff --git a/config/sync/node.type.wizard.yml b/config/sync/node.type.wizard.yml index f18ea9049a..8c80dd2346 100644 --- a/config/sync/node.type.wizard.yml +++ b/config/sync/node.type.wizard.yml @@ -24,8 +24,8 @@ third_party_settings: parent: 'wizard-espanol:' name: Wizard type: wizard -description: '' -help: '' +description: null +help: null new_revision: true preview_mode: 0 display_submitted: false diff --git a/config/sync/node.type.wizard_step.yml b/config/sync/node.type.wizard_step.yml index 57400318c4..a703d6b0a6 100644 --- a/config/sync/node.type.wizard_step.yml +++ b/config/sync/node.type.wizard_step.yml @@ -24,8 +24,8 @@ third_party_settings: parent: 'wizard-espanol:' name: 'Wizard Step' type: wizard_step -description: '' -help: '' +description: null +help: null new_revision: true preview_mode: 1 display_submitted: false diff --git a/config/sync/samlauth.authentication.yml b/config/sync/samlauth.authentication.yml index 8be9222974..4633789ef7 100644 --- a/config/sync/samlauth.authentication.yml +++ b/config/sync/samlauth.authentication.yml @@ -27,7 +27,7 @@ idp_single_sign_on_service: 'https://secureauth.gsa.gov/SecureAuth273' idp_single_log_out_service: '' idp_change_password_service: '' idp_certs: - - MIIGcjCCBVqgAwIBAgITXgAGcBZny589wXHX4gAAAAZwFjANBgkqhkiG9w0BAQsFADCB9TELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExDzANBgNVBAcTBklydmluZTEfMB0GA1UEChMWU2VjdXJlQXV0aCBDb3Jwb3JhdGlvbjFCMEAGA1UECxM5KGMpIDIwMTUgU2VjdXJlQXV0aCBDb3Jwb3JhdGlvbiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR0wGwYDVQQLExRDZXJ0aWZpY2F0ZSBTZXJ2aWNlczE8MDoGA1UEAxMzU2VjdXJlQXV0aCBHMyBJbnRlcm1lZGlhdGUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDFBMB4XDTE3MDgyMzE1MDk1OVoXDTI1MDUxNjIwMTQwNlowgagxCzAJBgNVBAYTAlVTMR0wGwYDVQQIExREaXN0cmljdCBvZiBDb2x1bWJpYTETMBEGA1UEBxMKV2FzaGluZ3RvbjEoMCYGA1UEChMfR2VuZXJhbCBTZXJ2aWNlcyBBZG1pbmlzdHJhdGlvbjEaMBgGA1UECxMRT2ZmaWNlIG9mIHRoZSBDSU8xHzAdBgNVBAMTFlNlY3VyZUF1dGgyM1ZNLmdzYS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCY5boz+gm57AXgdKKkwe4o50XhkWe3aMyndC311lkbd8IZHDaeyiPGI9x6ysQtIfJrns8hPBBaFd92ZFZ0mMe9VfFEJ21hVGs5NCnyEK2SlDMP4zIarUVzfEtS4gnfMYBUHaxkEdn2LYn0QuG1RMLh2LGCAZMI8yLZLcaB/3KJPzyKmL4Xgt08hQx5PB2nvNBfKmKNpBFGEtkjnHL53PGTRbTXE4mPGJ5eQTNRbXzepkSlFmsd3LO7h4eX3WeQl9mHuroowtFvS9GeY9YjxV6MzOons8SvKI/C6atsUb8APN51g/x8Zwy+9YU27Dv2JJF0iaVz2W/6qUFWe7BBgVVZAgMBAAGjggJEMIICQDAOBgNVHQ8BAf8EBAMCBPAwIAYDVR0lAQH/BBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB0GA1UdDgQWBBRtJZGaf4uIwel6aAI0+vtTVASAqDAsBgNVHREEJTAjgglsb2NhbGhvc3SCFlNlY3VyZUF1dGgyM1ZNLmdzYS5jb20wHwYDVR0jBBgwFoAUBjzzKPdCIGs56tp3qtiSaDGHNywwgecGA1UdHwSB3zCB3DCB2aCB1qCB04ZmaHR0cDovL2Nsb3VkLnNlY3VyZWF1dGguY29tL0NlcnRJbmZvL1NlY3VyZUF1dGglMjBHMyUyMEludGVybWVkaWF0ZSUyMENlcnRpZmljYXRlJTIwQXV0aG9yaXR5JTIwMUEuY3JshmlodHRwOi8vdXMtY2xvdWQuc2VjdXJlYXV0aC5jb20vQ2VydEluZm8vU2VjdXJlQXV0aCUyMEczJTIwSW50ZXJtZWRpYXRlJTIwQ2VydGlmaWNhdGUlMjBBdXRob3JpdHklMjAxQS5jcmwwgbMGCCsGAQUFBwEBBIGmMIGjMIGgBggrBgEFBQcwAoaBk2h0dHA6Ly9jbG91ZC5zZWN1cmVhdXRoLmNvbS9DZXJ0SW5mby9NdWx0aWZhY3RyLVZNMjIuYmFubmVyLm11bHRpZmFjdG9ydHJ1c3QzLmNvbV9TZWN1cmVBdXRoJTIwRzMlMjBJbnRlcm1lZGlhdGUlMjBDZXJ0aWZpY2F0ZSUyMEF1dGhvcml0eSUyMDFBLmNydDANBgkqhkiG9w0BAQsFAAOCAQEArkLVopMVbsEBBxOA93t32kz/krZ5DovVl7rppA0x3OMoQkpjA59liuME9nZjg0ZOAZMbE/hOlyK1tACOL/t+P8l57hibPFQRShpxDLGBBs28r7d1OwjVqkRhr2V51ZbuoZ/WC1K+r2v6raCcjnmk7q/E2Q3lKWcYaLYmeTIjrxgFaZKdTu1BuMI6cTSu+7pjyHXa1L7ssn1HX5CUMnFaSpe8O8k9NkAYuKWo+15NuKXD9ZmqlZPx2FguskXbiSFqcFPQwGGjFgYjPYoL8YaFHWwzDBxhOjzR6pG8JEC1V3Mq6iljlQViTKfKAHCVTuui0nEO+7HCRFaKJhJ9cr5DnA== + 1: MIIGcjCCBVqgAwIBAgITXgAGcBZny589wXHX4gAAAAZwFjANBgkqhkiG9w0BAQsFADCB9TELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExDzANBgNVBAcTBklydmluZTEfMB0GA1UEChMWU2VjdXJlQXV0aCBDb3Jwb3JhdGlvbjFCMEAGA1UECxM5KGMpIDIwMTUgU2VjdXJlQXV0aCBDb3Jwb3JhdGlvbiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR0wGwYDVQQLExRDZXJ0aWZpY2F0ZSBTZXJ2aWNlczE8MDoGA1UEAxMzU2VjdXJlQXV0aCBHMyBJbnRlcm1lZGlhdGUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDFBMB4XDTE3MDgyMzE1MDk1OVoXDTI1MDUxNjIwMTQwNlowgagxCzAJBgNVBAYTAlVTMR0wGwYDVQQIExREaXN0cmljdCBvZiBDb2x1bWJpYTETMBEGA1UEBxMKV2FzaGluZ3RvbjEoMCYGA1UEChMfR2VuZXJhbCBTZXJ2aWNlcyBBZG1pbmlzdHJhdGlvbjEaMBgGA1UECxMRT2ZmaWNlIG9mIHRoZSBDSU8xHzAdBgNVBAMTFlNlY3VyZUF1dGgyM1ZNLmdzYS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCY5boz+gm57AXgdKKkwe4o50XhkWe3aMyndC311lkbd8IZHDaeyiPGI9x6ysQtIfJrns8hPBBaFd92ZFZ0mMe9VfFEJ21hVGs5NCnyEK2SlDMP4zIarUVzfEtS4gnfMYBUHaxkEdn2LYn0QuG1RMLh2LGCAZMI8yLZLcaB/3KJPzyKmL4Xgt08hQx5PB2nvNBfKmKNpBFGEtkjnHL53PGTRbTXE4mPGJ5eQTNRbXzepkSlFmsd3LO7h4eX3WeQl9mHuroowtFvS9GeY9YjxV6MzOons8SvKI/C6atsUb8APN51g/x8Zwy+9YU27Dv2JJF0iaVz2W/6qUFWe7BBgVVZAgMBAAGjggJEMIICQDAOBgNVHQ8BAf8EBAMCBPAwIAYDVR0lAQH/BBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB0GA1UdDgQWBBRtJZGaf4uIwel6aAI0+vtTVASAqDAsBgNVHREEJTAjgglsb2NhbGhvc3SCFlNlY3VyZUF1dGgyM1ZNLmdzYS5jb20wHwYDVR0jBBgwFoAUBjzzKPdCIGs56tp3qtiSaDGHNywwgecGA1UdHwSB3zCB3DCB2aCB1qCB04ZmaHR0cDovL2Nsb3VkLnNlY3VyZWF1dGguY29tL0NlcnRJbmZvL1NlY3VyZUF1dGglMjBHMyUyMEludGVybWVkaWF0ZSUyMENlcnRpZmljYXRlJTIwQXV0aG9yaXR5JTIwMUEuY3JshmlodHRwOi8vdXMtY2xvdWQuc2VjdXJlYXV0aC5jb20vQ2VydEluZm8vU2VjdXJlQXV0aCUyMEczJTIwSW50ZXJtZWRpYXRlJTIwQ2VydGlmaWNhdGUlMjBBdXRob3JpdHklMjAxQS5jcmwwgbMGCCsGAQUFBwEBBIGmMIGjMIGgBggrBgEFBQcwAoaBk2h0dHA6Ly9jbG91ZC5zZWN1cmVhdXRoLmNvbS9DZXJ0SW5mby9NdWx0aWZhY3RyLVZNMjIuYmFubmVyLm11bHRpZmFjdG9ydHJ1c3QzLmNvbV9TZWN1cmVBdXRoJTIwRzMlMjBJbnRlcm1lZGlhdGUlMjBDZXJ0aWZpY2F0ZSUyMEF1dGhvcml0eSUyMDFBLmNydDANBgkqhkiG9w0BAQsFAAOCAQEArkLVopMVbsEBBxOA93t32kz/krZ5DovVl7rppA0x3OMoQkpjA59liuME9nZjg0ZOAZMbE/hOlyK1tACOL/t+P8l57hibPFQRShpxDLGBBs28r7d1OwjVqkRhr2V51ZbuoZ/WC1K+r2v6raCcjnmk7q/E2Q3lKWcYaLYmeTIjrxgFaZKdTu1BuMI6cTSu+7pjyHXa1L7ssn1HX5CUMnFaSpe8O8k9NkAYuKWo+15NuKXD9ZmqlZPx2FguskXbiSFqcFPQwGGjFgYjPYoL8YaFHWwzDBxhOjzR6pG8JEC1V3Mq6iljlQViTKfKAHCVTuui0nEO+7HCRFaKJhJ9cr5DnA== idp_cert_encryption: '' unique_id_attribute: uid map_users: false @@ -69,4 +69,4 @@ debug_log_saml_out: false debug_phpsaml: false use_proxy_headers: false use_base_url: true -sp_force_https: true +sp_force_https: 1 diff --git a/config/sync/system.cron.yml b/config/sync/system.cron.yml index 49e58a00c9..6d1cca2f67 100644 --- a/config/sync/system.cron.yml +++ b/config/sync/system.cron.yml @@ -3,4 +3,4 @@ _core: threshold: requirements_warning: 172800 requirements_error: 1209600 -logging: 1 +logging: true diff --git a/config/sync/taxonomy.vocabulary.bears_tags.yml b/config/sync/taxonomy.vocabulary.bears_tags.yml index d44e340980..158d6678f0 100644 --- a/config/sync/taxonomy.vocabulary.bears_tags.yml +++ b/config/sync/taxonomy.vocabulary.bears_tags.yml @@ -4,6 +4,6 @@ status: true dependencies: { } name: 'Benefit Finder Tags' vid: bears_tags -description: '' +description: null weight: 0 new_revision: false diff --git a/config/sync/taxonomy.vocabulary.page_type.yml b/config/sync/taxonomy.vocabulary.page_type.yml index a595c5e519..f1dfe313c9 100644 --- a/config/sync/taxonomy.vocabulary.page_type.yml +++ b/config/sync/taxonomy.vocabulary.page_type.yml @@ -4,6 +4,6 @@ status: true dependencies: { } name: 'Page Type' vid: page_type -description: '' +description: null weight: 0 new_revision: false diff --git a/config/sync/taxonomy.vocabulary.uswds_classes.yml b/config/sync/taxonomy.vocabulary.uswds_classes.yml index 65229e7cdf..502d601b92 100644 --- a/config/sync/taxonomy.vocabulary.uswds_classes.yml +++ b/config/sync/taxonomy.vocabulary.uswds_classes.yml @@ -6,6 +6,6 @@ _core: default_config_hash: '-skLTwCndk9p_VpZLRDox98gMlVFdo4MC8-jtZcKFWE' name: 'USWDS Classes' vid: uswds_classes -description: '' +description: null weight: 0 new_revision: false diff --git a/config/sync/taxonomy.vocabulary.wizard.yml b/config/sync/taxonomy.vocabulary.wizard.yml index 9c5030b0f7..3c3d34d236 100644 --- a/config/sync/taxonomy.vocabulary.wizard.yml +++ b/config/sync/taxonomy.vocabulary.wizard.yml @@ -4,6 +4,6 @@ status: true dependencies: { } name: Wizard vid: wizard -description: '' +description: null weight: 0 new_revision: true diff --git a/config/sync/views.view.archive.yml b/config/sync/views.view.archive.yml index 290001c857..55581001f2 100644 --- a/config/sync/views.view.archive.yml +++ b/config/sync/views.view.archive.yml @@ -29,6 +29,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: 0 id: 0 diff --git a/config/sync/views.view.benefit_categories_with_life_events.yml b/config/sync/views.view.benefit_categories_with_life_events.yml index 9116b802e0..76f9998ad7 100644 --- a/config/sync/views.view.benefit_categories_with_life_events.yml +++ b/config/sync/views.view.benefit_categories_with_life_events.yml @@ -537,6 +537,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: null id: 0 diff --git a/config/sync/views.view.benefit_category_life_event_reference.yml b/config/sync/views.view.benefit_category_life_event_reference.yml index 5c5698449c..067ea9ac3a 100644 --- a/config/sync/views.view.benefit_category_life_event_reference.yml +++ b/config/sync/views.view.benefit_category_life_event_reference.yml @@ -157,6 +157,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: null id: 0 diff --git a/config/sync/views.view.benefit_finder.yml b/config/sync/views.view.benefit_finder.yml index 73a71c53e6..4b84c3668c 100644 --- a/config/sync/views.view.benefit_finder.yml +++ b/config/sync/views.view.benefit_finder.yml @@ -75,6 +75,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: null id: 0 diff --git a/config/sync/views.view.benefit_pages_admin.yml b/config/sync/views.view.benefit_pages_admin.yml index f1311d089f..7b365a953f 100644 --- a/config/sync/views.view.benefit_pages_admin.yml +++ b/config/sync/views.view.benefit_pages_admin.yml @@ -332,6 +332,7 @@ display: type: full options: offset: 0 + pagination_heading_level: h4 items_per_page: 15 total_pages: null id: 0 diff --git a/config/sync/views.view.benefit_search_results.yml b/config/sync/views.view.benefit_search_results.yml index 49650cf0f4..ba439e42b0 100644 --- a/config/sync/views.view.benefit_search_results.yml +++ b/config/sync/views.view.benefit_search_results.yml @@ -599,6 +599,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: null id: 0 diff --git a/config/sync/views.view.block_content.yml b/config/sync/views.view.block_content.yml index 2417f6421e..187ee23469 100644 --- a/config/sync/views.view.block_content.yml +++ b/config/sync/views.view.block_content.yml @@ -273,6 +273,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 50 total_pages: null id: 0 diff --git a/config/sync/views.view.content.yml b/config/sync/views.view.content.yml index 1dd9e9e31d..f504d0939e 100644 --- a/config/sync/views.view.content.yml +++ b/config/sync/views.view.content.yml @@ -314,6 +314,7 @@ display: pager: type: full options: + pagination_heading_level: h4 items_per_page: 50 tags: next: 'Next ›' diff --git a/config/sync/views.view.federal_directory_export.yml b/config/sync/views.view.federal_directory_export.yml index 00e9018e1b..51616e52f4 100644 --- a/config/sync/views.view.federal_directory_export.yml +++ b/config/sync/views.view.federal_directory_export.yml @@ -1661,6 +1661,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: null id: 0 diff --git a/config/sync/views.view.feeds_feed.yml b/config/sync/views.view.feeds_feed.yml index ab88914cc9..02f2bf5b9b 100644 --- a/config/sync/views.view.feeds_feed.yml +++ b/config/sync/views.view.feeds_feed.yml @@ -480,6 +480,7 @@ display: type: full options: offset: 0 + pagination_heading_level: h4 items_per_page: 50 total_pages: null id: 0 diff --git a/config/sync/views.view.files.yml b/config/sync/views.view.files.yml index 8c9b068dc3..bfdef9845a 100644 --- a/config/sync/views.view.files.yml +++ b/config/sync/views.view.files.yml @@ -470,6 +470,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 50 total_pages: 0 id: 0 @@ -1005,6 +1006,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: 0 id: 0 diff --git a/config/sync/views.view.frontpage.yml b/config/sync/views.view.frontpage.yml index 76b607916b..97e3d12abb 100644 --- a/config/sync/views.view.frontpage.yml +++ b/config/sync/views.view.frontpage.yml @@ -30,6 +30,7 @@ display: type: full options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: 0 id: 0 diff --git a/config/sync/views.view.glossary.yml b/config/sync/views.view.glossary.yml index fcdb2d3ffb..1ebe0a9d79 100644 --- a/config/sync/views.view.glossary.yml +++ b/config/sync/views.view.glossary.yml @@ -196,6 +196,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 36 total_pages: 0 id: 0 diff --git a/config/sync/views.view.language_toggles.yml b/config/sync/views.view.language_toggles.yml index e21312fdb0..cdd072d279 100644 --- a/config/sync/views.view.language_toggles.yml +++ b/config/sync/views.view.language_toggles.yml @@ -140,6 +140,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: null id: 0 diff --git a/config/sync/views.view.locked_content.yml b/config/sync/views.view.locked_content.yml index 15112edfd4..a1538e4ae4 100644 --- a/config/sync/views.view.locked_content.yml +++ b/config/sync/views.view.locked_content.yml @@ -368,6 +368,7 @@ display: type: full options: offset: 0 + pagination_heading_level: h4 items_per_page: 50 total_pages: null id: 0 diff --git a/config/sync/views.view.media.yml b/config/sync/views.view.media.yml index a1ceed59d0..b4cfa040fb 100644 --- a/config/sync/views.view.media.yml +++ b/config/sync/views.view.media.yml @@ -522,6 +522,7 @@ display: type: full options: offset: 0 + pagination_heading_level: h4 items_per_page: 50 total_pages: null id: 0 diff --git a/config/sync/views.view.media_library.yml b/config/sync/views.view.media_library.yml index 6dc62b5ad9..12248df0d3 100644 --- a/config/sync/views.view.media_library.yml +++ b/config/sync/views.view.media_library.yml @@ -139,6 +139,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 24 total_pages: null id: 0 diff --git a/config/sync/views.view.moderated_content.yml b/config/sync/views.view.moderated_content.yml index 0609f1360f..7e9cad3678 100644 --- a/config/sync/views.view.moderated_content.yml +++ b/config/sync/views.view.moderated_content.yml @@ -416,6 +416,7 @@ display: type: full options: offset: 0 + pagination_heading_level: h4 items_per_page: 50 total_pages: null id: 0 diff --git a/config/sync/views.view.published_pages_report.yml b/config/sync/views.view.published_pages_report.yml index e998f978ed..d6f2ba4281 100644 --- a/config/sync/views.view.published_pages_report.yml +++ b/config/sync/views.view.published_pages_report.yml @@ -1010,6 +1010,7 @@ display: type: full options: offset: 0 + pagination_heading_level: h4 items_per_page: 50 total_pages: null id: 0 diff --git a/config/sync/views.view.redirect.yml b/config/sync/views.view.redirect.yml index 0f7bcde52d..fa8abb819e 100644 --- a/config/sync/views.view.redirect.yml +++ b/config/sync/views.view.redirect.yml @@ -226,6 +226,7 @@ display: type: full options: offset: 0 + pagination_heading_level: h4 items_per_page: 50 total_pages: null id: 0 diff --git a/config/sync/views.view.samlauth_map.yml b/config/sync/views.view.samlauth_map.yml index 5a6844a74f..e431479b7e 100644 --- a/config/sync/views.view.samlauth_map.yml +++ b/config/sync/views.view.samlauth_map.yml @@ -249,6 +249,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 50 total_pages: null id: 0 diff --git a/config/sync/views.view.state_directory_export.yml b/config/sync/views.view.state_directory_export.yml index 2f8cd1414d..eeb31ebf39 100644 --- a/config/sync/views.view.state_directory_export.yml +++ b/config/sync/views.view.state_directory_export.yml @@ -2342,6 +2342,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: null id: 0 diff --git a/config/sync/views.view.taxonomy_term.yml b/config/sync/views.view.taxonomy_term.yml index 46bffd1341..5aa0d03578 100644 --- a/config/sync/views.view.taxonomy_term.yml +++ b/config/sync/views.view.taxonomy_term.yml @@ -92,6 +92,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: 0 id: 0 diff --git a/config/sync/views.view.test_nav_page.yml b/config/sync/views.view.test_nav_page.yml index 0c8530009b..4b9f77aa43 100644 --- a/config/sync/views.view.test_nav_page.yml +++ b/config/sync/views.view.test_nav_page.yml @@ -74,6 +74,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: null id: 0 diff --git a/config/sync/views.view.user_admin_people.yml b/config/sync/views.view.user_admin_people.yml index 0cb51475d1..988f439ef9 100644 --- a/config/sync/views.view.user_admin_people.yml +++ b/config/sync/views.view.user_admin_people.yml @@ -490,6 +490,7 @@ display: type: full options: offset: 0 + pagination_heading_level: h4 items_per_page: 50 total_pages: 0 id: 0 diff --git a/config/sync/views.view.uswds_entity_references.yml b/config/sync/views.view.uswds_entity_references.yml index 01c166c7ce..41633f4d15 100644 --- a/config/sync/views.view.uswds_entity_references.yml +++ b/config/sync/views.view.uswds_entity_references.yml @@ -74,6 +74,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: null id: 0 diff --git a/config/sync/views.view.wizard_step_test.yml b/config/sync/views.view.wizard_step_test.yml index 5aa581f58a..ce833fc789 100644 --- a/config/sync/views.view.wizard_step_test.yml +++ b/config/sync/views.view.wizard_step_test.yml @@ -225,6 +225,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: null id: 0 diff --git a/config/sync/views.view.wizard_viewer.yml b/config/sync/views.view.wizard_viewer.yml index ca69b7c0dd..41e40a9851 100644 --- a/config/sync/views.view.wizard_viewer.yml +++ b/config/sync/views.view.wizard_viewer.yml @@ -76,6 +76,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 50 total_pages: null id: 0 diff --git a/patches/drupal/viewsSuggestions-10_3.patch b/patches/drupal/viewsSuggestions-10_3.patch new file mode 100644 index 0000000000..819c36ec9d --- /dev/null +++ b/patches/drupal/viewsSuggestions-10_3.patch @@ -0,0 +1,1754 @@ +diff --git a/core/lib/Drupal/Core/Theme/ThemeManager.php b/core/lib/Drupal/Core/Theme/ThemeManager.php +index f0119957d0..7cceb9d335 100644 +--- a/core/lib/Drupal/Core/Theme/ThemeManager.php ++++ b/core/lib/Drupal/Core/Theme/ThemeManager.php +@@ -140,45 +140,50 @@ public function render($hook, array $variables) { + + $theme_registry = $this->themeRegistry->getRuntime(); + +- // If an array of hook candidates were passed, use the first one that has an +- // implementation. +- if (is_array($hook)) { +- foreach ($hook as $candidate) { +- if ($theme_registry->has($candidate)) { +- break; +- } +- } +- $hook = $candidate; ++ // $hook is normally a string, but it can be an array. We only log error ++ // messages below if it was a string. ++ $is_hook_array = is_array($hook); ++ ++ // While we search for templates, we create a full list of template ++ // suggestions that is later passed to theme_suggestions alter hooks. ++ $template_suggestions = $is_hook_array ? array_values($hook) : [$hook]; ++ ++ // The last element in our template suggestions gets special treatment. ++ // While the other elements must match exactly, the final element is ++ // expanded to create multiple possible matches by iteratively striping ++ // everything after the last '__' delimiter. ++ $last_hook = $suggestion = $is_hook_array ? $hook[array_key_last($hook)] : $hook; ++ while ($pos = strrpos($suggestion, '__')) { ++ $suggestion = substr($suggestion, 0, $pos); ++ $template_suggestions[] = $suggestion; + } +- // Save the original theme hook, so it can be supplied to theme variable +- // preprocess callbacks. +- $original_hook = $hook; +- +- // If there's no implementation, check for more generic fallbacks. +- // If there's still no implementation, log an error and return an empty +- // string. +- if (!$theme_registry->has($hook)) { +- // Iteratively strip everything after the last '__' delimiter, until an +- // implementation is found. +- while ($pos = strrpos($hook, '__')) { +- $hook = substr($hook, 0, $pos); +- if ($theme_registry->has($hook)) { +- break; +- } ++ ++ // Use the first hook candidate that has an implementation. ++ foreach ($template_suggestions as $candidate) { ++ if ($theme_registry->has($candidate)) { ++ // Save the original theme hook, so it can be supplied to theme variable ++ // preprocess callbacks. ++ $original_hook = $is_hook_array && in_array($candidate, $hook) ? $candidate : $last_hook; ++ $hook = $candidate; ++ $info = $theme_registry->get($hook); ++ break; + } +- if (!$theme_registry->has($hook)) { +- // Only log a message when not trying theme suggestions ($hook being an +- // array). +- if (!isset($candidate)) { +- \Drupal::logger('theme')->warning('Theme hook %hook not found.', ['%hook' => $hook]); +- } +- // There is no theme implementation for the hook passed. Return FALSE so +- // the function calling +- // \Drupal\Core\Theme\ThemeManagerInterface::render() can differentiate +- // between a hook that exists and renders an empty string, and a hook +- // that is not implemented. +- return FALSE; ++ } ++ ++ // If there's no implementation, log an error and return an empty string. ++ if (!isset($info)) { ++ // Only log a message if we #theme was a string. By default, all forms set ++ // #theme to an array containing the form ID and don't implement that as a ++ // theme hook, so we want to prevent errors for that common use case. ++ if (!$is_hook_array) { ++ \Drupal::logger('theme')->warning('Theme hook %hook not found.', ['%hook' => $candidate]); + } ++ // There is no theme implementation for the hook passed. Return FALSE so ++ // the function calling ++ // \Drupal\Core\Theme\ThemeManagerInterface::render() can differentiate ++ // between a hook that exists and renders an empty string, and a hook ++ // that is not implemented. ++ return FALSE; + } + + $info = $theme_registry->get($hook); +@@ -217,15 +222,17 @@ public function render($hook, array $variables) { + 'theme_hook_original' => $original_hook, + ]; + +- $suggestions = $this->buildThemeHookSuggestions($hook, $info['base hook'] ?? '', $variables); ++ $suggestions = $this->buildThemeHookSuggestions($hook, $info['base hook'] ?? '', $variables, $template_suggestions); + + // Check if each suggestion exists in the theme registry, and if so, + // use it instead of the base hook. For example, a function may use + // '#theme' => 'node', but a module can add 'node__article' as a suggestion + // via hook_theme_suggestions_HOOK_alter(), enabling a theme to have + // an alternate template file for article nodes. ++ $template_suggestion = $hook; + foreach (array_reverse($suggestions) as $suggestion) { + if ($theme_registry->has($suggestion)) { ++ $template_suggestion = $suggestion; + $info = $theme_registry->get($suggestion); + break; + } +@@ -345,6 +352,10 @@ public function render($hook, array $variables) { + if (isset($theme_hook_suggestion)) { + $variables['theme_hook_suggestion'] = $theme_hook_suggestion; + } ++ // Add two read-only variables that help the template engine understand ++ // how the template was chosen from among all suggestions. ++ $variables['template_suggestions'] = $template_suggestions; ++ $variables['template_suggestion'] = $template_suggestion; + $output = $render_function($template_file, $variables); + return ($output instanceof MarkupInterface) ? $output : (string) $output; + } +@@ -368,20 +379,39 @@ public function render($hook, array $variables) { + * @internal + * This method may change at any time. It is not for use outside this class. + */ +- protected function buildThemeHookSuggestions(string $hook, string $info_base_hook, array &$variables): array { ++ protected function buildThemeHookSuggestions(string $hook, string $info_base_hook, array &$variables, array &$template_suggestions): array { + // Set base hook for later use. For example if '#theme' => 'node__article' + // is called, we run hook_theme_suggestions_node_alter() rather than + // hook_theme_suggestions_node__article_alter(), and also pass in the base + // hook as the last parameter to the suggestions alter hooks. + $base_theme_hook = $info_base_hook ?: $hook; + ++ ++ // The $hook's theme registry may specify a "base hook" that differs from ++ // the base string of $hook. If so, we need to be aware of both strings. ++ $base_of_hook = explode('__', $hook)[0]; ++ + // Invoke hook_theme_suggestions_HOOK(). + $suggestions = $this->moduleHandler->invokeAll('theme_suggestions_' . $base_theme_hook, [$variables]); +- // If the theme implementation was invoked with a direct theme suggestion +- // like '#theme' => 'node__article', add it to the suggestions array before +- // invoking suggestion alter hooks. +- if ($info_base_hook) { +- $suggestions[] = $hook; ++ ++ // Add all the template suggestions with the same base to the suggestions ++ // array before invoking suggestion alter hooks. ++ $contains_base_hook = in_array($base_theme_hook, $template_suggestions); ++ foreach (array_reverse($template_suggestions, TRUE) as $key => $suggestion) { ++ $suggestion_base = explode('__', $suggestion)[0]; ++ if ($suggestion_base === $base_of_hook || $suggestion_base === $base_theme_hook) { ++ if ($suggestion !== $base_theme_hook) { ++ $suggestions[] = $suggestion; ++ } ++ // Temporarily remove from $template_suggestions the suggestions that we ++ // are adding to $suggestions given to the alter hooks. However, ensure ++ // that we leave one entry for the base hook, so we can splice those ++ // $suggestions back into $template_suggestions later. ++ if (($contains_base_hook && $suggestion !== $base_theme_hook) ++ || (!$contains_base_hook && $suggestion !== $hook)) { ++ unset($template_suggestions[$key]); ++ } ++ } + } + + // Invoke hook_theme_suggestions_alter() and +@@ -393,6 +423,16 @@ protected function buildThemeHookSuggestions(string $hook, string $info_base_hoo + $this->moduleHandler->alter($hooks, $suggestions, $variables, $base_theme_hook); + $this->alter($hooks, $suggestions, $variables, $base_theme_hook); + ++ // Merge $suggestions back into $template_suggestions before the "base hook" ++ // entry. ++ $template_suggestions = array_values($template_suggestions); ++ array_splice( ++ $template_suggestions, ++ array_search($contains_base_hook ? $base_theme_hook : $hook, $template_suggestions), ++ $contains_base_hook ? 0 : 1, ++ array_reverse($suggestions) ++ ); ++ + return $suggestions; + } + +diff --git a/core/modules/system/tests/modules/theme_suggestions_base1_test/templates/theme-suggestions-base4-test-alternate--from-hook-theme-suggestions-hook-alter.html.twig b/core/modules/system/tests/modules/theme_suggestions_base1_test/templates/theme-suggestions-base4-test-alternate--from-hook-theme-suggestions-hook-alter.html.twig +new file mode 100644 +index 0000000000..5adce85b9f +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_suggestions_base1_test/templates/theme-suggestions-base4-test-alternate--from-hook-theme-suggestions-hook-alter.html.twig +@@ -0,0 +1,2 @@ ++{# Output for Theme API test #} ++This theme_suggestions_base4_test_alternate__from_hook_theme_suggestions_hook_alter template is implemented. +diff --git a/core/modules/system/tests/modules/theme_suggestions_base1_test/theme_suggestions_base1_test.info.yml b/core/modules/system/tests/modules/theme_suggestions_base1_test/theme_suggestions_base1_test.info.yml +new file mode 100644 +index 0000000000..c9b249af3f +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_suggestions_base1_test/theme_suggestions_base1_test.info.yml +@@ -0,0 +1,5 @@ ++name: 'Theme suggestions base1 test' ++type: module ++description: 'Support module for testing the theme_test_base1 base theme hook' ++package: Testing ++version: VERSION +diff --git a/core/modules/system/tests/modules/theme_suggestions_base1_test/theme_suggestions_base1_test.module b/core/modules/system/tests/modules/theme_suggestions_base1_test/theme_suggestions_base1_test.module +new file mode 100644 +index 0000000000..323474f7f5 +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_suggestions_base1_test/theme_suggestions_base1_test.module +@@ -0,0 +1,43 @@ ++ [], ++ ]; ++ return $items; ++} ++ ++/** ++ * Implements hook_theme_suggestions_HOOK(). ++ */ ++function theme_suggestions_base1_test_theme_suggestions_theme_test_base1(array $variables) { ++ return [ ++ 'theme_test_base1__from_hook_theme_suggestions_hook', ++ 'theme_test_base1__from_hook_theme_suggestions_hook_too', ++ ]; ++} ++ ++/** ++ * Implements hook_theme_suggestions_HOOK_alter(). ++ */ ++function theme_suggestions_base1_test_theme_suggestions_theme_test_base1_alter(array &$suggestions, array $variables, $hook) { ++ $suggestions[] = $hook . '__from_hook_theme_suggestions_hook_alter__but_reordered'; ++ ++ // We move a suggestion from hook_theme_suggestions_HOOK() to come after our ++ // first suggestion above. We also create an intentional gap in the numeric ++ // keys using this common method; Drupal core should handle non-contiguous ++ // index keys. ++ $moved_suggestion = $hook . '__from_hook_theme_suggestions_hook_too'; ++ unset($suggestions[array_search($moved_suggestion, $suggestions)]); ++ $suggestions[] = $moved_suggestion; ++ ++ $suggestions[] = $hook . '__from_hook_theme_suggestions_hook_alter'; ++} +diff --git a/core/modules/system/tests/modules/theme_suggestions_base2_ignored_test/theme_suggestions_base2_ignored_test.info.yml b/core/modules/system/tests/modules/theme_suggestions_base2_ignored_test/theme_suggestions_base2_ignored_test.info.yml +new file mode 100644 +index 0000000000..3f2ad1d267 +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_suggestions_base2_ignored_test/theme_suggestions_base2_ignored_test.info.yml +@@ -0,0 +1,5 @@ ++name: 'Theme suggestions base2 ignored test' ++type: module ++description: 'Support module for testing the ignored theme_test_base2 base theme hook' ++package: Testing ++version: VERSION +diff --git a/core/modules/system/tests/modules/theme_suggestions_base2_ignored_test/theme_suggestions_base2_ignored_test.module b/core/modules/system/tests/modules/theme_suggestions_base2_ignored_test/theme_suggestions_base2_ignored_test.module +new file mode 100644 +index 0000000000..3b47bdc93e +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_suggestions_base2_ignored_test/theme_suggestions_base2_ignored_test.module +@@ -0,0 +1,15 @@ ++ 'theme_test_base2', ++ 'variables' => [], ++ ]; ++ $items['theme_test_base2__from_hook_theme_suggestions_hook'] = [ ++ 'base hook' => 'theme_test_base2', ++ 'variables' => [], ++ ]; ++ return $items; ++} ++ ++/** ++ * Implements hook_theme_suggestions_HOOK(). ++ */ ++function theme_suggestions_base2_test_theme_suggestions_theme_test_base2(array $variables) { ++ return [ ++ 'theme_test_base2__from_hook_theme_suggestions_hook', ++ ]; ++} ++ ++/** ++ * Implements hook_theme_suggestions_HOOK_alter(). ++ */ ++function theme_suggestions_base2_test_theme_suggestions_theme_test_base2_alter(array &$suggestions, array $variables, $hook) { ++ // Add a suggestion just to confirm that the theme_test_base2 suggestion is ++ // normally ignored. ++ $suggestions[] = 'theme_test_base2__from_hook_theme_suggestions_hook_alter'; ++} +diff --git a/core/modules/system/tests/modules/theme_suggestions_base3_test/templates/theme-test-base3.html.twig b/core/modules/system/tests/modules/theme_suggestions_base3_test/templates/theme-test-base3.html.twig +new file mode 100644 +index 0000000000..287557002e +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_suggestions_base3_test/templates/theme-test-base3.html.twig +@@ -0,0 +1,2 @@ ++{# Output for Theme API test #} ++This theme_test_base3 template is implemented. +diff --git a/core/modules/system/tests/modules/theme_suggestions_base3_test/theme_suggestions_base3_test.info.yml b/core/modules/system/tests/modules/theme_suggestions_base3_test/theme_suggestions_base3_test.info.yml +new file mode 100644 +index 0000000000..38302bf332 +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_suggestions_base3_test/theme_suggestions_base3_test.info.yml +@@ -0,0 +1,5 @@ ++name: 'Theme suggestions base3 test' ++type: module ++description: 'Support module for testing the theme_test_base3 base theme hook' ++package: Testing ++version: VERSION +diff --git a/core/modules/system/tests/modules/theme_suggestions_base3_test/theme_suggestions_base3_test.module b/core/modules/system/tests/modules/theme_suggestions_base3_test/theme_suggestions_base3_test.module +new file mode 100644 +index 0000000000..c8cccc9fe7 +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_suggestions_base3_test/theme_suggestions_base3_test.module +@@ -0,0 +1,27 @@ ++ [], ++ ]; ++ return $items; ++} ++ ++/** ++ * Implements hook_theme_suggestions_HOOK_alter(). ++ */ ++function theme_suggestions_base3_test_theme_suggestions_theme_test_base3_alter(array &$suggestions, array $variables, $hook) { ++ $from_theme_array = array_search('theme_test_base3__from_theme_property', $suggestions); ++ if ($from_theme_array !== FALSE) { ++ $suggestions[$from_theme_array] .= '__seen_by_alter'; ++ } ++ $suggestions[] = 'theme_test_base3__from_hook_theme_suggestions_hook_alter'; ++} +diff --git a/core/modules/system/tests/modules/theme_suggestions_base4_test/templates/theme-test-base4.html.twig b/core/modules/system/tests/modules/theme_suggestions_base4_test/templates/theme-test-base4.html.twig +new file mode 100644 +index 0000000000..78bc128f0a +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_suggestions_base4_test/templates/theme-test-base4.html.twig +@@ -0,0 +1,2 @@ ++{# Output for Theme API test #} ++This theme_test_base4 template is implemented and has a different "base hook". +diff --git a/core/modules/system/tests/modules/theme_suggestions_base4_test/theme_suggestions_base4_test.info.yml b/core/modules/system/tests/modules/theme_suggestions_base4_test/theme_suggestions_base4_test.info.yml +new file mode 100644 +index 0000000000..f5e876d495 +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_suggestions_base4_test/theme_suggestions_base4_test.info.yml +@@ -0,0 +1,5 @@ ++name: 'Theme suggestions base4 test' ++type: module ++description: 'Support module for testing the theme_test_base4 base theme hook' ++package: Testing ++version: VERSION +diff --git a/core/modules/system/tests/modules/theme_suggestions_base4_test/theme_suggestions_base4_test.module b/core/modules/system/tests/modules/theme_suggestions_base4_test/theme_suggestions_base4_test.module +new file mode 100644 +index 0000000000..9db0eaee7f +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_suggestions_base4_test/theme_suggestions_base4_test.module +@@ -0,0 +1,33 @@ ++ 'theme_suggestions_base4_test_alternate', ++ 'variables' => [], ++ ]; ++ return $items; ++} ++ ++/** ++ * Implements hook_theme_suggestions_HOOK(). ++ */ ++function theme_suggestions_base4_test_theme_suggestions_theme_suggestions_base4_test_alternate(array $variables) { ++ return [ ++ 'theme_suggestions_base4_test_alternate__from_hook_theme_suggestions_hook', ++ ]; ++} ++ ++/** ++ * Implements hook_theme_suggestions_HOOK_alter(). ++ */ ++function theme_suggestions_base4_test_theme_suggestions_theme_suggestions_base4_test_alternate_alter(array &$suggestions, array $variables, $hook) { ++ $suggestions[] = $hook . '__from_hook_theme_suggestions_hook_alter'; ++} +diff --git a/core/modules/system/tests/themes/test_theme/templates/theme-test-general-suggestions--module-override.html.twig b/core/modules/system/tests/modules/theme_suggestions_test/templates/theme-test-general-suggestions--module-override.html.twig +similarity index 100% +rename from core/modules/system/tests/themes/test_theme/templates/theme-test-general-suggestions--module-override.html.twig +rename to core/modules/system/tests/modules/theme_suggestions_test/templates/theme-test-general-suggestions--module-override.html.twig +diff --git a/core/modules/system/tests/themes/test_theme/templates/theme-test-suggestions--module-override.html.twig b/core/modules/system/tests/modules/theme_suggestions_test/templates/theme-test-suggestions--module-override.html.twig +similarity index 100% +rename from core/modules/system/tests/themes/test_theme/templates/theme-test-suggestions--module-override.html.twig +rename to core/modules/system/tests/modules/theme_suggestions_test/templates/theme-test-suggestions--module-override.html.twig +diff --git a/core/modules/system/tests/modules/theme_suggestions_test/theme_suggestions_test.module b/core/modules/system/tests/modules/theme_suggestions_test/theme_suggestions_test.module +index 789f8f2e00..45438ecef1 100644 +--- a/core/modules/system/tests/modules/theme_suggestions_test/theme_suggestions_test.module ++++ b/core/modules/system/tests/modules/theme_suggestions_test/theme_suggestions_test.module +@@ -5,6 +5,21 @@ + * Support module for testing theme suggestions. + */ + ++/** ++ * Implements hook_theme(). ++ */ ++function theme_suggestions_test_theme($existing, $type, $theme, $path) { ++ $items['theme_test_general_suggestions__module_override'] = [ ++ 'base hook' => 'theme_test_general_suggestions', ++ 'variables' => [], ++ ]; ++ $items['theme_test_suggestions__module_override'] = [ ++ 'base hook' => 'theme_test_suggestions', ++ 'variables' => [], ++ ]; ++ return $items; ++} ++ + /** + * Implements hook_theme_suggestions_alter(). + */ +@@ -19,14 +34,14 @@ function theme_suggestions_test_theme_suggestions_alter(array &$suggestions, arr + /** + * Implements hook_theme_suggestions_HOOK_alter(). + */ +-function theme_suggestions_test_theme_suggestions_theme_test_suggestions_alter(array &$suggestions, array $variables) { ++function theme_suggestions_test_theme_suggestions_theme_test_suggestions_alter(array &$suggestions, array $variables, $hook) { + \Drupal::messenger()->addStatus(__FUNCTION__ . '() executed.'); +- $suggestions[] = 'theme_test_suggestions__module_override'; ++ $suggestions[] = $hook . '__module_override'; + } + + /** + * Implements hook_theme_suggestions_HOOK_alter(). + */ +-function theme_suggestions_test_theme_suggestions_theme_test_specific_suggestions_alter(array &$suggestions, array $variables) { +- $suggestions[] = 'theme_test_specific_suggestions__variant__foo'; ++function theme_suggestions_test_theme_suggestions_theme_test_specific_suggestions_alter(array &$suggestions, array $variables, $hook) { ++ $suggestions[] = $hook . '__variant__foo'; + } +diff --git a/core/modules/system/tests/modules/theme_test/src/ThemeTestController.php b/core/modules/system/tests/modules/theme_test/src/ThemeTestController.php +index 5d8badabeb..89c66f8203 100644 +--- a/core/modules/system/tests/modules/theme_test/src/ThemeTestController.php ++++ b/core/modules/system/tests/modules/theme_test/src/ThemeTestController.php +@@ -72,34 +72,6 @@ public function testRequestListener() { + return ['#markup' => $GLOBALS['theme_test_output']]; + } + +- /** +- * Menu callback for testing suggestion alter hooks with template files. +- */ +- public function suggestionProvided() { +- return ['#theme' => 'theme_test_suggestion_provided']; +- } +- +- /** +- * Menu callback for testing suggestion alter hooks with template files. +- */ +- public function suggestionAlter() { +- return ['#theme' => 'theme_test_suggestions']; +- } +- +- /** +- * Menu callback for testing hook_theme_suggestions_alter(). +- */ +- public function generalSuggestionAlter() { +- return ['#theme' => 'theme_test_general_suggestions']; +- } +- +- /** +- * Menu callback for testing suggestion alter hooks with specific suggestions. +- */ +- public function specificSuggestionAlter() { +- return ['#theme' => 'theme_test_specific_suggestions__variant']; +- } +- + /** + * Controller to ensure that no theme is initialized. + * +diff --git a/core/modules/system/tests/modules/theme_test/templates/theme-test-base1.html.twig b/core/modules/system/tests/modules/theme_test/templates/theme-test-base1.html.twig +new file mode 100644 +index 0000000000..2bea8c84b9 +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_test/templates/theme-test-base1.html.twig +@@ -0,0 +1,2 @@ ++{# Output for Theme API test #} ++Template for testing suggestion hooks when #theme contains a list of theme suggestions. +diff --git a/core/modules/system/tests/modules/theme_test/templates/theme-test-base2.html.twig b/core/modules/system/tests/modules/theme_test/templates/theme-test-base2.html.twig +new file mode 100644 +index 0000000000..e157f28aad +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_test/templates/theme-test-base2.html.twig +@@ -0,0 +1,2 @@ ++{# Output for Theme API test #} ++This theme_test_base2 template is implemented, but never used. +diff --git a/core/modules/system/tests/modules/theme_test/templates/theme-test-xss-suggestion.html.twig b/core/modules/system/tests/modules/theme_test/templates/theme-test-xss-suggestion.html.twig +new file mode 100644 +index 0000000000..a8e58846be +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_test/templates/theme-test-xss-suggestion.html.twig +@@ -0,0 +1,2 @@ ++{# Output for Theme API test #} ++Template for testing XSS in theme hook suggestions. +diff --git a/core/modules/system/tests/modules/theme_test/theme_test.module b/core/modules/system/tests/modules/theme_test/theme_test.module +index dc0f07c6c9..59639203fc 100644 +--- a/core/modules/system/tests/modules/theme_test/theme_test.module ++++ b/core/modules/system/tests/modules/theme_test/theme_test.module +@@ -18,9 +18,11 @@ function theme_test_theme($existing, $type, $theme, $path) { + ]; + $items['theme_test_template_test'] = [ + 'template' => 'theme_test.template_test', ++ 'variables' => [], + ]; + $items['theme_test_template_test_2'] = [ + 'template' => 'theme_test.template_test', ++ 'variables' => [], + ]; + $items['theme_test_suggestion_provided'] = [ + 'variables' => [], +@@ -34,6 +36,15 @@ function theme_test_theme($existing, $type, $theme, $path) { + $items['theme_test_general_suggestions'] = [ + 'variables' => ['module_hook' => 'theme_test_theme', 'theme_hook' => 'none'], + ]; ++ $items['theme_test_base1'] = [ ++ 'variables' => [], ++ ]; ++ $items['theme_test_base2'] = [ ++ 'variables' => [], ++ ]; ++ $items['theme_test_xss_suggestion'] = [ ++ 'variables' => [], ++ ]; + $items['theme_test_foo'] = [ + 'variables' => ['foo' => NULL], + ]; +@@ -158,11 +169,20 @@ function theme_test_theme_suggestions_theme_test_suggestion_provided(array $vari + return ['theme_test_suggestion_provided__foo']; + } + ++/** ++ * Implements hook_theme_suggestions_HOOK(). ++ */ ++function theme_test_theme_suggestions_theme_test_suggestions(array $variables) { ++ \Drupal::messenger()->addStatus(__FUNCTION__ . '() executed.'); ++} ++ + /** + * Implements hook_theme_suggestions_alter(). + */ + function theme_test_theme_suggestions_alter(array &$suggestions, array $variables, $hook) { +- \Drupal::messenger()->addStatus(__FUNCTION__ . '() executed for ' . $hook . '.'); ++ if ($hook === 'theme_test_suggestions') { ++ \Drupal::messenger()->addStatus(__FUNCTION__ . '() executed.'); ++ } + } + + /** +@@ -188,9 +208,9 @@ function theme_test_system_info_alter(array &$info, Extension $file, $type) { + /** + * Implements hook_theme_suggestions_HOOK(). + */ +-function theme_test_theme_suggestions_node(array $variables) { ++function theme_test_theme_suggestions_theme_test_xss_suggestion(array $variables) { + $xss = ''; +- $suggestions[] = 'node__' . $xss; ++ $suggestions[] = 'theme_test_xss_suggestion__' . $xss; + + return $suggestions; + } +diff --git a/core/modules/system/tests/modules/theme_test/theme_test.routing.yml b/core/modules/system/tests/modules/theme_test/theme_test.routing.yml +index 1299fe9562..9ee3c31804 100644 +--- a/core/modules/system/tests/modules/theme_test/theme_test.routing.yml ++++ b/core/modules/system/tests/modules/theme_test/theme_test.routing.yml +@@ -39,34 +39,6 @@ theme_test.request_listener: + requirements: + _access: 'TRUE' + +-suggestion_alter: +- path: '/theme-test/suggestion-alter' +- defaults: +- _controller: '\Drupal\theme_test\ThemeTestController::suggestionAlter' +- requirements: +- _access: 'TRUE' +- +-theme_test.general_suggestion_alter: +- path: '/theme-test/general-suggestion-alter' +- defaults: +- _controller: '\Drupal\theme_test\ThemeTestController::generalSuggestionAlter' +- requirements: +- _access: 'TRUE' +- +-suggestion_provided: +- path: '/theme-test/suggestion-provided' +- defaults: +- _controller: '\Drupal\theme_test\ThemeTestController::suggestionProvided' +- requirements: +- _access: 'TRUE' +- +-specific_suggestion_alter: +- path: '/theme-test/specific-suggestion-alter' +- defaults: +- _controller: '\Drupal\theme_test\ThemeTestController::specificSuggestionAlter' +- requirements: +- _access: 'TRUE' +- + theme_test.non_html: + path: '/theme-test/non-html' + defaults: +diff --git a/core/modules/system/tests/src/Kernel/Theme/ThemeSuggestionsAlterTest.php b/core/modules/system/tests/src/Kernel/Theme/ThemeSuggestionsAlterTest.php +new file mode 100644 +index 0000000000..9b7d39c855 +--- /dev/null ++++ b/core/modules/system/tests/src/Kernel/Theme/ThemeSuggestionsAlterTest.php +@@ -0,0 +1,711 @@ ++getParameter('twig.config'); ++ $parameters['debug'] = TRUE; ++ $container->setParameter('twig.config', $parameters); ++ } ++ ++ /** ++ * {@inheritdoc} ++ * ++ * We override KernelTestBase::render() so that it outputs Twig debug comments ++ * only for the render array given in a test and not for an entire page. ++ */ ++ protected function render(array &$elements): string { ++ return $this->container->get('renderer')->renderRoot($elements); ++ } ++ ++ /** ++ * Helper function to test render arrays with modules and themes. ++ * ++ * @param array $build ++ * A render array. ++ * @param string[] $modules ++ * An array of modules to install before the test. ++ * @param string $theme ++ * The theme to set as the default theme. ++ * @param string[] $expected ++ * The string(s) expected in the rendered output. ++ * @param string[] $unexpected ++ * The string(s) expected to NOT occur in the rendered output. ++ * ++ * @throws \Exception ++ */ ++ public function runTemplateSuggestionTest(array $build, array $modules, string $theme, array $expected, array $unexpected = []) { ++ // Enable modules. ++ if (!empty($modules)) { ++ $this->enableModules($modules); ++ } ++ // Set the default theme. ++ if ($theme) { ++ $this->container->get('theme_installer')->install([$theme]); ++ $this->config('system.theme') ++ ->set('default', $theme) ++ ->save(); ++ } ++ ++ // Render a template. ++ $output = $this->render($build); ++ ++ // Check the output for expected results. ++ foreach ($expected as $expected_string) { ++ $this->assertStringContainsString($expected_string, $output, $this->getName()); ++ } ++ ++ // Check the output for unexpected results. ++ foreach ($unexpected as $unexpected_string) { ++ $this->assertStringNotContainsString($unexpected_string, $output, $this->getName()); ++ } ++ } ++ ++ /** ++ * Tests hook_theme_suggestions_HOOK. ++ * ++ * Note: themes cannot use this hook. ++ * ++ * @param string[] $modules ++ * An array of modules to install before the test. ++ * @param string $theme ++ * The theme to set as the default theme. ++ * @param string[] $expected ++ * The string(s) expected in the rendered output. ++ * ++ * @dataProvider providerHookThemeSuggestionsHook ++ * ++ * @throws \Exception ++ */ ++ public function testHookThemeSuggestionsHook(array $modules, string $theme, array $expected) { ++ $this->runTemplateSuggestionTest( ++ [ ++ '#theme' => 'theme_test_suggestion_provided', ++ ], ++ $modules, ++ $theme, ++ $expected ++ ); ++ } ++ ++ /** ++ * Data provider for testHookThemeSuggestionsHook(). ++ * ++ * @see testHookThemeSuggestionsHook() ++ */ ++ public function providerHookThemeSuggestionsHook(): array { ++ return [ ++ 'Base template used when suggestion template not found' => [ ++ 'modules' => [], ++ 'theme' => '', ++ 'expected' => [ ++ 'Template for testing suggestions provided by the module declaring the theme hook.', ++ ], ++ ], ++ 'Suggestion template used when suggestion template is found' => [ ++ 'modules' => [], ++ // The test_theme contains a template suggested by theme_test.module in ++ // theme_test_theme_suggestions_theme_test_suggestion_provided(). ++ 'theme' => 'test_theme', ++ 'expected' => [ ++ 'Template overridden based on suggestion provided by the module declaring the theme hook.', ++ ], ++ ], ++ ]; ++ } ++ ++ /** ++ * Tests hook_theme_suggestions_alter(). ++ * ++ * @param string[] $modules ++ * An array of modules to install before the test. ++ * @param string $theme ++ * The theme to set as the default theme. ++ * @param string[] $expected ++ * The string(s) expected in the rendered output. ++ * ++ * @dataProvider providerHookThemeSuggestionsAlter ++ * ++ * @throws \Exception ++ */ ++ public function testHookThemeSuggestionsAlter(array $modules, string $theme, array $expected) { ++ $this->runTemplateSuggestionTest( ++ [ ++ '#theme' => 'theme_test_general_suggestions', ++ ], ++ $modules, ++ $theme, ++ $expected ++ ); ++ } ++ ++ /** ++ * Data provider for testHookThemeSuggestionsAlter(). ++ * ++ * @see testHookThemeSuggestionsAlter() ++ */ ++ public function providerHookThemeSuggestionsAlter(): array { ++ $extension = '.html.twig'; ++ return [ ++ 'Base template used when suggestion template is not available' => [ ++ 'modules' => [], ++ 'theme' => '', ++ 'expected' => [ ++ 'Original template for testing hook_theme_suggestions_alter().', ++ "", ++ ], ++ ], ++ 'Suggestion provided by a module\'s hook_theme_suggestions_alter is used' => [ ++ // @see theme_suggestions_test_theme_suggestions_alter() ++ 'modules' => ['theme_suggestions_test'], ++ 'theme' => '', ++ 'expected' => [ ++ 'Template overridden based on new theme suggestion provided by a module via hook_theme_suggestions_alter().', ++ "", ++ ], ++ ], ++ 'Suggestion provided by a theme\'s hook_theme_suggestions_alter is used' => [ ++ 'modules' => [], ++ // @see test_theme_theme_suggestions_alter() ++ 'theme' => 'test_theme', ++ 'expected' => [ ++ 'Template overridden based on new theme suggestion provided by the test_theme theme via hook_theme_suggestions_alter().', ++ "", ++ ], ++ ], ++ 'Themes implementing hook_theme_suggestions_alter override modules' => [ ++ 'modules' => ['theme_suggestions_test'], ++ 'theme' => 'test_theme', ++ 'expected' => [ ++ 'Template overridden based on new theme suggestion provided by the test_theme theme via hook_theme_suggestions_alter().', ++ "", ++ ], ++ 'unexpected' => [ ++ 'Template overridden based on new theme suggestion provided by a module via hook_theme_suggestions_alter().', ++ ], ++ ], ++ ]; ++ } ++ ++ /** ++ * Tests hook_theme_suggestions_HOOK_alter(). ++ * ++ * @param string[] $modules ++ * An array of modules to install before the test. ++ * @param string $theme ++ * The theme to set as the default theme. ++ * @param string[] $expected ++ * The string(s) expected in the rendered output. ++ * ++ * @dataProvider providerHookThemeSuggestionsHookAlter ++ * ++ * @throws \Exception ++ */ ++ public function testHookThemeSuggestionsHookAlter(array $modules, string $theme, array $expected) { ++ $this->runTemplateSuggestionTest( ++ [ ++ '#theme' => 'theme_test_suggestions', ++ ], ++ $modules, ++ $theme, ++ $expected ++ ); ++ } ++ ++ /** ++ * Data provider for testHookThemeSuggestionsHookAlter(). ++ * ++ * @see testHookThemeSuggestionsHookAlter() ++ */ ++ public function providerHookThemeSuggestionsHookAlter(): array { ++ return [ ++ 'Base template used when suggestion template is not available' => [ ++ 'modules' => [], ++ 'theme' => '', ++ 'expected' => [ ++ 'Original template for testing hook_theme_suggestions_HOOK_alter().', ++ ], ++ ], ++ 'Suggestion provided by a module\'s hook_theme_suggestions_HOOK_alter is used' => [ ++ // @see theme_suggestions_test_theme_suggestions_theme_test_suggestions_alter() ++ 'modules' => ['theme_suggestions_test'], ++ 'theme' => '', ++ 'expected' => [ ++ 'Template overridden based on new theme suggestion provided by a module via hook_theme_suggestions_HOOK_alter().', ++ ], ++ ], ++ 'Suggestion provided by a theme\'s hook_theme_suggestions_HOOK_alter is used' => [ ++ 'modules' => [], ++ // @see test_theme_theme_suggestions_theme_test_suggestions_alter() ++ 'theme' => 'test_theme', ++ 'expected' => [ ++ 'Template overridden based on new theme suggestion provided by the test_theme theme via hook_theme_suggestions_HOOK_alter().', ++ ], ++ ], ++ ]; ++ } ++ ++ /** ++ * Tests non-"base hook" suggestions with hook_theme_suggestions_HOOK_alter(). ++ * ++ * @param string[] $modules ++ * An array of modules to install before the test. ++ * @param string $theme ++ * The theme to set as the default theme. ++ * @param string[] $expected ++ * The string(s) expected in the rendered output. ++ * ++ * @dataProvider providerNonBaseHookThemeSuggestions ++ * ++ * @throws \Exception ++ */ ++ public function testNonBaseHookThemeSuggestions(array $modules, string $theme, array $expected) { ++ $this->runTemplateSuggestionTest( ++ [ ++ '#theme' => 'theme_test_specific_suggestions__variant', ++ ], ++ $modules, ++ $theme, ++ $expected ++ ); ++ } ++ ++ /** ++ * Data provider for testNonBaseHookThemeSuggestions(). ++ * ++ * @see testNonBaseHookThemeSuggestions() ++ */ ++ public function providerNonBaseHookThemeSuggestions(): array { ++ $extension = '.html.twig'; ++ return [ ++ 'Base template used when suggestion template is not available' => [ ++ 'modules' => [], ++ 'theme' => '', ++ 'expected' => [ ++ 'Template for testing specific theme calls.', ++ ], ++ ], ++ 'Suggestion provided by a module\'s hook_theme_suggestions_HOOK_alter is used' => [ ++ // @see theme_suggestions_test_theme_suggestions_theme_test_specific_suggestions_alter() ++ 'modules' => ['theme_suggestions_test'], ++ 'theme' => 'test_theme', ++ 'expected' => [ ++ 'Template overridden based on suggestion alter hook determined by a module\'s hook_theme_suggestions_HOOK_alter().', ++ '' . PHP_EOL, ++ ], ++ ], ++ 'Suggestion template provided by a theme' => [ ++ 'modules' => [], ++ 'theme' => 'test_theme', ++ 'expected' => [ ++ 'Template overridden based on suggestion alter hook determined by the base hook.', ++ '' . PHP_EOL, ++ ], ++ ], ++ ]; ++ } ++ ++ /** ++ * Tests debug markup for non-"base hook" suggestions without implementation. ++ * ++ * @throws \Exception ++ */ ++ public function testUnimplementedNonBaseHookThemeSuggestions() { ++ $extension = '.html.twig'; ++ $this->runTemplateSuggestionTest( ++ [ ++ '#theme' => 'theme_test_specific_suggestions__variant_not_found__too', ++ ], ++ [], ++ '', ++ [ ++ "THEME HOOK: 'theme_test_specific_suggestions__variant_not_found__too'", ++ '', ++ ] ++ ); ++ } ++ ++ /** ++ * Tests an array of suggestions with all alter hooks. ++ * ++ * @param string[] $modules ++ * An array of modules to install before the test. ++ * @param string $theme ++ * The theme to set as the default theme. ++ * @param string[] $expected ++ * The string(s) expected in the rendered output. ++ * @param string[] $unexpected ++ * The string(s) expected to NOT occur in the rendered output. ++ * ++ * @dataProvider providerThemeSuggestionsOrdering ++ * ++ * @throws \Exception ++ */ ++ public function testThemeSuggestionsOrdering(array $modules, string $theme, array $expected, array $unexpected) { ++ $this->runTemplateSuggestionTest( ++ [ ++ '#theme' => 'theme_test_base1__from_theme_property__too', ++ ], ++ $modules, ++ $theme, ++ $expected, ++ $unexpected ++ ); ++ } ++ ++ /** ++ * Data provider for testThemeSuggestionsOrdering(). ++ * ++ * @see testThemeSuggestionsOrdering() ++ */ ++ public function providerThemeSuggestionsOrdering(): array { ++ $extension = '.html.twig'; ++ return [ ++ '#theme property suggestions always override ones from hook_theme_suggestions_hook' => [ ++ 'modules' => ['theme_suggestions_base1_test'], ++ 'theme' => '', ++ 'expected' => [ ++ 'Template for testing suggestion hooks when #theme contains a list of theme suggestions.', ++ '' . PHP_EOL, ++ ], ++ 'unexpected' => [], ++ ], ++ 'adding a new template implementation does not change order of suggestions' => [ ++ 'modules' => ['theme_suggestions_base1_test'], ++ 'theme' => 'test_theme', ++ 'expected' => [ ++ 'This theme_test_base1__from_theme_property__too template is implemented.', ++ '' . PHP_EOL, ++ ], ++ 'unexpected' => [], ++ ], ++ ]; ++ } ++ ++ /** ++ * Tests an array of suggestions with all alter hooks. ++ * ++ * @param string[] $modules ++ * An array of modules to install before the test. ++ * @param string $theme ++ * The theme to set as the default theme. ++ * @param string[] $expected ++ * The string(s) expected in the rendered output. ++ * @param string[] $unexpected ++ * The string(s) expected to NOT occur in the rendered output. ++ * ++ * @dataProvider providerArrayThemeSuggestions ++ * ++ * @throws \Exception ++ */ ++ public function testArrayThemeSuggestions(array $modules, string $theme, array $expected, array $unexpected) { ++ $this->runTemplateSuggestionTest( ++ [ ++ '#theme' => [ ++ 'theme_test_base5', ++ 'theme_test_base4', ++ 'theme_test_base3__from_theme_property', ++ 'theme_test_base3', ++ 'theme_test_base2__from_theme_property__without_base', ++ 'theme_test_base1__from_theme_property__too', ++ ], ++ ], ++ $modules, ++ $theme, ++ $expected, ++ $unexpected ++ ); ++ } ++ ++ /** ++ * Data provider for testArrayThemeSuggestions(). ++ * ++ * @see testArrayThemeSuggestions() ++ */ ++ public function providerArrayThemeSuggestions(): array { ++ $extension = '.html.twig'; ++ return [ ++ 'Only the last #theme array entry is expanded into suggestions' => [ ++ 'modules' => [], ++ 'theme' => '', ++ 'expected' => [ ++ 'Template for testing suggestion hooks when #theme contains a list of theme suggestions.', ++ '' . PHP_EOL, ++ ], ++ 'unexpected' => [ ++ 'This theme_test_base2 template is implemented, but never used.', ++ 'x theme-test-base2' . $extension . PHP_EOL, ++ '* theme-test-base2' . $extension . PHP_EOL, ++ ], ++ ], ++ 'Confirm unexpanded theme_test_base2 suggestion would be used if expanded' => [ ++ 'modules' => ['theme_suggestions_base2_ignored_test'], ++ 'theme' => '', ++ 'expected' => [ ++ 'This theme_test_base2 template is implemented, but never used.', ++ '' . PHP_EOL, ++ ], ++ 'unexpected' => [], ++ ], ++ // This is a duplicate of testThemeSuggestionsOrdering, but in an array ++ // context. ++ '#theme property suggestions always override ones from hook_theme_suggestions_hook' => [ ++ 'modules' => ['theme_suggestions_base1_test'], ++ 'theme' => '', ++ 'expected' => [ ++ 'Template for testing suggestion hooks when #theme contains a list of theme suggestions.', ++ '' . PHP_EOL, ++ ], ++ 'unexpected' => [], ++ ], ++ 'specific #theme property suggestions always override ones from hook_theme_suggestions_hook' => [ ++ 'modules' => ['theme_suggestions_base2_test'], ++ 'theme' => '', ++ 'expected' => [ ++ 'This theme_test_base2__from_theme_property__without_base template is implemented.', ++ '' . PHP_EOL, ++ ], ++ 'unexpected' => [ ++ 'This theme_test_base2__from_hook_theme_suggestions_hook template is implemented, but never used.', ++ 'This theme_test_base2 template is implemented, but never used.', ++ 'x theme-test-base2' . $extension . PHP_EOL, ++ '* theme-test-base2' . $extension . PHP_EOL, ++ ], ++ ], ++ 'adding a new template implementation does not change order of suggestions' => [ ++ 'modules' => ['theme_suggestions_base1_test'], ++ 'theme' => 'test_theme', ++ 'expected' => [ ++ 'This theme_test_base1__from_theme_property__too template is implemented.', ++ '' . PHP_EOL, ++ ], ++ 'unexpected' => [], ++ ], ++ 'theme suggestions alter hooks see suggestions from #theme' => [ ++ 'modules' => ['theme_suggestions_base3_test'], ++ 'theme' => '', ++ 'expected' => [ ++ 'This theme_test_base3 template is implemented.', ++ ''; ++ $this->assertStringContainsString($expected, $output, 'Twig debug markup found in theme output when debug is enabled.'); ++ ++ $expected = "\n"; ++ $this->assertStringContainsString($expected, $output, 'Theme hook comment found.'); ++ ++ $expected = "\n\n"; ++ $this->assertStringContainsString($expected, $output, 'Full path to current template file found in BEGIN OUTPUT comment.'); ++ $expected = "\n\n"; ++ $this->assertStringContainsString($expected, $output, 'Full path to current template file found in END OUTPUT comment.'); ++ } ++ ++ /** ++ * Tests file name suggestions comment. ++ * ++ * @throws \Exception ++ */ ++ public function testFileNameSuggestions() { ++ $extension = '.html.twig'; ++ ++ // Render a template using a single suggestion. ++ $build = [ ++ '#theme' => 'theme_test_specific_suggestions', ++ ]; ++ $output = $this->render($build); ++ ++ $expected = "\n"; ++ $this->assertStringContainsString($expected, $output, 'Theme hook comment found.'); ++ $unexpected = '"; ++ $this->assertStringContainsString($expected, $output, 'Theme hook comment found.'); ++ $expected = ''; ++ $this->assertStringContainsString($expected, $output, 'Multiple suggestions should have file name suggestions listed.'); ++ } ++ ++ /** ++ * Tests suggestions when file name does not match. ++ * ++ * @throws \Exception ++ */ ++ public function testFileNameNotMatchingSuggestion() { ++ $extension = '.html.twig'; ++ ++ // Find full path to template. ++ $cache = $this->container->get('theme.registry')->get(); ++ $templates = drupal_find_theme_templates($cache, $extension, $this->container->get('extension.list.module')->getPath('theme_test')); ++ $template_filename = $templates['theme_test_template_test']['path'] . '/' . $templates['theme_test_template_test']['template'] . $extension; ++ ++ // Render a template that doesn't match its suggestion name. ++ $build = [ ++ '#theme' => 'theme_test_template_test__variant', ++ ]; ++ $output = $this->render($build); ++ ++ $expected = "\n"; ++ $this->assertStringContainsString($expected, $output, 'Theme hook comment found.'); ++ ++ $expected = ''; ++ $this->assertStringContainsString($expected, $output, 'The actual template file name should be used when it does not match the suggestion.'); ++ ++ $expected = "\n\n"; ++ $this->assertStringContainsString($expected, $output, 'Full path to current template file found in BEGIN OUTPUT comment.'); ++ } ++ ++ /** ++ * Tests XSS attempt in theme suggestions and Twig debug comments. ++ * ++ * @throws \Exception ++ */ ++ public function testXssComments() { ++ $extension = '.html.twig'; ++ ++ // Render a template whose suggestions have been compromised. ++ $build = [ ++ '#theme' => 'theme_test_xss_suggestion', ++ ]; ++ $output = $this->render($build); ++ ++ // @see theme_test_theme_suggestions_node() ++ $xss_suggestion = Html::escape('theme-test-xss-suggestion--') . $extension; ++ ++ $expected = ''; ++ $this->assertStringContainsString($expected, $output, 'XSS suggestion successfully escaped in Twig debug comments.'); ++ $this->assertStringContainsString('Template for testing XSS in theme hook suggestions.', $output, 'Base hook suggestion used instead of XSS suggestion.'); ++ } ++ ++} +diff --git a/core/modules/system/tests/themes/test_theme/templates/theme-suggestions-base4-test-alternate.html.twig b/core/modules/system/tests/themes/test_theme/templates/theme-suggestions-base4-test-alternate.html.twig +new file mode 100644 +index 0000000000..e8d83a2774 +--- /dev/null ++++ b/core/modules/system/tests/themes/test_theme/templates/theme-suggestions-base4-test-alternate.html.twig +@@ -0,0 +1,2 @@ ++{# Output for Theme API test #} ++This theme_suggestions_base4_test_alternate template is implemented, but not used. +diff --git a/core/modules/system/tests/themes/test_theme/templates/theme-test-base1--from-theme-property--too.html.twig b/core/modules/system/tests/themes/test_theme/templates/theme-test-base1--from-theme-property--too.html.twig +new file mode 100644 +index 0000000000..4b6e3745af +--- /dev/null ++++ b/core/modules/system/tests/themes/test_theme/templates/theme-test-base1--from-theme-property--too.html.twig +@@ -0,0 +1,2 @@ ++{# Output for Theme API test #} ++This theme_test_base1__from_theme_property__too template is implemented. +diff --git a/core/modules/system/tests/themes/test_theme/templates/theme-test-specific-suggestions--variant--foo.html.twig b/core/modules/system/tests/themes/test_theme/templates/theme-test-specific-suggestions--variant--foo.html.twig +index a464e47a51..0a0408d7ae 100644 +--- a/core/modules/system/tests/themes/test_theme/templates/theme-test-specific-suggestions--variant--foo.html.twig ++++ b/core/modules/system/tests/themes/test_theme/templates/theme-test-specific-suggestions--variant--foo.html.twig +@@ -1,5 +1,2 @@ + {# Output for Theme API test #} +-Template overridden based on suggestion alter hook determined by the base hook. +- +-
Theme hook suggestions:
+-{{ theme_hook_suggestions|safe_join("
") }}
Theme hook suggestions:
+-{{ theme_hook_suggestions|safe_join("
") }}