From a38a0a89617066748f16bc60cab8b1ccefa66183 Mon Sep 17 00:00:00 2001 From: sleitner <38752-sleitner@users.noreply.drupalcode.org> Date: Sat, 2 Mar 2024 21:46:12 +0000 Subject: [PATCH 01/73] Issue #2265487: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- composer/Metapackage/CoreRecommended/composer.json | 1 + core/composer.json | 2 ++ .../lib/Drupal/Core/Config/Entity/ConfigEntityBase.php | 3 ++- .../search/tests/src/Unit/SearchPageRepositoryTest.php | 10 ++++++++++ .../Core/Config/Entity/ConfigEntityBaseUnitTest.php | 6 +++++- 5 files changed, 20 insertions(+), 2 deletions(-) diff --git a/composer/Metapackage/CoreRecommended/composer.json b/composer/Metapackage/CoreRecommended/composer.json index 9c7df65c6d59..0d6f20851351 100644 --- a/composer/Metapackage/CoreRecommended/composer.json +++ b/composer/Metapackage/CoreRecommended/composer.json @@ -46,6 +46,7 @@ "symfony/polyfill-ctype": "~v1.28.0", "symfony/polyfill-iconv": "~v1.28.0", "symfony/polyfill-intl-grapheme": "~v1.28.0", + "symfony/polyfill-intl-icu": "~v1.28.0", "symfony/polyfill-intl-idn": "~v1.28.0", "symfony/polyfill-intl-normalizer": "~v1.28.0", "symfony/polyfill-mbstring": "~v1.28.0", diff --git a/core/composer.json b/core/composer.json index d6ab934a7759..b5d9279ac647 100644 --- a/core/composer.json +++ b/core/composer.json @@ -32,6 +32,7 @@ "symfony/validator": "^6.4", "symfony/process": "^6.4", "symfony/polyfill-iconv": "^1.26", + "symfony/polyfill-intl-icu": "^1.28", "symfony/yaml": "^6.4", "twig/twig": "^3.5.0", "doctrine/annotations": "^2.0", @@ -116,6 +117,7 @@ "preferred-install": "dist" }, "suggest": { + "ext-intl": "Needed to extend symfony/polyfill-intl-icu capability with the sorting of non-english languages.", "ext-zip": "Needed to extend the plugin.manager.archiver service capability with the handling of files in the ZIP format." }, "extra": { diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php index ad50387947ff..3f11f3caf518 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php @@ -234,7 +234,8 @@ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) if ($a_weight == $b_weight) { $a_label = $a->label() ?? ''; $b_label = $b->label() ?? ''; - return strnatcasecmp($a_label, $b_label); + $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); + return $collator->compare($a_label, $b_label); } return $a_weight <=> $b_weight; } diff --git a/core/modules/search/tests/src/Unit/SearchPageRepositoryTest.php b/core/modules/search/tests/src/Unit/SearchPageRepositoryTest.php index 4baecec35ccc..5f1ae53a9c3a 100644 --- a/core/modules/search/tests/src/Unit/SearchPageRepositoryTest.php +++ b/core/modules/search/tests/src/Unit/SearchPageRepositoryTest.php @@ -4,8 +4,10 @@ namespace Drupal\Tests\search\Unit; +use Drupal\Core\DependencyInjection\ContainerBuilder; use Drupal\Core\Entity\EntityTypeInterface; use Drupal\Core\Entity\EntityTypeManagerInterface; +use Drupal\Core\Language\Language; use Drupal\search\Entity\SearchPage; use Drupal\search\SearchPageRepository; use Drupal\Tests\UnitTestCase; @@ -49,6 +51,14 @@ class SearchPageRepositoryTest extends UnitTestCase { */ protected function setUp(): void { parent::setUp(); + $language_manager = $this->createMock('\Drupal\Core\Language\LanguageManagerInterface'); + $language_manager->expects($this->any()) + ->method('getCurrentLanguage') + ->with() + ->willReturn(new Language(['id' => 'en'])); + $container = new ContainerBuilder(); + $container->set('language_manager', $language_manager); + \Drupal::setContainer($container); $this->query = $this->createMock('Drupal\Core\Entity\Query\QueryInterface'); diff --git a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php index 16fa33ca7a3e..d1fbb0e511e9 100644 --- a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php +++ b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php @@ -144,6 +144,10 @@ protected function setUp(): void { ->method('getLanguage') ->with('en') ->willReturn(new Language(['id' => 'en'])); + $this->languageManager->expects($this->any()) + ->method('getCurrentLanguage') + ->with() + ->willReturn(new Language(['id' => 'en'])); $this->cacheTagsInvalidator = $this->createMock('Drupal\Core\Cache\CacheTagsInvalidatorInterface'); @@ -525,7 +529,7 @@ public function testSort() { $entity_b = $this->createMock(ConfigEntityBase::class); $entity_b->expects($this->atLeastOnce()) ->method('label') - ->willReturn('bar'); + ->willReturn('Ã¥wesome'); // Test sorting by label. $list = [$entity_a, $entity_b]; -- GitLab From a4f2b8a57e6fced59ce07f7a7715d40fc5d6991d Mon Sep 17 00:00:00 2001 From: sleitner <38752-sleitner@users.noreply.drupalcode.org> Date: Sat, 2 Mar 2024 21:52:06 +0000 Subject: [PATCH 02/73] Issue #2265487: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- .../Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php | 1 + 1 file changed, 1 insertion(+) diff --git a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php index d1fbb0e511e9..b13b318312f3 100644 --- a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php +++ b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php @@ -527,6 +527,7 @@ public function testSort() { ->method('label') ->willReturn('foo'); $entity_b = $this->createMock(ConfigEntityBase::class); + // cSpell:disable-next-line $entity_b->expects($this->atLeastOnce()) ->method('label') ->willReturn('Ã¥wesome'); -- GitLab From 8627f38680a3a705eaefe12ffb2e92032792dd32 Mon Sep 17 00:00:00 2001 From: sleitner <38752-sleitner@users.noreply.drupalcode.org> Date: Sat, 2 Mar 2024 21:58:11 +0000 Subject: [PATCH 03/73] Issue #2265487: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- .../Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php index b13b318312f3..0234b77cb143 100644 --- a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php +++ b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php @@ -527,10 +527,9 @@ public function testSort() { ->method('label') ->willReturn('foo'); $entity_b = $this->createMock(ConfigEntityBase::class); - // cSpell:disable-next-line $entity_b->expects($this->atLeastOnce()) ->method('label') - ->willReturn('Ã¥wesome'); + ->willReturn('Ã¥wesome'); // cspell:disable-line // Test sorting by label. $list = [$entity_a, $entity_b]; -- GitLab From dc115238492de0e9f5825e1f217edc7c87068372 Mon Sep 17 00:00:00 2001 From: sleitner <38752-sleitner@users.noreply.drupalcode.org> Date: Sat, 2 Mar 2024 22:02:16 +0000 Subject: [PATCH 04/73] Issue #2265487: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- .../Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php index 0234b77cb143..0e9ccfd48cd1 100644 --- a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php +++ b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php @@ -529,7 +529,8 @@ public function testSort() { $entity_b = $this->createMock(ConfigEntityBase::class); $entity_b->expects($this->atLeastOnce()) ->method('label') - ->willReturn('Ã¥wesome'); // cspell:disable-line + // cSpell:disable-next-line + ->willReturn('Ã¥wesome'); // Test sorting by label. $list = [$entity_a, $entity_b]; -- GitLab From 56de7203388a4896dfc43b0b2ccc1f4cd3f925b3 Mon Sep 17 00:00:00 2001 From: sleitner <38752-sleitner@users.noreply.drupalcode.org> Date: Sat, 2 Mar 2024 22:16:27 +0000 Subject: [PATCH 05/73] Issue #2265487: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/composer.json b/core/composer.json index b5d9279ac647..5acbd22664a9 100644 --- a/core/composer.json +++ b/core/composer.json @@ -32,7 +32,7 @@ "symfony/validator": "^6.4", "symfony/process": "^6.4", "symfony/polyfill-iconv": "^1.26", - "symfony/polyfill-intl-icu": "^1.28", + "symfony/polyfill-intl-icu": "^1.26", "symfony/yaml": "^6.4", "twig/twig": "^3.5.0", "doctrine/annotations": "^2.0", -- GitLab From aa7ca3e78b3bf232565b7671f973dadef86dc3b1 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Sat, 2 Mar 2024 23:45:04 +0100 Subject: [PATCH 06/73] Issue #2265487: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- composer.lock | 90 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 88 insertions(+), 2 deletions(-) diff --git a/composer.lock b/composer.lock index 6a5cfd4b5ff1..7c88f3c64157 100644 --- a/composer.lock +++ b/composer.lock @@ -495,7 +495,7 @@ "dist": { "type": "path", "url": "core", - "reference": "8e8088fe577c4e4e1e961f9c36ce57b4cbb9ce51" + "reference": "7a65f69f9c1ebb06c204f14d781b620afb2600a9" }, "require": { "asm89/stack-cors": "^2.1", @@ -534,6 +534,7 @@ "symfony/mailer": "^6.4", "symfony/mime": "^6.4", "symfony/polyfill-iconv": "^1.26", + "symfony/polyfill-intl-icu": "^1.26", "symfony/process": "^6.4", "symfony/psr-http-message-bridge": "^2.1|^6.4", "symfony/routing": "^6.4", @@ -572,6 +573,7 @@ "drupal/core-version": "self.version" }, "suggest": { + "ext-intl": "Needed to extend symfony/polyfill-intl-icu capability with the sorting of non-english languages.", "ext-zip": "Needed to extend the plugin.manager.archiver service capability with the handling of files in the ZIP format." }, "type": "drupal-core", @@ -3135,6 +3137,90 @@ ], "time": "2023-01-26T09:26:14+00:00" }, + { + "name": "symfony/polyfill-intl-icu", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-icu.git", + "reference": "07094a28851a49107f3ab4f9120ca2975a64b6e1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/07094a28851a49107f3ab4f9120ca2975a64b6e1", + "reference": "07094a28851a49107f3ab4f9120ca2975a64b6e1", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance and support of other locales than \"en\"" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Icu\\": "" + }, + "classmap": [ + "Resources/stubs" + ], + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's ICU-related data and classes", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "icu", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:12:16+00:00" + }, { "name": "symfony/polyfill-intl-idn", "version": "v1.28.0", @@ -9641,5 +9727,5 @@ "platform-overrides": { "php": "8.1.0" }, - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.3.0" } -- GitLab From bcbd8cd46c53b763fca5e13ac37176727c72dee9 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Sat, 2 Mar 2024 23:54:24 +0100 Subject: [PATCH 07/73] Issue #2265487: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- composer/Metapackage/CoreRecommended/composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer/Metapackage/CoreRecommended/composer.json b/composer/Metapackage/CoreRecommended/composer.json index 0d6f20851351..08fd4bc282b4 100644 --- a/composer/Metapackage/CoreRecommended/composer.json +++ b/composer/Metapackage/CoreRecommended/composer.json @@ -46,7 +46,7 @@ "symfony/polyfill-ctype": "~v1.28.0", "symfony/polyfill-iconv": "~v1.28.0", "symfony/polyfill-intl-grapheme": "~v1.28.0", - "symfony/polyfill-intl-icu": "~v1.28.0", + "symfony/polyfill-intl-icu": "~v1.29.0", "symfony/polyfill-intl-idn": "~v1.28.0", "symfony/polyfill-intl-normalizer": "~v1.28.0", "symfony/polyfill-mbstring": "~v1.28.0", -- GitLab From 2c390c9381a78444c031cb93b42b8bb54527301a Mon Sep 17 00:00:00 2001 From: sleitner <38752-sleitner@users.noreply.drupalcode.org> Date: Sat, 2 Mar 2024 23:17:01 +0000 Subject: [PATCH 08/73] Issue #2265487: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- .../Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php b/core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php index b523f4e0aaf9..24a9519a0896 100644 --- a/core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php +++ b/core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php @@ -16,6 +16,16 @@ */ class DrupalDateTimeTest extends UnitTestCase { + /** + * {@inheritdoc} + */ + protected function setUp(): void { + parent::setUp(); + + $container = new ContainerBuilder(); + \Drupal::setContainer($container); + } + /** * Tests date diffs. * -- GitLab From 76a45728d493ce4f4829ca4c3ff44f84e27e5684 Mon Sep 17 00:00:00 2001 From: sleitner <38752-sleitner@users.noreply.drupalcode.org> Date: Sat, 2 Mar 2024 23:20:55 +0000 Subject: [PATCH 09/73] Issue #2265487: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php b/core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php index 24a9519a0896..c93c4a4537d4 100644 --- a/core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php +++ b/core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php @@ -21,7 +21,7 @@ class DrupalDateTimeTest extends UnitTestCase { */ protected function setUp(): void { parent::setUp(); - + $container = new ContainerBuilder(); \Drupal::setContainer($container); } -- GitLab From a38523af1299e68842778576bb3dcdbe90294afd Mon Sep 17 00:00:00 2001 From: sleitner <38752-sleitner@users.noreply.drupalcode.org> Date: Sat, 2 Mar 2024 23:39:14 +0000 Subject: [PATCH 10/73] Issue #2265487: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php b/core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php index c93c4a4537d4..2325194070e9 100644 --- a/core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php +++ b/core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php @@ -4,6 +4,7 @@ namespace Drupal\Tests\Core\Datetime; +use Drupal\Component\DependencyInjection\ReverseContainer; use Drupal\Core\Datetime\DrupalDateTime; use Drupal\Core\Language\Language; use Drupal\Core\Language\LanguageManager; @@ -23,6 +24,7 @@ protected function setUp(): void { parent::setUp(); $container = new ContainerBuilder(); + $this->container->set('Drupal\Component\DependencyInjection\ReverseContainer', new ReverseContainer($this->container)); \Drupal::setContainer($container); } -- GitLab From 8bd6f84d37d355652a6d259311158401a7c895bb Mon Sep 17 00:00:00 2001 From: sleitner <38752-sleitner@users.noreply.drupalcode.org> Date: Sat, 2 Mar 2024 23:44:42 +0000 Subject: [PATCH 11/73] Issue #2265487: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php b/core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php index 2325194070e9..ffb1bba33753 100644 --- a/core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php +++ b/core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php @@ -24,7 +24,7 @@ protected function setUp(): void { parent::setUp(); $container = new ContainerBuilder(); - $this->container->set('Drupal\Component\DependencyInjection\ReverseContainer', new ReverseContainer($this->container)); + $container->set('Drupal\Component\DependencyInjection\ReverseContainer', new ReverseContainer($container)); \Drupal::setContainer($container); } -- GitLab From 3697a64e4b59b6878d00f82d56a68df4095ebc8d Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Tue, 21 May 2024 21:26:09 +0200 Subject: [PATCH 12/73] Issue #2265487 by sleitner, Tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- composer.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.lock b/composer.lock index 7c88f3c64157..31c9391b1b3b 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": "9103791a18c3a090bfd3335ff65a404a", + "content-hash": "0bad0c1e70df782b9b136a798f487ddb", "packages": [ { "name": "asm89/stack-cors", -- GitLab From 520ed1cebdd4b52f9df8b2aa8dd84967741f0ac8 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Wed, 5 Jun 2024 00:08:15 +0200 Subject: [PATCH 13/73] Issue #2265487 by sleitner, Tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- composer.lock | 1339 ++++++++++++++++++++++++------------------------- 1 file changed, 668 insertions(+), 671 deletions(-) diff --git a/composer.lock b/composer.lock index 31c9391b1b3b..afbfb2ee61e3 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": "0bad0c1e70df782b9b136a798f487ddb", + "content-hash": "9103791a18c3a090bfd3335ff65a404a", "packages": [ { "name": "asm89/stack-cors", @@ -364,77 +364,29 @@ }, "time": "2023-02-02T22:02:53+00:00" }, - { - "name": "doctrine/deprecations", - "version": "1.1.2", - "source": { - "type": "git", - "url": "https://github.com/doctrine/deprecations.git", - "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931", - "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "doctrine/coding-standard": "^9", - "phpstan/phpstan": "1.4.10 || 1.10.15", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "psalm/plugin-phpunit": "0.18.4", - "psr/log": "^1 || ^2 || ^3", - "vimeo/psalm": "4.30.0 || 5.12.0" - }, - "suggest": { - "psr/log": "Allows logging deprecations via PSR-3 logger implementation" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", - "homepage": "https://www.doctrine-project.org/", - "support": { - "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/1.1.2" - }, - "time": "2023-09-27T20:04:15+00:00" - }, { "name": "doctrine/lexer", - "version": "2.1.0", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124" + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/39ab8fcf5a51ce4b85ca97c7a7d033eb12831124", - "reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", "shasum": "" }, "require": { - "doctrine/deprecations": "^1.0", - "php": "^7.1 || ^8.0" + "php": "^8.1" }, "require-dev": { - "doctrine/coding-standard": "^9 || ^10", - "phpstan/phpstan": "^1.3", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "doctrine/coding-standard": "^12", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.5", "psalm/plugin-phpunit": "^0.18.3", - "vimeo/psalm": "^4.11 || ^5.0" + "vimeo/psalm": "^5.21" }, "type": "library", "autoload": { @@ -471,7 +423,7 @@ ], "support": { "issues": "https://github.com/doctrine/lexer/issues", - "source": "https://github.com/doctrine/lexer/tree/2.1.0" + "source": "https://github.com/doctrine/lexer/tree/3.0.1" }, "funding": [ { @@ -487,7 +439,7 @@ "type": "tidelift" } ], - "time": "2022-12-14T08:49:07+00:00" + "time": "2024-02-05T11:56:58+00:00" }, { "name": "drupal/core", @@ -1112,16 +1064,16 @@ }, { "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": { @@ -1129,7 +1081,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": { @@ -1173,22 +1125,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.2", "source": { "type": "git", "url": "https://github.com/mck89/peast.git", - "reference": "1df4dc28a6b5bb7ab117ab073c1712256e954e18" + "reference": "2791b08ffcc1862fe18eef85675da3aa58c406fe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mck89/peast/zipball/1df4dc28a6b5bb7ab117ab073c1712256e954e18", - "reference": "1df4dc28a6b5bb7ab117ab073c1712256e954e18", + "url": "https://api.github.com/repos/mck89/peast/zipball/2791b08ffcc1862fe18eef85675da3aa58c406fe", + "reference": "2791b08ffcc1862fe18eef85675da3aa58c406fe", "shasum": "" }, "require": { @@ -1201,7 +1153,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.15.4-dev" + "dev-master": "1.16.2-dev" } }, "autoload": { @@ -1222,22 +1174,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.2" }, - "time": "2023-08-12T08:29:29+00:00" + "time": "2024-03-05T09:16:03+00:00" }, { "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": { @@ -1268,7 +1220,7 @@ "./" ], "license": [ - "BSD-3-Clause" + "BSD-2-Clause" ], "authors": [ { @@ -1294,17 +1246,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", @@ -1359,16 +1301,16 @@ }, { "name": "pear/pear-core-minimal", - "version": "v1.10.14", + "version": "v1.10.15", "source": { "type": "git", "url": "https://github.com/pear/pear-core-minimal.git", - "reference": "a86fc145edb5caedbf96527214ce3cadc9de4a32" + "reference": "ce0adade8b97561656ace07cdaac4751c271ea8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/a86fc145edb5caedbf96527214ce3cadc9de4a32", - "reference": "a86fc145edb5caedbf96527214ce3cadc9de4a32", + "url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/ce0adade8b97561656ace07cdaac4751c271ea8c", + "reference": "ce0adade8b97561656ace07cdaac4751c271ea8c", "shasum": "" }, "require": { @@ -1381,9 +1323,9 @@ }, "type": "library", "autoload": { - "psr-0": { - "": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "include-path": [ @@ -1404,7 +1346,7 @@ "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=PEAR", "source": "https://github.com/pear/pear-core-minimal" }, - "time": "2023-11-26T16:15:38+00:00" + "time": "2024-03-16T18:41:45+00:00" }, { "name": "pear/pear_exception", @@ -1671,20 +1613,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", @@ -1708,7 +1650,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", @@ -1720,9 +1662,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", @@ -1873,16 +1815,16 @@ }, { "name": "sebastian/diff", - "version": "4.0.5", + "version": "4.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131" + "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131", - "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc", + "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc", "shasum": "" }, "require": { @@ -1927,7 +1869,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/4.0.5" + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6" }, "funding": [ { @@ -1935,20 +1877,20 @@ "type": "github" } ], - "time": "2023-05-07T05:35:17+00:00" + "time": "2024-03-02T06:30:58+00:00" }, { "name": "symfony/console", - "version": "v6.4.1", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "a550a7c99daeedef3f9d23fb82e3531525ff11fd" + "reference": "be5854cee0e8c7b110f00d695d11debdfa1a2a91" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/a550a7c99daeedef3f9d23fb82e3531525ff11fd", - "reference": "a550a7c99daeedef3f9d23fb82e3531525ff11fd", + "url": "https://api.github.com/repos/symfony/console/zipball/be5854cee0e8c7b110f00d695d11debdfa1a2a91", + "reference": "be5854cee0e8c7b110f00d695d11debdfa1a2a91", "shasum": "" }, "require": { @@ -2013,7 +1955,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.1" + "source": "https://github.com/symfony/console/tree/v6.4.8" }, "funding": [ { @@ -2029,20 +1971,20 @@ "type": "tidelift" } ], - "time": "2023-11-30T10:54:28+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/dependency-injection", - "version": "v6.4.1", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "f88ff6428afbeb17cc648c8003bd608534750baf" + "reference": "d3b618176e8c3a9e5772151c51eba0c52a0c771c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/f88ff6428afbeb17cc648c8003bd608534750baf", - "reference": "f88ff6428afbeb17cc648c8003bd608534750baf", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/d3b618176e8c3a9e5772151c51eba0c52a0c771c", + "reference": "d3b618176e8c3a9e5772151c51eba0c52a0c771c", "shasum": "" }, "require": { @@ -2094,7 +2036,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.1" + "source": "https://github.com/symfony/dependency-injection/tree/v6.4.8" }, "funding": [ { @@ -2110,20 +2052,20 @@ "type": "tidelift" } ], - "time": "2023-12-01T14:56:37+00:00" + "time": "2024-05-31T14:49:08+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": { @@ -2132,7 +2074,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -2161,7 +2103,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": [ { @@ -2177,20 +2119,20 @@ "type": "tidelift" } ], - "time": "2023-05-23T14:45:45+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/error-handler", - "version": "v6.4.0", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "c873490a1c97b3a0a4838afc36ff36c112d02788" + "reference": "ef836152bf13472dc5fb5b08b0c0c4cfeddc0fcc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/c873490a1c97b3a0a4838afc36ff36c112d02788", - "reference": "c873490a1c97b3a0a4838afc36ff36c112d02788", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/ef836152bf13472dc5fb5b08b0c0c4cfeddc0fcc", + "reference": "ef836152bf13472dc5fb5b08b0c0c4cfeddc0fcc", "shasum": "" }, "require": { @@ -2236,7 +2178,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.0" + "source": "https://github.com/symfony/error-handler/tree/v6.4.8" }, "funding": [ { @@ -2252,20 +2194,20 @@ "type": "tidelift" } ], - "time": "2023-10-18T09:43:34+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v6.4.0", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "d76d2632cfc2206eecb5ad2b26cd5934082941b6" + "reference": "8d7507f02b06e06815e56bb39aa0128e3806208b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d76d2632cfc2206eecb5ad2b26cd5934082941b6", - "reference": "d76d2632cfc2206eecb5ad2b26cd5934082941b6", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/8d7507f02b06e06815e56bb39aa0128e3806208b", + "reference": "8d7507f02b06e06815e56bb39aa0128e3806208b", "shasum": "" }, "require": { @@ -2316,7 +2258,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.0" + "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.8" }, "funding": [ { @@ -2332,20 +2274,20 @@ "type": "tidelift" } ], - "time": "2023-07-27T06:52:43+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.4.0", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "a76aed96a42d2b521153fb382d418e30d18b59df" + "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/a76aed96a42d2b521153fb382d418e30d18b59df", - "reference": "a76aed96a42d2b521153fb382d418e30d18b59df", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", + "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", "shasum": "" }, "require": { @@ -2355,7 +2297,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -2392,7 +2334,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.4.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" }, "funding": [ { @@ -2408,20 +2350,20 @@ "type": "tidelift" } ], - "time": "2023-05-23T14:45:45+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/filesystem", - "version": "v6.4.0", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "952a8cb588c3bc6ce76f6023000fb932f16a6e59" + "reference": "4d37529150e7081c51b3c5d5718c55a04a9503f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/952a8cb588c3bc6ce76f6023000fb932f16a6e59", - "reference": "952a8cb588c3bc6ce76f6023000fb932f16a6e59", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/4d37529150e7081c51b3c5d5718c55a04a9503f3", + "reference": "4d37529150e7081c51b3c5d5718c55a04a9503f3", "shasum": "" }, "require": { @@ -2429,6 +2371,9 @@ "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.8" }, + "require-dev": { + "symfony/process": "^5.4|^6.4|^7.0" + }, "type": "library", "autoload": { "psr-4": { @@ -2455,7 +2400,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.4.0" + "source": "https://github.com/symfony/filesystem/tree/v6.4.8" }, "funding": [ { @@ -2471,20 +2416,20 @@ "type": "tidelift" } ], - "time": "2023-07-26T17:27:13+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/finder", - "version": "v6.4.0", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "11d736e97f116ac375a81f96e662911a34cd50ce" + "reference": "3ef977a43883215d560a2cecb82ec8e62131471c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/11d736e97f116ac375a81f96e662911a34cd50ce", - "reference": "11d736e97f116ac375a81f96e662911a34cd50ce", + "url": "https://api.github.com/repos/symfony/finder/zipball/3ef977a43883215d560a2cecb82ec8e62131471c", + "reference": "3ef977a43883215d560a2cecb82ec8e62131471c", "shasum": "" }, "require": { @@ -2519,7 +2464,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.0" + "source": "https://github.com/symfony/finder/tree/v6.4.8" }, "funding": [ { @@ -2535,20 +2480,20 @@ "type": "tidelift" } ], - "time": "2023-10-31T17:30:12+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/http-foundation", - "version": "v6.4.0", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "44a6d39a9cc11e154547d882d5aac1e014440771" + "reference": "27de8cc95e11db7a50b027e71caaab9024545947" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/44a6d39a9cc11e154547d882d5aac1e014440771", - "reference": "44a6d39a9cc11e154547d882d5aac1e014440771", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/27de8cc95e11db7a50b027e71caaab9024545947", + "reference": "27de8cc95e11db7a50b027e71caaab9024545947", "shasum": "" }, "require": { @@ -2596,7 +2541,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.0" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.8" }, "funding": [ { @@ -2612,20 +2557,20 @@ "type": "tidelift" } ], - "time": "2023-11-20T16:41:16+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.4.1", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "2953274c16a229b3933ef73a6898e18388e12e1b" + "reference": "6c519aa3f32adcfd1d1f18d923f6b227d9acf3c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/2953274c16a229b3933ef73a6898e18388e12e1b", - "reference": "2953274c16a229b3933ef73a6898e18388e12e1b", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/6c519aa3f32adcfd1d1f18d923f6b227d9acf3c1", + "reference": "6c519aa3f32adcfd1d1f18d923f6b227d9acf3c1", "shasum": "" }, "require": { @@ -2674,12 +2619,13 @@ "symfony/process": "^5.4|^6.0|^7.0", "symfony/property-access": "^5.4.5|^6.0.5|^7.0", "symfony/routing": "^5.4|^6.0|^7.0", - "symfony/serializer": "^6.3|^7.0", + "symfony/serializer": "^6.4.4|^7.0.4", "symfony/stopwatch": "^5.4|^6.0|^7.0", "symfony/translation": "^5.4|^6.0|^7.0", "symfony/translation-contracts": "^2.5|^3", "symfony/uid": "^5.4|^6.0|^7.0", "symfony/validator": "^6.4|^7.0", + "symfony/var-dumper": "^5.4|^6.4|^7.0", "symfony/var-exporter": "^6.2|^7.0", "twig/twig": "^2.13|^3.0.4" }, @@ -2709,7 +2655,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.1" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.8" }, "funding": [ { @@ -2725,20 +2671,20 @@ "type": "tidelift" } ], - "time": "2023-12-01T17:02:02+00:00" + "time": "2024-06-02T16:06:25+00:00" }, { "name": "symfony/mailer", - "version": "v6.4.0", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "ca8dcf8892cdc5b4358ecf2528429bb5e706f7ba" + "reference": "76326421d44c07f7824b19487cfbf87870b37efc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/ca8dcf8892cdc5b4358ecf2528429bb5e706f7ba", - "reference": "ca8dcf8892cdc5b4358ecf2528429bb5e706f7ba", + "url": "https://api.github.com/repos/symfony/mailer/zipball/76326421d44c07f7824b19487cfbf87870b37efc", + "reference": "76326421d44c07f7824b19487cfbf87870b37efc", "shasum": "" }, "require": { @@ -2789,7 +2735,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.4.0" + "source": "https://github.com/symfony/mailer/tree/v6.4.8" }, "funding": [ { @@ -2805,20 +2751,20 @@ "type": "tidelift" } ], - "time": "2023-11-12T18:02:22+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/mime", - "version": "v6.4.0", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "ca4f58b2ef4baa8f6cecbeca2573f88cd577d205" + "reference": "618597ab8b78ac86d1c75a9d0b35540cda074f33" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/ca4f58b2ef4baa8f6cecbeca2573f88cd577d205", - "reference": "ca4f58b2ef4baa8f6cecbeca2573f88cd577d205", + "url": "https://api.github.com/repos/symfony/mime/zipball/618597ab8b78ac86d1c75a9d0b35540cda074f33", + "reference": "618597ab8b78ac86d1c75a9d0b35540cda074f33", "shasum": "" }, "require": { @@ -2839,6 +2785,7 @@ "league/html-to-markdown": "^5.0", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.4|^7.0", "symfony/property-access": "^5.4|^6.0|^7.0", "symfony/property-info": "^5.4|^6.0|^7.0", "symfony/serializer": "^6.3.2|^7.0" @@ -2873,7 +2820,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.4.0" + "source": "https://github.com/symfony/mime/tree/v6.4.8" }, "funding": [ { @@ -2889,20 +2836,20 @@ "type": "tidelift" } ], - "time": "2023-10-17T11:49:05+00:00" + "time": "2024-06-01T07:50:16+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": { @@ -2916,9 +2863,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -2955,7 +2899,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": [ { @@ -2971,20 +2915,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": { @@ -2998,9 +2942,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -3038,7 +2979,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": [ { @@ -3054,20 +2995,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": { @@ -3078,9 +3019,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -3119,7 +3057,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": [ { @@ -3135,7 +3073,7 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-intl-icu", @@ -3223,16 +3161,16 @@ }, { "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": { @@ -3245,9 +3183,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -3290,7 +3225,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": [ { @@ -3306,20 +3241,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": { @@ -3330,9 +3265,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -3374,7 +3306,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": [ { @@ -3390,20 +3322,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": { @@ -3417,9 +3349,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -3457,7 +3386,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": [ { @@ -3473,20 +3402,20 @@ "type": "tidelift" } ], - "time": "2023-07-28T09:04:16+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "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": { @@ -3495,9 +3424,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -3537,7 +3463,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": [ { @@ -3553,20 +3479,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.0", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "191703b1566d97a5425dc969e4350d32b8ef17aa" + "reference": "8d92dd79149f29e89ee0f480254db595f6a6a2c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/191703b1566d97a5425dc969e4350d32b8ef17aa", - "reference": "191703b1566d97a5425dc969e4350d32b8ef17aa", + "url": "https://api.github.com/repos/symfony/process/zipball/8d92dd79149f29e89ee0f480254db595f6a6a2c5", + "reference": "8d92dd79149f29e89ee0f480254db595f6a6a2c5", "shasum": "" }, "require": { @@ -3598,7 +3524,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.0" + "source": "https://github.com/symfony/process/tree/v6.4.8" }, "funding": [ { @@ -3614,20 +3540,20 @@ "type": "tidelift" } ], - "time": "2023-11-17T21:06:49+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/psr-http-message-bridge", - "version": "v6.4.0", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "3c0a6ea372085754232b502146192c069ae2c5a1" + "reference": "23a162bd446b93948a2c2f6909d80ad06195be10" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/3c0a6ea372085754232b502146192c069ae2c5a1", - "reference": "3c0a6ea372085754232b502146192c069ae2c5a1", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/23a162bd446b93948a2c2f6909d80ad06195be10", + "reference": "23a162bd446b93948a2c2f6909d80ad06195be10", "shasum": "" }, "require": { @@ -3669,11 +3595,11 @@ }, { "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "homepage": "https://symfony.com/contributors" } ], "description": "PSR HTTP message bridge", - "homepage": "http://symfony.com", + "homepage": "https://symfony.com", "keywords": [ "http", "http-message", @@ -3681,7 +3607,7 @@ "psr-7" ], "support": { - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.0" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.8" }, "funding": [ { @@ -3697,20 +3623,20 @@ "type": "tidelift" } ], - "time": "2023-10-31T08:40:20+00:00" + "time": "2024-05-31T14:51:39+00:00" }, { "name": "symfony/routing", - "version": "v6.4.1", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "0c95c164fdba18b12523b75e64199ca3503e6d40" + "reference": "8a40d0f9b01f0fbb80885d3ce0ad6714fb603a58" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/0c95c164fdba18b12523b75e64199ca3503e6d40", - "reference": "0c95c164fdba18b12523b75e64199ca3503e6d40", + "url": "https://api.github.com/repos/symfony/routing/zipball/8a40d0f9b01f0fbb80885d3ce0ad6714fb603a58", + "reference": "8a40d0f9b01f0fbb80885d3ce0ad6714fb603a58", "shasum": "" }, "require": { @@ -3764,7 +3690,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.1" + "source": "https://github.com/symfony/routing/tree/v6.4.8" }, "funding": [ { @@ -3780,20 +3706,20 @@ "type": "tidelift" } ], - "time": "2023-12-01T14:54:37+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/serializer", - "version": "v6.4.1", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "7ead272e62c9567df619ef3c49809bf934ddbc1f" + "reference": "d6eda9966a3e5d1823c1cedf41bf98f8ed969d7c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/7ead272e62c9567df619ef3c49809bf934ddbc1f", - "reference": "7ead272e62c9567df619ef3c49809bf934ddbc1f", + "url": "https://api.github.com/repos/symfony/serializer/zipball/d6eda9966a3e5d1823c1cedf41bf98f8ed969d7c", + "reference": "d6eda9966a3e5d1823c1cedf41bf98f8ed969d7c", "shasum": "" }, "require": { @@ -3827,7 +3753,7 @@ "symfony/http-kernel": "^5.4|^6.0|^7.0", "symfony/messenger": "^5.4|^6.0|^7.0", "symfony/mime": "^5.4|^6.0|^7.0", - "symfony/property-access": "^5.4|^6.0|^7.0", + "symfony/property-access": "^5.4.26|^6.3|^7.0", "symfony/property-info": "^5.4.24|^6.2.11|^7.0", "symfony/translation-contracts": "^2.5|^3", "symfony/uid": "^5.4|^6.0|^7.0", @@ -3862,7 +3788,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.1" + "source": "https://github.com/symfony/serializer/tree/v6.4.8" }, "funding": [ { @@ -3878,25 +3804,26 @@ "type": "tidelift" } ], - "time": "2023-12-01T14:54:37+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.4.0", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "b3313c2dbffaf71c8de2934e2ea56ed2291a3838" + "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/b3313c2dbffaf71c8de2934e2ea56ed2291a3838", - "reference": "b3313c2dbffaf71c8de2934e2ea56ed2291a3838", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", "shasum": "" }, "require": { "php": ">=8.1", - "psr/container": "^2.0" + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" }, "conflict": { "ext-psr": "<1.1|>=2" @@ -3904,7 +3831,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -3944,7 +3871,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.4.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" }, "funding": [ { @@ -3960,20 +3887,20 @@ "type": "tidelift" } ], - "time": "2023-07-30T20:28:31+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/string", - "version": "v6.4.0", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "b45fcf399ea9c3af543a92edf7172ba21174d809" + "reference": "a147c0f826c4a1f3afb763ab8e009e37c877a44d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/b45fcf399ea9c3af543a92edf7172ba21174d809", - "reference": "b45fcf399ea9c3af543a92edf7172ba21174d809", + "url": "https://api.github.com/repos/symfony/string/zipball/a147c0f826c4a1f3afb763ab8e009e37c877a44d", + "reference": "a147c0f826c4a1f3afb763ab8e009e37c877a44d", "shasum": "" }, "require": { @@ -4030,7 +3957,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.4.0" + "source": "https://github.com/symfony/string/tree/v6.4.8" }, "funding": [ { @@ -4046,20 +3973,20 @@ "type": "tidelift" } ], - "time": "2023-11-28T20:41:49+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/translation-contracts", - "version": "v3.4.0", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "dee0c6e5b4c07ce851b462530088e64b255ac9c5" + "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/dee0c6e5b4c07ce851b462530088e64b255ac9c5", - "reference": "dee0c6e5b4c07ce851b462530088e64b255ac9c5", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", + "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", "shasum": "" }, "require": { @@ -4068,7 +3995,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -4108,7 +4035,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.4.0" + "source": "https://github.com/symfony/translation-contracts/tree/v3.5.0" }, "funding": [ { @@ -4124,20 +4051,20 @@ "type": "tidelift" } ], - "time": "2023-07-25T15:08:44+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/validator", - "version": "v6.4.0", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "33e1f3bb76ef70e3170e12f878aefb9c69b0fc4c" + "reference": "dab2781371d54c86f6b25623ab16abb2dde2870c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/33e1f3bb76ef70e3170e12f878aefb9c69b0fc4c", - "reference": "33e1f3bb76ef70e3170e12f878aefb9c69b0fc4c", + "url": "https://api.github.com/repos/symfony/validator/zipball/dab2781371d54c86f6b25623ab16abb2dde2870c", + "reference": "dab2781371d54c86f6b25623ab16abb2dde2870c", "shasum": "" }, "require": { @@ -4156,7 +4083,7 @@ "symfony/http-kernel": "<5.4", "symfony/intl": "<5.4", "symfony/property-info": "<5.4", - "symfony/translation": "<5.4", + "symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3|>=7.0,<7.0.3", "symfony/yaml": "<5.4" }, "require-dev": { @@ -4175,7 +4102,7 @@ "symfony/mime": "^5.4|^6.0|^7.0", "symfony/property-access": "^5.4|^6.0|^7.0", "symfony/property-info": "^5.4|^6.0|^7.0", - "symfony/translation": "^5.4|^6.0|^7.0", + "symfony/translation": "^5.4.35|~6.3.12|^6.4.3|^7.0.3", "symfony/yaml": "^5.4|^6.0|^7.0" }, "type": "library", @@ -4184,7 +4111,8 @@ "Symfony\\Component\\Validator\\": "" }, "exclude-from-classmap": [ - "/Tests/" + "/Tests/", + "/Resources/bin/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -4204,7 +4132,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v6.4.0" + "source": "https://github.com/symfony/validator/tree/v6.4.8" }, "funding": [ { @@ -4220,20 +4148,20 @@ "type": "tidelift" } ], - "time": "2023-11-29T07:47:42+00:00" + "time": "2024-06-02T15:48:50+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.0", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "c40f7d17e91d8b407582ed51a2bbf83c52c367f6" + "reference": "ad23ca4312395f0a8a8633c831ef4c4ee542ed25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c40f7d17e91d8b407582ed51a2bbf83c52c367f6", - "reference": "c40f7d17e91d8b407582ed51a2bbf83c52c367f6", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/ad23ca4312395f0a8a8633c831ef4c4ee542ed25", + "reference": "ad23ca4312395f0a8a8633c831ef4c4ee542ed25", "shasum": "" }, "require": { @@ -4289,7 +4217,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.0" + "source": "https://github.com/symfony/var-dumper/tree/v6.4.8" }, "funding": [ { @@ -4305,20 +4233,20 @@ "type": "tidelift" } ], - "time": "2023-11-09T08:28:32+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/var-exporter", - "version": "v6.4.1", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "2d08ca6b9cc704dce525615d1e6d1788734f36d9" + "reference": "792ca836f99b340f2e9ca9497c7953948c49a504" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/2d08ca6b9cc704dce525615d1e6d1788734f36d9", - "reference": "2d08ca6b9cc704dce525615d1e6d1788734f36d9", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/792ca836f99b340f2e9ca9497c7953948c49a504", + "reference": "792ca836f99b340f2e9ca9497c7953948c49a504", "shasum": "" }, "require": { @@ -4326,6 +4254,8 @@ "symfony/deprecation-contracts": "^2.5|^3" }, "require-dev": { + "symfony/property-access": "^6.4|^7.0", + "symfony/serializer": "^6.4|^7.0", "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "type": "library", @@ -4364,7 +4294,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v6.4.1" + "source": "https://github.com/symfony/var-exporter/tree/v6.4.8" }, "funding": [ { @@ -4380,20 +4310,20 @@ "type": "tidelift" } ], - "time": "2023-11-30T10:32:10+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/yaml", - "version": "v6.4.0", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "4f9237a1bb42455d609e6687d2613dde5b41a587" + "reference": "52903de178d542850f6f341ba92995d3d63e60c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/4f9237a1bb42455d609e6687d2613dde5b41a587", - "reference": "4f9237a1bb42455d609e6687d2613dde5b41a587", + "url": "https://api.github.com/repos/symfony/yaml/zipball/52903de178d542850f6f341ba92995d3d63e60c9", + "reference": "52903de178d542850f6f341ba92995d3d63e60c9", "shasum": "" }, "require": { @@ -4436,7 +4366,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v6.4.0" + "source": "https://github.com/symfony/yaml/tree/v6.4.8" }, "funding": [ { @@ -4452,34 +4382,41 @@ "type": "tidelift" } ], - "time": "2023-11-06T11:00:25+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "twig/twig", - "version": "v3.8.0", + "version": "v3.10.3", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "9d15f0ac07f44dc4217883ec6ae02fd555c6f71d" + "reference": "67f29781ffafa520b0bbfbd8384674b42db04572" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/9d15f0ac07f44dc4217883ec6ae02fd555c6f71d", - "reference": "9d15f0ac07f44dc4217883ec6ae02fd555c6f71d", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/67f29781ffafa520b0bbfbd8384674b42db04572", + "reference": "67f29781ffafa520b0bbfbd8384674b42db04572", "shasum": "" }, "require": { "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "^1.8", "symfony/polyfill-mbstring": "^1.3", "symfony/polyfill-php80": "^1.22" }, "require-dev": { "psr/container": "^1.0|^2.0", - "symfony/phpunit-bridge": "^5.4.9|^6.3|^7.0" + "symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0" }, "type": "library", "autoload": { + "files": [ + "src/Resources/core.php", + "src/Resources/debug.php", + "src/Resources/escaper.php", + "src/Resources/string_loader.php" + ], "psr-4": { "Twig\\": "src/" } @@ -4512,7 +4449,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.8.0" + "source": "https://github.com/twigphp/Twig/tree/v3.10.3" }, "funding": [ { @@ -4524,7 +4461,7 @@ "type": "tidelift" } ], - "time": "2023-11-21T18:54:41+00:00" + "time": "2024-05-16T10:04:27+00:00" } ], "packages-dev": [ @@ -4813,28 +4750,28 @@ }, { "name": "composer/ca-bundle", - "version": "1.3.7", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "76e46335014860eec1aa5a724799a00a2e47cc85" + "reference": "0c5ccfcfea312b5c5a190a21ac5cef93f74baf99" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/76e46335014860eec1aa5a724799a00a2e47cc85", - "reference": "76e46335014860eec1aa5a724799a00a2e47cc85", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/0c5ccfcfea312b5c5a190a21ac5cef93f74baf99", + "reference": "0c5ccfcfea312b5c5a190a21ac5cef93f74baf99", "shasum": "" }, "require": { "ext-openssl": "*", "ext-pcre": "*", - "php": "^5.3.2 || ^7.0 || ^8.0" + "php": "^7.2 || ^8.0" }, "require-dev": { - "phpstan/phpstan": "^0.12.55", + "phpstan/phpstan": "^1.10", "psr/log": "^1.0", "symfony/phpunit-bridge": "^4.2 || ^5", - "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0" + "symfony/process": "^4.0 || ^5.0 || ^6.0 || ^7.0" }, "type": "library", "extra": { @@ -4869,7 +4806,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.3.7" + "source": "https://github.com/composer/ca-bundle/tree/1.5.0" }, "funding": [ { @@ -4885,20 +4822,20 @@ "type": "tidelift" } ], - "time": "2023-08-30T09:31:38+00:00" + "time": "2024-03-15T14:00:32+00:00" }, { "name": "composer/class-map-generator", - "version": "1.1.0", + "version": "1.3.2", "source": { "type": "git", "url": "https://github.com/composer/class-map-generator.git", - "reference": "953cc4ea32e0c31f2185549c7d216d7921f03da9" + "reference": "acd227952154850d0bb7d65caa4f9edf9cd806a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/class-map-generator/zipball/953cc4ea32e0c31f2185549c7d216d7921f03da9", - "reference": "953cc4ea32e0c31f2185549c7d216d7921f03da9", + "url": "https://api.github.com/repos/composer/class-map-generator/zipball/acd227952154850d0bb7d65caa4f9edf9cd806a7", + "reference": "acd227952154850d0bb7d65caa4f9edf9cd806a7", "shasum": "" }, "require": { @@ -4942,7 +4879,7 @@ ], "support": { "issues": "https://github.com/composer/class-map-generator/issues", - "source": "https://github.com/composer/class-map-generator/tree/1.1.0" + "source": "https://github.com/composer/class-map-generator/tree/1.3.2" }, "funding": [ { @@ -4958,20 +4895,20 @@ "type": "tidelift" } ], - "time": "2023-06-30T13:58:57+00:00" + "time": "2024-05-31T19:45:56+00:00" }, { "name": "composer/composer", - "version": "2.7.1", + "version": "2.7.6", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "aaf6ed5ccd27c23f79a545e351b4d7842a99d0bc" + "reference": "fabd995783b633829fd4280e272284b39b6ae702" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/aaf6ed5ccd27c23f79a545e351b4d7842a99d0bc", - "reference": "aaf6ed5ccd27c23f79a545e351b4d7842a99d0bc", + "url": "https://api.github.com/repos/composer/composer/zipball/fabd995783b633829fd4280e272284b39b6ae702", + "reference": "fabd995783b633829fd4280e272284b39b6ae702", "shasum": "" }, "require": { @@ -5056,7 +4993,7 @@ "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/composer/issues", "security": "https://github.com/composer/composer/security/policy", - "source": "https://github.com/composer/composer/tree/2.7.1" + "source": "https://github.com/composer/composer/tree/2.7.6" }, "funding": [ { @@ -5072,7 +5009,7 @@ "type": "tidelift" } ], - "time": "2024-02-09T14:26:28+00:00" + "time": "2024-05-04T21:03:15+00:00" }, { "name": "composer/metadata-minifier", @@ -5145,16 +5082,16 @@ }, { "name": "composer/pcre", - "version": "3.1.1", + "version": "3.1.4", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9" + "reference": "04229f163664973f68f38f6f73d917799168ef24" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/00104306927c7a0919b4ced2aaa6782c1e61a3c9", - "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9", + "url": "https://api.github.com/repos/composer/pcre/zipball/04229f163664973f68f38f6f73d917799168ef24", + "reference": "04229f163664973f68f38f6f73d917799168ef24", "shasum": "" }, "require": { @@ -5196,7 +5133,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.1.1" + "source": "https://github.com/composer/pcre/tree/3.1.4" }, "funding": [ { @@ -5212,7 +5149,7 @@ "type": "tidelift" } ], - "time": "2023-10-11T07:11:09+00:00" + "time": "2024-05-27T13:40:54+00:00" }, { "name": "composer/spdx-licenses", @@ -5296,16 +5233,16 @@ }, { "name": "composer/xdebug-handler", - "version": "3.0.3", + "version": "3.0.5", "source": { "type": "git", "url": "https://github.com/composer/xdebug-handler.git", - "reference": "ced299686f41dce890debac69273b47ffe98a40c" + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c", - "reference": "ced299686f41dce890debac69273b47ffe98a40c", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6c1925561632e83d60a44492e0b344cf48ab85ef", + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef", "shasum": "" }, "require": { @@ -5316,7 +5253,7 @@ "require-dev": { "phpstan/phpstan": "^1.0", "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^6.0" + "phpunit/phpunit": "^8.5 || ^9.6 || ^10.5" }, "type": "library", "autoload": { @@ -5340,9 +5277,9 @@ "performance" ], "support": { - "irc": "irc://irc.freenode.org/composer", + "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/3.0.3" + "source": "https://github.com/composer/xdebug-handler/tree/3.0.5" }, "funding": [ { @@ -5358,7 +5295,7 @@ "type": "tidelift" } ], - "time": "2022-02-25T21:32:43+00:00" + "time": "2024-05-06T16:37:16+00:00" }, { "name": "dealerdirect/phpcodesniffer-composer-installer", @@ -5438,6 +5375,53 @@ }, "time": "2023-01-05T11:28:13+00:00" }, + { + "name": "doctrine/deprecations", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/deprecations.git", + "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", + "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9", + "phpstan/phpstan": "1.4.10 || 1.10.15", + "phpstan/phpstan-phpunit": "^1.0", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "psalm/plugin-phpunit": "0.18.4", + "psr/log": "^1 || ^2 || ^3", + "vimeo/psalm": "4.30.0 || 5.12.0" + }, + "suggest": { + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", + "support": { + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/1.1.3" + }, + "time": "2024-01-30T19:34:25+00:00" + }, { "name": "doctrine/instantiator", "version": "2.0.0", @@ -5510,16 +5494,16 @@ }, { "name": "drupal/coder", - "version": "8.3.22", + "version": "8.3.24", "source": { "type": "git", "url": "https://github.com/pfrenssen/coder.git", - "reference": "ba6e62303d567863275fb086941f50a06dc7d08f" + "reference": "1a59890f972db5da091354f0191dec1037f7c582" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pfrenssen/coder/zipball/ba6e62303d567863275fb086941f50a06dc7d08f", - "reference": "ba6e62303d567863275fb086941f50a06dc7d08f", + "url": "https://api.github.com/repos/pfrenssen/coder/zipball/1a59890f972db5da091354f0191dec1037f7c582", + "reference": "1a59890f972db5da091354f0191dec1037f7c582", "shasum": "" }, "require": { @@ -5528,7 +5512,7 @@ "php": ">=7.2", "sirbrillig/phpcs-variable-analysis": "^2.11.7", "slevomat/coding-standard": "^8.11", - "squizlabs/php_codesniffer": "^3.7.1", + "squizlabs/php_codesniffer": "^3.9.1", "symfony/yaml": ">=3.4.0" }, "require-dev": { @@ -5557,20 +5541,20 @@ "issues": "https://www.drupal.org/project/issues/coder", "source": "https://www.drupal.org/project/coder" }, - "time": "2023-10-15T09:55:50+00:00" + "time": "2024-04-21T06:13:24+00:00" }, { "name": "google/protobuf", - "version": "v3.25.1", + "version": "v3.25.3", "source": { "type": "git", "url": "https://github.com/protocolbuffers/protobuf-php.git", - "reference": "1fb247e72df401c863ed239c1660f981644af5db" + "reference": "983a87f4f8798a90ca3a25b0f300b8fda38df643" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/1fb247e72df401c863ed239c1660f981644af5db", - "reference": "1fb247e72df401c863ed239c1660f981644af5db", + "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/983a87f4f8798a90ca3a25b0f300b8fda38df643", + "reference": "983a87f4f8798a90ca3a25b0f300b8fda38df643", "shasum": "" }, "require": { @@ -5599,22 +5583,22 @@ "proto" ], "support": { - "source": "https://github.com/protocolbuffers/protobuf-php/tree/v3.25.1" + "source": "https://github.com/protocolbuffers/protobuf-php/tree/v3.25.3" }, - "time": "2023-11-15T21:36:03+00:00" + "time": "2024-02-15T21:11:49+00:00" }, { "name": "instaclick/php-webdriver", - "version": "1.4.18", + "version": "1.4.19", "source": { "type": "git", "url": "https://github.com/instaclick/php-webdriver.git", - "reference": "a61a8459f86c79dd1f19934ea3929804f2e41f8c" + "reference": "3b2a2ddc4e0a690cc691d7e5952964cc4b9538b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/instaclick/php-webdriver/zipball/a61a8459f86c79dd1f19934ea3929804f2e41f8c", - "reference": "a61a8459f86c79dd1f19934ea3929804f2e41f8c", + "url": "https://api.github.com/repos/instaclick/php-webdriver/zipball/3b2a2ddc4e0a690cc691d7e5952964cc4b9538b1", + "reference": "3b2a2ddc4e0a690cc691d7e5952964cc4b9538b1", "shasum": "" }, "require": { @@ -5662,21 +5646,21 @@ ], "support": { "issues": "https://github.com/instaclick/php-webdriver/issues", - "source": "https://github.com/instaclick/php-webdriver/tree/1.4.18" + "source": "https://github.com/instaclick/php-webdriver/tree/1.4.19" }, - "time": "2023-12-08T07:11:19+00:00" + "time": "2024-03-19T01:58:53+00:00" }, { "name": "justinrainbow/json-schema", "version": "v5.2.13", "source": { "type": "git", - "url": "https://github.com/justinrainbow/json-schema.git", + "url": "https://github.com/jsonrainbow/json-schema.git", "reference": "fbbe7e5d79f618997bc3332a6f49246036c45793" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/fbbe7e5d79f618997bc3332a6f49246036c45793", + "url": "https://api.github.com/repos/jsonrainbow/json-schema/zipball/fbbe7e5d79f618997bc3332a6f49246036c45793", "reference": "fbbe7e5d79f618997bc3332a6f49246036c45793", "shasum": "" }, @@ -5731,28 +5715,28 @@ "schema" ], "support": { - "issues": "https://github.com/justinrainbow/json-schema/issues", - "source": "https://github.com/justinrainbow/json-schema/tree/v5.2.13" + "issues": "https://github.com/jsonrainbow/json-schema/issues", + "source": "https://github.com/jsonrainbow/json-schema/tree/v5.2.13" }, "time": "2023-09-26T02:20:38+00:00" }, { "name": "mglaman/phpstan-drupal", - "version": "1.2.4", + "version": "1.2.11", "source": { "type": "git", "url": "https://github.com/mglaman/phpstan-drupal.git", - "reference": "57b2cc67fb4416e8484db37a3d8502ac8fb3c0d6" + "reference": "e624a4b64de5b91a0c56852635af2115e9a6e08c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mglaman/phpstan-drupal/zipball/57b2cc67fb4416e8484db37a3d8502ac8fb3c0d6", - "reference": "57b2cc67fb4416e8484db37a3d8502ac8fb3c0d6", + "url": "https://api.github.com/repos/mglaman/phpstan-drupal/zipball/e624a4b64de5b91a0c56852635af2115e9a6e08c", + "reference": "e624a4b64de5b91a0c56852635af2115e9a6e08c", "shasum": "" }, "require": { "php": "^7.4 || ^8.0", - "phpstan/phpstan": "^1.10.1", + "phpstan/phpstan": "^1.10.56", "phpstan/phpstan-deprecation-rules": "^1.1.4", "symfony/finder": "^4.2 || ^5.0 || ^6.0 || ^7.0", "symfony/yaml": "^4.2|| ^5.0 || ^6.0 || ^7.0", @@ -5761,11 +5745,11 @@ "require-dev": { "behat/mink": "^1.8", "composer/installers": "^1.9", - "drupal/core-recommended": "^9.0", - "drush/drush": "^10.0 || ^11 || ^12", + "drupal/core-recommended": "^10", + "drush/drush": "^10.0 || ^11 || ^12 || ^13@beta", "phpstan/extension-installer": "^1.1", "phpstan/phpstan-strict-rules": "^1.0", - "phpunit/phpunit": "^8.5 || ^9", + "phpunit/phpunit": "^8.5 || ^9 || ^10 || ^11", "slevomat/coding-standard": "^7.1", "squizlabs/php_codesniffer": "^3.3", "symfony/phpunit-bridge": "^4.4 || ^5.4 || ^6.0 || ^7.0" @@ -5822,7 +5806,7 @@ "description": "Drupal extension and rules for PHPStan", "support": { "issues": "https://github.com/mglaman/phpstan-drupal/issues", - "source": "https://github.com/mglaman/phpstan-drupal/tree/1.2.4" + "source": "https://github.com/mglaman/phpstan-drupal/tree/1.2.11" }, "funding": [ { @@ -5838,7 +5822,7 @@ "type": "tidelift" } ], - "time": "2023-11-14T22:47:32+00:00" + "time": "2024-05-10T17:22:10+00:00" }, { "name": "micheh/phpcs-gitlab", @@ -6004,25 +5988,27 @@ }, { "name": "nikic/php-parser", - "version": "v4.18.0", + "version": "v5.0.2", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999" + "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/1bcbb2179f97633e98bbbc87044ee2611c7d7999", - "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13", + "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13", "shasum": "" }, "require": { + "ext-ctype": "*", + "ext-json": "*", "ext-tokenizer": "*", - "php": ">=7.0" + "php": ">=7.4" }, "require-dev": { "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" }, "bin": [ "bin/php-parse" @@ -6030,7 +6016,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.9-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -6054,22 +6040,22 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.18.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2" }, - "time": "2023-12-10T21:03:43+00:00" + "time": "2024-03-05T20:51:40+00:00" }, { "name": "open-telemetry/api", - "version": "1.0.0", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/opentelemetry-php/api.git", - "reference": "d577d732333d38a9a6c16936363ee25f1e3f1c3c" + "reference": "87de95d926f46262885d0d390060c095af13e2e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opentelemetry-php/api/zipball/d577d732333d38a9a6c16936363ee25f1e3f1c3c", - "reference": "d577d732333d38a9a6c16936363ee25f1e3f1c3c", + "url": "https://api.github.com/repos/opentelemetry-php/api/zipball/87de95d926f46262885d0d390060c095af13e2e5", + "reference": "87de95d926f46262885d0d390060c095af13e2e5", "shasum": "" }, "require": { @@ -6080,6 +6066,9 @@ "symfony/polyfill-php81": "^1.26", "symfony/polyfill-php82": "^1.26" }, + "conflict": { + "open-telemetry/sdk": "<=1.0.4" + }, "type": "library", "extra": { "branch-alias": { @@ -6120,20 +6109,20 @@ "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", "source": "https://github.com/open-telemetry/opentelemetry-php" }, - "time": "2023-09-27T23:15:51+00:00" + "time": "2024-02-06T01:32:25+00:00" }, { "name": "open-telemetry/context", - "version": "1.0.0", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/opentelemetry-php/context.git", - "reference": "99f3d54fa9f9ff67421774feeef5e5b1f209ea21" + "reference": "e9d254a7c89885e63fd2fde54e31e81aaaf52b7c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opentelemetry-php/context/zipball/99f3d54fa9f9ff67421774feeef5e5b1f209ea21", - "reference": "99f3d54fa9f9ff67421774feeef5e5b1f209ea21", + "url": "https://api.github.com/repos/opentelemetry-php/context/zipball/e9d254a7c89885e63fd2fde54e31e81aaaf52b7c", + "reference": "e9d254a7c89885e63fd2fde54e31e81aaaf52b7c", "shasum": "" }, "require": { @@ -6181,25 +6170,25 @@ "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", "source": "https://github.com/open-telemetry/opentelemetry-php" }, - "time": "2023-09-05T03:38:44+00:00" + "time": "2024-01-13T05:50:44+00:00" }, { "name": "open-telemetry/exporter-otlp", - "version": "1.0.0", + "version": "1.0.4", "source": { "type": "git", "url": "https://github.com/opentelemetry-php/exporter-otlp.git", - "reference": "756092bdff472ea49adb7843c74011606d065b36" + "reference": "342686bfce05867b56561a0af2fc8a4a8f27b3cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opentelemetry-php/exporter-otlp/zipball/756092bdff472ea49adb7843c74011606d065b36", - "reference": "756092bdff472ea49adb7843c74011606d065b36", + "url": "https://api.github.com/repos/opentelemetry-php/exporter-otlp/zipball/342686bfce05867b56561a0af2fc8a4a8f27b3cc", + "reference": "342686bfce05867b56561a0af2fc8a4a8f27b3cc", "shasum": "" }, "require": { "open-telemetry/api": "^1.0", - "open-telemetry/gen-otlp-protobuf": "^1.0", + "open-telemetry/gen-otlp-protobuf": "^1.1", "open-telemetry/sdk": "^1.0", "php": "^7.4 || ^8.0", "php-http/discovery": "^1.14" @@ -6245,20 +6234,20 @@ "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", "source": "https://github.com/open-telemetry/opentelemetry-php" }, - "time": "2023-10-13T00:48:23+00:00" + "time": "2024-02-28T21:57:02+00:00" }, { "name": "open-telemetry/gen-otlp-protobuf", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/opentelemetry-php/gen-otlp-protobuf.git", - "reference": "30fe95f10c2ec1a577f78257c86fbbebe739ca5e" + "reference": "76e2a44357f8c3fdcabcb070ec8a59e52ae3e3c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opentelemetry-php/gen-otlp-protobuf/zipball/30fe95f10c2ec1a577f78257c86fbbebe739ca5e", - "reference": "30fe95f10c2ec1a577f78257c86fbbebe739ca5e", + "url": "https://api.github.com/repos/opentelemetry-php/gen-otlp-protobuf/zipball/76e2a44357f8c3fdcabcb070ec8a59e52ae3e3c3", + "reference": "76e2a44357f8c3fdcabcb070ec8a59e52ae3e3c3", "shasum": "" }, "require": { @@ -6308,20 +6297,20 @@ "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", "source": "https://github.com/open-telemetry/opentelemetry-php" }, - "time": "2023-09-05T03:38:44+00:00" + "time": "2024-01-16T21:54:57+00:00" }, { "name": "open-telemetry/sdk", - "version": "1.0.1", + "version": "1.0.8", "source": { "type": "git", "url": "https://github.com/opentelemetry-php/sdk.git", - "reference": "806b82d8312243c78bdf8b6cc9f724e9e2fc77a7" + "reference": "1da4c0ca4f1a3c0fe84b81729dadec16f464fa77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opentelemetry-php/sdk/zipball/806b82d8312243c78bdf8b6cc9f724e9e2fc77a7", - "reference": "806b82d8312243c78bdf8b6cc9f724e9e2fc77a7", + "url": "https://api.github.com/repos/opentelemetry-php/sdk/zipball/1da4c0ca4f1a3c0fe84b81729dadec16f464fa77", + "reference": "1da4c0ca4f1a3c0fe84b81729dadec16f464fa77", "shasum": "" }, "require": { @@ -6391,24 +6380,24 @@ "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", "source": "https://github.com/open-telemetry/opentelemetry-php" }, - "time": "2023-11-27T04:26:07+00:00" + "time": "2024-02-02T03:42:40+00:00" }, { "name": "open-telemetry/sem-conv", - "version": "1.23.1", + "version": "1.25.0", "source": { "type": "git", "url": "https://github.com/opentelemetry-php/sem-conv.git", - "reference": "6921f9450510bf8e87c737f731ff818de05bf9c4" + "reference": "23f457ba390847647a17068e0095d9ffe9a4824c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opentelemetry-php/sem-conv/zipball/6921f9450510bf8e87c737f731ff818de05bf9c4", - "reference": "6921f9450510bf8e87c737f731ff818de05bf9c4", + "url": "https://api.github.com/repos/opentelemetry-php/sem-conv/zipball/23f457ba390847647a17068e0095d9ffe9a4824c", + "reference": "23f457ba390847647a17068e0095d9ffe9a4824c", "shasum": "" }, "require": { - "php": "^7.4 || ^8.0" + "php": "^8.1" }, "type": "library", "extra": { @@ -6448,24 +6437,25 @@ "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", "source": "https://github.com/open-telemetry/opentelemetry-php" }, - "time": "2023-11-21T22:12:22+00:00" + "time": "2024-04-09T23:31:35+00:00" }, { "name": "phar-io/manifest", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53" + "reference": "54750ef60c58e43759730615a392c31c80e23176" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-phar": "*", "ext-xmlwriter": "*", "phar-io/version": "^3.0.1", @@ -6506,9 +6496,15 @@ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", "support": { "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.3" + "source": "https://github.com/phar-io/manifest/tree/2.0.4" }, - "time": "2021-07-20T11:28:43+00:00" + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:33:53+00:00" }, { "name": "phar-io/version", @@ -6563,16 +6559,16 @@ }, { "name": "php-http/discovery", - "version": "1.19.2", + "version": "1.19.4", "source": { "type": "git", "url": "https://github.com/php-http/discovery.git", - "reference": "61e1a1eb69c92741f5896d9e05fb8e9d7e8bb0cb" + "reference": "0700efda8d7526335132360167315fdab3aeb599" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/discovery/zipball/61e1a1eb69c92741f5896d9e05fb8e9d7e8bb0cb", - "reference": "61e1a1eb69c92741f5896d9e05fb8e9d7e8bb0cb", + "url": "https://api.github.com/repos/php-http/discovery/zipball/0700efda8d7526335132360167315fdab3aeb599", + "reference": "0700efda8d7526335132360167315fdab3aeb599", "shasum": "" }, "require": { @@ -6596,7 +6592,8 @@ "php-http/httplug": "^1.0 || ^2.0", "php-http/message-factory": "^1.0", "phpspec/phpspec": "^5.1 || ^6.1 || ^7.3", - "symfony/phpunit-bridge": "^6.2" + "sebastian/comparator": "^3.0.5 || ^4.0.8", + "symfony/phpunit-bridge": "^6.4.4 || ^7.0.1" }, "type": "composer-plugin", "extra": { @@ -6635,9 +6632,9 @@ ], "support": { "issues": "https://github.com/php-http/discovery/issues", - "source": "https://github.com/php-http/discovery/tree/1.19.2" + "source": "https://github.com/php-http/discovery/tree/1.19.4" }, - "time": "2023-11-30T16:49:05+00:00" + "time": "2024-03-29T13:00:05+00:00" }, { "name": "php-http/guzzle7-adapter", @@ -6760,16 +6757,16 @@ }, { "name": "php-http/promise", - "version": "1.2.1", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/php-http/promise.git", - "reference": "44a67cb59f708f826f3bec35f22030b3edb90119" + "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/promise/zipball/44a67cb59f708f826f3bec35f22030b3edb90119", - "reference": "44a67cb59f708f826f3bec35f22030b3edb90119", + "url": "https://api.github.com/repos/php-http/promise/zipball/fc85b1fba37c169a69a07ef0d5a8075770cc1f83", + "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83", "shasum": "" }, "require": { @@ -6806,9 +6803,9 @@ ], "support": { "issues": "https://github.com/php-http/promise/issues", - "source": "https://github.com/php-http/promise/tree/1.2.1" + "source": "https://github.com/php-http/promise/tree/1.3.1" }, - "time": "2023-11-08T12:57:08+00:00" + "time": "2024-03-15T13:55:21+00:00" }, { "name": "phpdocumentor/reflection-common", @@ -6865,28 +6862,35 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "5.3.0", + "version": "5.4.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "622548b623e81ca6d78b721c5e029f4ce664f170" + "reference": "9d07b3f7fdcf5efec5d1609cba3c19c5ea2bdc9c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170", - "reference": "622548b623e81ca6d78b721c5e029f4ce664f170", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/9d07b3f7fdcf5efec5d1609cba3c19c5ea2bdc9c", + "reference": "9d07b3f7fdcf5efec5d1609cba3c19c5ea2bdc9c", "shasum": "" }, "require": { + "doctrine/deprecations": "^1.1", "ext-filter": "*", - "php": "^7.2 || ^8.0", + "php": "^7.4 || ^8.0", "phpdocumentor/reflection-common": "^2.2", - "phpdocumentor/type-resolver": "^1.3", + "phpdocumentor/type-resolver": "^1.7", + "phpstan/phpdoc-parser": "^1.7", "webmozart/assert": "^1.9.1" }, "require-dev": { - "mockery/mockery": "~1.3.2", - "psalm/phar": "^4.8" + "mockery/mockery": "~1.3.5", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-webmozart-assert": "^1.2", + "phpunit/phpunit": "^9.5", + "vimeo/psalm": "^5.13" }, "type": "library", "extra": { @@ -6910,33 +6914,33 @@ }, { "name": "Jaap van Otterdijk", - "email": "account@ijaap.nl" + "email": "opensource@ijaap.nl" } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "support": { "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0" + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.4.1" }, - "time": "2021-10-19T17:43:47+00:00" + "time": "2024-05-21T05:55:05+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "1.7.3", + "version": "1.8.2", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419" + "reference": "153ae662783729388a584b4361f2545e4d841e3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419", - "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/153ae662783729388a584b4361f2545e4d841e3c", + "reference": "153ae662783729388a584b4361f2545e4d841e3c", "shasum": "" }, "require": { "doctrine/deprecations": "^1.0", - "php": "^7.4 || ^8.0", + "php": "^7.3 || ^8.0", "phpdocumentor/reflection-common": "^2.0", "phpstan/phpdoc-parser": "^1.13" }, @@ -6974,30 +6978,30 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.7.3" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.2" }, - "time": "2023-08-12T11:01:26+00:00" + "time": "2024-02-23T11:10:43+00:00" }, { "name": "phpspec/prophecy", - "version": "v1.18.0", + "version": "v1.19.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "d4f454f7e1193933f04e6500de3e79191648ed0c" + "reference": "67a759e7d8746d501c41536ba40cd9c0a07d6a87" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/d4f454f7e1193933f04e6500de3e79191648ed0c", - "reference": "d4f454f7e1193933f04e6500de3e79191648ed0c", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/67a759e7d8746d501c41536ba40cd9c0a07d6a87", + "reference": "67a759e7d8746d501c41536ba40cd9c0a07d6a87", "shasum": "" }, "require": { "doctrine/instantiator": "^1.2 || ^2.0", "php": "^7.2 || 8.0.* || 8.1.* || 8.2.* || 8.3.*", "phpdocumentor/reflection-docblock": "^5.2", - "sebastian/comparator": "^3.0 || ^4.0 || ^5.0", - "sebastian/recursion-context": "^3.0 || ^4.0 || ^5.0" + "sebastian/comparator": "^3.0 || ^4.0 || ^5.0 || ^6.0", + "sebastian/recursion-context": "^3.0 || ^4.0 || ^5.0 || ^6.0" }, "require-dev": { "phpspec/phpspec": "^6.0 || ^7.0", @@ -7043,33 +7047,33 @@ ], "support": { "issues": "https://github.com/phpspec/prophecy/issues", - "source": "https://github.com/phpspec/prophecy/tree/v1.18.0" + "source": "https://github.com/phpspec/prophecy/tree/v1.19.0" }, - "time": "2023-12-07T16:22:33+00:00" + "time": "2024-02-29T11:52:51+00:00" }, { "name": "phpspec/prophecy-phpunit", - "version": "v2.1.0", + "version": "v2.2.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy-phpunit.git", - "reference": "29f8114c2c319a4308e6b070902211e062efa392" + "reference": "16e1247e139434bce0bac09848bc5c8d882940fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy-phpunit/zipball/29f8114c2c319a4308e6b070902211e062efa392", - "reference": "29f8114c2c319a4308e6b070902211e062efa392", + "url": "https://api.github.com/repos/phpspec/prophecy-phpunit/zipball/16e1247e139434bce0bac09848bc5c8d882940fc", + "reference": "16e1247e139434bce0bac09848bc5c8d882940fc", "shasum": "" }, "require": { "php": "^7.3 || ^8", "phpspec/prophecy": "^1.18", - "phpunit/phpunit": "^9.1 || ^10.1" + "phpunit/phpunit": "^9.1 || ^10.1 || ^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "2.x-dev" } }, "autoload": { @@ -7095,9 +7099,9 @@ ], "support": { "issues": "https://github.com/phpspec/prophecy-phpunit/issues", - "source": "https://github.com/phpspec/prophecy-phpunit/tree/v2.1.0" + "source": "https://github.com/phpspec/prophecy-phpunit/tree/v2.2.0" }, - "time": "2023-12-08T12:48:02+00:00" + "time": "2024-03-01T08:33:58+00:00" }, { "name": "phpstan/extension-installer", @@ -7145,16 +7149,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.24.4", + "version": "1.29.1", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "6bd0c26f3786cd9b7c359675cb789e35a8e07496" + "reference": "fcaefacf2d5c417e928405b71b400d4ce10daaf4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/6bd0c26f3786cd9b7c359675cb789e35a8e07496", - "reference": "6bd0c26f3786cd9b7c359675cb789e35a8e07496", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/fcaefacf2d5c417e928405b71b400d4ce10daaf4", + "reference": "fcaefacf2d5c417e928405b71b400d4ce10daaf4", "shasum": "" }, "require": { @@ -7186,22 +7190,22 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.24.4" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.29.1" }, - "time": "2023-11-26T18:29:22+00:00" + "time": "2024-05-31T08:52:43+00:00" }, { "name": "phpstan/phpstan", - "version": "1.10.48", + "version": "1.11.3", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "087ed4b5f4a7a6e8f3bbdfbfe98ce5c181380bc6" + "reference": "e64220a05c1209fc856d58e789c3b7a32c0bb9a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/087ed4b5f4a7a6e8f3bbdfbfe98ce5c181380bc6", - "reference": "087ed4b5f4a7a6e8f3bbdfbfe98ce5c181380bc6", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e64220a05c1209fc856d58e789c3b7a32c0bb9a5", + "reference": "e64220a05c1209fc856d58e789c3b7a32c0bb9a5", "shasum": "" }, "require": { @@ -7244,35 +7248,30 @@ { "url": "https://github.com/phpstan", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan", - "type": "tidelift" } ], - "time": "2023-12-08T14:34:28+00:00" + "time": "2024-05-31T13:53:37+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", - "version": "1.1.4", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-deprecation-rules.git", - "reference": "089d8a8258ed0aeefdc7b68b6c3d25572ebfdbaa" + "reference": "fa8cce7720fa782899a0aa97b6a41225d1bb7b26" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-deprecation-rules/zipball/089d8a8258ed0aeefdc7b68b6c3d25572ebfdbaa", - "reference": "089d8a8258ed0aeefdc7b68b6c3d25572ebfdbaa", + "url": "https://api.github.com/repos/phpstan/phpstan-deprecation-rules/zipball/fa8cce7720fa782899a0aa97b6a41225d1bb7b26", + "reference": "fa8cce7720fa782899a0aa97b6a41225d1bb7b26", "shasum": "" }, "require": { "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.10.3" + "phpstan/phpstan": "^1.11" }, "require-dev": { "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/phpstan-php-parser": "^1.1", "phpstan/phpstan-phpunit": "^1.0", "phpunit/phpunit": "^9.5" }, @@ -7296,27 +7295,27 @@ "description": "PHPStan rules for detecting usage of deprecated classes, methods, properties, constants and traits.", "support": { "issues": "https://github.com/phpstan/phpstan-deprecation-rules/issues", - "source": "https://github.com/phpstan/phpstan-deprecation-rules/tree/1.1.4" + "source": "https://github.com/phpstan/phpstan-deprecation-rules/tree/1.2.0" }, - "time": "2023-08-05T09:02:04+00:00" + "time": "2024-04-20T06:39:48+00:00" }, { "name": "phpstan/phpstan-phpunit", - "version": "1.3.15", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-phpunit.git", - "reference": "70ecacc64fe8090d8d2a33db5a51fe8e88acd93a" + "reference": "f3ea021866f4263f07ca3636bf22c64be9610c11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/70ecacc64fe8090d8d2a33db5a51fe8e88acd93a", - "reference": "70ecacc64fe8090d8d2a33db5a51fe8e88acd93a", + "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/f3ea021866f4263f07ca3636bf22c64be9610c11", + "reference": "f3ea021866f4263f07ca3636bf22c64be9610c11", "shasum": "" }, "require": { "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.10" + "phpstan/phpstan": "^1.11" }, "conflict": { "phpunit/phpunit": "<7.0" @@ -7348,29 +7347,29 @@ "description": "PHPUnit extensions and rules for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-phpunit/issues", - "source": "https://github.com/phpstan/phpstan-phpunit/tree/1.3.15" + "source": "https://github.com/phpstan/phpstan-phpunit/tree/1.4.0" }, - "time": "2023-10-09T18:58:39+00:00" + "time": "2024-04-20T06:39:00+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "9.2.29", + "version": "9.2.31", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76" + "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6a3a87ac2bbe33b25042753df8195ba4aa534c76", - "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/48c34b5d8d983006bd2adc2d0de92963b9155965", + "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.15", + "nikic/php-parser": "^4.18 || ^5.0", "php": ">=7.3", "phpunit/php-file-iterator": "^3.0.3", "phpunit/php-text-template": "^2.0.2", @@ -7420,7 +7419,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.29" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.31" }, "funding": [ { @@ -7428,7 +7427,7 @@ "type": "github" } ], - "time": "2023-09-19T04:57:46+00:00" + "time": "2024-03-02T06:37:42+00:00" }, { "name": "phpunit/php-file-iterator", @@ -7673,16 +7672,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.15", + "version": "9.6.19", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "05017b80304e0eb3f31d90194a563fd53a6021f1" + "reference": "a1a54a473501ef4cdeaae4e06891674114d79db8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/05017b80304e0eb3f31d90194a563fd53a6021f1", - "reference": "05017b80304e0eb3f31d90194a563fd53a6021f1", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a1a54a473501ef4cdeaae4e06891674114d79db8", + "reference": "a1a54a473501ef4cdeaae4e06891674114d79db8", "shasum": "" }, "require": { @@ -7756,7 +7755,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.15" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.19" }, "funding": [ { @@ -7772,20 +7771,20 @@ "type": "tidelift" } ], - "time": "2023-12-01T16:55:19+00:00" + "time": "2024-04-05T04:35:58+00:00" }, { "name": "react/promise", - "version": "v3.1.0", + "version": "v3.2.0", "source": { "type": "git", "url": "https://github.com/reactphp/promise.git", - "reference": "e563d55d1641de1dea9f5e84f3cccc66d2bfe02c" + "reference": "8a164643313c71354582dc850b42b33fa12a4b63" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise/zipball/e563d55d1641de1dea9f5e84f3cccc66d2bfe02c", - "reference": "e563d55d1641de1dea9f5e84f3cccc66d2bfe02c", + "url": "https://api.github.com/repos/reactphp/promise/zipball/8a164643313c71354582dc850b42b33fa12a4b63", + "reference": "8a164643313c71354582dc850b42b33fa12a4b63", "shasum": "" }, "require": { @@ -7837,7 +7836,7 @@ ], "support": { "issues": "https://github.com/reactphp/promise/issues", - "source": "https://github.com/reactphp/promise/tree/v3.1.0" + "source": "https://github.com/reactphp/promise/tree/v3.2.0" }, "funding": [ { @@ -7845,20 +7844,20 @@ "type": "open_collective" } ], - "time": "2023-11-16T16:21:57+00:00" + "time": "2024-05-24T10:39:05+00:00" }, { "name": "sebastian/cli-parser", - "version": "1.0.1", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", - "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b", + "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b", "shasum": "" }, "require": { @@ -7893,7 +7892,7 @@ "homepage": "https://github.com/sebastianbergmann/cli-parser", "support": { "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" + "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.2" }, "funding": [ { @@ -7901,7 +7900,7 @@ "type": "github" } ], - "time": "2020-09-28T06:08:49+00:00" + "time": "2024-03-02T06:27:43+00:00" }, { "name": "sebastian/code-unit", @@ -8090,20 +8089,20 @@ }, { "name": "sebastian/complexity", - "version": "2.0.2", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" + "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a", + "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a", "shasum": "" }, "require": { - "nikic/php-parser": "^4.7", + "nikic/php-parser": "^4.18 || ^5.0", "php": ">=7.3" }, "require-dev": { @@ -8135,7 +8134,7 @@ "homepage": "https://github.com/sebastianbergmann/complexity", "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", - "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3" }, "funding": [ { @@ -8143,7 +8142,7 @@ "type": "github" } ], - "time": "2020-10-26T15:52:27+00:00" + "time": "2023-12-22T06:19:30+00:00" }, { "name": "sebastian/environment", @@ -8210,16 +8209,16 @@ }, { "name": "sebastian/exporter", - "version": "4.0.5", + "version": "4.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" + "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", - "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/78c00df8f170e02473b682df15bfcdacc3d32d72", + "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72", "shasum": "" }, "require": { @@ -8275,7 +8274,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5" + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6" }, "funding": [ { @@ -8283,20 +8282,20 @@ "type": "github" } ], - "time": "2022-09-14T06:03:37+00:00" + "time": "2024-03-02T06:33:00+00:00" }, { "name": "sebastian/global-state", - "version": "5.0.6", + "version": "5.0.7", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bde739e7565280bda77be70044ac1047bc007e34" + "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34", - "reference": "bde739e7565280bda77be70044ac1047bc007e34", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9", + "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9", "shasum": "" }, "require": { @@ -8339,7 +8338,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.6" + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.7" }, "funding": [ { @@ -8347,24 +8346,24 @@ "type": "github" } ], - "time": "2023-08-02T09:26:13+00:00" + "time": "2024-03-02T06:35:11+00:00" }, { "name": "sebastian/lines-of-code", - "version": "1.0.3", + "version": "1.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5", + "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5", "shasum": "" }, "require": { - "nikic/php-parser": "^4.6", + "nikic/php-parser": "^4.18 || ^5.0", "php": ">=7.3" }, "require-dev": { @@ -8396,7 +8395,7 @@ "homepage": "https://github.com/sebastianbergmann/lines-of-code", "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.4" }, "funding": [ { @@ -8404,7 +8403,7 @@ "type": "github" } ], - "time": "2020-11-28T06:42:11+00:00" + "time": "2023-12-22T06:20:34+00:00" }, { "name": "sebastian/object-enumerator", @@ -8583,16 +8582,16 @@ }, { "name": "sebastian/resource-operations", - "version": "3.0.3", + "version": "3.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" + "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", - "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/05d5692a7993ecccd56a03e40cd7e5b09b1d404e", + "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e", "shasum": "" }, "require": { @@ -8604,7 +8603,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -8625,8 +8624,7 @@ "description": "Provides a list of PHP built-in functions that operate on resources", "homepage": "https://www.github.com/sebastianbergmann/resource-operations", "support": { - "issues": "https://github.com/sebastianbergmann/resource-operations/issues", - "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.4" }, "funding": [ { @@ -8634,7 +8632,7 @@ "type": "github" } ], - "time": "2020-09-28T06:45:17+00:00" + "time": "2024-03-14T16:00:52+00:00" }, { "name": "sebastian/type", @@ -8747,16 +8745,16 @@ }, { "name": "seld/jsonlint", - "version": "1.10.0", + "version": "1.10.2", "source": { "type": "git", "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "594fd6462aad8ecee0b45ca5045acea4776667f1" + "reference": "9bb7db07b5d66d90f6ebf542f09fc67d800e5259" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/594fd6462aad8ecee0b45ca5045acea4776667f1", - "reference": "594fd6462aad8ecee0b45ca5045acea4776667f1", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/9bb7db07b5d66d90f6ebf542f09fc67d800e5259", + "reference": "9bb7db07b5d66d90f6ebf542f09fc67d800e5259", "shasum": "" }, "require": { @@ -8783,7 +8781,7 @@ { "name": "Jordi Boggiano", "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "homepage": "https://seld.be" } ], "description": "JSON Linter", @@ -8795,7 +8793,7 @@ ], "support": { "issues": "https://github.com/Seldaek/jsonlint/issues", - "source": "https://github.com/Seldaek/jsonlint/tree/1.10.0" + "source": "https://github.com/Seldaek/jsonlint/tree/1.10.2" }, "funding": [ { @@ -8807,7 +8805,7 @@ "type": "tidelift" } ], - "time": "2023-05-11T13:16:46+00:00" + "time": "2024-02-07T12:57:50+00:00" }, { "name": "seld/phar-utils", @@ -8920,16 +8918,16 @@ }, { "name": "sirbrillig/phpcs-variable-analysis", - "version": "v2.11.17", + "version": "v2.11.18", "source": { "type": "git", "url": "https://github.com/sirbrillig/phpcs-variable-analysis.git", - "reference": "3b71162a6bf0cde2bff1752e40a1788d8273d049" + "reference": "ca242a0b7309e0f9d1f73b236e04ecf4ca3248d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sirbrillig/phpcs-variable-analysis/zipball/3b71162a6bf0cde2bff1752e40a1788d8273d049", - "reference": "3b71162a6bf0cde2bff1752e40a1788d8273d049", + "url": "https://api.github.com/repos/sirbrillig/phpcs-variable-analysis/zipball/ca242a0b7309e0f9d1f73b236e04ecf4ca3248d0", + "reference": "ca242a0b7309e0f9d1f73b236e04ecf4ca3248d0", "shasum": "" }, "require": { @@ -8974,36 +8972,36 @@ "source": "https://github.com/sirbrillig/phpcs-variable-analysis", "wiki": "https://github.com/sirbrillig/phpcs-variable-analysis/wiki" }, - "time": "2023-08-05T23:46:11+00:00" + "time": "2024-04-13T16:42:46+00:00" }, { "name": "slevomat/coding-standard", - "version": "8.14.1", + "version": "8.15.0", "source": { "type": "git", "url": "https://github.com/slevomat/coding-standard.git", - "reference": "fea1fd6f137cc84f9cba0ae30d549615dbc6a926" + "reference": "7d1d957421618a3803b593ec31ace470177d7817" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/fea1fd6f137cc84f9cba0ae30d549615dbc6a926", - "reference": "fea1fd6f137cc84f9cba0ae30d549615dbc6a926", + "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/7d1d957421618a3803b593ec31ace470177d7817", + "reference": "7d1d957421618a3803b593ec31ace470177d7817", "shasum": "" }, "require": { "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7 || ^1.0", "php": "^7.2 || ^8.0", "phpstan/phpdoc-parser": "^1.23.1", - "squizlabs/php_codesniffer": "^3.7.1" + "squizlabs/php_codesniffer": "^3.9.0" }, "require-dev": { "phing/phing": "2.17.4", "php-parallel-lint/php-parallel-lint": "1.3.2", - "phpstan/phpstan": "1.10.37", + "phpstan/phpstan": "1.10.60", "phpstan/phpstan-deprecation-rules": "1.1.4", - "phpstan/phpstan-phpunit": "1.3.14", - "phpstan/phpstan-strict-rules": "1.5.1", - "phpunit/phpunit": "8.5.21|9.6.8|10.3.5" + "phpstan/phpstan-phpunit": "1.3.16", + "phpstan/phpstan-strict-rules": "1.5.2", + "phpunit/phpunit": "8.5.21|9.6.8|10.5.11" }, "type": "phpcodesniffer-standard", "extra": { @@ -9027,7 +9025,7 @@ ], "support": { "issues": "https://github.com/slevomat/coding-standard/issues", - "source": "https://github.com/slevomat/coding-standard/tree/8.14.1" + "source": "https://github.com/slevomat/coding-standard/tree/8.15.0" }, "funding": [ { @@ -9039,20 +9037,20 @@ "type": "tidelift" } ], - "time": "2023-10-08T07:28:08+00:00" + "time": "2024-03-09T15:20:58+00:00" }, { "name": "squizlabs/php_codesniffer", - "version": "3.8.0", + "version": "3.10.1", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "5805f7a4e4958dbb5e944ef1e6edae0a303765e7" + "reference": "8f90f7a53ce271935282967f53d0894f8f1ff877" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/5805f7a4e4958dbb5e944ef1e6edae0a303765e7", - "reference": "5805f7a4e4958dbb5e944ef1e6edae0a303765e7", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/8f90f7a53ce271935282967f53d0894f8f1ff877", + "reference": "8f90f7a53ce271935282967f53d0894f8f1ff877", "shasum": "" }, "require": { @@ -9062,11 +9060,11 @@ "php": ">=5.4.0" }, "require-dev": { - "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4" }, "bin": [ - "bin/phpcs", - "bin/phpcbf" + "bin/phpcbf", + "bin/phpcs" ], "type": "library", "extra": { @@ -9119,20 +9117,20 @@ "type": "open_collective" } ], - "time": "2023-12-08T12:32:31+00:00" + "time": "2024-05-22T21:24:41+00:00" }, { "name": "symfony/browser-kit", - "version": "v6.4.0", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "a3bb210e001580ec75e1d02b27fae3452e6bf502" + "reference": "62ab90b92066ef6cce5e79365625b4b1432464c8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/a3bb210e001580ec75e1d02b27fae3452e6bf502", - "reference": "a3bb210e001580ec75e1d02b27fae3452e6bf502", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/62ab90b92066ef6cce5e79365625b4b1432464c8", + "reference": "62ab90b92066ef6cce5e79365625b4b1432464c8", "shasum": "" }, "require": { @@ -9171,7 +9169,7 @@ "description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/browser-kit/tree/v6.4.0" + "source": "https://github.com/symfony/browser-kit/tree/v6.4.8" }, "funding": [ { @@ -9187,20 +9185,20 @@ "type": "tidelift" } ], - "time": "2023-10-31T08:18:17+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/css-selector", - "version": "v6.4.0", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "d036c6c0d0b09e24a14a35f8292146a658f986e4" + "reference": "4b61b02fe15db48e3687ce1c45ea385d1780fe08" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/d036c6c0d0b09e24a14a35f8292146a658f986e4", - "reference": "d036c6c0d0b09e24a14a35f8292146a658f986e4", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/4b61b02fe15db48e3687ce1c45ea385d1780fe08", + "reference": "4b61b02fe15db48e3687ce1c45ea385d1780fe08", "shasum": "" }, "require": { @@ -9236,7 +9234,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v6.4.0" + "source": "https://github.com/symfony/css-selector/tree/v6.4.8" }, "funding": [ { @@ -9252,20 +9250,20 @@ "type": "tidelift" } ], - "time": "2023-10-31T08:40:20+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/dom-crawler", - "version": "v6.4.0", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "14ff4fd2a5c8969d6158dbe7ef5b17d6a9c6ba33" + "reference": "105b56a0305d219349edeb60a800082eca864e4b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/14ff4fd2a5c8969d6158dbe7ef5b17d6a9c6ba33", - "reference": "14ff4fd2a5c8969d6158dbe7ef5b17d6a9c6ba33", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/105b56a0305d219349edeb60a800082eca864e4b", + "reference": "105b56a0305d219349edeb60a800082eca864e4b", "shasum": "" }, "require": { @@ -9303,7 +9301,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.0" + "source": "https://github.com/symfony/dom-crawler/tree/v6.4.8" }, "funding": [ { @@ -9319,20 +9317,20 @@ "type": "tidelift" } ], - "time": "2023-11-20T16:41:16+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/lock", - "version": "v6.4.0", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/lock.git", - "reference": "49c2d0ae4777d118edb13f23d0b4f125d7302cb3" + "reference": "1387f50285c23607467c1f05b258bde65f1ab276" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/lock/zipball/49c2d0ae4777d118edb13f23d0b4f125d7302cb3", - "reference": "49c2d0ae4777d118edb13f23d0b4f125d7302cb3", + "url": "https://api.github.com/repos/symfony/lock/zipball/1387f50285c23607467c1f05b258bde65f1ab276", + "reference": "1387f50285c23607467c1f05b258bde65f1ab276", "shasum": "" }, "require": { @@ -9382,7 +9380,7 @@ "semaphore" ], "support": { - "source": "https://github.com/symfony/lock/tree/v6.4.0" + "source": "https://github.com/symfony/lock/tree/v6.4.8" }, "funding": [ { @@ -9398,20 +9396,20 @@ "type": "tidelift" } ], - "time": "2023-11-21T09:41:01+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/phpunit-bridge", - "version": "v6.4.1", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/phpunit-bridge.git", - "reference": "cca5373a41d45edbeaf38b7b67f376da2205ff95" + "reference": "937f47cc64922f283bb0c474f33415bba0a9fc0d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/cca5373a41d45edbeaf38b7b67f376da2205ff95", - "reference": "cca5373a41d45edbeaf38b7b67f376da2205ff95", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/937f47cc64922f283bb0c474f33415bba0a9fc0d", + "reference": "937f47cc64922f283bb0c474f33415bba0a9fc0d", "shasum": "" }, "require": { @@ -9443,7 +9441,8 @@ "Symfony\\Bridge\\PhpUnit\\": "" }, "exclude-from-classmap": [ - "/Tests/" + "/Tests/", + "/bin/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -9463,7 +9462,7 @@ "description": "Provides utilities for PHPUnit, especially user deprecation notices management", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/phpunit-bridge/tree/v6.4.1" + "source": "https://github.com/symfony/phpunit-bridge/tree/v6.4.8" }, "funding": [ { @@ -9479,20 +9478,20 @@ "type": "tidelift" } ], - "time": "2023-12-01T09:25:07+00:00" + "time": "2024-06-02T15:48:50+00:00" }, { "name": "symfony/polyfill-php82", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php82.git", - "reference": "7716bea9c86776fb3362d6b52fe1fc9471056a49" + "reference": "559d488c38784112c78b9bf17c5ce8366a265643" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php82/zipball/7716bea9c86776fb3362d6b52fe1fc9471056a49", - "reference": "7716bea9c86776fb3362d6b52fe1fc9471056a49", + "url": "https://api.github.com/repos/symfony/polyfill-php82/zipball/559d488c38784112c78b9bf17c5ce8366a265643", + "reference": "559d488c38784112c78b9bf17c5ce8366a265643", "shasum": "" }, "require": { @@ -9500,9 +9499,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -9542,7 +9538,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php82/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-php82/tree/v1.29.0" }, "funding": [ { @@ -9558,20 +9554,20 @@ "type": "tidelift" } ], - "time": "2023-08-25T17:27:25+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "theseer/tokenizer", - "version": "1.2.2", + "version": "1.2.3", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96" + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96", - "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", "shasum": "" }, "require": { @@ -9600,7 +9596,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.2" + "source": "https://github.com/theseer/tokenizer/tree/1.2.3" }, "funding": [ { @@ -9608,34 +9604,35 @@ "type": "github" } ], - "time": "2023-11-20T00:12:19+00:00" + "time": "2024-03-03T12:36:25+00:00" }, { "name": "webflo/drupal-finder", - "version": "1.2.2", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/webflo/drupal-finder.git", - "reference": "c8e5dbe65caef285fec8057a4c718a0d4138d1ee" + "reference": "1fa65484857c7a2e4dcf0d9e0b47198fe0681b8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webflo/drupal-finder/zipball/c8e5dbe65caef285fec8057a4c718a0d4138d1ee", - "reference": "c8e5dbe65caef285fec8057a4c718a0d4138d1ee", + "url": "https://api.github.com/repos/webflo/drupal-finder/zipball/1fa65484857c7a2e4dcf0d9e0b47198fe0681b8a", + "reference": "1fa65484857c7a2e4dcf0d9e0b47198fe0681b8a", "shasum": "" }, "require": { - "ext-json": "*" + "composer-runtime-api": "^2.2", + "php": ">=8.1" }, "require-dev": { "mikey179/vfsstream": "^1.6", - "phpunit/phpunit": "^4.8" + "phpunit/phpunit": "^10.4" }, "type": "library", "autoload": { - "classmap": [ - "src/DrupalFinder.php" - ] + "psr-4": { + "DrupalFinder\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -9647,12 +9644,12 @@ "email": "florian@webflo.org" } ], - "description": "Helper class to locate a Drupal installation from a given path.", + "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.2.2" + "source": "https://github.com/webflo/drupal-finder/tree/1.3.0" }, - "time": "2020-10-27T09:42:17+00:00" + "time": "2024-05-08T21:22:39+00:00" }, { "name": "webmozart/assert", -- GitLab From 1ed1c39ac616f0dac2e81e030b6e2f0b9b114fa2 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Wed, 5 Jun 2024 08:40:31 +0200 Subject: [PATCH 14/73] Issue #2265487 by sleitner, Tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- .../Metapackage/CoreRecommended/composer.json | 40 +++++++++---------- .../PinnedDevDependencies/composer.json | 22 +++++----- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/composer/Metapackage/CoreRecommended/composer.json b/composer/Metapackage/CoreRecommended/composer.json index 3732b7fa3edd..7d4b7835d62f 100644 --- a/composer/Metapackage/CoreRecommended/composer.json +++ b/composer/Metapackage/CoreRecommended/composer.json @@ -31,18 +31,18 @@ "psr/log": "~3.0.0", "ralouphie/getallheaders": "~3.0.3", "sebastian/diff": "~5.1.1", - "symfony/console": "~v7.1.0", - "symfony/dependency-injection": "~v7.1.0", + "symfony/console": "~v7.1.1", + "symfony/dependency-injection": "~v7.1.1", "symfony/deprecation-contracts": "~v3.5.0", - "symfony/error-handler": "~v7.1.0", - "symfony/event-dispatcher": "~v7.1.0", + "symfony/error-handler": "~v7.1.1", + "symfony/event-dispatcher": "~v7.1.1", "symfony/event-dispatcher-contracts": "~v3.5.0", - "symfony/filesystem": "~v7.1.0", - "symfony/finder": "~v7.1.0", - "symfony/http-foundation": "~v7.1.0", - "symfony/http-kernel": "~v7.1.0", - "symfony/mailer": "~v7.1.0", - "symfony/mime": "~v7.1.0", + "symfony/filesystem": "~v7.1.1", + "symfony/finder": "~v7.1.1", + "symfony/http-foundation": "~v7.1.1", + "symfony/http-kernel": "~v7.1.1", + "symfony/mailer": "~v7.1.1", + "symfony/mime": "~v7.1.1", "symfony/polyfill-ctype": "~v1.29.0", "symfony/polyfill-iconv": "~v1.29.0", "symfony/polyfill-intl-grapheme": "~v1.29.0", @@ -50,17 +50,17 @@ "symfony/polyfill-intl-idn": "~v1.29.0", "symfony/polyfill-intl-normalizer": "~v1.29.0", "symfony/polyfill-mbstring": "~v1.29.0", - "symfony/process": "~v7.1.0", - "symfony/psr-http-message-bridge": "~v7.1.0", - "symfony/routing": "~v7.1.0", - "symfony/serializer": "~v7.1.0", + "symfony/process": "~v7.1.1", + "symfony/psr-http-message-bridge": "~v7.1.1", + "symfony/routing": "~v7.1.1", + "symfony/serializer": "~v7.1.1", "symfony/service-contracts": "~v3.5.0", - "symfony/string": "~v7.1.0", + "symfony/string": "~v7.1.1", "symfony/translation-contracts": "~v3.5.0", - "symfony/validator": "~v7.1.0", - "symfony/var-dumper": "~v7.1.0", - "symfony/var-exporter": "~v7.1.0", - "symfony/yaml": "~v7.1.0", - "twig/twig": "~v3.10.2" + "symfony/validator": "~v7.1.1", + "symfony/var-dumper": "~v7.1.1", + "symfony/var-exporter": "~v7.1.1", + "symfony/yaml": "~v7.1.1", + "twig/twig": "~v3.10.3" } } diff --git a/composer/Metapackage/PinnedDevDependencies/composer.json b/composer/Metapackage/PinnedDevDependencies/composer.json index ab770f4a2527..6731e7093131 100644 --- a/composer/Metapackage/PinnedDevDependencies/composer.json +++ b/composer/Metapackage/PinnedDevDependencies/composer.json @@ -12,10 +12,10 @@ "behat/mink-browserkit-driver": "v2.2.0", "colinodell/psr-testlogger": "v1.3.0", "composer/ca-bundle": "1.5.0", - "composer/class-map-generator": "1.1.1", + "composer/class-map-generator": "1.3.2", "composer/composer": "2.7.6", "composer/metadata-minifier": "1.0.0", - "composer/pcre": "3.1.3", + "composer/pcre": "3.1.4", "composer/spdx-licenses": "1.5.8", "composer/xdebug-handler": "3.0.5", "dealerdirect/phpcodesniffer-composer-installer": "v1.0.0", @@ -43,13 +43,13 @@ "php-http/httplug": "2.4.0", "php-http/promise": "1.3.1", "phpdocumentor/reflection-common": "2.2.0", - "phpdocumentor/reflection-docblock": "5.4.0", + "phpdocumentor/reflection-docblock": "5.4.1", "phpdocumentor/type-resolver": "1.8.2", "phpspec/prophecy": "v1.19.0", "phpspec/prophecy-phpunit": "v2.2.0", "phpstan/extension-installer": "1.3.1", - "phpstan/phpdoc-parser": "1.29.0", - "phpstan/phpstan": "1.11.1", + "phpstan/phpdoc-parser": "1.29.1", + "phpstan/phpstan": "1.11.3", "phpstan/phpstan-deprecation-rules": "1.2.0", "phpstan/phpstan-phpunit": "1.4.0", "phpunit/php-code-coverage": "10.1.14", @@ -58,7 +58,7 @@ "phpunit/php-text-template": "3.0.1", "phpunit/php-timer": "6.0.0", "phpunit/phpunit": "10.5.20", - "react/promise": "v3.1.0", + "react/promise": "v3.2.0", "sebastian/cli-parser": "2.0.1", "sebastian/code-unit": "2.0.0", "sebastian/code-unit-reverse-lookup": "3.0.0", @@ -78,11 +78,11 @@ "seld/signal-handler": "2.0.2", "sirbrillig/phpcs-variable-analysis": "v2.11.18", "slevomat/coding-standard": "8.15.0", - "squizlabs/php_codesniffer": "3.9.2", - "symfony/browser-kit": "v7.1.0", - "symfony/css-selector": "v7.1.0", - "symfony/dom-crawler": "v7.1.0", - "symfony/lock": "v7.1.0", + "squizlabs/php_codesniffer": "3.10.1", + "symfony/browser-kit": "v7.1.1", + "symfony/css-selector": "v7.1.1", + "symfony/dom-crawler": "v7.1.1", + "symfony/lock": "v7.1.1", "theseer/tokenizer": "1.2.3", "webflo/drupal-finder": "1.3.0", "webmozart/assert": "1.11.0" -- GitLab From 8ebf82db71a0f9753806cd1278b8d0d6909c679d Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Wed, 5 Jun 2024 08:52:46 +0200 Subject: [PATCH 15/73] Issue #2265487 by sleitner, Tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/tests/PHPStan/composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/tests/PHPStan/composer.json b/core/tests/PHPStan/composer.json index 61b2d3b5cb9b..c3b2a8a9bd76 100644 --- a/core/tests/PHPStan/composer.json +++ b/core/tests/PHPStan/composer.json @@ -3,7 +3,7 @@ "description": "Tests Drupal core's PHPStan rules", "require-dev": { "phpunit/phpunit": "^9", - "phpstan/phpstan": "1.11.1" + "phpstan/phpstan": "1.11.3" }, "license": "GPL-2.0-or-later", "autoload": { -- GitLab From 4d01d5be8fefeee256f2b95e85c05736c513fe16 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Mon, 10 Jun 2024 21:00:17 +0200 Subject: [PATCH 16/73] Issue #2265487 by sleitner, Tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- composer.lock | 375 +++++++++--------- .../Metapackage/CoreRecommended/composer.json | 40 +- .../PinnedDevDependencies/composer.json | 22 +- core/tests/PHPStan/composer.json | 2 +- 4 files changed, 219 insertions(+), 220 deletions(-) diff --git a/composer.lock b/composer.lock index 6eac53c3198c..4c268063f9ba 100644 --- a/composer.lock +++ b/composer.lock @@ -1931,16 +1931,16 @@ }, { "name": "symfony/console", - "version": "v7.1.1", + "version": "v7.1.0", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "9b008f2d7b21c74ef4d0c3de6077a642bc55ece3" + "reference": "5bcde9e0b2ea9bd9772bca17618365ea921c5707" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/9b008f2d7b21c74ef4d0c3de6077a642bc55ece3", - "reference": "9b008f2d7b21c74ef4d0c3de6077a642bc55ece3", + "url": "https://api.github.com/repos/symfony/console/zipball/5bcde9e0b2ea9bd9772bca17618365ea921c5707", + "reference": "5bcde9e0b2ea9bd9772bca17618365ea921c5707", "shasum": "" }, "require": { @@ -2004,7 +2004,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.1.1" + "source": "https://github.com/symfony/console/tree/v7.1.0" }, "funding": [ { @@ -2020,20 +2020,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-05-17T10:55:18+00:00" }, { "name": "symfony/dependency-injection", - "version": "v7.1.1", + "version": "v7.1.0", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "77c636dfd86c0b60c5d184b2fd2ddf8dd11c309c" + "reference": "77f3166335d506e33314d257817e9b3c57068968" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/77c636dfd86c0b60c5d184b2fd2ddf8dd11c309c", - "reference": "77c636dfd86c0b60c5d184b2fd2ddf8dd11c309c", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/77f3166335d506e33314d257817e9b3c57068968", + "reference": "77f3166335d506e33314d257817e9b3c57068968", "shasum": "" }, "require": { @@ -2084,7 +2084,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/v7.1.1" + "source": "https://github.com/symfony/dependency-injection/tree/v7.1.0" }, "funding": [ { @@ -2100,7 +2100,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-05-21T07:25:36+00:00" }, { "name": "symfony/deprecation-contracts", @@ -2171,16 +2171,16 @@ }, { "name": "symfony/error-handler", - "version": "v7.1.1", + "version": "v7.1.0", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "e9b8bbce0b4f322939332ab7b6b81d8c11da27dd" + "reference": "477d911900bf32fc43a675f78d4cbaedbb78378f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/e9b8bbce0b4f322939332ab7b6b81d8c11da27dd", - "reference": "e9b8bbce0b4f322939332ab7b6b81d8c11da27dd", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/477d911900bf32fc43a675f78d4cbaedbb78378f", + "reference": "477d911900bf32fc43a675f78d4cbaedbb78378f", "shasum": "" }, "require": { @@ -2226,7 +2226,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/v7.1.1" + "source": "https://github.com/symfony/error-handler/tree/v7.1.0" }, "funding": [ { @@ -2242,20 +2242,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-05-17T10:55:18+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v7.1.1", + "version": "v7.1.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7" + "reference": "522d2772d6c7bab843b0c52466dc7844622bacc2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7", - "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/522d2772d6c7bab843b0c52466dc7844622bacc2", + "reference": "522d2772d6c7bab843b0c52466dc7844622bacc2", "shasum": "" }, "require": { @@ -2306,7 +2306,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/v7.1.1" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.1.0" }, "funding": [ { @@ -2322,7 +2322,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -2402,16 +2402,16 @@ }, { "name": "symfony/filesystem", - "version": "v7.1.1", + "version": "v7.1.0", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "802e87002f919296c9f606457d9fa327a0b3d6b2" + "reference": "8ecdde25881598f86cdd7cfe8b25302b66a402e9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/802e87002f919296c9f606457d9fa327a0b3d6b2", - "reference": "802e87002f919296c9f606457d9fa327a0b3d6b2", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/8ecdde25881598f86cdd7cfe8b25302b66a402e9", + "reference": "8ecdde25881598f86cdd7cfe8b25302b66a402e9", "shasum": "" }, "require": { @@ -2448,7 +2448,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v7.1.1" + "source": "https://github.com/symfony/filesystem/tree/v7.1.0" }, "funding": [ { @@ -2464,20 +2464,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-05-17T10:55:18+00:00" }, { "name": "symfony/finder", - "version": "v7.1.1", + "version": "v7.1.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "fbb0ba67688b780efbc886c1a0a0948dcf7205d6" + "reference": "fb6c2d65c3dbf7ad83201a4168d4510c8dddaac7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/fbb0ba67688b780efbc886c1a0a0948dcf7205d6", - "reference": "fbb0ba67688b780efbc886c1a0a0948dcf7205d6", + "url": "https://api.github.com/repos/symfony/finder/zipball/fb6c2d65c3dbf7ad83201a4168d4510c8dddaac7", + "reference": "fb6c2d65c3dbf7ad83201a4168d4510c8dddaac7", "shasum": "" }, "require": { @@ -2512,7 +2512,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v7.1.1" + "source": "https://github.com/symfony/finder/tree/v7.1.0" }, "funding": [ { @@ -2528,20 +2528,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-04-28T18:29:00+00:00" }, { "name": "symfony/http-foundation", - "version": "v7.1.1", + "version": "v7.1.0", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "74d171d5b6a1d9e4bfee09a41937c17a7536acfa" + "reference": "f9c54a6b1697d0b3b3d541e89e7843cdb3c9bfb7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/74d171d5b6a1d9e4bfee09a41937c17a7536acfa", - "reference": "74d171d5b6a1d9e4bfee09a41937c17a7536acfa", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f9c54a6b1697d0b3b3d541e89e7843cdb3c9bfb7", + "reference": "f9c54a6b1697d0b3b3d541e89e7843cdb3c9bfb7", "shasum": "" }, "require": { @@ -2589,7 +2589,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v7.1.1" + "source": "https://github.com/symfony/http-foundation/tree/v7.1.0" }, "funding": [ { @@ -2605,20 +2605,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-05-20T16:41:11+00:00" }, { "name": "symfony/http-kernel", - "version": "v7.1.1", + "version": "v7.1.0", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "fa8d1c75b5f33b1302afccf81811f93976c6e26f" + "reference": "7eb093ee3911354aa13704d757127535dd8d371f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/fa8d1c75b5f33b1302afccf81811f93976c6e26f", - "reference": "fa8d1c75b5f33b1302afccf81811f93976c6e26f", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/7eb093ee3911354aa13704d757127535dd8d371f", + "reference": "7eb093ee3911354aa13704d757127535dd8d371f", "shasum": "" }, "require": { @@ -2703,7 +2703,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/v7.1.1" + "source": "https://github.com/symfony/http-kernel/tree/v7.1.0" }, "funding": [ { @@ -2719,20 +2719,20 @@ "type": "tidelift" } ], - "time": "2024-06-04T06:52:15+00:00" + "time": "2024-05-31T07:46:30+00:00" }, { "name": "symfony/mailer", - "version": "v7.1.1", + "version": "v7.1.0", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "2eaad2e167cae930f25a3d731fec8b2ded5e751e" + "reference": "1528f3fb85d1cbed8bf68a19d5428de662c29d7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/2eaad2e167cae930f25a3d731fec8b2ded5e751e", - "reference": "2eaad2e167cae930f25a3d731fec8b2ded5e751e", + "url": "https://api.github.com/repos/symfony/mailer/zipball/1528f3fb85d1cbed8bf68a19d5428de662c29d7e", + "reference": "1528f3fb85d1cbed8bf68a19d5428de662c29d7e", "shasum": "" }, "require": { @@ -2783,7 +2783,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v7.1.1" + "source": "https://github.com/symfony/mailer/tree/v7.1.0" }, "funding": [ { @@ -2799,20 +2799,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-05-31T07:45:05+00:00" }, { "name": "symfony/mime", - "version": "v7.1.1", + "version": "v7.1.0", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "21027eaacc1a8a20f5e616c25c3580f5dd3a15df" + "reference": "92d6b9b1217eebff2035577db505b7e1435ca78c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/21027eaacc1a8a20f5e616c25c3580f5dd3a15df", - "reference": "21027eaacc1a8a20f5e616c25c3580f5dd3a15df", + "url": "https://api.github.com/repos/symfony/mime/zipball/92d6b9b1217eebff2035577db505b7e1435ca78c", + "reference": "92d6b9b1217eebff2035577db505b7e1435ca78c", "shasum": "" }, "require": { @@ -2825,7 +2825,7 @@ "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", "symfony/mailer": "<6.4", - "symfony/serializer": "<6.4.3|>7.0,<7.0.3" + "symfony/serializer": "<6.4" }, "require-dev": { "egulias/email-validator": "^2.1.10|^3.1|^4", @@ -2835,7 +2835,7 @@ "symfony/process": "^6.4|^7.0", "symfony/property-access": "^6.4|^7.0", "symfony/property-info": "^6.4|^7.0", - "symfony/serializer": "^6.4.3|^7.0.3" + "symfony/serializer": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -2867,7 +2867,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v7.1.1" + "source": "https://github.com/symfony/mime/tree/v7.1.0" }, "funding": [ { @@ -2883,7 +2883,7 @@ "type": "tidelift" } ], - "time": "2024-06-04T06:40:14+00:00" + "time": "2024-05-29T15:16:11+00:00" }, { "name": "symfony/polyfill-ctype", @@ -3453,16 +3453,16 @@ }, { "name": "symfony/process", - "version": "v7.1.1", + "version": "v7.1.0", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "febf90124323a093c7ee06fdb30e765ca3c20028" + "reference": "56c8a1ea51eb70003fee94a78c7d6d0f44832ce7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/febf90124323a093c7ee06fdb30e765ca3c20028", - "reference": "febf90124323a093c7ee06fdb30e765ca3c20028", + "url": "https://api.github.com/repos/symfony/process/zipball/56c8a1ea51eb70003fee94a78c7d6d0f44832ce7", + "reference": "56c8a1ea51eb70003fee94a78c7d6d0f44832ce7", "shasum": "" }, "require": { @@ -3494,7 +3494,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v7.1.1" + "source": "https://github.com/symfony/process/tree/v7.1.0" }, "funding": [ { @@ -3510,20 +3510,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-05-17T10:55:18+00:00" }, { "name": "symfony/psr-http-message-bridge", - "version": "v7.1.1", + "version": "v7.1.0", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "9a5dbb606da711f5d40a7596ad577856f9402140" + "reference": "db9f8f3077068f1fbcdd84c428241dc0f7bd87fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/9a5dbb606da711f5d40a7596ad577856f9402140", - "reference": "9a5dbb606da711f5d40a7596ad577856f9402140", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/db9f8f3077068f1fbcdd84c428241dc0f7bd87fb", + "reference": "db9f8f3077068f1fbcdd84c428241dc0f7bd87fb", "shasum": "" }, "require": { @@ -3577,7 +3577,7 @@ "psr-7" ], "support": { - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.1.1" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.1.0" }, "funding": [ { @@ -3593,20 +3593,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/routing", - "version": "v7.1.1", + "version": "v7.1.0", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "60c31bab5c45af7f13091b87deb708830f3c96c0" + "reference": "0ec2f36fbd769467f98c9c02cea1b76ed117115d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/60c31bab5c45af7f13091b87deb708830f3c96c0", - "reference": "60c31bab5c45af7f13091b87deb708830f3c96c0", + "url": "https://api.github.com/repos/symfony/routing/zipball/0ec2f36fbd769467f98c9c02cea1b76ed117115d", + "reference": "0ec2f36fbd769467f98c9c02cea1b76ed117115d", "shasum": "" }, "require": { @@ -3658,7 +3658,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v7.1.1" + "source": "https://github.com/symfony/routing/tree/v7.1.0" }, "funding": [ { @@ -3674,20 +3674,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-05-28T06:54:05+00:00" }, { "name": "symfony/serializer", - "version": "v7.1.1", + "version": "v7.1.0", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "74817ee48e37cce1a1b33c66ffdb750e7e048c3c" + "reference": "972eb05320d06d07399b71b05e6da9032c865f1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/74817ee48e37cce1a1b33c66ffdb750e7e048c3c", - "reference": "74817ee48e37cce1a1b33c66ffdb750e7e048c3c", + "url": "https://api.github.com/repos/symfony/serializer/zipball/972eb05320d06d07399b71b05e6da9032c865f1d", + "reference": "972eb05320d06d07399b71b05e6da9032c865f1d", "shasum": "" }, "require": { @@ -3755,7 +3755,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/v7.1.1" + "source": "https://github.com/symfony/serializer/tree/v7.1.0" }, "funding": [ { @@ -3771,7 +3771,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-05-21T15:59:31+00:00" }, { "name": "symfony/service-contracts", @@ -3858,16 +3858,16 @@ }, { "name": "symfony/string", - "version": "v7.1.1", + "version": "v7.1.0", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "60bc311c74e0af215101235aa6f471bcbc032df2" + "reference": "6f41b185e742737917e6f2e3eca37767fba5f17a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/60bc311c74e0af215101235aa6f471bcbc032df2", - "reference": "60bc311c74e0af215101235aa6f471bcbc032df2", + "url": "https://api.github.com/repos/symfony/string/zipball/6f41b185e742737917e6f2e3eca37767fba5f17a", + "reference": "6f41b185e742737917e6f2e3eca37767fba5f17a", "shasum": "" }, "require": { @@ -3925,7 +3925,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.1.1" + "source": "https://github.com/symfony/string/tree/v7.1.0" }, "funding": [ { @@ -3941,7 +3941,7 @@ "type": "tidelift" } ], - "time": "2024-06-04T06:40:14+00:00" + "time": "2024-05-17T10:55:18+00:00" }, { "name": "symfony/translation-contracts", @@ -4023,16 +4023,16 @@ }, { "name": "symfony/validator", - "version": "v7.1.1", + "version": "v7.1.0", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "fcab7598968b21c361becc930fcae8846638c4c0" + "reference": "ffcc8c56502f6adaeaf6307aef5b98b53a8d0326" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/fcab7598968b21c361becc930fcae8846638c4c0", - "reference": "fcab7598968b21c361becc930fcae8846638c4c0", + "url": "https://api.github.com/repos/symfony/validator/zipball/ffcc8c56502f6adaeaf6307aef5b98b53a8d0326", + "reference": "ffcc8c56502f6adaeaf6307aef5b98b53a8d0326", "shasum": "" }, "require": { @@ -4079,8 +4079,7 @@ "Symfony\\Component\\Validator\\": "" }, "exclude-from-classmap": [ - "/Tests/", - "/Resources/bin/" + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -4100,7 +4099,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v7.1.1" + "source": "https://github.com/symfony/validator/tree/v7.1.0" }, "funding": [ { @@ -4116,20 +4115,20 @@ "type": "tidelift" } ], - "time": "2024-06-04T05:58:56+00:00" + "time": "2024-05-21T15:59:31+00:00" }, { "name": "symfony/var-dumper", - "version": "v7.1.1", + "version": "v7.1.0", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "deb2c2b506ff6fdbb340e00b34e9901e1605f293" + "reference": "595e4a4bc2118e7f4884315a684678b9403d44a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/deb2c2b506ff6fdbb340e00b34e9901e1605f293", - "reference": "deb2c2b506ff6fdbb340e00b34e9901e1605f293", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/595e4a4bc2118e7f4884315a684678b9403d44a6", + "reference": "595e4a4bc2118e7f4884315a684678b9403d44a6", "shasum": "" }, "require": { @@ -4183,7 +4182,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.1.1" + "source": "https://github.com/symfony/var-dumper/tree/v7.1.0" }, "funding": [ { @@ -4199,20 +4198,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-05-28T06:54:05+00:00" }, { "name": "symfony/var-exporter", - "version": "v7.1.1", + "version": "v7.1.0", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "db82c2b73b88734557cfc30e3270d83fa651b712" + "reference": "353688d70dcd43e8f7a5cc13b9afba49d4946c39" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/db82c2b73b88734557cfc30e3270d83fa651b712", - "reference": "db82c2b73b88734557cfc30e3270d83fa651b712", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/353688d70dcd43e8f7a5cc13b9afba49d4946c39", + "reference": "353688d70dcd43e8f7a5cc13b9afba49d4946c39", "shasum": "" }, "require": { @@ -4259,7 +4258,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v7.1.1" + "source": "https://github.com/symfony/var-exporter/tree/v7.1.0" }, "funding": [ { @@ -4275,20 +4274,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-05-22T10:14:54+00:00" }, { "name": "symfony/yaml", - "version": "v7.1.1", + "version": "v7.1.0", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "fa34c77015aa6720469db7003567b9f772492bf2" + "reference": "c5f718c94e3c37dd77b77484e6cf0b524b2d405e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/fa34c77015aa6720469db7003567b9f772492bf2", - "reference": "fa34c77015aa6720469db7003567b9f772492bf2", + "url": "https://api.github.com/repos/symfony/yaml/zipball/c5f718c94e3c37dd77b77484e6cf0b524b2d405e", + "reference": "c5f718c94e3c37dd77b77484e6cf0b524b2d405e", "shasum": "" }, "require": { @@ -4330,7 +4329,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v7.1.1" + "source": "https://github.com/symfony/yaml/tree/v7.1.0" }, "funding": [ { @@ -4346,20 +4345,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-04-28T18:29:00+00:00" }, { "name": "twig/twig", - "version": "v3.10.3", + "version": "v3.10.2", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "67f29781ffafa520b0bbfbd8384674b42db04572" + "reference": "7aaed0b8311a557cc8c4047a71fd03153a00e755" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/67f29781ffafa520b0bbfbd8384674b42db04572", - "reference": "67f29781ffafa520b0bbfbd8384674b42db04572", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/7aaed0b8311a557cc8c4047a71fd03153a00e755", + "reference": "7aaed0b8311a557cc8c4047a71fd03153a00e755", "shasum": "" }, "require": { @@ -4413,7 +4412,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.10.3" + "source": "https://github.com/twigphp/Twig/tree/v3.10.2" }, "funding": [ { @@ -4425,7 +4424,7 @@ "type": "tidelift" } ], - "time": "2024-05-16T10:04:27+00:00" + "time": "2024-05-14T06:04:16+00:00" } ], "packages-dev": [ @@ -4720,16 +4719,16 @@ }, { "name": "composer/class-map-generator", - "version": "1.3.2", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/composer/class-map-generator.git", - "reference": "acd227952154850d0bb7d65caa4f9edf9cd806a7" + "reference": "8286a62d243312ed99b3eee20d5005c961adb311" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/class-map-generator/zipball/acd227952154850d0bb7d65caa4f9edf9cd806a7", - "reference": "acd227952154850d0bb7d65caa4f9edf9cd806a7", + "url": "https://api.github.com/repos/composer/class-map-generator/zipball/8286a62d243312ed99b3eee20d5005c961adb311", + "reference": "8286a62d243312ed99b3eee20d5005c961adb311", "shasum": "" }, "require": { @@ -4773,7 +4772,7 @@ ], "support": { "issues": "https://github.com/composer/class-map-generator/issues", - "source": "https://github.com/composer/class-map-generator/tree/1.3.2" + "source": "https://github.com/composer/class-map-generator/tree/1.1.1" }, "funding": [ { @@ -4789,7 +4788,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T19:45:56+00:00" + "time": "2024-03-15T12:53:41+00:00" }, { "name": "composer/composer", @@ -4976,16 +4975,16 @@ }, { "name": "composer/pcre", - "version": "3.1.4", + "version": "3.1.3", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "04229f163664973f68f38f6f73d917799168ef24" + "reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/04229f163664973f68f38f6f73d917799168ef24", - "reference": "04229f163664973f68f38f6f73d917799168ef24", + "url": "https://api.github.com/repos/composer/pcre/zipball/5b16e25a5355f1f3afdfc2f954a0a80aec4826a8", + "reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8", "shasum": "" }, "require": { @@ -5027,7 +5026,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.1.4" + "source": "https://github.com/composer/pcre/tree/3.1.3" }, "funding": [ { @@ -5043,7 +5042,7 @@ "type": "tidelift" } ], - "time": "2024-05-27T13:40:54+00:00" + "time": "2024-03-19T10:26:25+00:00" }, { "name": "composer/spdx-licenses", @@ -6764,16 +6763,16 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "5.4.1", + "version": "5.4.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "9d07b3f7fdcf5efec5d1609cba3c19c5ea2bdc9c" + "reference": "298d2febfe79d03fe714eb871d5538da55205b1a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/9d07b3f7fdcf5efec5d1609cba3c19c5ea2bdc9c", - "reference": "9d07b3f7fdcf5efec5d1609cba3c19c5ea2bdc9c", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/298d2febfe79d03fe714eb871d5538da55205b1a", + "reference": "298d2febfe79d03fe714eb871d5538da55205b1a", "shasum": "" }, "require": { @@ -6822,9 +6821,9 @@ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "support": { "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.4.1" + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.4.0" }, - "time": "2024-05-21T05:55:05+00:00" + "time": "2024-04-09T21:13:58+00:00" }, { "name": "phpdocumentor/type-resolver", @@ -7051,16 +7050,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.29.1", + "version": "1.29.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "fcaefacf2d5c417e928405b71b400d4ce10daaf4" + "reference": "536889f2b340489d328f5ffb7b02bb6b183ddedc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/fcaefacf2d5c417e928405b71b400d4ce10daaf4", - "reference": "fcaefacf2d5c417e928405b71b400d4ce10daaf4", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/536889f2b340489d328f5ffb7b02bb6b183ddedc", + "reference": "536889f2b340489d328f5ffb7b02bb6b183ddedc", "shasum": "" }, "require": { @@ -7092,22 +7091,22 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.29.1" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.29.0" }, - "time": "2024-05-31T08:52:43+00:00" + "time": "2024-05-06T12:04:23+00:00" }, { "name": "phpstan/phpstan", - "version": "1.11.3", + "version": "1.11.1", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "e64220a05c1209fc856d58e789c3b7a32c0bb9a5" + "reference": "e524358f930e41a2b4cca1320e3b04fc26b39e0b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e64220a05c1209fc856d58e789c3b7a32c0bb9a5", - "reference": "e64220a05c1209fc856d58e789c3b7a32c0bb9a5", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e524358f930e41a2b4cca1320e3b04fc26b39e0b", + "reference": "e524358f930e41a2b4cca1320e3b04fc26b39e0b", "shasum": "" }, "require": { @@ -7152,7 +7151,7 @@ "type": "github" } ], - "time": "2024-05-31T13:53:37+00:00" + "time": "2024-05-15T08:00:59+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", @@ -7677,16 +7676,16 @@ }, { "name": "react/promise", - "version": "v3.2.0", + "version": "v3.1.0", "source": { "type": "git", "url": "https://github.com/reactphp/promise.git", - "reference": "8a164643313c71354582dc850b42b33fa12a4b63" + "reference": "e563d55d1641de1dea9f5e84f3cccc66d2bfe02c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise/zipball/8a164643313c71354582dc850b42b33fa12a4b63", - "reference": "8a164643313c71354582dc850b42b33fa12a4b63", + "url": "https://api.github.com/repos/reactphp/promise/zipball/e563d55d1641de1dea9f5e84f3cccc66d2bfe02c", + "reference": "e563d55d1641de1dea9f5e84f3cccc66d2bfe02c", "shasum": "" }, "require": { @@ -7738,7 +7737,7 @@ ], "support": { "issues": "https://github.com/reactphp/promise/issues", - "source": "https://github.com/reactphp/promise/tree/v3.2.0" + "source": "https://github.com/reactphp/promise/tree/v3.1.0" }, "funding": [ { @@ -7746,7 +7745,7 @@ "type": "open_collective" } ], - "time": "2024-05-24T10:39:05+00:00" + "time": "2023-11-16T16:21:57+00:00" }, { "name": "sebastian/cli-parser", @@ -8895,16 +8894,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.10.1", + "version": "3.9.2", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "8f90f7a53ce271935282967f53d0894f8f1ff877" + "reference": "aac1f6f347a5c5ac6bc98ad395007df00990f480" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/8f90f7a53ce271935282967f53d0894f8f1ff877", - "reference": "8f90f7a53ce271935282967f53d0894f8f1ff877", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/aac1f6f347a5c5ac6bc98ad395007df00990f480", + "reference": "aac1f6f347a5c5ac6bc98ad395007df00990f480", "shasum": "" }, "require": { @@ -8971,20 +8970,20 @@ "type": "open_collective" } ], - "time": "2024-05-22T21:24:41+00:00" + "time": "2024-04-23T20:25:34+00:00" }, { "name": "symfony/browser-kit", - "version": "v7.1.1", + "version": "v7.1.0", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "9c13742e3175b5815e272b981876ae329bec2040" + "reference": "8b10797d3158deaaf1edd84588d0ed33ca95eb08" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/9c13742e3175b5815e272b981876ae329bec2040", - "reference": "9c13742e3175b5815e272b981876ae329bec2040", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/8b10797d3158deaaf1edd84588d0ed33ca95eb08", + "reference": "8b10797d3158deaaf1edd84588d0ed33ca95eb08", "shasum": "" }, "require": { @@ -9023,7 +9022,7 @@ "description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/browser-kit/tree/v7.1.1" + "source": "https://github.com/symfony/browser-kit/tree/v7.1.0" }, "funding": [ { @@ -9039,20 +9038,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/css-selector", - "version": "v7.1.1", + "version": "v7.1.0", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4" + "reference": "843f2f7ac5e4c5bf0ec77daef23ca6d4d8922adc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/1c7cee86c6f812896af54434f8ce29c8d94f9ff4", - "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/843f2f7ac5e4c5bf0ec77daef23ca6d4d8922adc", + "reference": "843f2f7ac5e4c5bf0ec77daef23ca6d4d8922adc", "shasum": "" }, "require": { @@ -9088,7 +9087,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v7.1.1" + "source": "https://github.com/symfony/css-selector/tree/v7.1.0" }, "funding": [ { @@ -9104,20 +9103,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/dom-crawler", - "version": "v7.1.1", + "version": "v7.1.0", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "01ce8174447f1f1dd33a5854b01beef79061d9fa" + "reference": "fc26d2e4472df45340e8b8fb43cb708d468eaa84" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/01ce8174447f1f1dd33a5854b01beef79061d9fa", - "reference": "01ce8174447f1f1dd33a5854b01beef79061d9fa", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/fc26d2e4472df45340e8b8fb43cb708d468eaa84", + "reference": "fc26d2e4472df45340e8b8fb43cb708d468eaa84", "shasum": "" }, "require": { @@ -9155,7 +9154,7 @@ "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v7.1.1" + "source": "https://github.com/symfony/dom-crawler/tree/v7.1.0" }, "funding": [ { @@ -9171,20 +9170,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/lock", - "version": "v7.1.1", + "version": "v7.1.0", "source": { "type": "git", "url": "https://github.com/symfony/lock.git", - "reference": "1f8c941f1270dee046e09a826bcdd3b2ebada45e" + "reference": "464cf94dc2d4d11a1426ff1a6b97326b3ab63e05" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/lock/zipball/1f8c941f1270dee046e09a826bcdd3b2ebada45e", - "reference": "1f8c941f1270dee046e09a826bcdd3b2ebada45e", + "url": "https://api.github.com/repos/symfony/lock/zipball/464cf94dc2d4d11a1426ff1a6b97326b3ab63e05", + "reference": "464cf94dc2d4d11a1426ff1a6b97326b3ab63e05", "shasum": "" }, "require": { @@ -9233,7 +9232,7 @@ "semaphore" ], "support": { - "source": "https://github.com/symfony/lock/tree/v7.1.1" + "source": "https://github.com/symfony/lock/tree/v7.1.0" }, "funding": [ { @@ -9249,7 +9248,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-05-02T08:41:59+00:00" }, { "name": "theseer/tokenizer", diff --git a/composer/Metapackage/CoreRecommended/composer.json b/composer/Metapackage/CoreRecommended/composer.json index 7d4b7835d62f..3732b7fa3edd 100644 --- a/composer/Metapackage/CoreRecommended/composer.json +++ b/composer/Metapackage/CoreRecommended/composer.json @@ -31,18 +31,18 @@ "psr/log": "~3.0.0", "ralouphie/getallheaders": "~3.0.3", "sebastian/diff": "~5.1.1", - "symfony/console": "~v7.1.1", - "symfony/dependency-injection": "~v7.1.1", + "symfony/console": "~v7.1.0", + "symfony/dependency-injection": "~v7.1.0", "symfony/deprecation-contracts": "~v3.5.0", - "symfony/error-handler": "~v7.1.1", - "symfony/event-dispatcher": "~v7.1.1", + "symfony/error-handler": "~v7.1.0", + "symfony/event-dispatcher": "~v7.1.0", "symfony/event-dispatcher-contracts": "~v3.5.0", - "symfony/filesystem": "~v7.1.1", - "symfony/finder": "~v7.1.1", - "symfony/http-foundation": "~v7.1.1", - "symfony/http-kernel": "~v7.1.1", - "symfony/mailer": "~v7.1.1", - "symfony/mime": "~v7.1.1", + "symfony/filesystem": "~v7.1.0", + "symfony/finder": "~v7.1.0", + "symfony/http-foundation": "~v7.1.0", + "symfony/http-kernel": "~v7.1.0", + "symfony/mailer": "~v7.1.0", + "symfony/mime": "~v7.1.0", "symfony/polyfill-ctype": "~v1.29.0", "symfony/polyfill-iconv": "~v1.29.0", "symfony/polyfill-intl-grapheme": "~v1.29.0", @@ -50,17 +50,17 @@ "symfony/polyfill-intl-idn": "~v1.29.0", "symfony/polyfill-intl-normalizer": "~v1.29.0", "symfony/polyfill-mbstring": "~v1.29.0", - "symfony/process": "~v7.1.1", - "symfony/psr-http-message-bridge": "~v7.1.1", - "symfony/routing": "~v7.1.1", - "symfony/serializer": "~v7.1.1", + "symfony/process": "~v7.1.0", + "symfony/psr-http-message-bridge": "~v7.1.0", + "symfony/routing": "~v7.1.0", + "symfony/serializer": "~v7.1.0", "symfony/service-contracts": "~v3.5.0", - "symfony/string": "~v7.1.1", + "symfony/string": "~v7.1.0", "symfony/translation-contracts": "~v3.5.0", - "symfony/validator": "~v7.1.1", - "symfony/var-dumper": "~v7.1.1", - "symfony/var-exporter": "~v7.1.1", - "symfony/yaml": "~v7.1.1", - "twig/twig": "~v3.10.3" + "symfony/validator": "~v7.1.0", + "symfony/var-dumper": "~v7.1.0", + "symfony/var-exporter": "~v7.1.0", + "symfony/yaml": "~v7.1.0", + "twig/twig": "~v3.10.2" } } diff --git a/composer/Metapackage/PinnedDevDependencies/composer.json b/composer/Metapackage/PinnedDevDependencies/composer.json index 6731e7093131..ab770f4a2527 100644 --- a/composer/Metapackage/PinnedDevDependencies/composer.json +++ b/composer/Metapackage/PinnedDevDependencies/composer.json @@ -12,10 +12,10 @@ "behat/mink-browserkit-driver": "v2.2.0", "colinodell/psr-testlogger": "v1.3.0", "composer/ca-bundle": "1.5.0", - "composer/class-map-generator": "1.3.2", + "composer/class-map-generator": "1.1.1", "composer/composer": "2.7.6", "composer/metadata-minifier": "1.0.0", - "composer/pcre": "3.1.4", + "composer/pcre": "3.1.3", "composer/spdx-licenses": "1.5.8", "composer/xdebug-handler": "3.0.5", "dealerdirect/phpcodesniffer-composer-installer": "v1.0.0", @@ -43,13 +43,13 @@ "php-http/httplug": "2.4.0", "php-http/promise": "1.3.1", "phpdocumentor/reflection-common": "2.2.0", - "phpdocumentor/reflection-docblock": "5.4.1", + "phpdocumentor/reflection-docblock": "5.4.0", "phpdocumentor/type-resolver": "1.8.2", "phpspec/prophecy": "v1.19.0", "phpspec/prophecy-phpunit": "v2.2.0", "phpstan/extension-installer": "1.3.1", - "phpstan/phpdoc-parser": "1.29.1", - "phpstan/phpstan": "1.11.3", + "phpstan/phpdoc-parser": "1.29.0", + "phpstan/phpstan": "1.11.1", "phpstan/phpstan-deprecation-rules": "1.2.0", "phpstan/phpstan-phpunit": "1.4.0", "phpunit/php-code-coverage": "10.1.14", @@ -58,7 +58,7 @@ "phpunit/php-text-template": "3.0.1", "phpunit/php-timer": "6.0.0", "phpunit/phpunit": "10.5.20", - "react/promise": "v3.2.0", + "react/promise": "v3.1.0", "sebastian/cli-parser": "2.0.1", "sebastian/code-unit": "2.0.0", "sebastian/code-unit-reverse-lookup": "3.0.0", @@ -78,11 +78,11 @@ "seld/signal-handler": "2.0.2", "sirbrillig/phpcs-variable-analysis": "v2.11.18", "slevomat/coding-standard": "8.15.0", - "squizlabs/php_codesniffer": "3.10.1", - "symfony/browser-kit": "v7.1.1", - "symfony/css-selector": "v7.1.1", - "symfony/dom-crawler": "v7.1.1", - "symfony/lock": "v7.1.1", + "squizlabs/php_codesniffer": "3.9.2", + "symfony/browser-kit": "v7.1.0", + "symfony/css-selector": "v7.1.0", + "symfony/dom-crawler": "v7.1.0", + "symfony/lock": "v7.1.0", "theseer/tokenizer": "1.2.3", "webflo/drupal-finder": "1.3.0", "webmozart/assert": "1.11.0" diff --git a/core/tests/PHPStan/composer.json b/core/tests/PHPStan/composer.json index c3b2a8a9bd76..61b2d3b5cb9b 100644 --- a/core/tests/PHPStan/composer.json +++ b/core/tests/PHPStan/composer.json @@ -3,7 +3,7 @@ "description": "Tests Drupal core's PHPStan rules", "require-dev": { "phpunit/phpunit": "^9", - "phpstan/phpstan": "1.11.3" + "phpstan/phpstan": "1.11.1" }, "license": "GPL-2.0-or-later", "autoload": { -- GitLab From 5d2d069a908e30cd57411237d652eb0f73231d77 Mon Sep 17 00:00:00 2001 From: Stefan Leitner <s.leitner@comunique.com> Date: Wed, 10 Jul 2024 16:58:20 +0200 Subject: [PATCH 17/73] Issue #2265487 by sleitner, Tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- composer.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/composer.lock b/composer.lock index 7b558c5f13e6..190b2b8949e9 100644 --- a/composer.lock +++ b/composer.lock @@ -3125,16 +3125,16 @@ }, { "name": "symfony/polyfill-intl-icu", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-icu.git", - "reference": "07094a28851a49107f3ab4f9120ca2975a64b6e1" + "reference": "e76343c631b453088e2260ac41dfebe21954de81" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/07094a28851a49107f3ab4f9120ca2975a64b6e1", - "reference": "07094a28851a49107f3ab4f9120ca2975a64b6e1", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/e76343c631b453088e2260ac41dfebe21954de81", + "reference": "e76343c631b453088e2260ac41dfebe21954de81", "shasum": "" }, "require": { @@ -3189,7 +3189,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.30.0" }, "funding": [ { @@ -3205,7 +3205,7 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:12:16+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-intl-idn", -- GitLab From 5fac19f3876cb3e21beb73478ad352de80c81af5 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Mon, 21 Oct 2024 23:58:49 +0200 Subject: [PATCH 18/73] Merge branch '11.x' of https://git.drupalcode.org/project/drupal into 2265487-configentity-based-lists --- composer.lock | 485 ++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 375 insertions(+), 110 deletions(-) diff --git a/composer.lock b/composer.lock index c08c47c56df7..c491d6432bba 100644 --- a/composer.lock +++ b/composer.lock @@ -496,7 +496,7 @@ "dist": { "type": "path", "url": "core", - "reference": "946773df28ad729a17c4002a6b5740a746b6deb5" + "reference": "976c18dc6a4d0679f56d13e4dc8e3328b9c8d85e" }, "require": { "asm89/stack-cors": "^2.1", @@ -916,16 +916,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": { @@ -979,7 +979,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": [ { @@ -995,7 +995,7 @@ "type": "tidelift" } ], - "time": "2024-07-18T10:29:17+00:00" + "time": "2024-10-17T10:06:22+00:00" }, { "name": "guzzlehttp/psr7", @@ -2026,16 +2026,16 @@ }, { "name": "symfony/dependency-injection", - "version": "v7.1.3", + "version": "v7.1.5", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "8126f0be4ff984e4db0140e60917900a53facb49" + "reference": "38465f925ec4e0707b090e9147c65869837d639d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/8126f0be4ff984e4db0140e60917900a53facb49", - "reference": "8126f0be4ff984e4db0140e60917900a53facb49", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/38465f925ec4e0707b090e9147c65869837d639d", + "reference": "38465f925ec4e0707b090e9147c65869837d639d", "shasum": "" }, "require": { @@ -2086,7 +2086,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/v7.1.3" + "source": "https://github.com/symfony/dependency-injection/tree/v7.1.5" }, "funding": [ { @@ -2102,7 +2102,7 @@ "type": "tidelift" } ], - "time": "2024-07-26T07:35:39+00:00" + "time": "2024-09-20T08:28:38+00:00" }, { "name": "symfony/deprecation-contracts", @@ -2534,16 +2534,16 @@ }, { "name": "symfony/http-foundation", - "version": "v7.1.3", + "version": "v7.1.5", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "f602d5c17d1fa02f8019ace2687d9d136b7f4a1a" + "reference": "e30ef73b1e44eea7eb37ba69600a354e553f694b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f602d5c17d1fa02f8019ace2687d9d136b7f4a1a", - "reference": "f602d5c17d1fa02f8019ace2687d9d136b7f4a1a", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/e30ef73b1e44eea7eb37ba69600a354e553f694b", + "reference": "e30ef73b1e44eea7eb37ba69600a354e553f694b", "shasum": "" }, "require": { @@ -2591,7 +2591,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v7.1.3" + "source": "https://github.com/symfony/http-foundation/tree/v7.1.5" }, "funding": [ { @@ -2607,20 +2607,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:41:01+00:00" + "time": "2024-09-20T08:28:38+00:00" }, { "name": "symfony/http-kernel", - "version": "v7.1.3", + "version": "v7.1.5", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "db9702f3a04cc471ec8c70e881825db26ac5f186" + "reference": "44204d96150a9df1fc57601ec933d23fefc2d65b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/db9702f3a04cc471ec8c70e881825db26ac5f186", - "reference": "db9702f3a04cc471ec8c70e881825db26ac5f186", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/44204d96150a9df1fc57601ec933d23fefc2d65b", + "reference": "44204d96150a9df1fc57601ec933d23fefc2d65b", "shasum": "" }, "require": { @@ -2705,7 +2705,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/v7.1.3" + "source": "https://github.com/symfony/http-kernel/tree/v7.1.5" }, "funding": [ { @@ -2721,7 +2721,7 @@ "type": "tidelift" } ], - "time": "2024-07-26T14:58:15+00:00" + "time": "2024-09-21T06:09:21+00:00" }, { "name": "symfony/mailer", @@ -3124,6 +3124,90 @@ ], "time": "2024-09-09T11:45:10+00:00" }, + { + "name": "symfony/polyfill-intl-icu", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-icu.git", + "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78", + "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance and support of other locales than \"en\"" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Icu\\": "" + }, + "classmap": [ + "Resources/stubs" + ], + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's ICU-related data and classes", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "icu", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, { "name": "symfony/polyfill-intl-idn", "version": "v1.31.0", @@ -3431,16 +3515,16 @@ }, { "name": "symfony/psr-http-message-bridge", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "1365d10f5476f74a27cf9c2d1eee70c069019db0" + "reference": "405a7bcd872f1563966f64be19f1362d94ce71ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/1365d10f5476f74a27cf9c2d1eee70c069019db0", - "reference": "1365d10f5476f74a27cf9c2d1eee70c069019db0", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/405a7bcd872f1563966f64be19f1362d94ce71ab", + "reference": "405a7bcd872f1563966f64be19f1362d94ce71ab", "shasum": "" }, "require": { @@ -3494,7 +3578,7 @@ "psr-7" ], "support": { - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.1.3" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.1.4" }, "funding": [ { @@ -3510,20 +3594,20 @@ "type": "tidelift" } ], - "time": "2024-07-17T06:10:24+00:00" + "time": "2024-08-15T22:48:53+00:00" }, { "name": "symfony/routing", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "8a908a3f22d5a1b5d297578c2ceb41b02fa916d0" + "reference": "1500aee0094a3ce1c92626ed8cf3c2037e86f5a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/8a908a3f22d5a1b5d297578c2ceb41b02fa916d0", - "reference": "8a908a3f22d5a1b5d297578c2ceb41b02fa916d0", + "url": "https://api.github.com/repos/symfony/routing/zipball/1500aee0094a3ce1c92626ed8cf3c2037e86f5a7", + "reference": "1500aee0094a3ce1c92626ed8cf3c2037e86f5a7", "shasum": "" }, "require": { @@ -3575,7 +3659,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v7.1.3" + "source": "https://github.com/symfony/routing/tree/v7.1.4" }, "funding": [ { @@ -3591,20 +3675,20 @@ "type": "tidelift" } ], - "time": "2024-07-17T06:10:24+00:00" + "time": "2024-08-29T08:16:25+00:00" }, { "name": "symfony/serializer", - "version": "v7.1.3", + "version": "v7.1.5", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "0d5ddac365fbfffc30ca9bc944ad3eb9b3763c09" + "reference": "71d6e1f70f00752d1469d0f5e83b0a51716f288b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/0d5ddac365fbfffc30ca9bc944ad3eb9b3763c09", - "reference": "0d5ddac365fbfffc30ca9bc944ad3eb9b3763c09", + "url": "https://api.github.com/repos/symfony/serializer/zipball/71d6e1f70f00752d1469d0f5e83b0a51716f288b", + "reference": "71d6e1f70f00752d1469d0f5e83b0a51716f288b", "shasum": "" }, "require": { @@ -3674,7 +3758,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/v7.1.3" + "source": "https://github.com/symfony/serializer/tree/v7.1.5" }, "funding": [ { @@ -3690,7 +3774,7 @@ "type": "tidelift" } ], - "time": "2024-07-17T06:10:24+00:00" + "time": "2024-09-20T12:13:15+00:00" }, { "name": "symfony/service-contracts", @@ -3942,16 +4026,16 @@ }, { "name": "symfony/validator", - "version": "v7.1.3", + "version": "v7.1.5", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "ba711a6cfc008544dad059abb3c1d997f1472237" + "reference": "e57592782dc2a86997477f28164c51af53512ad8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/ba711a6cfc008544dad059abb3c1d997f1472237", - "reference": "ba711a6cfc008544dad059abb3c1d997f1472237", + "url": "https://api.github.com/repos/symfony/validator/zipball/e57592782dc2a86997477f28164c51af53512ad8", + "reference": "e57592782dc2a86997477f28164c51af53512ad8", "shasum": "" }, "require": { @@ -4019,7 +4103,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v7.1.3" + "source": "https://github.com/symfony/validator/tree/v7.1.5" }, "funding": [ { @@ -4035,20 +4119,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:41:01+00:00" + "time": "2024-09-20T08:28:38+00:00" }, { "name": "symfony/var-dumper", - "version": "v7.1.3", + "version": "v7.1.5", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "86af4617cca75a6e28598f49ae0690f3b9d4591f" + "reference": "e20e03889539fd4e4211e14d2179226c513c010d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/86af4617cca75a6e28598f49ae0690f3b9d4591f", - "reference": "86af4617cca75a6e28598f49ae0690f3b9d4591f", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/e20e03889539fd4e4211e14d2179226c513c010d", + "reference": "e20e03889539fd4e4211e14d2179226c513c010d", "shasum": "" }, "require": { @@ -4102,7 +4186,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.1.3" + "source": "https://github.com/symfony/var-dumper/tree/v7.1.5" }, "funding": [ { @@ -4118,7 +4202,7 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:41:01+00:00" + "time": "2024-09-16T10:07:02+00:00" }, { "name": "symfony/var-exporter", @@ -5379,16 +5463,16 @@ }, { "name": "google/protobuf", - "version": "v3.25.4", + "version": "v3.25.5", "source": { "type": "git", "url": "https://github.com/protocolbuffers/protobuf-php.git", - "reference": "749f6c8e99a7fe51d096c2db656a4af9a46a6b5e" + "reference": "dd2cf3f7b577dced3851c2ea76c3daa9f8aa0ff4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/749f6c8e99a7fe51d096c2db656a4af9a46a6b5e", - "reference": "749f6c8e99a7fe51d096c2db656a4af9a46a6b5e", + "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/dd2cf3f7b577dced3851c2ea76c3daa9f8aa0ff4", + "reference": "dd2cf3f7b577dced3851c2ea76c3daa9f8aa0ff4", "shasum": "" }, "require": { @@ -5417,9 +5501,9 @@ "proto" ], "support": { - "source": "https://github.com/protocolbuffers/protobuf-php/tree/v3.25.4" + "source": "https://github.com/protocolbuffers/protobuf-php/tree/v3.25.5" }, - "time": "2024-07-24T17:10:25+00:00" + "time": "2024-09-18T22:04:15+00:00" }, { "name": "justinrainbow/json-schema", @@ -5488,23 +5572,23 @@ }, { "name": "lullabot/mink-selenium2-driver", - "version": "v1.7.3", + "version": "v1.7.4", "source": { "type": "git", "url": "https://github.com/Lullabot/MinkSelenium2Driver.git", - "reference": "91445897dda062790a741003c9c85d9bb2f902cf" + "reference": "145fe8ed1fb611be7409b70d609f71b0285f4724" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Lullabot/MinkSelenium2Driver/zipball/91445897dda062790a741003c9c85d9bb2f902cf", - "reference": "91445897dda062790a741003c9c85d9bb2f902cf", + "url": "https://api.github.com/repos/Lullabot/MinkSelenium2Driver/zipball/145fe8ed1fb611be7409b70d609f71b0285f4724", + "reference": "145fe8ed1fb611be7409b70d609f71b0285f4724", "shasum": "" }, "require": { "behat/mink": "^1.11@dev", "ext-json": "*", - "lullabot/php-webdriver": "^2.0.5", - "php": ">=7.2" + "lullabot/php-webdriver": "^2.0.6", + "php": ">=8.1" }, "replace": { "behat/mink-selenium2-driver": "1.7.0" @@ -5554,22 +5638,22 @@ "webdriver" ], "support": { - "source": "https://github.com/Lullabot/MinkSelenium2Driver/tree/v1.7.3" + "source": "https://github.com/Lullabot/MinkSelenium2Driver/tree/v1.7.4" }, - "time": "2024-07-17T16:07:12+00:00" + "time": "2024-08-08T07:40:04+00:00" }, { "name": "lullabot/php-webdriver", - "version": "v2.0.5", + "version": "v2.0.6", "source": { "type": "git", "url": "https://github.com/Lullabot/php-webdriver.git", - "reference": "b686c5fe74ae4f3d5f7ff6e45234d99562de9ff4" + "reference": "8c28db7151b8a73bd98861fe19972ac3f40184d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Lullabot/php-webdriver/zipball/b686c5fe74ae4f3d5f7ff6e45234d99562de9ff4", - "reference": "b686c5fe74ae4f3d5f7ff6e45234d99562de9ff4", + "url": "https://api.github.com/repos/Lullabot/php-webdriver/zipball/8c28db7151b8a73bd98861fe19972ac3f40184d2", + "reference": "8c28db7151b8a73bd98861fe19972ac3f40184d2", "shasum": "" }, "require": { @@ -5602,22 +5686,22 @@ ], "support": { "issues": "https://github.com/Lullabot/php-webdriver/issues", - "source": "https://github.com/Lullabot/php-webdriver/tree/v2.0.5" + "source": "https://github.com/Lullabot/php-webdriver/tree/v2.0.6" }, - "time": "2024-07-17T15:21:54+00:00" + "time": "2024-08-05T13:00:46+00:00" }, { "name": "mglaman/phpstan-drupal", - "version": "1.2.12", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/mglaman/phpstan-drupal.git", - "reference": "346bdddda169a56b6ebb7dc17893f0ac8f33a4f1" + "reference": "2bc25a59b53c8f3990f168efd71241d9c25ea0c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mglaman/phpstan-drupal/zipball/346bdddda169a56b6ebb7dc17893f0ac8f33a4f1", - "reference": "346bdddda169a56b6ebb7dc17893f0ac8f33a4f1", + "url": "https://api.github.com/repos/mglaman/phpstan-drupal/zipball/2bc25a59b53c8f3990f168efd71241d9c25ea0c3", + "reference": "2bc25a59b53c8f3990f168efd71241d9c25ea0c3", "shasum": "" }, "require": { @@ -5692,7 +5776,7 @@ "description": "Drupal extension and rules for PHPStan", "support": { "issues": "https://github.com/mglaman/phpstan-drupal/issues", - "source": "https://github.com/mglaman/phpstan-drupal/tree/1.2.12" + "source": "https://github.com/mglaman/phpstan-drupal/tree/1.3.1" }, "funding": [ { @@ -5708,7 +5792,7 @@ "type": "tidelift" } ], - "time": "2024-08-07T21:15:21+00:00" + "time": "2024-09-27T08:54:16+00:00" }, { "name": "micheh/phpcs-gitlab", @@ -6346,16 +6430,16 @@ }, { "name": "open-telemetry/sem-conv", - "version": "1.27.0", + "version": "1.27.1", "source": { "type": "git", "url": "https://github.com/opentelemetry-php/sem-conv.git", - "reference": "04685638c98df03419b6683aa1b2646877687c4b" + "reference": "1dba705fea74bc0718d04be26090e3697e56f4e6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opentelemetry-php/sem-conv/zipball/04685638c98df03419b6683aa1b2646877687c4b", - "reference": "04685638c98df03419b6683aa1b2646877687c4b", + "url": "https://api.github.com/repos/opentelemetry-php/sem-conv/zipball/1dba705fea74bc0718d04be26090e3697e56f4e6", + "reference": "1dba705fea74bc0718d04be26090e3697e56f4e6", "shasum": "" }, "require": { @@ -6399,7 +6483,7 @@ "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", "source": "https://github.com/open-telemetry/opentelemetry-php" }, - "time": "2024-08-06T15:17:39+00:00" + "time": "2024-08-28T09:20:31+00:00" }, { "name": "phar-io/manifest", @@ -7162,16 +7246,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.12.4", + "version": "1.12.7", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "ffa517cb918591b93acc9b95c0bebdcd0e4538bd" + "reference": "dc2b9976bd8b0f84ec9b0e50cc35378551de7af0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/ffa517cb918591b93acc9b95c0bebdcd0e4538bd", - "reference": "ffa517cb918591b93acc9b95c0bebdcd0e4538bd", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/dc2b9976bd8b0f84ec9b0e50cc35378551de7af0", + "reference": "dc2b9976bd8b0f84ec9b0e50cc35378551de7af0", "shasum": "" }, "require": { @@ -7216,7 +7300,7 @@ "type": "github" } ], - "time": "2024-09-19T07:58:01+00:00" + "time": "2024-10-18T11:12:07+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", @@ -7640,16 +7724,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.35", + "version": "10.5.37", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "7ac8b4e63f456046dcb4c9787da9382831a1874b" + "reference": "c7cffa0efa2b70c22366523e6d804c9419eb2400" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/7ac8b4e63f456046dcb4c9787da9382831a1874b", - "reference": "7ac8b4e63f456046dcb4c9787da9382831a1874b", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c7cffa0efa2b70c22366523e6d804c9419eb2400", + "reference": "c7cffa0efa2b70c22366523e6d804c9419eb2400", "shasum": "" }, "require": { @@ -7670,7 +7754,7 @@ "phpunit/php-timer": "^6.0.0", "sebastian/cli-parser": "^2.0.1", "sebastian/code-unit": "^2.0.0", - "sebastian/comparator": "^5.0.2", + "sebastian/comparator": "^5.0.3", "sebastian/diff": "^5.1.1", "sebastian/environment": "^6.1.0", "sebastian/exporter": "^5.1.2", @@ -7721,7 +7805,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.35" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.37" }, "funding": [ { @@ -7737,7 +7821,188 @@ "type": "tidelift" } ], - "time": "2024-09-19T10:52:21+00:00" + "time": "2024-10-19T13:03:41+00:00" + }, + { + "name": "ramsey/collection", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/ramsey/collection.git", + "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", + "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "captainhook/plugin-composer": "^5.3", + "ergebnis/composer-normalize": "^2.28.3", + "fakerphp/faker": "^1.21", + "hamcrest/hamcrest-php": "^2.0", + "jangregor/phpstan-prophecy": "^1.0", + "mockery/mockery": "^1.5", + "php-parallel-lint/php-console-highlighter": "^1.0", + "php-parallel-lint/php-parallel-lint": "^1.3", + "phpcsstandards/phpcsutils": "^1.0.0-rc1", + "phpspec/prophecy-phpunit": "^2.0", + "phpstan/extension-installer": "^1.2", + "phpstan/phpstan": "^1.9", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^9.5", + "psalm/plugin-mockery": "^1.1", + "psalm/plugin-phpunit": "^0.18.4", + "ramsey/coding-standard": "^2.0.3", + "ramsey/conventional-commits": "^1.3", + "vimeo/psalm": "^5.4" + }, + "type": "library", + "extra": { + "captainhook": { + "force-install": true + }, + "ramsey/conventional-commits": { + "configFile": "conventional-commits.json" + } + }, + "autoload": { + "psr-4": { + "Ramsey\\Collection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "A PHP library for representing and manipulating collections.", + "keywords": [ + "array", + "collection", + "hash", + "map", + "queue", + "set" + ], + "support": { + "issues": "https://github.com/ramsey/collection/issues", + "source": "https://github.com/ramsey/collection/tree/2.0.0" + }, + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", + "type": "tidelift" + } + ], + "time": "2022-12-31T21:50:55+00:00" + }, + { + "name": "ramsey/uuid", + "version": "4.7.6", + "source": { + "type": "git", + "url": "https://github.com/ramsey/uuid.git", + "reference": "91039bc1faa45ba123c4328958e620d382ec7088" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/91039bc1faa45ba123c4328958e620d382ec7088", + "reference": "91039bc1faa45ba123c4328958e620d382ec7088", + "shasum": "" + }, + "require": { + "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12", + "ext-json": "*", + "php": "^8.0", + "ramsey/collection": "^1.2 || ^2.0" + }, + "replace": { + "rhumsaa/uuid": "self.version" + }, + "require-dev": { + "captainhook/captainhook": "^5.10", + "captainhook/plugin-composer": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "doctrine/annotations": "^1.8", + "ergebnis/composer-normalize": "^2.15", + "mockery/mockery": "^1.3", + "paragonie/random-lib": "^2", + "php-mock/php-mock": "^2.2", + "php-mock/php-mock-mockery": "^1.3", + "php-parallel-lint/php-parallel-lint": "^1.1", + "phpbench/phpbench": "^1.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-phpunit": "^1.1", + "phpunit/phpunit": "^8.5 || ^9", + "ramsey/composer-repl": "^1.4", + "slevomat/coding-standard": "^8.4", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.9" + }, + "suggest": { + "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", + "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", + "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", + "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." + }, + "type": "library", + "extra": { + "captainhook": { + "force-install": true + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Ramsey\\Uuid\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", + "keywords": [ + "guid", + "identifier", + "uuid" + ], + "support": { + "issues": "https://github.com/ramsey/uuid/issues", + "source": "https://github.com/ramsey/uuid/tree/4.7.6" + }, + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", + "type": "tidelift" + } + ], + "time": "2024-04-27T21:32:50+00:00" }, { "name": "react/promise", @@ -7982,16 +8247,16 @@ }, { "name": "sebastian/comparator", - "version": "5.0.2", + "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2d3e04c3b4c1e84a5e7382221ad8883c8fbc4f53" + "reference": "a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2d3e04c3b4c1e84a5e7382221ad8883c8fbc4f53", - "reference": "2d3e04c3b4c1e84a5e7382221ad8883c8fbc4f53", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e", + "reference": "a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e", "shasum": "" }, "require": { @@ -8002,7 +8267,7 @@ "sebastian/exporter": "^5.0" }, "require-dev": { - "phpunit/phpunit": "^10.4" + "phpunit/phpunit": "^10.5" }, "type": "library", "extra": { @@ -8047,7 +8312,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.2" + "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.3" }, "funding": [ { @@ -8055,7 +8320,7 @@ "type": "github" } ], - "time": "2024-08-12T06:03:08+00:00" + "time": "2024-10-18T14:56:07+00:00" }, { "name": "sebastian/complexity", @@ -8959,16 +9224,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.10.2", + "version": "3.10.3", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "86e5f5dd9a840c46810ebe5ff1885581c42a3017" + "reference": "62d32998e820bddc40f99f8251958aed187a5c9c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/86e5f5dd9a840c46810ebe5ff1885581c42a3017", - "reference": "86e5f5dd9a840c46810ebe5ff1885581c42a3017", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/62d32998e820bddc40f99f8251958aed187a5c9c", + "reference": "62d32998e820bddc40f99f8251958aed187a5c9c", "shasum": "" }, "require": { @@ -9035,7 +9300,7 @@ "type": "open_collective" } ], - "time": "2024-07-21T23:26:44+00:00" + "time": "2024-09-18T10:38:58+00:00" }, { "name": "symfony/browser-kit", -- GitLab From 9c09e931197ed09418e4bf946e65fa2daf0dfb60 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Tue, 22 Oct 2024 00:04:41 +0200 Subject: [PATCH 19/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- .../Drupal/Core/Config/Entity/ConfigEntityBase.php | 11 +++++++++-- .../Core/Config/Entity/ConfigEntityListBuilder.php | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php index 7ee4dab80853..fe321af1fd6b 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php @@ -104,6 +104,13 @@ abstract class ConfigEntityBase extends EntityBase implements ConfigEntityInterf * @var bool */ protected $trustedData = FALSE; + + /** + * Sort collator. + * + * @var \Collator + */ + protected $sortCollator; /** * {@inheritdoc} @@ -117,6 +124,7 @@ public function __construct(array $values, $entity_type) { if ($original_id !== NULL && $original_id !== '') { $this->setOriginalId($original_id); } + self::$sortCollator = \Collator::create('en'); } /** @@ -241,8 +249,7 @@ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) if ($a_weight == $b_weight) { $a_label = $a->label() ?? ''; $b_label = $b->label() ?? ''; - $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); - return $collator->compare($a_label, $b_label); + return self::$sortCollator->compare($a_label, $b_label); } return $a_weight <=> $b_weight; } diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php index 33c98a2857c8..988cc5f38aaf 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php @@ -28,6 +28,7 @@ public function load() { // Sort the entities using the entity class's sort() method. // See \Drupal\Core\Config\Entity\ConfigEntityBase::sort(). + $this->entityType->getClass()::$sortCollator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); uasort($entities, [$this->entityType->getClass(), 'sort']); return $entities; } -- GitLab From 1716930c9f2182fbfdf56ed98cf05734177c2523 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Tue, 22 Oct 2024 00:35:32 +0200 Subject: [PATCH 20/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- .../Metapackage/CoreRecommended/composer.json | 32 ++++++------ .../PinnedDevDependencies/composer.json | 49 ++++++++++--------- 2 files changed, 43 insertions(+), 38 deletions(-) diff --git a/composer/Metapackage/CoreRecommended/composer.json b/composer/Metapackage/CoreRecommended/composer.json index f081ec43b514..7511f3842b05 100644 --- a/composer/Metapackage/CoreRecommended/composer.json +++ b/composer/Metapackage/CoreRecommended/composer.json @@ -10,12 +10,12 @@ "drupal/core": "11.x-dev", "asm89/stack-cors": "~v2.2.0", "composer/semver": "~3.4.3", - "doctrine/annotations": "~2.0.1", + "doctrine/annotations": "~2.0.2", "doctrine/deprecations": "~1.1.3", "doctrine/lexer": "~2.1.1", "egulias/email-validator": "~4.0.2", "guzzlehttp/guzzle": "~7.9.2", - "guzzlehttp/promises": "~2.0.3", + "guzzlehttp/promises": "~2.0.4", "guzzlehttp/psr7": "~2.7.0", "masterminds/html5": "~2.9.0", "mck89/peast": "~v1.16.3", @@ -32,35 +32,35 @@ "ralouphie/getallheaders": "~3.0.3", "sebastian/diff": "~5.1.1", "symfony/console": "~v7.1.5", - "symfony/dependency-injection": "~v7.1.3", + "symfony/dependency-injection": "~v7.1.5", "symfony/deprecation-contracts": "~v3.5.0", "symfony/error-handler": "~v7.1.3", "symfony/event-dispatcher": "~v7.1.1", "symfony/event-dispatcher-contracts": "~v3.5.0", "symfony/filesystem": "~v7.1.5", "symfony/finder": "~v7.1.4", - "symfony/http-foundation": "~v7.1.3", - "symfony/http-kernel": "~v7.1.3", - "symfony/mailer": "~v7.1.2", - "symfony/mime": "~v7.1.2", + "symfony/http-foundation": "~v7.1.5", + "symfony/http-kernel": "~v7.1.5", + "symfony/mailer": "~v7.1.5", + "symfony/mime": "~v7.1.5", "symfony/polyfill-ctype": "~v1.31.0", - "symfony/polyfill-iconv": "~v1.30.0", + "symfony/polyfill-iconv": "~v1.31.0", "symfony/polyfill-intl-grapheme": "~v1.31.0", - "symfony/polyfill-intl-icu": "~v1.30.0", - "symfony/polyfill-intl-idn": "~v1.30.0", + "symfony/polyfill-intl-icu": "~v1.31.0", + "symfony/polyfill-intl-idn": "~v1.31.0", "symfony/polyfill-intl-normalizer": "~v1.31.0", "symfony/polyfill-mbstring": "~v1.31.0", "symfony/process": "~v7.1.5", - "symfony/psr-http-message-bridge": "~v7.1.3", - "symfony/routing": "~v7.1.3", - "symfony/serializer": "~v7.1.3", + "symfony/psr-http-message-bridge": "~v7.1.4", + "symfony/routing": "~v7.1.4", + "symfony/serializer": "~v7.1.5", "symfony/service-contracts": "~v3.5.0", "symfony/string": "~v7.1.5", "symfony/translation-contracts": "~v3.5.0", - "symfony/validator": "~v7.1.3", - "symfony/var-dumper": "~v7.1.3", + "symfony/validator": "~v7.1.5", + "symfony/var-dumper": "~v7.1.5", "symfony/var-exporter": "~v7.1.2", - "symfony/yaml": "~v7.1.1", + "symfony/yaml": "~v7.1.5", "twig/twig": "~v3.14.0" } } diff --git a/composer/Metapackage/PinnedDevDependencies/composer.json b/composer/Metapackage/PinnedDevDependencies/composer.json index 407893f919ad..03536ab52247 100644 --- a/composer/Metapackage/PinnedDevDependencies/composer.json +++ b/composer/Metapackage/PinnedDevDependencies/composer.json @@ -10,6 +10,7 @@ "drupal/core": "11.x-dev", "behat/mink": "v1.11.0", "behat/mink-browserkit-driver": "v2.2.0", + "brick/math": "0.12.1", "colinodell/psr-testlogger": "v1.3.0", "composer/ca-bundle": "1.5.2", "composer/class-map-generator": "1.4.0", @@ -20,49 +21,52 @@ "composer/xdebug-handler": "3.0.5", "dealerdirect/phpcodesniffer-composer-installer": "v1.0.0", "doctrine/instantiator": "2.0.0", - "drupal/coder": "8.3.24", - "google/protobuf": "v3.25.4", + "drupal/coder": "8.3.25", + "google/protobuf": "v3.25.5", "justinrainbow/json-schema": "5.3.0", - "lullabot/mink-selenium2-driver": "v1.7.3", - "lullabot/php-webdriver": "v2.0.5", - "mglaman/phpstan-drupal": "1.2.12", + "lullabot/mink-selenium2-driver": "v1.7.4", + "lullabot/php-webdriver": "v2.0.6", + "mglaman/phpstan-drupal": "1.3.1", "micheh/phpcs-gitlab": "1.1.0", "mikey179/vfsstream": "v1.6.12", "myclabs/deep-copy": "1.12.0", - "nikic/php-parser": "v5.1.0", - "open-telemetry/api": "1.0.3", - "open-telemetry/context": "1.0.2", - "open-telemetry/exporter-otlp": "1.0.4", - "open-telemetry/gen-otlp-protobuf": "1.1.0", - "open-telemetry/sdk": "1.0.8", - "open-telemetry/sem-conv": "1.27.0", + "nikic/php-parser": "v5.3.1", + "nyholm/psr7-server": "1.1.0", + "open-telemetry/api": "1.1.1", + "open-telemetry/context": "1.1.0", + "open-telemetry/exporter-otlp": "1.1.0", + "open-telemetry/gen-otlp-protobuf": "1.2.0", + "open-telemetry/sdk": "1.1.1", + "open-telemetry/sem-conv": "1.27.1", "phar-io/manifest": "2.0.4", "phar-io/version": "3.2.1", - "php-http/discovery": "1.19.4", + "php-http/discovery": "1.20.0", "php-http/guzzle7-adapter": "1.0.0", - "php-http/httplug": "2.4.0", + "php-http/httplug": "2.4.1", "php-http/promise": "1.3.1", "phpdocumentor/reflection-common": "2.2.0", "phpdocumentor/reflection-docblock": "5.4.1", "phpdocumentor/type-resolver": "1.8.2", "phpspec/prophecy": "v1.19.0", "phpspec/prophecy-phpunit": "v2.2.0", - "phpstan/extension-installer": "1.4.1", - "phpstan/phpdoc-parser": "1.29.1", - "phpstan/phpstan": "1.12.4", - "phpstan/phpstan-deprecation-rules": "1.2.0", + "phpstan/extension-installer": "1.4.3", + "phpstan/phpdoc-parser": "1.33.0", + "phpstan/phpstan": "1.12.7", + "phpstan/phpstan-deprecation-rules": "1.2.1", "phpstan/phpstan-phpunit": "1.4.0", "phpunit/php-code-coverage": "10.1.16", "phpunit/php-file-iterator": "4.1.0", "phpunit/php-invoker": "4.0.0", "phpunit/php-text-template": "3.0.1", "phpunit/php-timer": "6.0.0", - "phpunit/phpunit": "10.5.35", + "phpunit/phpunit": "10.5.37", + "ramsey/collection": "2.0.0", + "ramsey/uuid": "4.7.6", "react/promise": "v3.2.0", "sebastian/cli-parser": "2.0.1", "sebastian/code-unit": "2.0.0", "sebastian/code-unit-reverse-lookup": "3.0.0", - "sebastian/comparator": "5.0.2", + "sebastian/comparator": "5.0.3", "sebastian/complexity": "3.2.0", "sebastian/environment": "6.1.0", "sebastian/exporter": "5.1.2", @@ -78,11 +82,12 @@ "seld/signal-handler": "2.0.2", "sirbrillig/phpcs-variable-analysis": "v2.11.19", "slevomat/coding-standard": "8.15.0", - "squizlabs/php_codesniffer": "3.10.2", + "squizlabs/php_codesniffer": "3.10.3", "symfony/browser-kit": "v7.1.1", "symfony/css-selector": "v7.1.1", - "symfony/dom-crawler": "v7.1.1", + "symfony/dom-crawler": "v7.1.5", "symfony/lock": "v7.1.1", + "tbachert/spi": "v1.0.2", "theseer/tokenizer": "1.2.3", "webflo/drupal-finder": "1.3.1", "webmozart/assert": "1.11.0" -- GitLab From b268347ef3d4c61e189c00eb79f572feead9bd15 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Tue, 22 Oct 2024 00:38:22 +0200 Subject: [PATCH 21/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php | 2 +- core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php index fe321af1fd6b..9f639924a9fe 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php @@ -104,7 +104,7 @@ abstract class ConfigEntityBase extends EntityBase implements ConfigEntityInterf * @var bool */ protected $trustedData = FALSE; - + /** * Sort collator. * diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php index 988cc5f38aaf..0beae1f8f563 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php @@ -28,7 +28,7 @@ public function load() { // Sort the entities using the entity class's sort() method. // See \Drupal\Core\Config\Entity\ConfigEntityBase::sort(). - $this->entityType->getClass()::$sortCollator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); + $this->entityType->getClass()::$sortCollator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); uasort($entities, [$this->entityType->getClass(), 'sort']); return $entities; } -- GitLab From 2799f6bf924eeb594e0eafdabab5211006bc119e Mon Sep 17 00:00:00 2001 From: sleitner <38752-sleitner@users.noreply.drupalcode.org> Date: Tue, 22 Oct 2024 15:55:02 +0000 Subject: [PATCH 22/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- .../Core/Config/Entity/ConfigEntityBase.php | 31 ++++++++++++++++++- .../Config/Entity/ConfigEntityListBuilder.php | 7 ++--- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php index 9f639924a9fe..6b120ad79589 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php @@ -8,6 +8,7 @@ use Drupal\Core\Config\Schema\SchemaIncompleteException; use Drupal\Core\Entity\EntityBase; use Drupal\Core\Config\ConfigDuplicateUUIDException; +use Drupal\Core\Entity\EntityInterface; use Drupal\Core\Entity\EntityStorageInterface; use Drupal\Core\Entity\EntityTypeInterface; use Drupal\Core\Entity\EntityWithPluginCollectionInterface; @@ -240,8 +241,35 @@ public function createDuplicate() { return $duplicate; } + /** + * Sorts entities using collator. + */ + public static function sortEntities(EntityInterface[] $entities, \Collator $collator) { + uasort($entities, function($a, $b) use ($collator) { + return self::compare($a, $b, $collator); + }); + return $entities; + } + + /** + * Helper callback for uasort() to compare configuration entities by weight and label. + */ + public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $b, \Collator $collator) { + $a_weight = $a->weight ?? 0; + $b_weight = $b->weight ?? 0; + if ($a_weight == $b_weight) { + $a_label = $a->label() ?? ''; + $b_label = $b->label() ?? ''; + return $collator->compare($a_label, $b_label); + } + return $a_weight <=> $b_weight; + } + /** * Helper callback for uasort() to sort configuration entities by weight and label. + * + * @deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use + * \Drupal\Core\Config\Entity\ConfigEntityBase::sortEntities() instead. */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { $a_weight = $a->weight ?? 0; @@ -249,11 +277,12 @@ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) if ($a_weight == $b_weight) { $a_label = $a->label() ?? ''; $b_label = $b->label() ?? ''; - return self::$sortCollator->compare($a_label, $b_label); + return strnatcasecmp($a_label, $b_label); } return $a_weight <=> $b_weight; } + /** * {@inheritdoc} */ diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php index 0beae1f8f563..e82d4a2df81c 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php @@ -26,10 +26,9 @@ public function load() { $entity_ids = $this->getEntityIds(); $entities = $this->storage->loadMultipleOverrideFree($entity_ids); - // Sort the entities using the entity class's sort() method. - // See \Drupal\Core\Config\Entity\ConfigEntityBase::sort(). - $this->entityType->getClass()::$sortCollator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); - uasort($entities, [$this->entityType->getClass(), 'sort']); + // Sort the entities using the entity class's sortEntities() method. + $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId()): + $entities = $this->entityType->getClass()::sortEntities($entities, $collator); return $entities; } -- GitLab From d9fbdc75290c091a9d6d2688536277fb5999e5d2 Mon Sep 17 00:00:00 2001 From: sleitner <38752-sleitner@users.noreply.drupalcode.org> Date: Tue, 22 Oct 2024 15:57:58 +0000 Subject: [PATCH 23/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php | 8 -------- 1 file changed, 8 deletions(-) diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php index 6b120ad79589..9d73d6a5fce1 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php @@ -106,13 +106,6 @@ abstract class ConfigEntityBase extends EntityBase implements ConfigEntityInterf */ protected $trustedData = FALSE; - /** - * Sort collator. - * - * @var \Collator - */ - protected $sortCollator; - /** * {@inheritdoc} */ @@ -125,7 +118,6 @@ public function __construct(array $values, $entity_type) { if ($original_id !== NULL && $original_id !== '') { $this->setOriginalId($original_id); } - self::$sortCollator = \Collator::create('en'); } /** -- GitLab From 04d4ebc34d176bc9dbad98d5f39b06c86354e1c3 Mon Sep 17 00:00:00 2001 From: sleitner <38752-sleitner@users.noreply.drupalcode.org> Date: Tue, 22 Oct 2024 16:08:34 +0000 Subject: [PATCH 24/73] https://www.drupal.org/project/drupal/issues/2265487 --- core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php index 9d73d6a5fce1..7f261014a6bb 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php @@ -236,8 +236,8 @@ public function createDuplicate() { /** * Sorts entities using collator. */ - public static function sortEntities(EntityInterface[] $entities, \Collator $collator) { - uasort($entities, function($a, $b) use ($collator) { + public static function sortEntities(array $entities, \Collator $collator) { + uasort($entities, function ($a, $b) use ($collator) { return self::compare($a, $b, $collator); }); return $entities; @@ -262,6 +262,8 @@ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $ * * @deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use * \Drupal\Core\Config\Entity\ConfigEntityBase::sortEntities() instead. + * + * @see https://www.drupal.org/project/drupal/issues/2265487 */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { $a_weight = $a->weight ?? 0; @@ -274,7 +276,6 @@ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) return $a_weight <=> $b_weight; } - /** * {@inheritdoc} */ -- GitLab From a4977fc3a01306b769075f79a8267040b4d343e3 Mon Sep 17 00:00:00 2001 From: sleitner <38752-sleitner@users.noreply.drupalcode.org> Date: Tue, 22 Oct 2024 16:11:28 +0000 Subject: [PATCH 25/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php index 7f261014a6bb..1ab7aa3887bd 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php @@ -8,7 +8,6 @@ use Drupal\Core\Config\Schema\SchemaIncompleteException; use Drupal\Core\Entity\EntityBase; use Drupal\Core\Config\ConfigDuplicateUUIDException; -use Drupal\Core\Entity\EntityInterface; use Drupal\Core\Entity\EntityStorageInterface; use Drupal\Core\Entity\EntityTypeInterface; use Drupal\Core\Entity\EntityWithPluginCollectionInterface; @@ -259,10 +258,10 @@ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $ /** * Helper callback for uasort() to sort configuration entities by weight and label. - * + * * @deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use * \Drupal\Core\Config\Entity\ConfigEntityBase::sortEntities() instead. - * + * * @see https://www.drupal.org/project/drupal/issues/2265487 */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { -- GitLab From 8756ed5b098223bda8d756678012a94c80d5efd2 Mon Sep 17 00:00:00 2001 From: sleitner <38752-sleitner@users.noreply.drupalcode.org> Date: Tue, 22 Oct 2024 16:18:31 +0000 Subject: [PATCH 26/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php index e82d4a2df81c..5b914e7c1fb0 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php @@ -27,7 +27,7 @@ public function load() { $entities = $this->storage->loadMultipleOverrideFree($entity_ids); // Sort the entities using the entity class's sortEntities() method. - $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId()): + $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId()); $entities = $this->entityType->getClass()::sortEntities($entities, $collator); return $entities; } -- GitLab From 43cb367b9ed5c583919372833eb53b3ad741220c Mon Sep 17 00:00:00 2001 From: sleitner <38752-sleitner@users.noreply.drupalcode.org> Date: Tue, 22 Oct 2024 16:27:41 +0000 Subject: [PATCH 27/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php index 5b914e7c1fb0..43d505ddb2c5 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php @@ -27,7 +27,7 @@ public function load() { $entities = $this->storage->loadMultipleOverrideFree($entity_ids); // Sort the entities using the entity class's sortEntities() method. - $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId()); + $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); $entities = $this->entityType->getClass()::sortEntities($entities, $collator); return $entities; } -- GitLab From ba7d91e78e0f47e630645d9c4d5192ed506d1b33 Mon Sep 17 00:00:00 2001 From: sleitner <38752-sleitner@users.noreply.drupalcode.org> Date: Tue, 22 Oct 2024 16:34:51 +0000 Subject: [PATCH 28/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php index 1ab7aa3887bd..3b84ea44db3d 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php @@ -235,7 +235,7 @@ public function createDuplicate() { /** * Sorts entities using collator. */ - public static function sortEntities(array $entities, \Collator $collator) { + public static function sortEntities(array $entities, \Collator $collator): array { uasort($entities, function ($a, $b) use ($collator) { return self::compare($a, $b, $collator); }); @@ -245,7 +245,7 @@ public static function sortEntities(array $entities, \Collator $collator) { /** * Helper callback for uasort() to compare configuration entities by weight and label. */ - public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $b, \Collator $collator) { + public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $b, \Collator $collator): int { $a_weight = $a->weight ?? 0; $b_weight = $b->weight ?? 0; if ($a_weight == $b_weight) { -- GitLab From 7081f732f050d30ea2aa39d59ea6aab3e9626db5 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Tue, 22 Oct 2024 20:22:23 +0200 Subject: [PATCH 29/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- composer.lock | 950 +++++------------- .../Metapackage/CoreRecommended/composer.json | 31 +- .../PinnedDevDependencies/composer.json | 49 +- 3 files changed, 283 insertions(+), 747 deletions(-) diff --git a/composer.lock b/composer.lock index c491d6432bba..67a0723e42bf 100644 --- a/composer.lock +++ b/composer.lock @@ -291,16 +291,16 @@ }, { "name": "doctrine/annotations", - "version": "2.0.2", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "901c2ee5d26eb64ff43c47976e114bf00843acf7" + "reference": "e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/901c2ee5d26eb64ff43c47976e114bf00843acf7", - "reference": "901c2ee5d26eb64ff43c47976e114bf00843acf7", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f", + "reference": "e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f", "shasum": "" }, "require": { @@ -312,10 +312,10 @@ "require-dev": { "doctrine/cache": "^2.0", "doctrine/coding-standard": "^10", - "phpstan/phpstan": "^1.10.28", + "phpstan/phpstan": "^1.8.0", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "symfony/cache": "^5.4 || ^6.4 || ^7", - "vimeo/psalm": "^4.30 || ^5.14" + "symfony/cache": "^5.4 || ^6", + "vimeo/psalm": "^4.10" }, "suggest": { "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations" @@ -361,9 +361,9 @@ ], "support": { "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/2.0.2" + "source": "https://github.com/doctrine/annotations/tree/2.0.1" }, - "time": "2024-09-05T10:17:24+00:00" + "time": "2023-02-02T22:02:53+00:00" }, { "name": "doctrine/deprecations", @@ -496,7 +496,7 @@ "dist": { "type": "path", "url": "core", - "reference": "976c18dc6a4d0679f56d13e4dc8e3328b9c8d85e" + "reference": "946773df28ad729a17c4002a6b5740a746b6deb5" }, "require": { "asm89/stack-cors": "^2.1", @@ -537,7 +537,6 @@ "symfony/mailer": "^7.1", "symfony/mime": "^7.1", "symfony/polyfill-iconv": "^1.26", - "symfony/polyfill-intl-icu": "^1.26", "symfony/process": "^7.1", "symfony/psr-http-message-bridge": "^7.1", "symfony/routing": "^7.1", @@ -576,7 +575,6 @@ "drupal/core-version": "self.version" }, "suggest": { - "ext-intl": "Needed to extend symfony/polyfill-intl-icu capability with the sorting of non-english languages.", "ext-zip": "Needed to extend the plugin.manager.archiver service capability with the handling of files in the ZIP format." }, "type": "drupal-core", @@ -916,16 +914,16 @@ }, { "name": "guzzlehttp/promises", - "version": "2.0.4", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455" + "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/f9c436286ab2892c7db7be8c8da4ef61ccf7b455", - "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455", + "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", + "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", "shasum": "" }, "require": { @@ -979,7 +977,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.0.4" + "source": "https://github.com/guzzle/promises/tree/2.0.3" }, "funding": [ { @@ -995,7 +993,7 @@ "type": "tidelift" } ], - "time": "2024-10-17T10:06:22+00:00" + "time": "2024-07-18T10:29:17+00:00" }, { "name": "guzzlehttp/psr7", @@ -2026,16 +2024,16 @@ }, { "name": "symfony/dependency-injection", - "version": "v7.1.5", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "38465f925ec4e0707b090e9147c65869837d639d" + "reference": "8126f0be4ff984e4db0140e60917900a53facb49" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/38465f925ec4e0707b090e9147c65869837d639d", - "reference": "38465f925ec4e0707b090e9147c65869837d639d", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/8126f0be4ff984e4db0140e60917900a53facb49", + "reference": "8126f0be4ff984e4db0140e60917900a53facb49", "shasum": "" }, "require": { @@ -2086,7 +2084,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/v7.1.5" + "source": "https://github.com/symfony/dependency-injection/tree/v7.1.3" }, "funding": [ { @@ -2102,7 +2100,7 @@ "type": "tidelift" } ], - "time": "2024-09-20T08:28:38+00:00" + "time": "2024-07-26T07:35:39+00:00" }, { "name": "symfony/deprecation-contracts", @@ -2534,16 +2532,16 @@ }, { "name": "symfony/http-foundation", - "version": "v7.1.5", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "e30ef73b1e44eea7eb37ba69600a354e553f694b" + "reference": "f602d5c17d1fa02f8019ace2687d9d136b7f4a1a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/e30ef73b1e44eea7eb37ba69600a354e553f694b", - "reference": "e30ef73b1e44eea7eb37ba69600a354e553f694b", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f602d5c17d1fa02f8019ace2687d9d136b7f4a1a", + "reference": "f602d5c17d1fa02f8019ace2687d9d136b7f4a1a", "shasum": "" }, "require": { @@ -2591,7 +2589,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v7.1.5" + "source": "https://github.com/symfony/http-foundation/tree/v7.1.3" }, "funding": [ { @@ -2607,20 +2605,20 @@ "type": "tidelift" } ], - "time": "2024-09-20T08:28:38+00:00" + "time": "2024-07-26T12:41:01+00:00" }, { "name": "symfony/http-kernel", - "version": "v7.1.5", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "44204d96150a9df1fc57601ec933d23fefc2d65b" + "reference": "db9702f3a04cc471ec8c70e881825db26ac5f186" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/44204d96150a9df1fc57601ec933d23fefc2d65b", - "reference": "44204d96150a9df1fc57601ec933d23fefc2d65b", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/db9702f3a04cc471ec8c70e881825db26ac5f186", + "reference": "db9702f3a04cc471ec8c70e881825db26ac5f186", "shasum": "" }, "require": { @@ -2705,7 +2703,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/v7.1.5" + "source": "https://github.com/symfony/http-kernel/tree/v7.1.3" }, "funding": [ { @@ -2721,20 +2719,20 @@ "type": "tidelift" } ], - "time": "2024-09-21T06:09:21+00:00" + "time": "2024-07-26T14:58:15+00:00" }, { "name": "symfony/mailer", - "version": "v7.1.5", + "version": "v7.1.2", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "bbf21460c56f29810da3df3e206e38dfbb01e80b" + "reference": "8fcff0af9043c8f8a8e229437cea363e282f9aee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/bbf21460c56f29810da3df3e206e38dfbb01e80b", - "reference": "bbf21460c56f29810da3df3e206e38dfbb01e80b", + "url": "https://api.github.com/repos/symfony/mailer/zipball/8fcff0af9043c8f8a8e229437cea363e282f9aee", + "reference": "8fcff0af9043c8f8a8e229437cea363e282f9aee", "shasum": "" }, "require": { @@ -2785,7 +2783,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v7.1.5" + "source": "https://github.com/symfony/mailer/tree/v7.1.2" }, "funding": [ { @@ -2801,20 +2799,20 @@ "type": "tidelift" } ], - "time": "2024-09-08T12:32:26+00:00" + "time": "2024-06-28T08:00:31+00:00" }, { "name": "symfony/mime", - "version": "v7.1.5", + "version": "v7.1.2", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "711d2e167e8ce65b05aea6b258c449671cdd38ff" + "reference": "26a00b85477e69a4bab63b66c5dce64f18b0cbfc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/711d2e167e8ce65b05aea6b258c449671cdd38ff", - "reference": "711d2e167e8ce65b05aea6b258c449671cdd38ff", + "url": "https://api.github.com/repos/symfony/mime/zipball/26a00b85477e69a4bab63b66c5dce64f18b0cbfc", + "reference": "26a00b85477e69a4bab63b66c5dce64f18b0cbfc", "shasum": "" }, "require": { @@ -2869,7 +2867,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v7.1.5" + "source": "https://github.com/symfony/mime/tree/v7.1.2" }, "funding": [ { @@ -2885,7 +2883,7 @@ "type": "tidelift" } ], - "time": "2024-09-20T08:28:38+00:00" + "time": "2024-06-28T10:03:55+00:00" }, { "name": "symfony/polyfill-ctype", @@ -2968,20 +2966,20 @@ }, { "name": "symfony/polyfill-iconv", - "version": "v1.31.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "48becf00c920479ca2e910c22a5a39e5d47ca956" + "reference": "c027e6a3c6aee334663ec21f5852e89738abc805" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/48becf00c920479ca2e910c22a5a39e5d47ca956", - "reference": "48becf00c920479ca2e910c22a5a39e5d47ca956", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/c027e6a3c6aee334663ec21f5852e89738abc805", + "reference": "c027e6a3c6aee334663ec21f5852e89738abc805", "shasum": "" }, "require": { - "php": ">=7.2" + "php": ">=7.1" }, "provide": { "ext-iconv": "*" @@ -3028,7 +3026,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.30.0" }, "funding": [ { @@ -3044,7 +3042,7 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-intl-grapheme", @@ -3124,107 +3122,24 @@ ], "time": "2024-09-09T11:45:10+00:00" }, - { - "name": "symfony/polyfill-intl-icu", - "version": "v1.31.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-icu.git", - "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78", - "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "suggest": { - "ext-intl": "For best performance and support of other locales than \"en\"" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Icu\\": "" - }, - "classmap": [ - "Resources/stubs" - ], - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's ICU-related data and classes", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "icu", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.31.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" - }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.31.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773" + "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/c36586dcf89a12315939e00ec9b4474adcb1d773", - "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a6e83bdeb3c84391d1dfe16f42e40727ce524a5c", + "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c", "shasum": "" }, "require": { - "php": ">=7.2", - "symfony/polyfill-intl-normalizer": "^1.10" + "php": ">=7.1", + "symfony/polyfill-intl-normalizer": "^1.10", + "symfony/polyfill-php72": "^1.10" }, "suggest": { "ext-intl": "For best performance" @@ -3273,7 +3188,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.30.0" }, "funding": [ { @@ -3289,7 +3204,7 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-intl-normalizer", @@ -3515,16 +3430,16 @@ }, { "name": "symfony/psr-http-message-bridge", - "version": "v7.1.4", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "405a7bcd872f1563966f64be19f1362d94ce71ab" + "reference": "1365d10f5476f74a27cf9c2d1eee70c069019db0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/405a7bcd872f1563966f64be19f1362d94ce71ab", - "reference": "405a7bcd872f1563966f64be19f1362d94ce71ab", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/1365d10f5476f74a27cf9c2d1eee70c069019db0", + "reference": "1365d10f5476f74a27cf9c2d1eee70c069019db0", "shasum": "" }, "require": { @@ -3578,7 +3493,7 @@ "psr-7" ], "support": { - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.1.4" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.1.3" }, "funding": [ { @@ -3594,20 +3509,20 @@ "type": "tidelift" } ], - "time": "2024-08-15T22:48:53+00:00" + "time": "2024-07-17T06:10:24+00:00" }, { "name": "symfony/routing", - "version": "v7.1.4", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "1500aee0094a3ce1c92626ed8cf3c2037e86f5a7" + "reference": "8a908a3f22d5a1b5d297578c2ceb41b02fa916d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/1500aee0094a3ce1c92626ed8cf3c2037e86f5a7", - "reference": "1500aee0094a3ce1c92626ed8cf3c2037e86f5a7", + "url": "https://api.github.com/repos/symfony/routing/zipball/8a908a3f22d5a1b5d297578c2ceb41b02fa916d0", + "reference": "8a908a3f22d5a1b5d297578c2ceb41b02fa916d0", "shasum": "" }, "require": { @@ -3659,7 +3574,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v7.1.4" + "source": "https://github.com/symfony/routing/tree/v7.1.3" }, "funding": [ { @@ -3675,20 +3590,20 @@ "type": "tidelift" } ], - "time": "2024-08-29T08:16:25+00:00" + "time": "2024-07-17T06:10:24+00:00" }, { "name": "symfony/serializer", - "version": "v7.1.5", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "71d6e1f70f00752d1469d0f5e83b0a51716f288b" + "reference": "0d5ddac365fbfffc30ca9bc944ad3eb9b3763c09" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/71d6e1f70f00752d1469d0f5e83b0a51716f288b", - "reference": "71d6e1f70f00752d1469d0f5e83b0a51716f288b", + "url": "https://api.github.com/repos/symfony/serializer/zipball/0d5ddac365fbfffc30ca9bc944ad3eb9b3763c09", + "reference": "0d5ddac365fbfffc30ca9bc944ad3eb9b3763c09", "shasum": "" }, "require": { @@ -3702,14 +3617,12 @@ "symfony/dependency-injection": "<6.4", "symfony/property-access": "<6.4", "symfony/property-info": "<6.4", - "symfony/type-info": "<7.1.5", "symfony/uid": "<6.4", "symfony/validator": "<6.4", "symfony/yaml": "<6.4" }, "require-dev": { "phpdocumentor/reflection-docblock": "^3.2|^4.0|^5.0", - "phpstan/phpdoc-parser": "^1.0", "seld/jsonlint": "^1.10", "symfony/cache": "^6.4|^7.0", "symfony/config": "^6.4|^7.0", @@ -3725,7 +3638,7 @@ "symfony/property-access": "^6.4|^7.0", "symfony/property-info": "^6.4|^7.0", "symfony/translation-contracts": "^2.5|^3", - "symfony/type-info": "^7.1.5", + "symfony/type-info": "^7.1", "symfony/uid": "^6.4|^7.0", "symfony/validator": "^6.4|^7.0", "symfony/var-dumper": "^6.4|^7.0", @@ -3758,7 +3671,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/v7.1.5" + "source": "https://github.com/symfony/serializer/tree/v7.1.3" }, "funding": [ { @@ -3774,7 +3687,7 @@ "type": "tidelift" } ], - "time": "2024-09-20T12:13:15+00:00" + "time": "2024-07-17T06:10:24+00:00" }, { "name": "symfony/service-contracts", @@ -4026,16 +3939,16 @@ }, { "name": "symfony/validator", - "version": "v7.1.5", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "e57592782dc2a86997477f28164c51af53512ad8" + "reference": "ba711a6cfc008544dad059abb3c1d997f1472237" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/e57592782dc2a86997477f28164c51af53512ad8", - "reference": "e57592782dc2a86997477f28164c51af53512ad8", + "url": "https://api.github.com/repos/symfony/validator/zipball/ba711a6cfc008544dad059abb3c1d997f1472237", + "reference": "ba711a6cfc008544dad059abb3c1d997f1472237", "shasum": "" }, "require": { @@ -4103,7 +4016,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v7.1.5" + "source": "https://github.com/symfony/validator/tree/v7.1.3" }, "funding": [ { @@ -4119,20 +4032,20 @@ "type": "tidelift" } ], - "time": "2024-09-20T08:28:38+00:00" + "time": "2024-07-26T12:41:01+00:00" }, { "name": "symfony/var-dumper", - "version": "v7.1.5", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "e20e03889539fd4e4211e14d2179226c513c010d" + "reference": "86af4617cca75a6e28598f49ae0690f3b9d4591f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/e20e03889539fd4e4211e14d2179226c513c010d", - "reference": "e20e03889539fd4e4211e14d2179226c513c010d", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/86af4617cca75a6e28598f49ae0690f3b9d4591f", + "reference": "86af4617cca75a6e28598f49ae0690f3b9d4591f", "shasum": "" }, "require": { @@ -4186,7 +4099,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.1.5" + "source": "https://github.com/symfony/var-dumper/tree/v7.1.3" }, "funding": [ { @@ -4202,7 +4115,7 @@ "type": "tidelift" } ], - "time": "2024-09-16T10:07:02+00:00" + "time": "2024-07-26T12:41:01+00:00" }, { "name": "symfony/var-exporter", @@ -4282,16 +4195,16 @@ }, { "name": "symfony/yaml", - "version": "v7.1.5", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "4e561c316e135e053bd758bf3b3eb291d9919de4" + "reference": "fa34c77015aa6720469db7003567b9f772492bf2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/4e561c316e135e053bd758bf3b3eb291d9919de4", - "reference": "4e561c316e135e053bd758bf3b3eb291d9919de4", + "url": "https://api.github.com/repos/symfony/yaml/zipball/fa34c77015aa6720469db7003567b9f772492bf2", + "reference": "fa34c77015aa6720469db7003567b9f772492bf2", "shasum": "" }, "require": { @@ -4333,7 +4246,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v7.1.5" + "source": "https://github.com/symfony/yaml/tree/v7.1.1" }, "funding": [ { @@ -4349,7 +4262,7 @@ "type": "tidelift" } ], - "time": "2024-09-17T12:49:58+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { "name": "twig/twig", @@ -4566,66 +4479,6 @@ }, "time": "2023-12-09T11:30:50+00:00" }, - { - "name": "brick/math", - "version": "0.12.1", - "source": { - "type": "git", - "url": "https://github.com/brick/math.git", - "reference": "f510c0a40911935b77b86859eb5223d58d660df1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/f510c0a40911935b77b86859eb5223d58d660df1", - "reference": "f510c0a40911935b77b86859eb5223d58d660df1", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.2", - "phpunit/phpunit": "^10.1", - "vimeo/psalm": "5.16.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Brick\\Math\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Arbitrary-precision arithmetic library", - "keywords": [ - "Arbitrary-precision", - "BigInteger", - "BigRational", - "arithmetic", - "bigdecimal", - "bignum", - "bignumber", - "brick", - "decimal", - "integer", - "math", - "mathematics", - "rational" - ], - "support": { - "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.12.1" - }, - "funding": [ - { - "url": "https://github.com/BenMorel", - "type": "github" - } - ], - "time": "2023-11-29T23:19:16+00:00" - }, { "name": "colinodell/psr-testlogger", "version": "v1.3.0", @@ -5412,16 +5265,16 @@ }, { "name": "drupal/coder", - "version": "8.3.25", + "version": "8.3.24", "source": { "type": "git", "url": "https://github.com/pfrenssen/coder.git", - "reference": "c58e5a0c44c0010bbc8a91fc468f4667e177b976" + "reference": "1a59890f972db5da091354f0191dec1037f7c582" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pfrenssen/coder/zipball/c58e5a0c44c0010bbc8a91fc468f4667e177b976", - "reference": "c58e5a0c44c0010bbc8a91fc468f4667e177b976", + "url": "https://api.github.com/repos/pfrenssen/coder/zipball/1a59890f972db5da091354f0191dec1037f7c582", + "reference": "1a59890f972db5da091354f0191dec1037f7c582", "shasum": "" }, "require": { @@ -5459,20 +5312,20 @@ "issues": "https://www.drupal.org/project/issues/coder", "source": "https://www.drupal.org/project/coder" }, - "time": "2024-09-22T19:02:16+00:00" + "time": "2024-04-21T06:13:24+00:00" }, { "name": "google/protobuf", - "version": "v3.25.5", + "version": "v3.25.4", "source": { "type": "git", "url": "https://github.com/protocolbuffers/protobuf-php.git", - "reference": "dd2cf3f7b577dced3851c2ea76c3daa9f8aa0ff4" + "reference": "749f6c8e99a7fe51d096c2db656a4af9a46a6b5e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/dd2cf3f7b577dced3851c2ea76c3daa9f8aa0ff4", - "reference": "dd2cf3f7b577dced3851c2ea76c3daa9f8aa0ff4", + "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/749f6c8e99a7fe51d096c2db656a4af9a46a6b5e", + "reference": "749f6c8e99a7fe51d096c2db656a4af9a46a6b5e", "shasum": "" }, "require": { @@ -5501,9 +5354,9 @@ "proto" ], "support": { - "source": "https://github.com/protocolbuffers/protobuf-php/tree/v3.25.5" + "source": "https://github.com/protocolbuffers/protobuf-php/tree/v3.25.4" }, - "time": "2024-09-18T22:04:15+00:00" + "time": "2024-07-24T17:10:25+00:00" }, { "name": "justinrainbow/json-schema", @@ -5572,23 +5425,23 @@ }, { "name": "lullabot/mink-selenium2-driver", - "version": "v1.7.4", + "version": "v1.7.3", "source": { "type": "git", "url": "https://github.com/Lullabot/MinkSelenium2Driver.git", - "reference": "145fe8ed1fb611be7409b70d609f71b0285f4724" + "reference": "91445897dda062790a741003c9c85d9bb2f902cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Lullabot/MinkSelenium2Driver/zipball/145fe8ed1fb611be7409b70d609f71b0285f4724", - "reference": "145fe8ed1fb611be7409b70d609f71b0285f4724", + "url": "https://api.github.com/repos/Lullabot/MinkSelenium2Driver/zipball/91445897dda062790a741003c9c85d9bb2f902cf", + "reference": "91445897dda062790a741003c9c85d9bb2f902cf", "shasum": "" }, "require": { "behat/mink": "^1.11@dev", "ext-json": "*", - "lullabot/php-webdriver": "^2.0.6", - "php": ">=8.1" + "lullabot/php-webdriver": "^2.0.5", + "php": ">=7.2" }, "replace": { "behat/mink-selenium2-driver": "1.7.0" @@ -5638,22 +5491,22 @@ "webdriver" ], "support": { - "source": "https://github.com/Lullabot/MinkSelenium2Driver/tree/v1.7.4" + "source": "https://github.com/Lullabot/MinkSelenium2Driver/tree/v1.7.3" }, - "time": "2024-08-08T07:40:04+00:00" + "time": "2024-07-17T16:07:12+00:00" }, { "name": "lullabot/php-webdriver", - "version": "v2.0.6", + "version": "v2.0.5", "source": { "type": "git", "url": "https://github.com/Lullabot/php-webdriver.git", - "reference": "8c28db7151b8a73bd98861fe19972ac3f40184d2" + "reference": "b686c5fe74ae4f3d5f7ff6e45234d99562de9ff4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Lullabot/php-webdriver/zipball/8c28db7151b8a73bd98861fe19972ac3f40184d2", - "reference": "8c28db7151b8a73bd98861fe19972ac3f40184d2", + "url": "https://api.github.com/repos/Lullabot/php-webdriver/zipball/b686c5fe74ae4f3d5f7ff6e45234d99562de9ff4", + "reference": "b686c5fe74ae4f3d5f7ff6e45234d99562de9ff4", "shasum": "" }, "require": { @@ -5686,22 +5539,22 @@ ], "support": { "issues": "https://github.com/Lullabot/php-webdriver/issues", - "source": "https://github.com/Lullabot/php-webdriver/tree/v2.0.6" + "source": "https://github.com/Lullabot/php-webdriver/tree/v2.0.5" }, - "time": "2024-08-05T13:00:46+00:00" + "time": "2024-07-17T15:21:54+00:00" }, { "name": "mglaman/phpstan-drupal", - "version": "1.3.1", + "version": "1.2.12", "source": { "type": "git", "url": "https://github.com/mglaman/phpstan-drupal.git", - "reference": "2bc25a59b53c8f3990f168efd71241d9c25ea0c3" + "reference": "346bdddda169a56b6ebb7dc17893f0ac8f33a4f1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mglaman/phpstan-drupal/zipball/2bc25a59b53c8f3990f168efd71241d9c25ea0c3", - "reference": "2bc25a59b53c8f3990f168efd71241d9c25ea0c3", + "url": "https://api.github.com/repos/mglaman/phpstan-drupal/zipball/346bdddda169a56b6ebb7dc17893f0ac8f33a4f1", + "reference": "346bdddda169a56b6ebb7dc17893f0ac8f33a4f1", "shasum": "" }, "require": { @@ -5710,7 +5563,7 @@ "phpstan/phpstan-deprecation-rules": "^1.1.4", "symfony/finder": "^4.2 || ^5.0 || ^6.0 || ^7.0", "symfony/yaml": "^4.2|| ^5.0 || ^6.0 || ^7.0", - "webflo/drupal-finder": "^1.3.1" + "webflo/drupal-finder": "^1.2" }, "require-dev": { "behat/mink": "^1.8", @@ -5776,7 +5629,7 @@ "description": "Drupal extension and rules for PHPStan", "support": { "issues": "https://github.com/mglaman/phpstan-drupal/issues", - "source": "https://github.com/mglaman/phpstan-drupal/tree/1.3.1" + "source": "https://github.com/mglaman/phpstan-drupal/tree/1.2.12" }, "funding": [ { @@ -5792,7 +5645,7 @@ "type": "tidelift" } ], - "time": "2024-09-27T08:54:16+00:00" + "time": "2024-08-07T21:15:21+00:00" }, { "name": "micheh/phpcs-gitlab", @@ -5960,16 +5813,16 @@ }, { "name": "nikic/php-parser", - "version": "v5.3.1", + "version": "v5.1.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b" + "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/8eea230464783aa9671db8eea6f8c6ac5285794b", - "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/683130c2ff8c2739f4822ff7ac5c873ec529abd1", + "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1", "shasum": "" }, "require": { @@ -6012,108 +5865,39 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.3.1" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.1.0" }, - "time": "2024-10-08T18:51:32+00:00" - }, - { - "name": "nyholm/psr7-server", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/Nyholm/psr7-server.git", - "reference": "4335801d851f554ca43fa6e7d2602141538854dc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Nyholm/psr7-server/zipball/4335801d851f554ca43fa6e7d2602141538854dc", - "reference": "4335801d851f554ca43fa6e7d2602141538854dc", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.0 || ^2.0" - }, - "require-dev": { - "nyholm/nsa": "^1.1", - "nyholm/psr7": "^1.3", - "phpunit/phpunit": "^7.0 || ^8.5 || ^9.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Nyholm\\Psr7Server\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com" - }, - { - "name": "Martijn van der Ven", - "email": "martijn@vanderven.se" - } - ], - "description": "Helper classes to handle PSR-7 server requests", - "homepage": "http://tnyholm.se", - "keywords": [ - "psr-17", - "psr-7" - ], - "support": { - "issues": "https://github.com/Nyholm/psr7-server/issues", - "source": "https://github.com/Nyholm/psr7-server/tree/1.1.0" - }, - "funding": [ - { - "url": "https://github.com/Zegnat", - "type": "github" - }, - { - "url": "https://github.com/nyholm", - "type": "github" - } - ], - "time": "2023-11-08T09:30:43+00:00" + "time": "2024-07-01T20:03:41+00:00" }, { "name": "open-telemetry/api", - "version": "1.1.1", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/opentelemetry-php/api.git", - "reference": "542064815d38a6df55af7957cd6f1d7d967c99c6" + "reference": "87de95d926f46262885d0d390060c095af13e2e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opentelemetry-php/api/zipball/542064815d38a6df55af7957cd6f1d7d967c99c6", - "reference": "542064815d38a6df55af7957cd6f1d7d967c99c6", + "url": "https://api.github.com/repos/opentelemetry-php/api/zipball/87de95d926f46262885d0d390060c095af13e2e5", + "reference": "87de95d926f46262885d0d390060c095af13e2e5", "shasum": "" }, "require": { "open-telemetry/context": "^1.0", - "php": "^8.1", + "php": "^7.4 || ^8.0", "psr/log": "^1.1|^2.0|^3.0", + "symfony/polyfill-php80": "^1.26", + "symfony/polyfill-php81": "^1.26", "symfony/polyfill-php82": "^1.26" }, "conflict": { - "open-telemetry/sdk": "<=1.0.8" + "open-telemetry/sdk": "<=1.0.4" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.1.x-dev" - }, - "spi": { - "OpenTelemetry\\API\\Instrumentation\\AutoInstrumentation\\HookManagerInterface": [ - "OpenTelemetry\\API\\Instrumentation\\AutoInstrumentation\\ExtensionHookManager" - ] + "dev-main": "1.0.x-dev" } }, "autoload": { @@ -6150,24 +5934,26 @@ "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", "source": "https://github.com/open-telemetry/opentelemetry-php" }, - "time": "2024-10-15T22:42:37+00:00" + "time": "2024-02-06T01:32:25+00:00" }, { "name": "open-telemetry/context", - "version": "1.1.0", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/opentelemetry-php/context.git", - "reference": "0cba875ea1953435f78aec7f1d75afa87bdbf7f3" + "reference": "e9d254a7c89885e63fd2fde54e31e81aaaf52b7c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opentelemetry-php/context/zipball/0cba875ea1953435f78aec7f1d75afa87bdbf7f3", - "reference": "0cba875ea1953435f78aec7f1d75afa87bdbf7f3", + "url": "https://api.github.com/repos/opentelemetry-php/context/zipball/e9d254a7c89885e63fd2fde54e31e81aaaf52b7c", + "reference": "e9d254a7c89885e63fd2fde54e31e81aaaf52b7c", "shasum": "" }, "require": { - "php": "^8.1", + "php": "^7.4 || ^8.0", + "symfony/polyfill-php80": "^1.26", + "symfony/polyfill-php81": "^1.26", "symfony/polyfill-php82": "^1.26" }, "suggest": { @@ -6209,27 +5995,27 @@ "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", "source": "https://github.com/open-telemetry/opentelemetry-php" }, - "time": "2024-08-21T00:29:20+00:00" + "time": "2024-01-13T05:50:44+00:00" }, { "name": "open-telemetry/exporter-otlp", - "version": "1.1.0", + "version": "1.0.4", "source": { "type": "git", "url": "https://github.com/opentelemetry-php/exporter-otlp.git", - "reference": "9b6de12204f25f8ab9540b46d6e7b5151897ce18" + "reference": "342686bfce05867b56561a0af2fc8a4a8f27b3cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opentelemetry-php/exporter-otlp/zipball/9b6de12204f25f8ab9540b46d6e7b5151897ce18", - "reference": "9b6de12204f25f8ab9540b46d6e7b5151897ce18", + "url": "https://api.github.com/repos/opentelemetry-php/exporter-otlp/zipball/342686bfce05867b56561a0af2fc8a4a8f27b3cc", + "reference": "342686bfce05867b56561a0af2fc8a4a8f27b3cc", "shasum": "" }, "require": { "open-telemetry/api": "^1.0", "open-telemetry/gen-otlp-protobuf": "^1.1", "open-telemetry/sdk": "^1.0", - "php": "^8.1", + "php": "^7.4 || ^8.0", "php-http/discovery": "^1.14" }, "type": "library", @@ -6273,25 +6059,25 @@ "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", "source": "https://github.com/open-telemetry/opentelemetry-php" }, - "time": "2024-04-30T18:28:30+00:00" + "time": "2024-02-28T21:57:02+00:00" }, { "name": "open-telemetry/gen-otlp-protobuf", - "version": "1.2.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/opentelemetry-php/gen-otlp-protobuf.git", - "reference": "3aa87bc4d0279ebb53c2917a79f26602625c488e" + "reference": "76e2a44357f8c3fdcabcb070ec8a59e52ae3e3c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opentelemetry-php/gen-otlp-protobuf/zipball/3aa87bc4d0279ebb53c2917a79f26602625c488e", - "reference": "3aa87bc4d0279ebb53c2917a79f26602625c488e", + "url": "https://api.github.com/repos/opentelemetry-php/gen-otlp-protobuf/zipball/76e2a44357f8c3fdcabcb070ec8a59e52ae3e3c3", + "reference": "76e2a44357f8c3fdcabcb070ec8a59e52ae3e3c3", "shasum": "" }, "require": { "google/protobuf": "^3.3.0", - "php": "^8.0" + "php": "^7.4 || ^8.0" }, "suggest": { "ext-protobuf": "For better performance, when dealing with the protobuf format" @@ -6336,54 +6122,47 @@ "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", "source": "https://github.com/open-telemetry/opentelemetry-php" }, - "time": "2024-04-30T18:28:30+00:00" + "time": "2024-01-16T21:54:57+00:00" }, { "name": "open-telemetry/sdk", - "version": "1.1.1", + "version": "1.0.8", "source": { "type": "git", "url": "https://github.com/opentelemetry-php/sdk.git", - "reference": "126319e6b3996c609fded69f1e3e9dc1582c64af" + "reference": "1da4c0ca4f1a3c0fe84b81729dadec16f464fa77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opentelemetry-php/sdk/zipball/126319e6b3996c609fded69f1e3e9dc1582c64af", - "reference": "126319e6b3996c609fded69f1e3e9dc1582c64af", + "url": "https://api.github.com/repos/opentelemetry-php/sdk/zipball/1da4c0ca4f1a3c0fe84b81729dadec16f464fa77", + "reference": "1da4c0ca4f1a3c0fe84b81729dadec16f464fa77", "shasum": "" }, "require": { "ext-json": "*", - "nyholm/psr7-server": "^1.1", - "open-telemetry/api": "~1.0 || ~1.1", + "open-telemetry/api": "^1.0", "open-telemetry/context": "^1.0", "open-telemetry/sem-conv": "^1.0", - "php": "^8.1", + "php": "^7.4 || ^8.0", "php-http/discovery": "^1.14", "psr/http-client": "^1.0", "psr/http-client-implementation": "^1.0", "psr/http-factory-implementation": "^1.0", "psr/http-message": "^1.0.1|^2.0", "psr/log": "^1.1|^2.0|^3.0", - "ramsey/uuid": "^3.0 || ^4.0", "symfony/polyfill-mbstring": "^1.23", - "symfony/polyfill-php82": "^1.26", - "tbachert/spi": "^1.0.1" + "symfony/polyfill-php80": "^1.26", + "symfony/polyfill-php81": "^1.26", + "symfony/polyfill-php82": "^1.26" }, "suggest": { "ext-gmp": "To support unlimited number of synchronous metric readers", - "ext-mbstring": "To increase performance of string operations", - "open-telemetry/sdk-configuration": "File-based OpenTelemetry SDK configuration" + "ext-mbstring": "To increase performance of string operations" }, "type": "library", "extra": { "branch-alias": { "dev-main": "1.0.x-dev" - }, - "spi": { - "OpenTelemetry\\API\\Instrumentation\\AutoInstrumentation\\HookManagerInterface": [ - "OpenTelemetry\\API\\Instrumentation\\AutoInstrumentation\\ExtensionHookManager" - ] } }, "autoload": { @@ -6426,20 +6205,20 @@ "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", "source": "https://github.com/open-telemetry/opentelemetry-php" }, - "time": "2024-10-15T22:42:37+00:00" + "time": "2024-02-02T03:42:40+00:00" }, { "name": "open-telemetry/sem-conv", - "version": "1.27.1", + "version": "1.27.0", "source": { "type": "git", "url": "https://github.com/opentelemetry-php/sem-conv.git", - "reference": "1dba705fea74bc0718d04be26090e3697e56f4e6" + "reference": "04685638c98df03419b6683aa1b2646877687c4b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opentelemetry-php/sem-conv/zipball/1dba705fea74bc0718d04be26090e3697e56f4e6", - "reference": "1dba705fea74bc0718d04be26090e3697e56f4e6", + "url": "https://api.github.com/repos/opentelemetry-php/sem-conv/zipball/04685638c98df03419b6683aa1b2646877687c4b", + "reference": "04685638c98df03419b6683aa1b2646877687c4b", "shasum": "" }, "require": { @@ -6483,7 +6262,7 @@ "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", "source": "https://github.com/open-telemetry/opentelemetry-php" }, - "time": "2024-08-28T09:20:31+00:00" + "time": "2024-08-06T15:17:39+00:00" }, { "name": "phar-io/manifest", @@ -6605,16 +6384,16 @@ }, { "name": "php-http/discovery", - "version": "1.20.0", + "version": "1.19.4", "source": { "type": "git", "url": "https://github.com/php-http/discovery.git", - "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d" + "reference": "0700efda8d7526335132360167315fdab3aeb599" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/discovery/zipball/82fe4c73ef3363caed49ff8dd1539ba06044910d", - "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d", + "url": "https://api.github.com/repos/php-http/discovery/zipball/0700efda8d7526335132360167315fdab3aeb599", + "reference": "0700efda8d7526335132360167315fdab3aeb599", "shasum": "" }, "require": { @@ -6678,9 +6457,9 @@ ], "support": { "issues": "https://github.com/php-http/discovery/issues", - "source": "https://github.com/php-http/discovery/tree/1.20.0" + "source": "https://github.com/php-http/discovery/tree/1.19.4" }, - "time": "2024-10-02T11:20:13+00:00" + "time": "2024-03-29T13:00:05+00:00" }, { "name": "php-http/guzzle7-adapter", @@ -6746,16 +6525,16 @@ }, { "name": "php-http/httplug", - "version": "2.4.1", + "version": "2.4.0", "source": { "type": "git", "url": "https://github.com/php-http/httplug.git", - "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4" + "reference": "625ad742c360c8ac580fcc647a1541d29e257f67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/httplug/zipball/5cad731844891a4c282f3f3e1b582c46839d22f4", - "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4", + "url": "https://api.github.com/repos/php-http/httplug/zipball/625ad742c360c8ac580fcc647a1541d29e257f67", + "reference": "625ad742c360c8ac580fcc647a1541d29e257f67", "shasum": "" }, "require": { @@ -6797,9 +6576,9 @@ ], "support": { "issues": "https://github.com/php-http/httplug/issues", - "source": "https://github.com/php-http/httplug/tree/2.4.1" + "source": "https://github.com/php-http/httplug/tree/2.4.0" }, - "time": "2024-09-23T11:39:58+00:00" + "time": "2023-04-14T15:10:03+00:00" }, { "name": "php-http/promise", @@ -7151,22 +6930,22 @@ }, { "name": "phpstan/extension-installer", - "version": "1.4.3", + "version": "1.4.1", "source": { "type": "git", "url": "https://github.com/phpstan/extension-installer.git", - "reference": "85e90b3942d06b2326fba0403ec24fe912372936" + "reference": "f6b87faf9fc7978eab2f7919a8760bc9f58f9203" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/85e90b3942d06b2326fba0403ec24fe912372936", - "reference": "85e90b3942d06b2326fba0403ec24fe912372936", + "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/f6b87faf9fc7978eab2f7919a8760bc9f58f9203", + "reference": "f6b87faf9fc7978eab2f7919a8760bc9f58f9203", "shasum": "" }, "require": { "composer-plugin-api": "^2.0", "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.9.0 || ^2.0" + "phpstan/phpstan": "^1.9.0" }, "require-dev": { "composer/composer": "^2.0", @@ -7187,28 +6966,24 @@ "MIT" ], "description": "Composer plugin for automatic installation of PHPStan extensions", - "keywords": [ - "dev", - "static analysis" - ], "support": { "issues": "https://github.com/phpstan/extension-installer/issues", - "source": "https://github.com/phpstan/extension-installer/tree/1.4.3" + "source": "https://github.com/phpstan/extension-installer/tree/1.4.1" }, - "time": "2024-09-04T20:21:43+00:00" + "time": "2024-06-10T08:20:49+00:00" }, { "name": "phpstan/phpdoc-parser", - "version": "1.33.0", + "version": "1.29.1", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "82a311fd3690fb2bf7b64d5c98f912b3dd746140" + "reference": "fcaefacf2d5c417e928405b71b400d4ce10daaf4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/82a311fd3690fb2bf7b64d5c98f912b3dd746140", - "reference": "82a311fd3690fb2bf7b64d5c98f912b3dd746140", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/fcaefacf2d5c417e928405b71b400d4ce10daaf4", + "reference": "fcaefacf2d5c417e928405b71b400d4ce10daaf4", "shasum": "" }, "require": { @@ -7240,22 +7015,22 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.33.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.29.1" }, - "time": "2024-10-13T11:25:22+00:00" + "time": "2024-05-31T08:52:43+00:00" }, { "name": "phpstan/phpstan", - "version": "1.12.7", + "version": "1.12.4", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "dc2b9976bd8b0f84ec9b0e50cc35378551de7af0" + "reference": "ffa517cb918591b93acc9b95c0bebdcd0e4538bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/dc2b9976bd8b0f84ec9b0e50cc35378551de7af0", - "reference": "dc2b9976bd8b0f84ec9b0e50cc35378551de7af0", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/ffa517cb918591b93acc9b95c0bebdcd0e4538bd", + "reference": "ffa517cb918591b93acc9b95c0bebdcd0e4538bd", "shasum": "" }, "require": { @@ -7300,25 +7075,25 @@ "type": "github" } ], - "time": "2024-10-18T11:12:07+00:00" + "time": "2024-09-19T07:58:01+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", - "version": "1.2.1", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-deprecation-rules.git", - "reference": "f94d246cc143ec5a23da868f8f7e1393b50eaa82" + "reference": "fa8cce7720fa782899a0aa97b6a41225d1bb7b26" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-deprecation-rules/zipball/f94d246cc143ec5a23da868f8f7e1393b50eaa82", - "reference": "f94d246cc143ec5a23da868f8f7e1393b50eaa82", + "url": "https://api.github.com/repos/phpstan/phpstan-deprecation-rules/zipball/fa8cce7720fa782899a0aa97b6a41225d1bb7b26", + "reference": "fa8cce7720fa782899a0aa97b6a41225d1bb7b26", "shasum": "" }, "require": { "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.12" + "phpstan/phpstan": "^1.11" }, "require-dev": { "php-parallel-lint/php-parallel-lint": "^1.2", @@ -7345,9 +7120,9 @@ "description": "PHPStan rules for detecting usage of deprecated classes, methods, properties, constants and traits.", "support": { "issues": "https://github.com/phpstan/phpstan-deprecation-rules/issues", - "source": "https://github.com/phpstan/phpstan-deprecation-rules/tree/1.2.1" + "source": "https://github.com/phpstan/phpstan-deprecation-rules/tree/1.2.0" }, - "time": "2024-09-11T15:52:35+00:00" + "time": "2024-04-20T06:39:48+00:00" }, { "name": "phpstan/phpstan-phpunit", @@ -7724,16 +7499,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.37", + "version": "10.5.35", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "c7cffa0efa2b70c22366523e6d804c9419eb2400" + "reference": "7ac8b4e63f456046dcb4c9787da9382831a1874b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c7cffa0efa2b70c22366523e6d804c9419eb2400", - "reference": "c7cffa0efa2b70c22366523e6d804c9419eb2400", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/7ac8b4e63f456046dcb4c9787da9382831a1874b", + "reference": "7ac8b4e63f456046dcb4c9787da9382831a1874b", "shasum": "" }, "require": { @@ -7754,7 +7529,7 @@ "phpunit/php-timer": "^6.0.0", "sebastian/cli-parser": "^2.0.1", "sebastian/code-unit": "^2.0.0", - "sebastian/comparator": "^5.0.3", + "sebastian/comparator": "^5.0.2", "sebastian/diff": "^5.1.1", "sebastian/environment": "^6.1.0", "sebastian/exporter": "^5.1.2", @@ -7805,7 +7580,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.37" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.35" }, "funding": [ { @@ -7821,188 +7596,7 @@ "type": "tidelift" } ], - "time": "2024-10-19T13:03:41+00:00" - }, - { - "name": "ramsey/collection", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/ramsey/collection.git", - "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", - "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "require-dev": { - "captainhook/plugin-composer": "^5.3", - "ergebnis/composer-normalize": "^2.28.3", - "fakerphp/faker": "^1.21", - "hamcrest/hamcrest-php": "^2.0", - "jangregor/phpstan-prophecy": "^1.0", - "mockery/mockery": "^1.5", - "php-parallel-lint/php-console-highlighter": "^1.0", - "php-parallel-lint/php-parallel-lint": "^1.3", - "phpcsstandards/phpcsutils": "^1.0.0-rc1", - "phpspec/prophecy-phpunit": "^2.0", - "phpstan/extension-installer": "^1.2", - "phpstan/phpstan": "^1.9", - "phpstan/phpstan-mockery": "^1.1", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^9.5", - "psalm/plugin-mockery": "^1.1", - "psalm/plugin-phpunit": "^0.18.4", - "ramsey/coding-standard": "^2.0.3", - "ramsey/conventional-commits": "^1.3", - "vimeo/psalm": "^5.4" - }, - "type": "library", - "extra": { - "captainhook": { - "force-install": true - }, - "ramsey/conventional-commits": { - "configFile": "conventional-commits.json" - } - }, - "autoload": { - "psr-4": { - "Ramsey\\Collection\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ben Ramsey", - "email": "ben@benramsey.com", - "homepage": "https://benramsey.com" - } - ], - "description": "A PHP library for representing and manipulating collections.", - "keywords": [ - "array", - "collection", - "hash", - "map", - "queue", - "set" - ], - "support": { - "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/2.0.0" - }, - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", - "type": "tidelift" - } - ], - "time": "2022-12-31T21:50:55+00:00" - }, - { - "name": "ramsey/uuid", - "version": "4.7.6", - "source": { - "type": "git", - "url": "https://github.com/ramsey/uuid.git", - "reference": "91039bc1faa45ba123c4328958e620d382ec7088" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/91039bc1faa45ba123c4328958e620d382ec7088", - "reference": "91039bc1faa45ba123c4328958e620d382ec7088", - "shasum": "" - }, - "require": { - "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12", - "ext-json": "*", - "php": "^8.0", - "ramsey/collection": "^1.2 || ^2.0" - }, - "replace": { - "rhumsaa/uuid": "self.version" - }, - "require-dev": { - "captainhook/captainhook": "^5.10", - "captainhook/plugin-composer": "^5.3", - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "doctrine/annotations": "^1.8", - "ergebnis/composer-normalize": "^2.15", - "mockery/mockery": "^1.3", - "paragonie/random-lib": "^2", - "php-mock/php-mock": "^2.2", - "php-mock/php-mock-mockery": "^1.3", - "php-parallel-lint/php-parallel-lint": "^1.1", - "phpbench/phpbench": "^1.0", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-mockery": "^1.1", - "phpstan/phpstan-phpunit": "^1.1", - "phpunit/phpunit": "^8.5 || ^9", - "ramsey/composer-repl": "^1.4", - "slevomat/coding-standard": "^8.4", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^4.9" - }, - "suggest": { - "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", - "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", - "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", - "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", - "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." - }, - "type": "library", - "extra": { - "captainhook": { - "force-install": true - } - }, - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Ramsey\\Uuid\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", - "keywords": [ - "guid", - "identifier", - "uuid" - ], - "support": { - "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.7.6" - }, - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", - "type": "tidelift" - } - ], - "time": "2024-04-27T21:32:50+00:00" + "time": "2024-09-19T10:52:21+00:00" }, { "name": "react/promise", @@ -8247,16 +7841,16 @@ }, { "name": "sebastian/comparator", - "version": "5.0.3", + "version": "5.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e" + "reference": "2d3e04c3b4c1e84a5e7382221ad8883c8fbc4f53" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e", - "reference": "a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2d3e04c3b4c1e84a5e7382221ad8883c8fbc4f53", + "reference": "2d3e04c3b4c1e84a5e7382221ad8883c8fbc4f53", "shasum": "" }, "require": { @@ -8267,7 +7861,7 @@ "sebastian/exporter": "^5.0" }, "require-dev": { - "phpunit/phpunit": "^10.5" + "phpunit/phpunit": "^10.4" }, "type": "library", "extra": { @@ -8312,7 +7906,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.3" + "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.2" }, "funding": [ { @@ -8320,7 +7914,7 @@ "type": "github" } ], - "time": "2024-10-18T14:56:07+00:00" + "time": "2024-08-12T06:03:08+00:00" }, { "name": "sebastian/complexity", @@ -9224,16 +8818,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.10.3", + "version": "3.10.2", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "62d32998e820bddc40f99f8251958aed187a5c9c" + "reference": "86e5f5dd9a840c46810ebe5ff1885581c42a3017" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/62d32998e820bddc40f99f8251958aed187a5c9c", - "reference": "62d32998e820bddc40f99f8251958aed187a5c9c", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/86e5f5dd9a840c46810ebe5ff1885581c42a3017", + "reference": "86e5f5dd9a840c46810ebe5ff1885581c42a3017", "shasum": "" }, "require": { @@ -9300,7 +8894,7 @@ "type": "open_collective" } ], - "time": "2024-09-18T10:38:58+00:00" + "time": "2024-07-21T23:26:44+00:00" }, { "name": "symfony/browser-kit", @@ -9437,16 +9031,16 @@ }, { "name": "symfony/dom-crawler", - "version": "v7.1.5", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "b92af238457a7cdd2738f941cd525d76313e8283" + "reference": "01ce8174447f1f1dd33a5854b01beef79061d9fa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/b92af238457a7cdd2738f941cd525d76313e8283", - "reference": "b92af238457a7cdd2738f941cd525d76313e8283", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/01ce8174447f1f1dd33a5854b01beef79061d9fa", + "reference": "01ce8174447f1f1dd33a5854b01beef79061d9fa", "shasum": "" }, "require": { @@ -9484,7 +9078,7 @@ "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v7.1.5" + "source": "https://github.com/symfony/dom-crawler/tree/v7.1.1" }, "funding": [ { @@ -9500,7 +9094,7 @@ "type": "tidelift" } ], - "time": "2024-09-15T06:48:17+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { "name": "symfony/lock", @@ -9580,58 +9174,6 @@ ], "time": "2024-05-31T14:57:53+00:00" }, - { - "name": "tbachert/spi", - "version": "v1.0.2", - "source": { - "type": "git", - "url": "https://github.com/Nevay/spi.git", - "reference": "2ddfaf815dafb45791a61b08170de8d583c16062" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Nevay/spi/zipball/2ddfaf815dafb45791a61b08170de8d583c16062", - "reference": "2ddfaf815dafb45791a61b08170de8d583c16062", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^2.0", - "composer/semver": "^1.0 || ^2.0 || ^3.0", - "php": "^8.1" - }, - "require-dev": { - "composer/composer": "^2.0", - "infection/infection": "^0.27.9", - "phpunit/phpunit": "^10.5", - "psalm/phar": "^5.18" - }, - "type": "composer-plugin", - "extra": { - "branch-alias": { - "dev-main": "0.2.x-dev" - }, - "class": "Nevay\\SPI\\Composer\\Plugin", - "plugin-optional": true - }, - "autoload": { - "psr-4": { - "Nevay\\SPI\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Service provider loading facility", - "keywords": [ - "service provider" - ], - "support": { - "issues": "https://github.com/Nevay/spi/issues", - "source": "https://github.com/Nevay/spi/tree/v1.0.2" - }, - "time": "2024-10-04T16:36:12+00:00" - }, { "name": "theseer/tokenizer", "version": "1.2.3", @@ -9801,5 +9343,5 @@ "platform-overrides": { "php": "8.3.0" }, - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.6.0" } diff --git a/composer/Metapackage/CoreRecommended/composer.json b/composer/Metapackage/CoreRecommended/composer.json index 7511f3842b05..2fc5519b0c5c 100644 --- a/composer/Metapackage/CoreRecommended/composer.json +++ b/composer/Metapackage/CoreRecommended/composer.json @@ -10,12 +10,12 @@ "drupal/core": "11.x-dev", "asm89/stack-cors": "~v2.2.0", "composer/semver": "~3.4.3", - "doctrine/annotations": "~2.0.2", + "doctrine/annotations": "~2.0.1", "doctrine/deprecations": "~1.1.3", "doctrine/lexer": "~2.1.1", "egulias/email-validator": "~4.0.2", "guzzlehttp/guzzle": "~7.9.2", - "guzzlehttp/promises": "~2.0.4", + "guzzlehttp/promises": "~2.0.3", "guzzlehttp/psr7": "~2.7.0", "masterminds/html5": "~2.9.0", "mck89/peast": "~v1.16.3", @@ -32,35 +32,34 @@ "ralouphie/getallheaders": "~3.0.3", "sebastian/diff": "~5.1.1", "symfony/console": "~v7.1.5", - "symfony/dependency-injection": "~v7.1.5", + "symfony/dependency-injection": "~v7.1.3", "symfony/deprecation-contracts": "~v3.5.0", "symfony/error-handler": "~v7.1.3", "symfony/event-dispatcher": "~v7.1.1", "symfony/event-dispatcher-contracts": "~v3.5.0", "symfony/filesystem": "~v7.1.5", "symfony/finder": "~v7.1.4", - "symfony/http-foundation": "~v7.1.5", - "symfony/http-kernel": "~v7.1.5", - "symfony/mailer": "~v7.1.5", - "symfony/mime": "~v7.1.5", + "symfony/http-foundation": "~v7.1.3", + "symfony/http-kernel": "~v7.1.3", + "symfony/mailer": "~v7.1.2", + "symfony/mime": "~v7.1.2", "symfony/polyfill-ctype": "~v1.31.0", - "symfony/polyfill-iconv": "~v1.31.0", + "symfony/polyfill-iconv": "~v1.30.0", "symfony/polyfill-intl-grapheme": "~v1.31.0", - "symfony/polyfill-intl-icu": "~v1.31.0", - "symfony/polyfill-intl-idn": "~v1.31.0", + "symfony/polyfill-intl-idn": "~v1.30.0", "symfony/polyfill-intl-normalizer": "~v1.31.0", "symfony/polyfill-mbstring": "~v1.31.0", "symfony/process": "~v7.1.5", - "symfony/psr-http-message-bridge": "~v7.1.4", - "symfony/routing": "~v7.1.4", - "symfony/serializer": "~v7.1.5", + "symfony/psr-http-message-bridge": "~v7.1.3", + "symfony/routing": "~v7.1.3", + "symfony/serializer": "~v7.1.3", "symfony/service-contracts": "~v3.5.0", "symfony/string": "~v7.1.5", "symfony/translation-contracts": "~v3.5.0", - "symfony/validator": "~v7.1.5", - "symfony/var-dumper": "~v7.1.5", + "symfony/validator": "~v7.1.3", + "symfony/var-dumper": "~v7.1.3", "symfony/var-exporter": "~v7.1.2", - "symfony/yaml": "~v7.1.5", + "symfony/yaml": "~v7.1.1", "twig/twig": "~v3.14.0" } } diff --git a/composer/Metapackage/PinnedDevDependencies/composer.json b/composer/Metapackage/PinnedDevDependencies/composer.json index 03536ab52247..407893f919ad 100644 --- a/composer/Metapackage/PinnedDevDependencies/composer.json +++ b/composer/Metapackage/PinnedDevDependencies/composer.json @@ -10,7 +10,6 @@ "drupal/core": "11.x-dev", "behat/mink": "v1.11.0", "behat/mink-browserkit-driver": "v2.2.0", - "brick/math": "0.12.1", "colinodell/psr-testlogger": "v1.3.0", "composer/ca-bundle": "1.5.2", "composer/class-map-generator": "1.4.0", @@ -21,52 +20,49 @@ "composer/xdebug-handler": "3.0.5", "dealerdirect/phpcodesniffer-composer-installer": "v1.0.0", "doctrine/instantiator": "2.0.0", - "drupal/coder": "8.3.25", - "google/protobuf": "v3.25.5", + "drupal/coder": "8.3.24", + "google/protobuf": "v3.25.4", "justinrainbow/json-schema": "5.3.0", - "lullabot/mink-selenium2-driver": "v1.7.4", - "lullabot/php-webdriver": "v2.0.6", - "mglaman/phpstan-drupal": "1.3.1", + "lullabot/mink-selenium2-driver": "v1.7.3", + "lullabot/php-webdriver": "v2.0.5", + "mglaman/phpstan-drupal": "1.2.12", "micheh/phpcs-gitlab": "1.1.0", "mikey179/vfsstream": "v1.6.12", "myclabs/deep-copy": "1.12.0", - "nikic/php-parser": "v5.3.1", - "nyholm/psr7-server": "1.1.0", - "open-telemetry/api": "1.1.1", - "open-telemetry/context": "1.1.0", - "open-telemetry/exporter-otlp": "1.1.0", - "open-telemetry/gen-otlp-protobuf": "1.2.0", - "open-telemetry/sdk": "1.1.1", - "open-telemetry/sem-conv": "1.27.1", + "nikic/php-parser": "v5.1.0", + "open-telemetry/api": "1.0.3", + "open-telemetry/context": "1.0.2", + "open-telemetry/exporter-otlp": "1.0.4", + "open-telemetry/gen-otlp-protobuf": "1.1.0", + "open-telemetry/sdk": "1.0.8", + "open-telemetry/sem-conv": "1.27.0", "phar-io/manifest": "2.0.4", "phar-io/version": "3.2.1", - "php-http/discovery": "1.20.0", + "php-http/discovery": "1.19.4", "php-http/guzzle7-adapter": "1.0.0", - "php-http/httplug": "2.4.1", + "php-http/httplug": "2.4.0", "php-http/promise": "1.3.1", "phpdocumentor/reflection-common": "2.2.0", "phpdocumentor/reflection-docblock": "5.4.1", "phpdocumentor/type-resolver": "1.8.2", "phpspec/prophecy": "v1.19.0", "phpspec/prophecy-phpunit": "v2.2.0", - "phpstan/extension-installer": "1.4.3", - "phpstan/phpdoc-parser": "1.33.0", - "phpstan/phpstan": "1.12.7", - "phpstan/phpstan-deprecation-rules": "1.2.1", + "phpstan/extension-installer": "1.4.1", + "phpstan/phpdoc-parser": "1.29.1", + "phpstan/phpstan": "1.12.4", + "phpstan/phpstan-deprecation-rules": "1.2.0", "phpstan/phpstan-phpunit": "1.4.0", "phpunit/php-code-coverage": "10.1.16", "phpunit/php-file-iterator": "4.1.0", "phpunit/php-invoker": "4.0.0", "phpunit/php-text-template": "3.0.1", "phpunit/php-timer": "6.0.0", - "phpunit/phpunit": "10.5.37", - "ramsey/collection": "2.0.0", - "ramsey/uuid": "4.7.6", + "phpunit/phpunit": "10.5.35", "react/promise": "v3.2.0", "sebastian/cli-parser": "2.0.1", "sebastian/code-unit": "2.0.0", "sebastian/code-unit-reverse-lookup": "3.0.0", - "sebastian/comparator": "5.0.3", + "sebastian/comparator": "5.0.2", "sebastian/complexity": "3.2.0", "sebastian/environment": "6.1.0", "sebastian/exporter": "5.1.2", @@ -82,12 +78,11 @@ "seld/signal-handler": "2.0.2", "sirbrillig/phpcs-variable-analysis": "v2.11.19", "slevomat/coding-standard": "8.15.0", - "squizlabs/php_codesniffer": "3.10.3", + "squizlabs/php_codesniffer": "3.10.2", "symfony/browser-kit": "v7.1.1", "symfony/css-selector": "v7.1.1", - "symfony/dom-crawler": "v7.1.5", + "symfony/dom-crawler": "v7.1.1", "symfony/lock": "v7.1.1", - "tbachert/spi": "v1.0.2", "theseer/tokenizer": "1.2.3", "webflo/drupal-finder": "1.3.1", "webmozart/assert": "1.11.0" -- GitLab From 3cccc8a705cb50cf1ee98a8793649f0e3d97cc72 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Tue, 22 Oct 2024 20:38:06 +0200 Subject: [PATCH 30/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- composer.lock | 90 ++++++++++++++++++- .../Metapackage/CoreRecommended/composer.json | 1 + 2 files changed, 89 insertions(+), 2 deletions(-) diff --git a/composer.lock b/composer.lock index 67a0723e42bf..a6efb0328cd8 100644 --- a/composer.lock +++ b/composer.lock @@ -496,7 +496,7 @@ "dist": { "type": "path", "url": "core", - "reference": "946773df28ad729a17c4002a6b5740a746b6deb5" + "reference": "976c18dc6a4d0679f56d13e4dc8e3328b9c8d85e" }, "require": { "asm89/stack-cors": "^2.1", @@ -537,6 +537,7 @@ "symfony/mailer": "^7.1", "symfony/mime": "^7.1", "symfony/polyfill-iconv": "^1.26", + "symfony/polyfill-intl-icu": "^1.26", "symfony/process": "^7.1", "symfony/psr-http-message-bridge": "^7.1", "symfony/routing": "^7.1", @@ -575,6 +576,7 @@ "drupal/core-version": "self.version" }, "suggest": { + "ext-intl": "Needed to extend symfony/polyfill-intl-icu capability with the sorting of non-english languages.", "ext-zip": "Needed to extend the plugin.manager.archiver service capability with the handling of files in the ZIP format." }, "type": "drupal-core", @@ -3122,6 +3124,90 @@ ], "time": "2024-09-09T11:45:10+00:00" }, + { + "name": "symfony/polyfill-intl-icu", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-icu.git", + "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78", + "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance and support of other locales than \"en\"" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Icu\\": "" + }, + "classmap": [ + "Resources/stubs" + ], + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's ICU-related data and classes", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "icu", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, { "name": "symfony/polyfill-intl-idn", "version": "v1.30.0", @@ -9343,5 +9429,5 @@ "platform-overrides": { "php": "8.3.0" }, - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.3.0" } diff --git a/composer/Metapackage/CoreRecommended/composer.json b/composer/Metapackage/CoreRecommended/composer.json index 2fc5519b0c5c..a0d20fbbec41 100644 --- a/composer/Metapackage/CoreRecommended/composer.json +++ b/composer/Metapackage/CoreRecommended/composer.json @@ -46,6 +46,7 @@ "symfony/polyfill-ctype": "~v1.31.0", "symfony/polyfill-iconv": "~v1.30.0", "symfony/polyfill-intl-grapheme": "~v1.31.0", + "symfony/polyfill-intl-icu": "~v1.31.0", "symfony/polyfill-intl-idn": "~v1.30.0", "symfony/polyfill-intl-normalizer": "~v1.31.0", "symfony/polyfill-mbstring": "~v1.31.0", -- GitLab From 2667fe1e13d11221b6c7eee4fe080c45d97005d2 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Tue, 22 Oct 2024 21:55:05 +0200 Subject: [PATCH 31/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- .../config_test/src/Entity/ConfigTest.php | 4 ++-- .../Config/Entity/ConfigEntityBaseUnitTest.php | 18 ++++++++++-------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/core/modules/config/tests/config_test/src/Entity/ConfigTest.php b/core/modules/config/tests/config_test/src/Entity/ConfigTest.php index 80022dc60e3f..1a18d5b73791 100644 --- a/core/modules/config/tests/config_test/src/Entity/ConfigTest.php +++ b/core/modules/config/tests/config_test/src/Entity/ConfigTest.php @@ -98,9 +98,9 @@ class ConfigTest extends ConfigEntityBase implements ConfigTestInterface { /** * {@inheritdoc} */ - public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { + public static function sortEntities(array $entities, \Collator $collator): array { \Drupal::state()->set('config_entity_sort', TRUE); - return parent::sort($a, $b); + return parent::sortEntities($entities, $collator); } /** diff --git a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php index 40bc10153392..e4935f649786 100644 --- a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php +++ b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php @@ -536,25 +536,27 @@ public function testSort(): void { // cSpell:disable-next-line ->willReturn('Ã¥wesome'); + $collator = \Collator::create('en'); + // Test sorting by label. $list = [$entity_a, $entity_b]; - usort($list, '\Drupal\Core\Config\Entity\ConfigEntityBase::sort'); - $this->assertSame($entity_b, $list[0]); + ConfigEntityBase::sortEntities($list, $collator); + $this->assertSame($entity_b, reset($list)); $list = [$entity_b, $entity_a]; - usort($list, '\Drupal\Core\Config\Entity\ConfigEntityBase::sort'); - $this->assertSame($entity_b, $list[0]); + ConfigEntityBase::sortEntities($list, $collator); + $this->assertSame($entity_b, reset($list)); // Test sorting by weight. $entity_a->weight = 0; $entity_b->weight = 1; $list = [$entity_b, $entity_a]; - usort($list, '\Drupal\Core\Config\Entity\ConfigEntityBase::sort'); - $this->assertSame($entity_a, $list[0]); + ConfigEntityBase::sortEntities($list, $collator); + $this->assertSame($entity_a, reset($list)); $list = [$entity_a, $entity_b]; - usort($list, '\Drupal\Core\Config\Entity\ConfigEntityBase::sort'); - $this->assertSame($entity_a, $list[0]); + ConfigEntityBase::sortEntities($list, $collator); + $this->assertSame($entity_a, reset($list)); } /** -- GitLab From 8d3714795a14f127d0f4c111ebeecac5a57e096c Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Tue, 22 Oct 2024 22:09:06 +0200 Subject: [PATCH 32/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- .../tests/config_test/src/Entity/ConfigTest.php | 11 +++++++++-- .../tests/src/Functional/ConfigEntityListTest.php | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/core/modules/config/tests/config_test/src/Entity/ConfigTest.php b/core/modules/config/tests/config_test/src/Entity/ConfigTest.php index 1a18d5b73791..6c35c251d130 100644 --- a/core/modules/config/tests/config_test/src/Entity/ConfigTest.php +++ b/core/modules/config/tests/config_test/src/Entity/ConfigTest.php @@ -7,7 +7,6 @@ use Drupal\Core\Config\Action\Attribute\ActionMethod; use Drupal\Core\Config\Entity\ConfigEntityBase; use Drupal\config_test\ConfigTestInterface; -use Drupal\Core\Config\Entity\ConfigEntityInterface; use Drupal\Core\Entity\EntityStorageInterface; use Drupal\Core\StringTranslation\TranslatableMarkup; @@ -98,8 +97,16 @@ class ConfigTest extends ConfigEntityBase implements ConfigTestInterface { /** * {@inheritdoc} */ - public static function sortEntities(array $entities, \Collator $collator): array { + public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { \Drupal::state()->set('config_entity_sort', TRUE); + return parent::sort($a, $b); + } + + /** + * {@inheritdoc} + */ + public static function sortEntities(array $entities, \Collator $collator): array { + \Drupal::state()->set('config_entity_sortEntities', TRUE); return parent::sortEntities($entities, $collator); } diff --git a/core/modules/config/tests/src/Functional/ConfigEntityListTest.php b/core/modules/config/tests/src/Functional/ConfigEntityListTest.php index dd4caf036c79..e8ef7138a543 100644 --- a/core/modules/config/tests/src/Functional/ConfigEntityListTest.php +++ b/core/modules/config/tests/src/Functional/ConfigEntityListTest.php @@ -260,7 +260,7 @@ public function testListUI(): void { $this->submitForm($edit, 'Save'); // Ensure that the entity's sort method was called. - $this->assertTrue(\Drupal::state()->get('config_entity_sort'), 'ConfigTest::sort() was called.'); + $this->assertTrue(\Drupal::state()->get('config_entity_sortEntities'), 'ConfigTest::sortEntities() was called.'); // Confirm that the user is returned to the listing, and verify that the // text of the label and machine name appears in the list (versus elsewhere -- GitLab From 207f2642de44973fa5e98deee166286fe5208135 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Tue, 22 Oct 2024 22:13:58 +0200 Subject: [PATCH 33/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/modules/config/tests/config_test/src/Entity/ConfigTest.php | 1 + 1 file changed, 1 insertion(+) diff --git a/core/modules/config/tests/config_test/src/Entity/ConfigTest.php b/core/modules/config/tests/config_test/src/Entity/ConfigTest.php index 6c35c251d130..8e05909831f1 100644 --- a/core/modules/config/tests/config_test/src/Entity/ConfigTest.php +++ b/core/modules/config/tests/config_test/src/Entity/ConfigTest.php @@ -7,6 +7,7 @@ use Drupal\Core\Config\Action\Attribute\ActionMethod; use Drupal\Core\Config\Entity\ConfigEntityBase; use Drupal\config_test\ConfigTestInterface; +use Drupal\Core\Config\Entity\ConfigEntityInterface; use Drupal\Core\Entity\EntityStorageInterface; use Drupal\Core\StringTranslation\TranslatableMarkup; -- GitLab From cdf5c555e50a93f77098b1c5ac56e64c9fe970e7 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Tue, 22 Oct 2024 22:54:10 +0200 Subject: [PATCH 34/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- .../Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php index e4935f649786..9309e57090b3 100644 --- a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php +++ b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php @@ -540,22 +540,22 @@ public function testSort(): void { // Test sorting by label. $list = [$entity_a, $entity_b]; - ConfigEntityBase::sortEntities($list, $collator); + $list = ConfigEntityBase::sortEntities($list, $collator); $this->assertSame($entity_b, reset($list)); $list = [$entity_b, $entity_a]; - ConfigEntityBase::sortEntities($list, $collator); + $list = ConfigEntityBase::sortEntities($list, $collator); $this->assertSame($entity_b, reset($list)); // Test sorting by weight. $entity_a->weight = 0; $entity_b->weight = 1; $list = [$entity_b, $entity_a]; - ConfigEntityBase::sortEntities($list, $collator); + $list = ConfigEntityBase::sortEntities($list, $collator); $this->assertSame($entity_a, reset($list)); $list = [$entity_a, $entity_b]; - ConfigEntityBase::sortEntities($list, $collator); + $list = ConfigEntityBase::sortEntities($list, $collator); $this->assertSame($entity_a, reset($list)); } -- GitLab From 4d29708d6a5cd23d30668edc1ef0ad8a8a2ab429 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Tue, 22 Oct 2024 23:06:33 +0200 Subject: [PATCH 35/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php | 5 ++--- .../Drupal/Core/Config/Entity/ConfigEntityListBuilder.php | 2 +- .../config/tests/config_test/src/Entity/ConfigTest.php | 2 +- .../Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php | 8 ++++---- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php index 3b84ea44db3d..39620cacf269 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php @@ -235,11 +235,10 @@ public function createDuplicate() { /** * Sorts entities using collator. */ - public static function sortEntities(array $entities, \Collator $collator): array { - uasort($entities, function ($a, $b) use ($collator) { + public static function sortEntities(array &$entities, \Collator $collator): bool { + return uasort($entities, function ($a, $b) use ($collator) { return self::compare($a, $b, $collator); }); - return $entities; } /** diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php index 43d505ddb2c5..0581936ffec2 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php @@ -28,7 +28,7 @@ public function load() { // Sort the entities using the entity class's sortEntities() method. $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); - $entities = $this->entityType->getClass()::sortEntities($entities, $collator); + $this->entityType->getClass()::sortEntities($entities, $collator); return $entities; } diff --git a/core/modules/config/tests/config_test/src/Entity/ConfigTest.php b/core/modules/config/tests/config_test/src/Entity/ConfigTest.php index 8e05909831f1..7c1baed69c4d 100644 --- a/core/modules/config/tests/config_test/src/Entity/ConfigTest.php +++ b/core/modules/config/tests/config_test/src/Entity/ConfigTest.php @@ -106,7 +106,7 @@ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) /** * {@inheritdoc} */ - public static function sortEntities(array $entities, \Collator $collator): array { + public static function sortEntities(array &$entities, \Collator $collator): bool { \Drupal::state()->set('config_entity_sortEntities', TRUE); return parent::sortEntities($entities, $collator); } diff --git a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php index 9309e57090b3..e4935f649786 100644 --- a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php +++ b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php @@ -540,22 +540,22 @@ public function testSort(): void { // Test sorting by label. $list = [$entity_a, $entity_b]; - $list = ConfigEntityBase::sortEntities($list, $collator); + ConfigEntityBase::sortEntities($list, $collator); $this->assertSame($entity_b, reset($list)); $list = [$entity_b, $entity_a]; - $list = ConfigEntityBase::sortEntities($list, $collator); + ConfigEntityBase::sortEntities($list, $collator); $this->assertSame($entity_b, reset($list)); // Test sorting by weight. $entity_a->weight = 0; $entity_b->weight = 1; $list = [$entity_b, $entity_a]; - $list = ConfigEntityBase::sortEntities($list, $collator); + ConfigEntityBase::sortEntities($list, $collator); $this->assertSame($entity_a, reset($list)); $list = [$entity_a, $entity_b]; - $list = ConfigEntityBase::sortEntities($list, $collator); + ConfigEntityBase::sortEntities($list, $collator); $this->assertSame($entity_a, reset($list)); } -- GitLab From b90bed09bc678e9611bd55f7f0fc3e2ddd353d27 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Tue, 22 Oct 2024 23:28:00 +0200 Subject: [PATCH 36/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php | 1 + 1 file changed, 1 insertion(+) diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php index 39620cacf269..9fabf61ef1b0 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php @@ -264,6 +264,7 @@ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $ * @see https://www.drupal.org/project/drupal/issues/2265487 */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { + @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use \Drupal\Core\Config\Entity\ConfigEntityBase::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); $a_weight = $a->weight ?? 0; $b_weight = $b->weight ?? 0; if ($a_weight == $b_weight) { -- GitLab From 32b85f40ae020db1281acbcb957e369d0289690e Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Tue, 22 Oct 2024 23:55:26 +0200 Subject: [PATCH 37/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- .../Core/Datetime/Entity/DateFormat.php | 20 ++++++++++++- .../Core/Entity/EntityDisplayModeBase.php | 21 +++++++++++++- core/modules/block/src/Entity/Block.php | 28 ++++++++++++++++++- .../config_test/src/Entity/ConfigTest.php | 8 +++++- .../field_ui/src/FieldConfigListBuilder.php | 6 ++-- .../language/src/LanguageListBuilder.php | 6 ++-- core/modules/search/src/Entity/SearchPage.php | 15 ++++++++++ core/modules/system/src/Entity/Action.php | 22 ++++++++++++++- 8 files changed, 115 insertions(+), 11 deletions(-) diff --git a/core/lib/Drupal/Core/Datetime/Entity/DateFormat.php b/core/lib/Drupal/Core/Datetime/Entity/DateFormat.php index e6c401afa9b0..7bd31f77eaef 100644 --- a/core/lib/Drupal/Core/Datetime/Entity/DateFormat.php +++ b/core/lib/Drupal/Core/Datetime/Entity/DateFormat.php @@ -82,9 +82,27 @@ public function isLocked() { } /** - * {@inheritdoc} + * Helper callback for uasort() to compare configuration entities by weight and label. + */ + public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $b, \Collator $collator): int { + if ($a->isLocked() == $b->isLocked()) { + $a_label = $a->label(); + $b_label = $b->label(); + return $collator->compare($a_label, $b_label); + } + return $a->isLocked() ? 1 : -1; + } + + /** + * Helper callback for uasort() to sort configuration entities. + * + * @deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use + * \Drupal\Core\Config\Entity\ConfigEntityBase::sortEntities() instead. + * + * @see https://www.drupal.org/project/drupal/issues/2265487 */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { + @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use '. __CLASS__ .'::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); if ($a->isLocked() == $b->isLocked()) { $a_label = $a->label(); $b_label = $b->label(); diff --git a/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php b/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php index 1e19838ff6f2..99bf25436cba 100644 --- a/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php +++ b/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php @@ -58,9 +58,28 @@ abstract class EntityDisplayModeBase extends ConfigEntityBase implements EntityD protected $cache = TRUE; /** - * {@inheritdoc} + * Helper callback for uasort() to compare configuration entities by weight and label. + */ + public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $b, \Collator $collator): int { + /** @var \Drupal\Core\Entity\EntityDisplayModeInterface $a */ + /** @var \Drupal\Core\Entity\EntityDisplayModeInterface $b */ + // Sort by the type of entity the view mode is used for. + $a_type = $a->getTargetType(); + $b_type = $b->getTargetType(); + $type_order = $collator->compare($a_type, $b_type); + return $type_order != 0 ? $type_order : parent::compare($a, $b, $collator); + } + + /** + * Helper callback for uasort() to sort configuration entities. + * + * @deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use + * \Drupal\Core\Config\Entity\ConfigEntityBase::sortEntities() instead. + * + * @see https://www.drupal.org/project/drupal/issues/2265487 */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { + @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use '. __CLASS__ .'::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); /** @var \Drupal\Core\Entity\EntityDisplayModeInterface $a */ /** @var \Drupal\Core\Entity\EntityDisplayModeInterface $b */ // Sort by the type of entity the view mode is used for. diff --git a/core/modules/block/src/Entity/Block.php b/core/modules/block/src/Entity/Block.php index 3bc7da26afcf..30925402ea60 100644 --- a/core/modules/block/src/Entity/Block.php +++ b/core/modules/block/src/Entity/Block.php @@ -214,9 +214,35 @@ public function label() { } /** - * Sorts active blocks by weight; sorts inactive blocks by name. + * Helper callback for uasort() to compare configuration entities by weight and label. + */ + public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $b, \Collator $collator): int { + // Separate enabled from disabled. + $status = (int) $b->status() - (int) $a->status(); + if ($status !== 0) { + return $status; + } + + // Sort by weight. + $weight = $a->getWeight() - $b->getWeight(); + if ($weight) { + return $weight; + } + + // Sort by label. + return $collator->compare($a->label(), $b->label()); + } + + /** + * Helper callback for uasort() to sort configuration entities. + * + * @deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use + * \Drupal\Core\Config\Entity\ConfigEntityBase::sortEntities() instead. + * + * @see https://www.drupal.org/project/drupal/issues/2265487 */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { + @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use '. __CLASS__ .'::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); // Separate enabled from disabled. $status = (int) $b->status() - (int) $a->status(); if ($status !== 0) { diff --git a/core/modules/config/tests/config_test/src/Entity/ConfigTest.php b/core/modules/config/tests/config_test/src/Entity/ConfigTest.php index 7c1baed69c4d..b077717298e7 100644 --- a/core/modules/config/tests/config_test/src/Entity/ConfigTest.php +++ b/core/modules/config/tests/config_test/src/Entity/ConfigTest.php @@ -96,9 +96,15 @@ class ConfigTest extends ConfigEntityBase implements ConfigTestInterface { protected array $array_property = []; /** - * {@inheritdoc} + * Helper callback for uasort() to sort configuration entities. + * + * @deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use + * \Drupal\Core\Config\Entity\ConfigEntityBase::sortEntities() instead. + * + * @see https://www.drupal.org/project/drupal/issues/2265487 */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { + @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use '. __CLASS__ .'::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); \Drupal::state()->set('config_entity_sort', TRUE); return parent::sort($a, $b); } diff --git a/core/modules/field_ui/src/FieldConfigListBuilder.php b/core/modules/field_ui/src/FieldConfigListBuilder.php index 0e4fbfeb489c..fa45c5ac1d81 100644 --- a/core/modules/field_ui/src/FieldConfigListBuilder.php +++ b/core/modules/field_ui/src/FieldConfigListBuilder.php @@ -108,9 +108,9 @@ public function load() { return $field_definition instanceof FieldConfigInterface; }); - // Sort the entities using the entity class's sort() method. - // See \Drupal\Core\Config\Entity\ConfigEntityBase::sort(). - uasort($entities, [$this->entityType->getClass(), 'sort']); + // Sort the entities using the entity class's sortEntities() method. + $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); + $this->entityType->getClass()::sortEntities($entities, $collator); return $entities; } diff --git a/core/modules/language/src/LanguageListBuilder.php b/core/modules/language/src/LanguageListBuilder.php index 25cd63d87234..d195ba5af040 100644 --- a/core/modules/language/src/LanguageListBuilder.php +++ b/core/modules/language/src/LanguageListBuilder.php @@ -85,9 +85,9 @@ public function __construct(EntityTypeInterface $entity_type, EntityStorageInter public function load() { $entities = $this->storage->loadByProperties(['locked' => FALSE]); - // Sort the entities using the entity class's sort() method. - // See \Drupal\Core\Config\Entity\ConfigEntityBase::sort(). - uasort($entities, [$this->entityType->getClass(), 'sort']); + // Sort the entities using the entity class's sortEntities() method. + $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); + $this->entityType->getClass()::sortEntities($entities, $collator); return $entities; } diff --git a/core/modules/search/src/Entity/SearchPage.php b/core/modules/search/src/Entity/SearchPage.php index d5eef74a9cf4..a44ba4130817 100644 --- a/core/modules/search/src/Entity/SearchPage.php +++ b/core/modules/search/src/Entity/SearchPage.php @@ -207,10 +207,25 @@ public static function postDelete(EntityStorageInterface $storage, array $entiti } } + /** + * Helper callback for uasort() to compare configuration entities by weight and label. + */ + public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $b, \Collator $collator): int { + /** @var \Drupal\search\SearchPageInterface $a */ + /** @var \Drupal\search\SearchPageInterface $b */ + $a_status = (int) $a->status(); + $b_status = (int) $b->status(); + if ($a_status != $b_status) { + return $b_status <=> $a_status; + } + return parent::compare($a, $b, $collator); + } + /** * Helper callback for uasort() to sort search page entities by status, weight and label. */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { + @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use '. __CLASS__ .'::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); /** @var \Drupal\search\SearchPageInterface $a */ /** @var \Drupal\search\SearchPageInterface $b */ $a_status = (int) $a->status(); diff --git a/core/modules/system/src/Entity/Action.php b/core/modules/system/src/Entity/Action.php index d683bdbc4437..dc9d9624ea9a 100644 --- a/core/modules/system/src/Entity/Action.php +++ b/core/modules/system/src/Entity/Action.php @@ -167,9 +167,29 @@ public function getType() { } /** - * {@inheritdoc} + * Helper callback for uasort() to compare configuration entities by weight and label. + */ + public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $b, \Collator $collator): int { + /** @var \Drupal\system\ActionConfigEntityInterface $a */ + /** @var \Drupal\system\ActionConfigEntityInterface $b */ + $a_type = $a->getType(); + $b_type = $b->getType(); + if ($a_type != $b_type) { + return $collator->compare($a_type, $b_type); + } + return parent::compare($a, $b, $collator); + } + + /** + * Helper callback for uasort() to sort configuration entities. + * + * @deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use + * \Drupal\Core\Config\Entity\ConfigEntityBase::sortEntities() instead. + * + * @see https://www.drupal.org/project/drupal/issues/2265487 */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { + @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use '. __CLASS__ .'::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); /** @var \Drupal\system\ActionConfigEntityInterface $a */ /** @var \Drupal\system\ActionConfigEntityInterface $b */ $a_type = $a->getType(); -- GitLab From e68f414716d60e32954b73b96a328ba125b8ae97 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Wed, 23 Oct 2024 00:01:53 +0200 Subject: [PATCH 38/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php | 2 +- core/lib/Drupal/Core/Datetime/Entity/DateFormat.php | 2 +- core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php | 2 +- core/modules/block/src/Entity/Block.php | 2 +- core/modules/config/tests/config_test/src/Entity/ConfigTest.php | 2 +- core/modules/search/src/Entity/SearchPage.php | 2 +- core/modules/system/src/Entity/Action.php | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php index 9fabf61ef1b0..beb636cd82d8 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php @@ -264,7 +264,7 @@ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $ * @see https://www.drupal.org/project/drupal/issues/2265487 */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { - @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use \Drupal\Core\Config\Entity\ConfigEntityBase::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); + @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use ' . __CLASS__ . '::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); $a_weight = $a->weight ?? 0; $b_weight = $b->weight ?? 0; if ($a_weight == $b_weight) { diff --git a/core/lib/Drupal/Core/Datetime/Entity/DateFormat.php b/core/lib/Drupal/Core/Datetime/Entity/DateFormat.php index 7bd31f77eaef..0efe481f4b94 100644 --- a/core/lib/Drupal/Core/Datetime/Entity/DateFormat.php +++ b/core/lib/Drupal/Core/Datetime/Entity/DateFormat.php @@ -102,7 +102,7 @@ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $ * @see https://www.drupal.org/project/drupal/issues/2265487 */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { - @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use '. __CLASS__ .'::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); + @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use ' . __CLASS__ . '::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); if ($a->isLocked() == $b->isLocked()) { $a_label = $a->label(); $b_label = $b->label(); diff --git a/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php b/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php index 99bf25436cba..505e8863ba34 100644 --- a/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php +++ b/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php @@ -79,7 +79,7 @@ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $ * @see https://www.drupal.org/project/drupal/issues/2265487 */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { - @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use '. __CLASS__ .'::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); + @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use ' . __CLASS__ . '::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); /** @var \Drupal\Core\Entity\EntityDisplayModeInterface $a */ /** @var \Drupal\Core\Entity\EntityDisplayModeInterface $b */ // Sort by the type of entity the view mode is used for. diff --git a/core/modules/block/src/Entity/Block.php b/core/modules/block/src/Entity/Block.php index 30925402ea60..db896d3c5ed1 100644 --- a/core/modules/block/src/Entity/Block.php +++ b/core/modules/block/src/Entity/Block.php @@ -242,7 +242,7 @@ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $ * @see https://www.drupal.org/project/drupal/issues/2265487 */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { - @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use '. __CLASS__ .'::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); + @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use ' . __CLASS__ . '::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); // Separate enabled from disabled. $status = (int) $b->status() - (int) $a->status(); if ($status !== 0) { diff --git a/core/modules/config/tests/config_test/src/Entity/ConfigTest.php b/core/modules/config/tests/config_test/src/Entity/ConfigTest.php index b077717298e7..a349a417c5f0 100644 --- a/core/modules/config/tests/config_test/src/Entity/ConfigTest.php +++ b/core/modules/config/tests/config_test/src/Entity/ConfigTest.php @@ -104,7 +104,7 @@ class ConfigTest extends ConfigEntityBase implements ConfigTestInterface { * @see https://www.drupal.org/project/drupal/issues/2265487 */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { - @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use '. __CLASS__ .'::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); + @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use ' . __CLASS__ . '::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); \Drupal::state()->set('config_entity_sort', TRUE); return parent::sort($a, $b); } diff --git a/core/modules/search/src/Entity/SearchPage.php b/core/modules/search/src/Entity/SearchPage.php index a44ba4130817..76ac836b7def 100644 --- a/core/modules/search/src/Entity/SearchPage.php +++ b/core/modules/search/src/Entity/SearchPage.php @@ -225,7 +225,7 @@ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $ * Helper callback for uasort() to sort search page entities by status, weight and label. */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { - @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use '. __CLASS__ .'::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); + @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use ' . __CLASS__ . '::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); /** @var \Drupal\search\SearchPageInterface $a */ /** @var \Drupal\search\SearchPageInterface $b */ $a_status = (int) $a->status(); diff --git a/core/modules/system/src/Entity/Action.php b/core/modules/system/src/Entity/Action.php index dc9d9624ea9a..262bfc87c930 100644 --- a/core/modules/system/src/Entity/Action.php +++ b/core/modules/system/src/Entity/Action.php @@ -189,7 +189,7 @@ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $ * @see https://www.drupal.org/project/drupal/issues/2265487 */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { - @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use '. __CLASS__ .'::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); + @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use ' . __CLASS__ . '::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); /** @var \Drupal\system\ActionConfigEntityInterface $a */ /** @var \Drupal\system\ActionConfigEntityInterface $b */ $a_type = $a->getType(); -- GitLab From 604491948ab5fe9ffae24efdb50365a32a1f8e16 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Wed, 23 Oct 2024 00:03:44 +0200 Subject: [PATCH 39/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/modules/system/src/Entity/Action.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/modules/system/src/Entity/Action.php b/core/modules/system/src/Entity/Action.php index 262bfc87c930..54321e1696b6 100644 --- a/core/modules/system/src/Entity/Action.php +++ b/core/modules/system/src/Entity/Action.php @@ -175,7 +175,7 @@ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $ $a_type = $a->getType(); $b_type = $b->getType(); if ($a_type != $b_type) { - return $collator->compare($a_type, $b_type); + return $collator->compare($a_type, $b_type); } return parent::compare($a, $b, $collator); } -- GitLab From a114db889e30810bd6b88a447ddd483c983a3561 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Wed, 23 Oct 2024 00:21:13 +0200 Subject: [PATCH 40/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/modules/block/src/BlockRepository.php | 5 ++++- core/modules/search/src/SearchPageRepository.php | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/core/modules/block/src/BlockRepository.php b/core/modules/block/src/BlockRepository.php index e76743663430..500ba9ee5f17 100644 --- a/core/modules/block/src/BlockRepository.php +++ b/core/modules/block/src/BlockRepository.php @@ -2,6 +2,7 @@ namespace Drupal\block; +use Drupal\block\Entity\Block; use Drupal\Core\Cache\CacheableMetadata; use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\Core\Plugin\Context\ContextHandlerInterface; @@ -77,8 +78,10 @@ public function getVisibleBlocksPerRegion(array &$cacheable_metadata = []) { // Merge it with the actual values to maintain the region ordering. $assignments = array_intersect_key(array_merge($empty, $full), $empty); + $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); foreach ($assignments as &$assignment) { - uasort($assignment, 'Drupal\block\Entity\Block::sort'); + // Sort the entities using the entity class's sortEntities() method. + Block::sortEntities($assignment, $collator); } return $assignments; } diff --git a/core/modules/search/src/SearchPageRepository.php b/core/modules/search/src/SearchPageRepository.php index 97606d42a027..48cda7d2592e 100644 --- a/core/modules/search/src/SearchPageRepository.php +++ b/core/modules/search/src/SearchPageRepository.php @@ -105,7 +105,9 @@ public function setDefaultSearchPage(SearchPageInterface $search_page) { */ public function sortSearchPages($search_pages) { $entity_type = $this->storage->getEntityType(); - uasort($search_pages, [$entity_type->getClass(), 'sort']); + // Sort the entities using the entity class's sortEntities() method. + $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); + $entity_type->getClass()::sortEntities($search_pages, $collator); return $search_pages; } -- GitLab From fd50858ab33d1b23fcd88b1e104637fdf7d8fc8e Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Wed, 23 Oct 2024 01:04:15 +0200 Subject: [PATCH 41/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- .../block/tests/src/Unit/BlockRepositoryTest.php | 11 +++++++++++ core/modules/user/src/Entity/Role.php | 6 +++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/core/modules/block/tests/src/Unit/BlockRepositoryTest.php b/core/modules/block/tests/src/Unit/BlockRepositoryTest.php index 4d36f8aa36ce..9c08efae3aeb 100644 --- a/core/modules/block/tests/src/Unit/BlockRepositoryTest.php +++ b/core/modules/block/tests/src/Unit/BlockRepositoryTest.php @@ -6,7 +6,9 @@ use Drupal\block\BlockRepository; use Drupal\Core\Access\AccessResult; +use Drupal\Core\DependencyInjection\ContainerBuilder; use Drupal\Core\Entity\EntityTypeManagerInterface; +use Drupal\Core\Language\Language; use Drupal\Tests\UnitTestCase; /** @@ -55,6 +57,15 @@ protected function setUp(): void { 'bottom', ]); + $language_manager = $this->createMock('\Drupal\Core\Language\LanguageManagerInterface'); + $language_manager->expects($this->any()) + ->method('getCurrentLanguage') + ->with() + ->willReturn(new Language(['id' => 'en'])); + $container = new ContainerBuilder(); + $container->set('language_manager', $language_manager); + \Drupal::setContainer($container); + $theme_manager = $this->createMock('Drupal\Core\Theme\ThemeManagerInterface'); $theme_manager->expects($this->atLeastOnce()) ->method('getActiveTheme') diff --git a/core/modules/user/src/Entity/Role.php b/core/modules/user/src/Entity/Role.php index 62890447801d..255c8fc1e3f3 100644 --- a/core/modules/user/src/Entity/Role.php +++ b/core/modules/user/src/Entity/Role.php @@ -170,9 +170,9 @@ public function setIsAdmin($is_admin) { */ public static function postLoad(EntityStorageInterface $storage, array &$entities) { parent::postLoad($storage, $entities); - // Sort the queried roles by their weight. - // See \Drupal\Core\Config\Entity\ConfigEntityBase::sort(). - uasort($entities, [static::class, 'sort']); + // Sort the entities using the entity class's sortEntities() method. + $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); + static::class::sortEntities($entities, $collator); } /** -- GitLab From 6103add906bcf706fe44f29c0f55c7a7e9fe96d5 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Wed, 23 Oct 2024 02:04:05 +0200 Subject: [PATCH 42/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php | 2 +- core/modules/language/src/LanguageListBuilder.php | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php index beb636cd82d8..e78f34805f63 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php @@ -237,7 +237,7 @@ public function createDuplicate() { */ public static function sortEntities(array &$entities, \Collator $collator): bool { return uasort($entities, function ($a, $b) use ($collator) { - return self::compare($a, $b, $collator); + return static::compare($a, $b, $collator); }); } diff --git a/core/modules/language/src/LanguageListBuilder.php b/core/modules/language/src/LanguageListBuilder.php index d195ba5af040..25cd63d87234 100644 --- a/core/modules/language/src/LanguageListBuilder.php +++ b/core/modules/language/src/LanguageListBuilder.php @@ -85,9 +85,9 @@ public function __construct(EntityTypeInterface $entity_type, EntityStorageInter public function load() { $entities = $this->storage->loadByProperties(['locked' => FALSE]); - // Sort the entities using the entity class's sortEntities() method. - $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); - $this->entityType->getClass()::sortEntities($entities, $collator); + // Sort the entities using the entity class's sort() method. + // See \Drupal\Core\Config\Entity\ConfigEntityBase::sort(). + uasort($entities, [$this->entityType->getClass(), 'sort']); return $entities; } -- GitLab From c648bbb989118a2f222e24987ad05746abc45f06 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Wed, 23 Oct 2024 02:36:16 +0200 Subject: [PATCH 43/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- .../src/Controller/BlockContentController.php | 4 ++- .../language/src/LanguageListBuilder.php | 6 ++--- .../navigation/src/NavigationContentLinks.php | 6 +++-- .../node/src/Controller/NodeController.php | 4 ++- core/modules/shortcut/src/Entity/Shortcut.php | 26 ++++++++++++------- .../shortcut/src/Entity/ShortcutSet.php | 5 +++- 6 files changed, 34 insertions(+), 17 deletions(-) diff --git a/core/modules/block_content/src/Controller/BlockContentController.php b/core/modules/block_content/src/Controller/BlockContentController.php index 8177e44e873f..3d1012621c79 100644 --- a/core/modules/block_content/src/Controller/BlockContentController.php +++ b/core/modules/block_content/src/Controller/BlockContentController.php @@ -82,7 +82,9 @@ public function add(Request $request) { $types[$type->id()] = $type; } } - uasort($types, [$this->blockContentTypeStorage->getEntityType()->getClass(), 'sort']); + // Sort the entities using the entity class's sortEntities() method. + $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); + $this->blockContentTypeStorage->getEntityType()->getClass()::sortEntities($types, $collator); if ($types && count($types) == 1) { $type = reset($types); return $this->addForm($type, $request); diff --git a/core/modules/language/src/LanguageListBuilder.php b/core/modules/language/src/LanguageListBuilder.php index 25cd63d87234..d195ba5af040 100644 --- a/core/modules/language/src/LanguageListBuilder.php +++ b/core/modules/language/src/LanguageListBuilder.php @@ -85,9 +85,9 @@ public function __construct(EntityTypeInterface $entity_type, EntityStorageInter public function load() { $entities = $this->storage->loadByProperties(['locked' => FALSE]); - // Sort the entities using the entity class's sort() method. - // See \Drupal\Core\Config\Entity\ConfigEntityBase::sort(). - uasort($entities, [$this->entityType->getClass(), 'sort']); + // Sort the entities using the entity class's sortEntities() method. + $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); + $this->entityType->getClass()::sortEntities($entities, $collator); return $entities; } diff --git a/core/modules/navigation/src/NavigationContentLinks.php b/core/modules/navigation/src/NavigationContentLinks.php index 8093b417b597..552a24418b27 100644 --- a/core/modules/navigation/src/NavigationContentLinks.php +++ b/core/modules/navigation/src/NavigationContentLinks.php @@ -153,8 +153,10 @@ private function addCreateEntityLinks(string $entity_type, string $add_route_id, // Sort all types within an entity type alphabetically. $definition = $this->entityTypeManager->getDefinition($entity_type); $types = $this->entityTypeManager->getStorage($entity_type)->loadMultiple(); - if (method_exists($definition->getClass(), 'sort')) { - uasort($types, [$definition->getClass(), 'sort']); + if (method_exists($definition->getClass(), 'sortEntities')) { + // Sort the entities using the entity class's sortEntities() method. + $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); + $definition->getClass()::sortEntities($types, $collator); } $add_content_links = []; diff --git a/core/modules/node/src/Controller/NodeController.php b/core/modules/node/src/Controller/NodeController.php index 87c9586daee0..235493d6753b 100644 --- a/core/modules/node/src/Controller/NodeController.php +++ b/core/modules/node/src/Controller/NodeController.php @@ -79,7 +79,9 @@ public function addPage() { $content = []; $types = $this->entityTypeManager()->getStorage('node_type')->loadMultiple(); - uasort($types, [$definition->getClass(), 'sort']); + // Sort the entities using the entity class's sortEntities() method. + $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); + $definition->getClass()::sortEntities($types, $collator); // Only use node types the user has access to. foreach ($types as $type) { $access = $this->entityTypeManager()->getAccessControlHandler('node')->createAccess($type->id(), NULL, [], TRUE); diff --git a/core/modules/shortcut/src/Entity/Shortcut.php b/core/modules/shortcut/src/Entity/Shortcut.php index 3d591b3ada3e..b2e0538c2446 100644 --- a/core/modules/shortcut/src/Entity/Shortcut.php +++ b/core/modules/shortcut/src/Entity/Shortcut.php @@ -167,19 +167,27 @@ public function getCacheTagsToInvalidate() { } /** - * Sort shortcut objects. - * - * Callback for uasort(). + * Helper callback for uasort() to compare configuration entities by weight and label. + */ + public static function compare(ShortcutInterface $a, ShortcutInterface $b, \Collator $collator): int { + $a_weight = $a->getWeight(); + $b_weight = $b->getWeight(); + if ($a_weight == $b_weight) { + return $collator->compare($a->getTitle(), $b->getTitle()); + } + return $a_weight <=> $b_weight; + } + + /** + * Helper callback for uasort() to sort configuration entities by weight and label. * - * @param \Drupal\shortcut\ShortcutInterface $a - * First item for comparison. - * @param \Drupal\shortcut\ShortcutInterface $b - * Second item for comparison. + * @deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use + * \Drupal\Core\Config\Entity\ConfigEntityBase::sortEntities() instead. * - * @return int - * The comparison result for uasort(). + * @see https://www.drupal.org/project/drupal/issues/2265487 */ public static function sort(ShortcutInterface $a, ShortcutInterface $b) { + @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use ' . __CLASS__ . '::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); $a_weight = $a->getWeight(); $b_weight = $b->getWeight(); if ($a_weight == $b_weight) { diff --git a/core/modules/shortcut/src/Entity/ShortcutSet.php b/core/modules/shortcut/src/Entity/ShortcutSet.php index 33c28b3bbb4a..cf62d32cae81 100644 --- a/core/modules/shortcut/src/Entity/ShortcutSet.php +++ b/core/modules/shortcut/src/Entity/ShortcutSet.php @@ -4,6 +4,7 @@ use Drupal\Core\Config\Entity\ConfigEntityBundleBase; use Drupal\Core\Entity\EntityStorageInterface; +use Drupal\shortcut\Entity\Shortcut; use Drupal\shortcut\ShortcutSetInterface; /** @@ -125,7 +126,9 @@ public function resetLinkWeights() { */ public function getShortcuts() { $shortcuts = \Drupal::entityTypeManager()->getStorage('shortcut')->loadByProperties(['shortcut_set' => $this->id()]); - uasort($shortcuts, ['\Drupal\shortcut\Entity\Shortcut', 'sort']); + // Sort the entities using the entity class's sortEntities() method. + $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); + Shortcut::sortEntities($shortcuts, $collator); return $shortcuts; } -- GitLab From 3ed6249870e532b12e73bd39f7468fe15dd57b0e Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Wed, 23 Oct 2024 02:43:03 +0200 Subject: [PATCH 44/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/modules/shortcut/src/Entity/Shortcut.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/modules/shortcut/src/Entity/Shortcut.php b/core/modules/shortcut/src/Entity/Shortcut.php index b2e0538c2446..cc1bf1214d55 100644 --- a/core/modules/shortcut/src/Entity/Shortcut.php +++ b/core/modules/shortcut/src/Entity/Shortcut.php @@ -178,7 +178,7 @@ public static function compare(ShortcutInterface $a, ShortcutInterface $b, \Coll return $a_weight <=> $b_weight; } - /** + /** * Helper callback for uasort() to sort configuration entities by weight and label. * * @deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use -- GitLab From 95e030109e3504cc08275fc4522a84308579160d Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Wed, 23 Oct 2024 02:45:37 +0200 Subject: [PATCH 45/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/modules/shortcut/src/Entity/Shortcut.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/core/modules/shortcut/src/Entity/Shortcut.php b/core/modules/shortcut/src/Entity/Shortcut.php index cc1bf1214d55..286901aa76f3 100644 --- a/core/modules/shortcut/src/Entity/Shortcut.php +++ b/core/modules/shortcut/src/Entity/Shortcut.php @@ -166,6 +166,15 @@ public function getCacheTagsToInvalidate() { return $this->shortcut_set->entity->getCacheTags(); } + /** + * Sorts entities using collator. + */ + public static function sortEntities(array &$entities, \Collator $collator): bool { + return uasort($entities, function ($a, $b) use ($collator) { + return static::compare($a, $b, $collator); + }); + } + /** * Helper callback for uasort() to compare configuration entities by weight and label. */ -- GitLab From 44bf14500b177ef0c27892a52b1f407b21e41096 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Wed, 23 Oct 2024 02:51:55 +0200 Subject: [PATCH 46/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/modules/shortcut/src/Entity/Shortcut.php | 2 +- core/modules/shortcut/src/Entity/ShortcutSet.php | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/core/modules/shortcut/src/Entity/Shortcut.php b/core/modules/shortcut/src/Entity/Shortcut.php index 286901aa76f3..8cc60e1efe0e 100644 --- a/core/modules/shortcut/src/Entity/Shortcut.php +++ b/core/modules/shortcut/src/Entity/Shortcut.php @@ -195,7 +195,7 @@ public static function compare(ShortcutInterface $a, ShortcutInterface $b, \Coll * * @see https://www.drupal.org/project/drupal/issues/2265487 */ - public static function sort(ShortcutInterface $a, ShortcutInterface $b) { + public static function sort(ShortcutInterface $a, ShortcutInterface $b): int { @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use ' . __CLASS__ . '::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); $a_weight = $a->getWeight(); $b_weight = $b->getWeight(); diff --git a/core/modules/shortcut/src/Entity/ShortcutSet.php b/core/modules/shortcut/src/Entity/ShortcutSet.php index cf62d32cae81..e811eb3386f8 100644 --- a/core/modules/shortcut/src/Entity/ShortcutSet.php +++ b/core/modules/shortcut/src/Entity/ShortcutSet.php @@ -4,7 +4,6 @@ use Drupal\Core\Config\Entity\ConfigEntityBundleBase; use Drupal\Core\Entity\EntityStorageInterface; -use Drupal\shortcut\Entity\Shortcut; use Drupal\shortcut\ShortcutSetInterface; /** @@ -128,7 +127,7 @@ public function getShortcuts() { $shortcuts = \Drupal::entityTypeManager()->getStorage('shortcut')->loadByProperties(['shortcut_set' => $this->id()]); // Sort the entities using the entity class's sortEntities() method. $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); - Shortcut::sortEntities($shortcuts, $collator); + \Drupal\shortcut\Entity\Shortcut::sortEntities($shortcuts, $collator); return $shortcuts; } -- GitLab From d477576952367f08287f2bb31aae9910c30cca23 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Wed, 23 Oct 2024 03:01:01 +0200 Subject: [PATCH 47/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/modules/shortcut/src/Entity/ShortcutSet.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/modules/shortcut/src/Entity/ShortcutSet.php b/core/modules/shortcut/src/Entity/ShortcutSet.php index e811eb3386f8..7f5c33d6864f 100644 --- a/core/modules/shortcut/src/Entity/ShortcutSet.php +++ b/core/modules/shortcut/src/Entity/ShortcutSet.php @@ -127,7 +127,7 @@ public function getShortcuts() { $shortcuts = \Drupal::entityTypeManager()->getStorage('shortcut')->loadByProperties(['shortcut_set' => $this->id()]); // Sort the entities using the entity class's sortEntities() method. $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); - \Drupal\shortcut\Entity\Shortcut::sortEntities($shortcuts, $collator); + Shortcut::sortEntities($shortcuts, $collator); return $shortcuts; } -- GitLab From 776780425e712a31e8fdf8aa45f0ec866e56cc52 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Wed, 23 Oct 2024 03:11:25 +0200 Subject: [PATCH 48/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/modules/menu_ui/tests/src/Functional/MenuUiTest.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/core/modules/menu_ui/tests/src/Functional/MenuUiTest.php b/core/modules/menu_ui/tests/src/Functional/MenuUiTest.php index 32ba6df9a384..8feccb0a587c 100644 --- a/core/modules/menu_ui/tests/src/Functional/MenuUiTest.php +++ b/core/modules/menu_ui/tests/src/Functional/MenuUiTest.php @@ -193,7 +193,9 @@ public function testMenuAdministration(): void { $menu_entities[] = $menu_entity; $menu_entity->save(); } - uasort($menu_entities, [Menu::class, 'sort']); + // Sort the entities using the entity class's sortEntities() method. + $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); + Menu::sortEntities($menu_entities, $collator); $menu_entities = array_values($menu_entities); $this->drupalGet('/admin/structure/menu'); $base_path = parse_url($this->baseUrl, PHP_URL_PATH) ?? ''; @@ -217,7 +219,9 @@ public function testMenuAdministration(): void { // natural-sort on the ones that are on page 1. sort($menu_entities); $menu_entities_page_one = array_slice($menu_entities, 50, 64, TRUE); - uasort($menu_entities_page_one, [Menu::class, 'sort']); + // Sort the entities using the entity class's sortEntities() method. + $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); + Menu::sortEntities($menu_entities_page_one, $collator); $menu_entities_page_one = array_values($menu_entities_page_one); $this->drupalGet('/admin/structure/menu', [ -- GitLab From 09b399779a26078b931d0b12356e29b84fa8c7b4 Mon Sep 17 00:00:00 2001 From: Stefan Leitner <s.leitner@comunique.com> Date: Wed, 23 Oct 2024 11:59:11 +0200 Subject: [PATCH 49/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- .../lib/Drupal/Core/Config/Entity/ConfigEntityBase.php | 3 ++- .../Core/Config/Entity/ConfigEntityListBuilder.php | 3 +-- core/modules/block/src/BlockRepository.php | 3 +-- .../src/Controller/BlockContentController.php | 3 +-- .../config/tests/config_test/src/Entity/ConfigTest.php | 4 ++-- core/modules/field_ui/src/FieldConfigListBuilder.php | 3 +-- core/modules/filter/filter.module | 4 +++- core/modules/filter/src/FilterPermissions.php | 4 +++- core/modules/language/src/LanguageListBuilder.php | 3 +-- .../menu_ui/tests/src/Functional/MenuUiTest.php | 6 ++---- core/modules/navigation/src/NavigationContentLinks.php | 3 +-- core/modules/node/src/Controller/NodeController.php | 3 +-- core/modules/search/src/SearchPageRepository.php | 3 +-- core/modules/shortcut/src/Entity/Shortcut.php | 3 ++- core/modules/shortcut/src/Entity/ShortcutSet.php | 3 +-- core/modules/user/src/Entity/Role.php | 3 +-- .../Core/Config/Entity/ConfigEntityBaseUnitTest.php | 10 ++++------ 17 files changed, 28 insertions(+), 36 deletions(-) diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php index e78f34805f63..9d506ded8444 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php @@ -235,7 +235,8 @@ public function createDuplicate() { /** * Sorts entities using collator. */ - public static function sortEntities(array &$entities, \Collator $collator): bool { + public static function sortEntities(array &$entities): bool { + $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); return uasort($entities, function ($a, $b) use ($collator) { return static::compare($a, $b, $collator); }); diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php index 0581936ffec2..45a00d8251c9 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityListBuilder.php @@ -27,8 +27,7 @@ public function load() { $entities = $this->storage->loadMultipleOverrideFree($entity_ids); // Sort the entities using the entity class's sortEntities() method. - $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); - $this->entityType->getClass()::sortEntities($entities, $collator); + $this->entityType->getClass()::sortEntities($entities); return $entities; } diff --git a/core/modules/block/src/BlockRepository.php b/core/modules/block/src/BlockRepository.php index 500ba9ee5f17..ba03ae77d06a 100644 --- a/core/modules/block/src/BlockRepository.php +++ b/core/modules/block/src/BlockRepository.php @@ -78,10 +78,9 @@ public function getVisibleBlocksPerRegion(array &$cacheable_metadata = []) { // Merge it with the actual values to maintain the region ordering. $assignments = array_intersect_key(array_merge($empty, $full), $empty); - $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); foreach ($assignments as &$assignment) { // Sort the entities using the entity class's sortEntities() method. - Block::sortEntities($assignment, $collator); + Block::sortEntities($assignment); } return $assignments; } diff --git a/core/modules/block_content/src/Controller/BlockContentController.php b/core/modules/block_content/src/Controller/BlockContentController.php index 3d1012621c79..bf69fc9fd205 100644 --- a/core/modules/block_content/src/Controller/BlockContentController.php +++ b/core/modules/block_content/src/Controller/BlockContentController.php @@ -83,8 +83,7 @@ public function add(Request $request) { } } // Sort the entities using the entity class's sortEntities() method. - $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); - $this->blockContentTypeStorage->getEntityType()->getClass()::sortEntities($types, $collator); + $this->blockContentTypeStorage->getEntityType()->getClass()::sortEntities($types); if ($types && count($types) == 1) { $type = reset($types); return $this->addForm($type, $request); diff --git a/core/modules/config/tests/config_test/src/Entity/ConfigTest.php b/core/modules/config/tests/config_test/src/Entity/ConfigTest.php index a349a417c5f0..3270edcc5b25 100644 --- a/core/modules/config/tests/config_test/src/Entity/ConfigTest.php +++ b/core/modules/config/tests/config_test/src/Entity/ConfigTest.php @@ -112,9 +112,9 @@ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) /** * {@inheritdoc} */ - public static function sortEntities(array &$entities, \Collator $collator): bool { + public static function sortEntities(array &$entities): bool { \Drupal::state()->set('config_entity_sortEntities', TRUE); - return parent::sortEntities($entities, $collator); + return parent::sortEntities($entities); } /** diff --git a/core/modules/field_ui/src/FieldConfigListBuilder.php b/core/modules/field_ui/src/FieldConfigListBuilder.php index fa45c5ac1d81..1c0f33cf824f 100644 --- a/core/modules/field_ui/src/FieldConfigListBuilder.php +++ b/core/modules/field_ui/src/FieldConfigListBuilder.php @@ -109,8 +109,7 @@ public function load() { }); // Sort the entities using the entity class's sortEntities() method. - $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); - $this->entityType->getClass()::sortEntities($entities, $collator); + $this->entityType->getClass()::sortEntities($entities); return $entities; } diff --git a/core/modules/filter/filter.module b/core/modules/filter/filter.module index 09367b65c1bf..36e870d9ada6 100644 --- a/core/modules/filter/filter.module +++ b/core/modules/filter/filter.module @@ -5,6 +5,7 @@ * Framework for handling the filtering of content. */ +use Drupal\Core\Config\Entity\ConfigEntityBase; use Drupal\Core\Url; use Drupal\Component\Utility\Html; use Drupal\Component\Utility\Unicode; @@ -106,7 +107,8 @@ function filter_formats(?AccountInterface $account = NULL) { } else { $formats['all'] = \Drupal::entityTypeManager()->getStorage('filter_format')->loadByProperties(['status' => TRUE]); - uasort($formats['all'], 'Drupal\Core\Config\Entity\ConfigEntityBase::sort'); + // Sort the entities using the entity class's sortEntities() method. + ConfigEntityBase::sortEntities($formats['all']); \Drupal::cache()->set("filter_formats:{$language_interface->getId()}", $formats['all'], Cache::PERMANENT, \Drupal::entityTypeManager()->getDefinition('filter_format')->getListCacheTags()); } } diff --git a/core/modules/filter/src/FilterPermissions.php b/core/modules/filter/src/FilterPermissions.php index 0ad98b48fef4..519cf6c65a37 100644 --- a/core/modules/filter/src/FilterPermissions.php +++ b/core/modules/filter/src/FilterPermissions.php @@ -2,6 +2,7 @@ namespace Drupal\filter; +use Drupal\Core\Config\Entity\ConfigEntityBase; use Drupal\Core\DependencyInjection\ContainerInjectionInterface; use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\Core\StringTranslation\StringTranslationTrait; @@ -49,7 +50,8 @@ public function permissions() { // of them are potentially unsafe. /** @var \Drupal\filter\FilterFormatInterface[] $formats */ $formats = $this->entityTypeManager->getStorage('filter_format')->loadByProperties(['status' => TRUE]); - uasort($formats, 'Drupal\Core\Config\Entity\ConfigEntityBase::sort'); + // Sort the entities using the entity class's sortEntities() method. + ConfigEntityBase::sortEntities($formats); foreach ($formats as $format) { if ($permission = $format->getPermissionName()) { $permissions[$permission] = [ diff --git a/core/modules/language/src/LanguageListBuilder.php b/core/modules/language/src/LanguageListBuilder.php index d195ba5af040..926c9482ce1e 100644 --- a/core/modules/language/src/LanguageListBuilder.php +++ b/core/modules/language/src/LanguageListBuilder.php @@ -86,8 +86,7 @@ public function load() { $entities = $this->storage->loadByProperties(['locked' => FALSE]); // Sort the entities using the entity class's sortEntities() method. - $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); - $this->entityType->getClass()::sortEntities($entities, $collator); + $this->entityType->getClass()::sortEntities($entities); return $entities; } diff --git a/core/modules/menu_ui/tests/src/Functional/MenuUiTest.php b/core/modules/menu_ui/tests/src/Functional/MenuUiTest.php index 8feccb0a587c..476087ec5146 100644 --- a/core/modules/menu_ui/tests/src/Functional/MenuUiTest.php +++ b/core/modules/menu_ui/tests/src/Functional/MenuUiTest.php @@ -194,8 +194,7 @@ public function testMenuAdministration(): void { $menu_entity->save(); } // Sort the entities using the entity class's sortEntities() method. - $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); - Menu::sortEntities($menu_entities, $collator); + Menu::sortEntities($menu_entities); $menu_entities = array_values($menu_entities); $this->drupalGet('/admin/structure/menu'); $base_path = parse_url($this->baseUrl, PHP_URL_PATH) ?? ''; @@ -220,8 +219,7 @@ public function testMenuAdministration(): void { sort($menu_entities); $menu_entities_page_one = array_slice($menu_entities, 50, 64, TRUE); // Sort the entities using the entity class's sortEntities() method. - $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); - Menu::sortEntities($menu_entities_page_one, $collator); + Menu::sortEntities($menu_entities_page_one); $menu_entities_page_one = array_values($menu_entities_page_one); $this->drupalGet('/admin/structure/menu', [ diff --git a/core/modules/navigation/src/NavigationContentLinks.php b/core/modules/navigation/src/NavigationContentLinks.php index 552a24418b27..36a911a316ff 100644 --- a/core/modules/navigation/src/NavigationContentLinks.php +++ b/core/modules/navigation/src/NavigationContentLinks.php @@ -155,8 +155,7 @@ private function addCreateEntityLinks(string $entity_type, string $add_route_id, $types = $this->entityTypeManager->getStorage($entity_type)->loadMultiple(); if (method_exists($definition->getClass(), 'sortEntities')) { // Sort the entities using the entity class's sortEntities() method. - $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); - $definition->getClass()::sortEntities($types, $collator); + $definition->getClass()::sortEntities($types); } $add_content_links = []; diff --git a/core/modules/node/src/Controller/NodeController.php b/core/modules/node/src/Controller/NodeController.php index 235493d6753b..062962a203b3 100644 --- a/core/modules/node/src/Controller/NodeController.php +++ b/core/modules/node/src/Controller/NodeController.php @@ -80,8 +80,7 @@ public function addPage() { $types = $this->entityTypeManager()->getStorage('node_type')->loadMultiple(); // Sort the entities using the entity class's sortEntities() method. - $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); - $definition->getClass()::sortEntities($types, $collator); + $definition->getClass()::sortEntities($types); // Only use node types the user has access to. foreach ($types as $type) { $access = $this->entityTypeManager()->getAccessControlHandler('node')->createAccess($type->id(), NULL, [], TRUE); diff --git a/core/modules/search/src/SearchPageRepository.php b/core/modules/search/src/SearchPageRepository.php index 48cda7d2592e..c6019b515d95 100644 --- a/core/modules/search/src/SearchPageRepository.php +++ b/core/modules/search/src/SearchPageRepository.php @@ -106,8 +106,7 @@ public function setDefaultSearchPage(SearchPageInterface $search_page) { public function sortSearchPages($search_pages) { $entity_type = $this->storage->getEntityType(); // Sort the entities using the entity class's sortEntities() method. - $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); - $entity_type->getClass()::sortEntities($search_pages, $collator); + $entity_type->getClass()::sortEntities($search_pages); return $search_pages; } diff --git a/core/modules/shortcut/src/Entity/Shortcut.php b/core/modules/shortcut/src/Entity/Shortcut.php index 8cc60e1efe0e..38145a170cff 100644 --- a/core/modules/shortcut/src/Entity/Shortcut.php +++ b/core/modules/shortcut/src/Entity/Shortcut.php @@ -169,7 +169,8 @@ public function getCacheTagsToInvalidate() { /** * Sorts entities using collator. */ - public static function sortEntities(array &$entities, \Collator $collator): bool { + public static function sortEntities(array &$entities): bool { + $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); return uasort($entities, function ($a, $b) use ($collator) { return static::compare($a, $b, $collator); }); diff --git a/core/modules/shortcut/src/Entity/ShortcutSet.php b/core/modules/shortcut/src/Entity/ShortcutSet.php index 7f5c33d6864f..e795240f284f 100644 --- a/core/modules/shortcut/src/Entity/ShortcutSet.php +++ b/core/modules/shortcut/src/Entity/ShortcutSet.php @@ -126,8 +126,7 @@ public function resetLinkWeights() { public function getShortcuts() { $shortcuts = \Drupal::entityTypeManager()->getStorage('shortcut')->loadByProperties(['shortcut_set' => $this->id()]); // Sort the entities using the entity class's sortEntities() method. - $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); - Shortcut::sortEntities($shortcuts, $collator); + Shortcut::sortEntities($shortcuts); return $shortcuts; } diff --git a/core/modules/user/src/Entity/Role.php b/core/modules/user/src/Entity/Role.php index 255c8fc1e3f3..15d63d5b5ed2 100644 --- a/core/modules/user/src/Entity/Role.php +++ b/core/modules/user/src/Entity/Role.php @@ -171,8 +171,7 @@ public function setIsAdmin($is_admin) { public static function postLoad(EntityStorageInterface $storage, array &$entities) { parent::postLoad($storage, $entities); // Sort the entities using the entity class's sortEntities() method. - $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); - static::class::sortEntities($entities, $collator); + static::class::sortEntities($entities); } /** diff --git a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php index e4935f649786..715d972933c8 100644 --- a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php +++ b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php @@ -536,26 +536,24 @@ public function testSort(): void { // cSpell:disable-next-line ->willReturn('Ã¥wesome'); - $collator = \Collator::create('en'); - // Test sorting by label. $list = [$entity_a, $entity_b]; - ConfigEntityBase::sortEntities($list, $collator); + ConfigEntityBase::sortEntities($list); $this->assertSame($entity_b, reset($list)); $list = [$entity_b, $entity_a]; - ConfigEntityBase::sortEntities($list, $collator); + ConfigEntityBase::sortEntities($list); $this->assertSame($entity_b, reset($list)); // Test sorting by weight. $entity_a->weight = 0; $entity_b->weight = 1; $list = [$entity_b, $entity_a]; - ConfigEntityBase::sortEntities($list, $collator); + ConfigEntityBase::sortEntities($list); $this->assertSame($entity_a, reset($list)); $list = [$entity_a, $entity_b]; - ConfigEntityBase::sortEntities($list, $collator); + ConfigEntityBase::sortEntities($list); $this->assertSame($entity_a, reset($list)); } -- GitLab From 800c72ebf3a45cb59567392132522ed68aef1558 Mon Sep 17 00:00:00 2001 From: Stefan Leitner <s.leitner@comunique.com> Date: Wed, 23 Oct 2024 11:59:23 +0200 Subject: [PATCH 50/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- .../Plugin/Field/FieldFormatter/ResponsiveImageFormatter.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/modules/responsive_image/src/Plugin/Field/FieldFormatter/ResponsiveImageFormatter.php b/core/modules/responsive_image/src/Plugin/Field/FieldFormatter/ResponsiveImageFormatter.php index 49fe15103e1d..c53062e28d6d 100644 --- a/core/modules/responsive_image/src/Plugin/Field/FieldFormatter/ResponsiveImageFormatter.php +++ b/core/modules/responsive_image/src/Plugin/Field/FieldFormatter/ResponsiveImageFormatter.php @@ -130,7 +130,8 @@ public function settingsForm(array $form, FormStateInterface $form_state) { $responsive_image_options = []; $responsive_image_styles = $this->responsiveImageStyleStorage->loadMultiple(); - uasort($responsive_image_styles, '\Drupal\responsive_image\Entity\ResponsiveImageStyle::sort'); + // Sort the entities using the entity class's sortEntities() method. + ResponsiveImageStyle::sortEntities($responsive_image_styles); if ($responsive_image_styles && !empty($responsive_image_styles)) { foreach ($responsive_image_styles as $machine_name => $responsive_image_style) { if ($responsive_image_style->hasImageStyleMappings()) { -- GitLab From 710ff49a2d3d58c3f3235eed43146ee270d2f571 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Sat, 2 Nov 2024 23:59:10 +0100 Subject: [PATCH 51/73] Merge branch '11.x' of https://git.drupalcode.org/issue/drupal-2265487 into 2265487-configentity-based-lists --- composer.lock | 101 +------------------------------------------------- 1 file changed, 1 insertion(+), 100 deletions(-) diff --git a/composer.lock b/composer.lock index b3348db47c63..6c1bb6d0e6d8 100644 --- a/composer.lock +++ b/composer.lock @@ -496,11 +496,7 @@ "dist": { "type": "path", "url": "core", -<<<<<<< HEAD - "reference": "976c18dc6a4d0679f56d13e4dc8e3328b9c8d85e" -======= "reference": "a80d15b02550e098781320bd2fc6210beab8ed88" ->>>>>>> 49f6e6bb7a8f9d81a6b3f1312980411ad307f5d3 }, "require": { "asm89/stack-cors": "^2.1", @@ -543,22 +539,12 @@ "symfony/mailer": "^7.2@beta", "symfony/mime": "^7.2@beta", "symfony/polyfill-iconv": "^1.26", -<<<<<<< HEAD - "symfony/polyfill-intl-icu": "^1.26", - "symfony/process": "^7.1", - "symfony/psr-http-message-bridge": "^7.1", - "symfony/routing": "^7.1", - "symfony/serializer": "^7.1", - "symfony/validator": "^7.1", - "symfony/yaml": "^7.1", -======= "symfony/process": "^7.2@beta", "symfony/psr-http-message-bridge": "^7.2@beta", "symfony/routing": "^7.2@beta", "symfony/serializer": "^7.2@beta", "symfony/validator": "^7.2@beta", "symfony/yaml": "^7.2@beta", ->>>>>>> 49f6e6bb7a8f9d81a6b3f1312980411ad307f5d3 "twig/twig": "^3.14.0" }, "conflict": { @@ -591,7 +577,6 @@ "drupal/core-version": "self.version" }, "suggest": { - "ext-intl": "Needed to extend symfony/polyfill-intl-icu capability with the sorting of non-english languages.", "ext-zip": "Needed to extend the plugin.manager.archiver service capability with the handling of files in the ZIP format." }, "type": "drupal-core", @@ -3289,90 +3274,6 @@ ], "time": "2024-09-09T11:45:10+00:00" }, - { - "name": "symfony/polyfill-intl-icu", - "version": "v1.31.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-icu.git", - "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78", - "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "suggest": { - "ext-intl": "For best performance and support of other locales than \"en\"" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Icu\\": "" - }, - "classmap": [ - "Resources/stubs" - ], - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's ICU-related data and classes", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "icu", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.31.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" - }, { "name": "symfony/polyfill-intl-idn", "version": "v1.31.0", @@ -9602,5 +9503,5 @@ "platform-overrides": { "php": "8.3.0" }, - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.6.0" } -- GitLab From 923b8aa1c2bbf74ebd9f13e0d4d237f361e3c0f3 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Sun, 3 Nov 2024 00:29:19 +0100 Subject: [PATCH 52/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- composer.lock | 94 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 90 insertions(+), 4 deletions(-) diff --git a/composer.lock b/composer.lock index 6c1bb6d0e6d8..ea566820fd93 100644 --- a/composer.lock +++ b/composer.lock @@ -496,7 +496,7 @@ "dist": { "type": "path", "url": "core", - "reference": "a80d15b02550e098781320bd2fc6210beab8ed88" + "reference": "93a44d2e721f661113dbbff92d04b45d60819714" }, "require": { "asm89/stack-cors": "^2.1", @@ -539,6 +539,7 @@ "symfony/mailer": "^7.2@beta", "symfony/mime": "^7.2@beta", "symfony/polyfill-iconv": "^1.26", + "symfony/polyfill-intl-icu": "^1.26", "symfony/process": "^7.2@beta", "symfony/psr-http-message-bridge": "^7.2@beta", "symfony/routing": "^7.2@beta", @@ -577,6 +578,7 @@ "drupal/core-version": "self.version" }, "suggest": { + "ext-intl": "Needed to extend symfony/polyfill-intl-icu capability with the sorting of non-english languages.", "ext-zip": "Needed to extend the plugin.manager.archiver service capability with the handling of files in the ZIP format." }, "type": "drupal-core", @@ -3274,6 +3276,90 @@ ], "time": "2024-09-09T11:45:10+00:00" }, + { + "name": "symfony/polyfill-intl-icu", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-icu.git", + "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78", + "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance and support of other locales than \"en\"" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Icu\\": "" + }, + "classmap": [ + "Resources/stubs" + ], + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's ICU-related data and classes", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "icu", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, { "name": "symfony/polyfill-intl-idn", "version": "v1.31.0", @@ -9498,10 +9584,10 @@ }, "prefer-stable": true, "prefer-lowest": false, - "platform": {}, - "platform-dev": {}, + "platform": [], + "platform-dev": [], "platform-overrides": { "php": "8.3.0" }, - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.3.0" } -- GitLab From 5ccfdf71a43160e8095a5c8aac30410efa5f55fc Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Mon, 6 Jan 2025 20:03:06 +0100 Subject: [PATCH 53/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/modules/filter/filter.module | 1 + 1 file changed, 1 insertion(+) diff --git a/core/modules/filter/filter.module b/core/modules/filter/filter.module index db245621cdec..8fd5f3e8d4cb 100644 --- a/core/modules/filter/filter.module +++ b/core/modules/filter/filter.module @@ -7,6 +7,7 @@ use Drupal\Component\Utility\Html; use Drupal\Component\Utility\Unicode; use Drupal\Core\Cache\Cache; +use Drupal\Core\Config\Entity\ConfigEntityBase; use Drupal\Core\Session\AccountInterface; use Drupal\Core\Template\Attribute; use Drupal\filter\FilterFormatInterface; -- GitLab From 28d4dfa4c55741b5250245053b55ea3ba568e9ed Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Mon, 6 Jan 2025 20:13:38 +0100 Subject: [PATCH 54/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- composer/Metapackage/PinnedDevDependencies/composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer/Metapackage/PinnedDevDependencies/composer.json b/composer/Metapackage/PinnedDevDependencies/composer.json index d5a3fe59defd..9433dd2b5d78 100644 --- a/composer/Metapackage/PinnedDevDependencies/composer.json +++ b/composer/Metapackage/PinnedDevDependencies/composer.json @@ -51,7 +51,7 @@ "phpspec/prophecy-phpunit": "v2.3.0", "phpstan/extension-installer": "1.4.3", "phpstan/phpdoc-parser": "1.33.0", - "phpstan/phpstan": "2.1.1", + "phpstan/phpstan": "2.0.4", "phpstan/phpstan-deprecation-rules": "2.0.1", "phpstan/phpstan-phpunit": "2.0.3", "phpunit/php-code-coverage": "10.1.16", -- GitLab From 3cc9e3ca38811821b4b431eb6f35e23bbd3d6fad Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Mon, 6 Jan 2025 20:24:06 +0100 Subject: [PATCH 55/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- composer.json | 2 +- composer/Metapackage/PinnedDevDependencies/composer.json | 2 +- core/tests/PHPStan/composer.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/composer.json b/composer.json index 659cbf36d8f3..593307acd9e4 100644 --- a/composer.json +++ b/composer.json @@ -31,7 +31,7 @@ "php-http/guzzle7-adapter": "^1.0", "phpspec/prophecy-phpunit": "^2", "phpstan/extension-installer": "^1.4.3", - "phpstan/phpstan": "^1.12.4 || ^2.0.4", + "phpstan/phpstan": "^1.12.4 || ^2.1.1", "phpstan/phpstan-phpunit": "^1.3.16 || ^2.0.1", "phpunit/phpunit": "^10.5.19", "symfony/browser-kit": "^7.2", diff --git a/composer/Metapackage/PinnedDevDependencies/composer.json b/composer/Metapackage/PinnedDevDependencies/composer.json index 9433dd2b5d78..d5a3fe59defd 100644 --- a/composer/Metapackage/PinnedDevDependencies/composer.json +++ b/composer/Metapackage/PinnedDevDependencies/composer.json @@ -51,7 +51,7 @@ "phpspec/prophecy-phpunit": "v2.3.0", "phpstan/extension-installer": "1.4.3", "phpstan/phpdoc-parser": "1.33.0", - "phpstan/phpstan": "2.0.4", + "phpstan/phpstan": "2.1.1", "phpstan/phpstan-deprecation-rules": "2.0.1", "phpstan/phpstan-phpunit": "2.0.3", "phpunit/php-code-coverage": "10.1.16", diff --git a/core/tests/PHPStan/composer.json b/core/tests/PHPStan/composer.json index d73d0de20f8d..9d5183c33a23 100644 --- a/core/tests/PHPStan/composer.json +++ b/core/tests/PHPStan/composer.json @@ -3,7 +3,7 @@ "description": "Tests Drupal core's PHPStan rules", "require-dev": { "phpunit/phpunit": "^10", - "phpstan/phpstan": "2.0.4" + "phpstan/phpstan": "2.1.1" }, "license": "GPL-2.0-or-later", "autoload": { -- GitLab From 5fbf59c4fd665b6286184835acec828f676a27d8 Mon Sep 17 00:00:00 2001 From: Your Name <you@example.com> Date: Mon, 6 Jan 2025 20:26:12 +0100 Subject: [PATCH 56/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- composer.lock | 2 +- composer/Metapackage/DevDependencies/composer.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.lock b/composer.lock index d4a8f295ca29..7ef7ee01fae8 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": "a6a454e0a25ad4c4d26cd760d50eb4d0", + "content-hash": "eb74b5e094906949d6944322755a28f1", "packages": [ { "name": "asm89/stack-cors", diff --git a/composer/Metapackage/DevDependencies/composer.json b/composer/Metapackage/DevDependencies/composer.json index 023a65286fdd..4a606df0772a 100644 --- a/composer/Metapackage/DevDependencies/composer.json +++ b/composer/Metapackage/DevDependencies/composer.json @@ -23,7 +23,7 @@ "php-http/guzzle7-adapter": "^1.0", "phpspec/prophecy-phpunit": "^2", "phpstan/extension-installer": "^1.4.3", - "phpstan/phpstan": "^1.12.4 || ^2.0.4", + "phpstan/phpstan": "^1.12.4 || ^2.1.1", "phpstan/phpstan-phpunit": "^1.3.16 || ^2.0.1", "phpunit/phpunit": "^10.5.19", "symfony/browser-kit": "^7.2", -- GitLab From 2b3edfe7a3d7e4c24b3b49d8f44287303341bcd8 Mon Sep 17 00:00:00 2001 From: sleitner <38752-sleitner@users.noreply.drupalcode.org> Date: Tue, 14 Jan 2025 22:09:47 +0000 Subject: [PATCH 57/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php | 4 ++-- core/lib/Drupal/Core/Datetime/Entity/DateFormat.php | 4 ++-- core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php | 4 ++-- core/modules/block/src/Entity/Block.php | 4 ++-- core/modules/search/src/Entity/SearchPage.php | 2 +- core/modules/shortcut/src/Entity/Shortcut.php | 4 ++-- core/modules/system/src/Entity/Action.php | 4 ++-- 7 files changed, 13 insertions(+), 13 deletions(-) diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php index 4b8c5ca1953f..3a1a413d9527 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php @@ -259,13 +259,13 @@ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $ /** * Helper callback for uasort() to sort configuration entities by weight and label. * - * @deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use + * @deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. Use * \Drupal\Core\Config\Entity\ConfigEntityBase::sortEntities() instead. * * @see https://www.drupal.org/project/drupal/issues/2265487 */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { - @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use ' . __CLASS__ . '::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); + @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. Use ' . __CLASS__ . '::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); $a_weight = $a->weight ?? 0; $b_weight = $b->weight ?? 0; if ($a_weight == $b_weight) { diff --git a/core/lib/Drupal/Core/Datetime/Entity/DateFormat.php b/core/lib/Drupal/Core/Datetime/Entity/DateFormat.php index f10aa4f20596..e41d277ba8cb 100644 --- a/core/lib/Drupal/Core/Datetime/Entity/DateFormat.php +++ b/core/lib/Drupal/Core/Datetime/Entity/DateFormat.php @@ -96,13 +96,13 @@ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $ /** * Helper callback for uasort() to sort configuration entities. * - * @deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use + * @deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. Use * \Drupal\Core\Config\Entity\ConfigEntityBase::sortEntities() instead. * * @see https://www.drupal.org/project/drupal/issues/2265487 */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { - @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use ' . __CLASS__ . '::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); + @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. Use ' . __CLASS__ . '::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); if ($a->isLocked() == $b->isLocked()) { $a_label = $a->label(); $b_label = $b->label(); diff --git a/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php b/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php index 505e8863ba34..e34b549b7db6 100644 --- a/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php +++ b/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php @@ -73,13 +73,13 @@ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $ /** * Helper callback for uasort() to sort configuration entities. * - * @deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use + * @deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. Use * \Drupal\Core\Config\Entity\ConfigEntityBase::sortEntities() instead. * * @see https://www.drupal.org/project/drupal/issues/2265487 */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { - @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use ' . __CLASS__ . '::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); + @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. Use ' . __CLASS__ . '::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); /** @var \Drupal\Core\Entity\EntityDisplayModeInterface $a */ /** @var \Drupal\Core\Entity\EntityDisplayModeInterface $b */ // Sort by the type of entity the view mode is used for. diff --git a/core/modules/block/src/Entity/Block.php b/core/modules/block/src/Entity/Block.php index 9660ff4f2939..56590bad1090 100644 --- a/core/modules/block/src/Entity/Block.php +++ b/core/modules/block/src/Entity/Block.php @@ -241,13 +241,13 @@ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $ /** * Helper callback for uasort() to sort configuration entities. * - * @deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use + * @deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. Use * \Drupal\Core\Config\Entity\ConfigEntityBase::sortEntities() instead. * * @see https://www.drupal.org/project/drupal/issues/2265487 */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { - @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use ' . __CLASS__ . '::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); + @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. Use ' . __CLASS__ . '::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); // Separate enabled from disabled. $status = (int) $b->status() - (int) $a->status(); if ($status !== 0) { diff --git a/core/modules/search/src/Entity/SearchPage.php b/core/modules/search/src/Entity/SearchPage.php index eab671d41bc4..e05c7616ee80 100644 --- a/core/modules/search/src/Entity/SearchPage.php +++ b/core/modules/search/src/Entity/SearchPage.php @@ -231,7 +231,7 @@ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $ * Helper callback for uasort() to sort search page entities by status, weight and label. */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { - @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use ' . __CLASS__ . '::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); + @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. Use ' . __CLASS__ . '::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); /** @var \Drupal\search\SearchPageInterface $a */ /** @var \Drupal\search\SearchPageInterface $b */ $a_status = (int) $a->status(); diff --git a/core/modules/shortcut/src/Entity/Shortcut.php b/core/modules/shortcut/src/Entity/Shortcut.php index 930e9b17b9da..1d44625780d5 100644 --- a/core/modules/shortcut/src/Entity/Shortcut.php +++ b/core/modules/shortcut/src/Entity/Shortcut.php @@ -197,13 +197,13 @@ public static function compare(ShortcutInterface $a, ShortcutInterface $b, \Coll /** * Helper callback for uasort() to sort configuration entities by weight and label. * - * @deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use + * @deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. Use * \Drupal\Core\Config\Entity\ConfigEntityBase::sortEntities() instead. * * @see https://www.drupal.org/project/drupal/issues/2265487 */ public static function sort(ShortcutInterface $a, ShortcutInterface $b): int { - @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use ' . __CLASS__ . '::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); + @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. Use ' . __CLASS__ . '::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); $a_weight = $a->getWeight(); $b_weight = $b->getWeight(); if ($a_weight == $b_weight) { diff --git a/core/modules/system/src/Entity/Action.php b/core/modules/system/src/Entity/Action.php index d70540980ad9..a71bac9ad2a6 100644 --- a/core/modules/system/src/Entity/Action.php +++ b/core/modules/system/src/Entity/Action.php @@ -184,13 +184,13 @@ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $ /** * Helper callback for uasort() to sort configuration entities. * - * @deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use + * @deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. Use * \Drupal\Core\Config\Entity\ConfigEntityBase::sortEntities() instead. * * @see https://www.drupal.org/project/drupal/issues/2265487 */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { - @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use ' . __CLASS__ . '::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); + @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. Use ' . __CLASS__ . '::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); /** @var \Drupal\system\ActionConfigEntityInterface $a */ /** @var \Drupal\system\ActionConfigEntityInterface $b */ $a_type = $a->getType(); -- GitLab From 315920ce23e77389b2d5c66918f9a038ad0ba4fe Mon Sep 17 00:00:00 2001 From: sleitner <38752-sleitner@users.noreply.drupalcode.org> Date: Tue, 14 Jan 2025 22:13:21 +0000 Subject: [PATCH 58/73] Issue #2265487 by sleitner, tanuj.: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- .../config/tests/config_test/src/Entity/ConfigTest.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/modules/config/tests/config_test/src/Entity/ConfigTest.php b/core/modules/config/tests/config_test/src/Entity/ConfigTest.php index 4fff52d18c68..6b73e9251ec8 100644 --- a/core/modules/config/tests/config_test/src/Entity/ConfigTest.php +++ b/core/modules/config/tests/config_test/src/Entity/ConfigTest.php @@ -103,13 +103,13 @@ class ConfigTest extends ConfigEntityBase implements ConfigTestInterface { /** * Helper callback for uasort() to sort configuration entities. * - * @deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use + * @deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. Use * \Drupal\Core\Config\Entity\ConfigEntityBase::sortEntities() instead. * * @see https://www.drupal.org/project/drupal/issues/2265487 */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { - @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.1.0 and is removed from drupal:12.0.0. Use ' . __CLASS__ . '::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); + @trigger_error(__CLASS__ . '::' . __FUNCTION__ . ' is deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. Use ' . __CLASS__ . '::sortEntities() instead. See https://www.drupal.org/project/drupal/issues/2265487', E_USER_DEPRECATED); \Drupal::state()->set('config_entity_sort', TRUE); return parent::sort($a, $b); } -- GitLab From ae58518333712b7d2c10ec8cd448e0700b313360 Mon Sep 17 00:00:00 2001 From: Stefan Leitner <s.leitner@comunique.com> Date: Fri, 7 Feb 2025 18:11:25 +0100 Subject: [PATCH 59/73] Revert composer.json changes --- composer.json | 2 +- .../Metapackage/CoreRecommended/composer.json | 18 +++++++++--------- .../Metapackage/DevDependencies/composer.json | 2 +- .../PinnedDevDependencies/composer.json | 18 +++++++++--------- core/tests/PHPStan/composer.json | 2 +- 5 files changed, 21 insertions(+), 21 deletions(-) diff --git a/composer.json b/composer.json index 593307acd9e4..659cbf36d8f3 100644 --- a/composer.json +++ b/composer.json @@ -31,7 +31,7 @@ "php-http/guzzle7-adapter": "^1.0", "phpspec/prophecy-phpunit": "^2", "phpstan/extension-installer": "^1.4.3", - "phpstan/phpstan": "^1.12.4 || ^2.1.1", + "phpstan/phpstan": "^1.12.4 || ^2.0.4", "phpstan/phpstan-phpunit": "^1.3.16 || ^2.0.1", "phpunit/phpunit": "^10.5.19", "symfony/browser-kit": "^7.2", diff --git a/composer/Metapackage/CoreRecommended/composer.json b/composer/Metapackage/CoreRecommended/composer.json index ceb9da013c05..fea68fe14d73 100644 --- a/composer/Metapackage/CoreRecommended/composer.json +++ b/composer/Metapackage/CoreRecommended/composer.json @@ -11,9 +11,9 @@ "asm89/stack-cors": "~v2.2.0", "composer/semver": "~3.4.3", "doctrine/annotations": "~2.0.2", - "doctrine/deprecations": "~1.1.4", + "doctrine/deprecations": "~1.1.3", "doctrine/lexer": "~2.1.1", - "egulias/email-validator": "~4.0.3", + "egulias/email-validator": "~4.0.2", "guzzlehttp/guzzle": "~7.9.2", "guzzlehttp/promises": "~2.0.4", "guzzlehttp/psr7": "~2.7.0", @@ -33,18 +33,18 @@ "ralouphie/getallheaders": "~3.0.3", "revolt/event-loop": "~v1.0.6", "sebastian/diff": "~5.1.1", - "symfony/console": "~v7.2.1", + "symfony/console": "~v7.2.0", "symfony/dependency-injection": "~v7.2.0", "symfony/deprecation-contracts": "~v3.5.1", - "symfony/error-handler": "~v7.2.1", + "symfony/error-handler": "~v7.2.0", "symfony/event-dispatcher": "~v7.2.0", "symfony/event-dispatcher-contracts": "~v3.5.1", "symfony/filesystem": "~v7.2.0", - "symfony/finder": "~v7.2.2", - "symfony/http-foundation": "~v7.2.2", - "symfony/http-kernel": "~v7.2.2", + "symfony/finder": "~v7.2.0", + "symfony/http-foundation": "~v7.2.0", + "symfony/http-kernel": "~v7.2.0", "symfony/mailer": "~v7.2.0", - "symfony/mime": "~v7.2.1", + "symfony/mime": "~v7.2.0", "symfony/polyfill-ctype": "~v1.31.0", "symfony/polyfill-iconv": "~v1.31.0", "symfony/polyfill-intl-grapheme": "~v1.31.0", @@ -59,7 +59,7 @@ "symfony/service-contracts": "~v3.5.1", "symfony/string": "~v7.2.0", "symfony/translation-contracts": "~v3.5.1", - "symfony/validator": "~v7.2.2", + "symfony/validator": "~v7.2.0", "symfony/var-dumper": "~v7.2.0", "symfony/var-exporter": "~v7.2.0", "symfony/yaml": "~v7.2.0", diff --git a/composer/Metapackage/DevDependencies/composer.json b/composer/Metapackage/DevDependencies/composer.json index 4a606df0772a..023a65286fdd 100644 --- a/composer/Metapackage/DevDependencies/composer.json +++ b/composer/Metapackage/DevDependencies/composer.json @@ -23,7 +23,7 @@ "php-http/guzzle7-adapter": "^1.0", "phpspec/prophecy-phpunit": "^2", "phpstan/extension-installer": "^1.4.3", - "phpstan/phpstan": "^1.12.4 || ^2.1.1", + "phpstan/phpstan": "^1.12.4 || ^2.0.4", "phpstan/phpstan-phpunit": "^1.3.16 || ^2.0.1", "phpunit/phpunit": "^10.5.19", "symfony/browser-kit": "^7.2", diff --git a/composer/Metapackage/PinnedDevDependencies/composer.json b/composer/Metapackage/PinnedDevDependencies/composer.json index d5a3fe59defd..ce382db15563 100644 --- a/composer/Metapackage/PinnedDevDependencies/composer.json +++ b/composer/Metapackage/PinnedDevDependencies/composer.json @@ -14,7 +14,7 @@ "colinodell/psr-testlogger": "v1.3.0", "composer/ca-bundle": "1.5.4", "composer/class-map-generator": "1.5.0", - "composer/composer": "2.8.4", + "composer/composer": "2.8.3", "composer/metadata-minifier": "1.0.0", "composer/pcre": "3.3.2", "composer/spdx-licenses": "1.5.8", @@ -22,7 +22,7 @@ "dealerdirect/phpcodesniffer-composer-installer": "v1.0.0", "doctrine/instantiator": "2.0.0", "drupal/coder": "8.3.26", - "google/protobuf": "v4.29.2", + "google/protobuf": "v4.29.1", "justinrainbow/json-schema": "5.3.0", "lullabot/mink-selenium2-driver": "v1.7.4", "lullabot/php-webdriver": "v2.0.6", @@ -30,9 +30,9 @@ "micheh/phpcs-gitlab": "1.1.0", "mikey179/vfsstream": "v1.6.12", "myclabs/deep-copy": "1.12.1", - "nikic/php-parser": "v5.4.0", + "nikic/php-parser": "v5.3.1", "nyholm/psr7-server": "1.1.0", - "open-telemetry/api": "1.1.2", + "open-telemetry/api": "1.1.1", "open-telemetry/context": "1.1.0", "open-telemetry/exporter-otlp": "1.1.0", "open-telemetry/gen-otlp-protobuf": "1.2.1", @@ -51,15 +51,15 @@ "phpspec/prophecy-phpunit": "v2.3.0", "phpstan/extension-installer": "1.4.3", "phpstan/phpdoc-parser": "1.33.0", - "phpstan/phpstan": "2.1.1", + "phpstan/phpstan": "2.0.4", "phpstan/phpstan-deprecation-rules": "2.0.1", - "phpstan/phpstan-phpunit": "2.0.3", + "phpstan/phpstan-phpunit": "2.0.1", "phpunit/php-code-coverage": "10.1.16", "phpunit/php-file-iterator": "4.1.0", "phpunit/php-invoker": "4.0.0", "phpunit/php-text-template": "3.0.1", "phpunit/php-timer": "6.0.0", - "phpunit/phpunit": "10.5.40", + "phpunit/phpunit": "10.5.38", "ramsey/collection": "2.0.0", "ramsey/uuid": "4.7.6", "react/promise": "v3.2.0", @@ -80,9 +80,9 @@ "seld/jsonlint": "1.11.0", "seld/phar-utils": "1.2.1", "seld/signal-handler": "2.0.2", - "sirbrillig/phpcs-variable-analysis": "v2.11.22", + "sirbrillig/phpcs-variable-analysis": "v2.11.21", "slevomat/coding-standard": "8.15.0", - "squizlabs/php_codesniffer": "3.11.2", + "squizlabs/php_codesniffer": "3.11.1", "symfony/browser-kit": "v7.2.0", "symfony/css-selector": "v7.2.0", "symfony/dom-crawler": "v7.2.0", diff --git a/core/tests/PHPStan/composer.json b/core/tests/PHPStan/composer.json index 9d5183c33a23..d73d0de20f8d 100644 --- a/core/tests/PHPStan/composer.json +++ b/core/tests/PHPStan/composer.json @@ -3,7 +3,7 @@ "description": "Tests Drupal core's PHPStan rules", "require-dev": { "phpunit/phpunit": "^10", - "phpstan/phpstan": "2.1.1" + "phpstan/phpstan": "2.0.4" }, "license": "GPL-2.0-or-later", "autoload": { -- GitLab From b2f2325192282876cf4dc6ee27d6ad28dc874afa Mon Sep 17 00:00:00 2001 From: Stefan Leitner <s.leitner@comunique.com> Date: Fri, 7 Feb 2025 18:31:39 +0100 Subject: [PATCH 60/73] Revert composer.lock changes --- composer.lock | 387 ++++++++++++++++++++------------------------------ 1 file changed, 152 insertions(+), 235 deletions(-) diff --git a/composer.lock b/composer.lock index 31e23cff97ef..ffb28c03aee1 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": "eb74b5e094906949d6944322755a28f1", + "content-hash": "a6a454e0a25ad4c4d26cd760d50eb4d0", "packages": [ { "name": "asm89/stack-cors", @@ -367,27 +367,29 @@ }, { "name": "doctrine/deprecations", - "version": "1.1.4", + "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", - "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9" + "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/31610dbb31faa98e6b5447b62340826f54fbc4e9", - "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", + "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^9 || ^12", - "phpstan/phpstan": "1.4.10 || 2.0.3", - "phpstan/phpstan-phpunit": "^1.0 || ^2", + "doctrine/coding-standard": "^9", + "phpstan/phpstan": "1.4.10 || 1.10.15", + "phpstan/phpstan-phpunit": "^1.0", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "psr/log": "^1 || ^2 || ^3" + "psalm/plugin-phpunit": "0.18.4", + "psr/log": "^1 || ^2 || ^3", + "vimeo/psalm": "4.30.0 || 5.12.0" }, "suggest": { "psr/log": "Allows logging deprecations via PSR-3 logger implementation" @@ -395,7 +397,7 @@ "type": "library", "autoload": { "psr-4": { - "Doctrine\\Deprecations\\": "src" + "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" } }, "notification-url": "https://packagist.org/downloads/", @@ -406,9 +408,9 @@ "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/1.1.4" + "source": "https://github.com/doctrine/deprecations/tree/1.1.3" }, - "time": "2024-12-07T21:18:45+00:00" + "time": "2024-01-30T19:34:25+00:00" }, { "name": "doctrine/lexer", @@ -494,7 +496,7 @@ "dist": { "type": "path", "url": "core", - "reference": "e0c2cfdb32104af9bc6d8d4ff133e33140cad31b" + "reference": "71e78e0d59139e8223b07ae3ee950771150a3e8f" }, "require": { "asm89/stack-cors": "^2.1", @@ -537,7 +539,6 @@ "symfony/mailer": "^7.2", "symfony/mime": "^7.2", "symfony/polyfill-iconv": "^1.26", - "symfony/polyfill-intl-icu": "^1.26", "symfony/process": "^7.2", "symfony/psr-http-message-bridge": "^7.2", "symfony/routing": "^7.2", @@ -576,7 +577,6 @@ "drupal/core-version": "self.version" }, "suggest": { - "ext-intl": "Needed to extend symfony/polyfill-intl-icu capability with the sorting of non-english languages.", "ext-zip": "Needed to extend the plugin.manager.archiver service capability with the handling of files in the ZIP format." }, "type": "drupal-core", @@ -723,16 +723,16 @@ }, { "name": "egulias/email-validator", - "version": "4.0.3", + "version": "4.0.2", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "b115554301161fa21467629f1e1391c1936de517" + "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/b115554301161fa21467629f1e1391c1936de517", - "reference": "b115554301161fa21467629f1e1391c1936de517", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ebaaf5be6c0286928352e054f2d5125608e5405e", + "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e", "shasum": "" }, "require": { @@ -778,7 +778,7 @@ ], "support": { "issues": "https://github.com/egulias/EmailValidator/issues", - "source": "https://github.com/egulias/EmailValidator/tree/4.0.3" + "source": "https://github.com/egulias/EmailValidator/tree/4.0.2" }, "funding": [ { @@ -786,7 +786,7 @@ "type": "github" } ], - "time": "2024-12-27T00:36:43+00:00" + "time": "2023-10-06T06:47:41+00:00" }, { "name": "guzzlehttp/guzzle", @@ -2078,16 +2078,16 @@ }, { "name": "symfony/console", - "version": "v7.2.1", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "fefcc18c0f5d0efe3ab3152f15857298868dc2c3" + "reference": "23c8aae6d764e2bae02d2a99f7532a7f6ed619cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/fefcc18c0f5d0efe3ab3152f15857298868dc2c3", - "reference": "fefcc18c0f5d0efe3ab3152f15857298868dc2c3", + "url": "https://api.github.com/repos/symfony/console/zipball/23c8aae6d764e2bae02d2a99f7532a7f6ed619cf", + "reference": "23c8aae6d764e2bae02d2a99f7532a7f6ed619cf", "shasum": "" }, "require": { @@ -2151,7 +2151,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.2.1" + "source": "https://github.com/symfony/console/tree/v7.2.0" }, "funding": [ { @@ -2167,7 +2167,7 @@ "type": "tidelift" } ], - "time": "2024-12-11T03:49:26+00:00" + "time": "2024-11-06T14:24:19+00:00" }, { "name": "symfony/dependency-injection", @@ -2268,12 +2268,12 @@ }, "type": "library", "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, "branch-alias": { "dev-main": "3.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -2318,16 +2318,16 @@ }, { "name": "symfony/error-handler", - "version": "v7.2.1", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "6150b89186573046167796fa5f3f76601d5145f8" + "reference": "672b3dd1ef8b87119b446d67c58c106c43f965fe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/6150b89186573046167796fa5f3f76601d5145f8", - "reference": "6150b89186573046167796fa5f3f76601d5145f8", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/672b3dd1ef8b87119b446d67c58c106c43f965fe", + "reference": "672b3dd1ef8b87119b446d67c58c106c43f965fe", "shasum": "" }, "require": { @@ -2373,7 +2373,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/v7.2.1" + "source": "https://github.com/symfony/error-handler/tree/v7.2.0" }, "funding": [ { @@ -2389,7 +2389,7 @@ "type": "tidelift" } ], - "time": "2024-12-07T08:50:44+00:00" + "time": "2024-11-05T15:35:02+00:00" }, { "name": "symfony/event-dispatcher", @@ -2491,12 +2491,12 @@ }, "type": "library", "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, "branch-alias": { "dev-main": "3.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -2615,16 +2615,16 @@ }, { "name": "symfony/finder", - "version": "v7.2.2", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "87a71856f2f56e4100373e92529eed3171695cfb" + "reference": "6de263e5868b9a137602dd1e33e4d48bfae99c49" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/87a71856f2f56e4100373e92529eed3171695cfb", - "reference": "87a71856f2f56e4100373e92529eed3171695cfb", + "url": "https://api.github.com/repos/symfony/finder/zipball/6de263e5868b9a137602dd1e33e4d48bfae99c49", + "reference": "6de263e5868b9a137602dd1e33e4d48bfae99c49", "shasum": "" }, "require": { @@ -2659,7 +2659,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v7.2.2" + "source": "https://github.com/symfony/finder/tree/v7.2.0" }, "funding": [ { @@ -2675,20 +2675,20 @@ "type": "tidelift" } ], - "time": "2024-12-30T19:00:17+00:00" + "time": "2024-10-23T06:56:12+00:00" }, { "name": "symfony/http-foundation", - "version": "v7.2.2", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "62d1a43796ca3fea3f83a8470dfe63a4af3bc588" + "reference": "e88a66c3997859532bc2ddd6dd8f35aba2711744" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/62d1a43796ca3fea3f83a8470dfe63a4af3bc588", - "reference": "62d1a43796ca3fea3f83a8470dfe63a4af3bc588", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/e88a66c3997859532bc2ddd6dd8f35aba2711744", + "reference": "e88a66c3997859532bc2ddd6dd8f35aba2711744", "shasum": "" }, "require": { @@ -2737,7 +2737,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v7.2.2" + "source": "https://github.com/symfony/http-foundation/tree/v7.2.0" }, "funding": [ { @@ -2753,20 +2753,20 @@ "type": "tidelift" } ], - "time": "2024-12-30T19:00:17+00:00" + "time": "2024-11-13T18:58:46+00:00" }, { "name": "symfony/http-kernel", - "version": "v7.2.2", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "3c432966bd8c7ec7429663105f5a02d7e75b4306" + "reference": "6b4722a25e0aed1ccb4914b9bcbd493cc4676b4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/3c432966bd8c7ec7429663105f5a02d7e75b4306", - "reference": "3c432966bd8c7ec7429663105f5a02d7e75b4306", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/6b4722a25e0aed1ccb4914b9bcbd493cc4676b4d", + "reference": "6b4722a25e0aed1ccb4914b9bcbd493cc4676b4d", "shasum": "" }, "require": { @@ -2851,7 +2851,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/v7.2.2" + "source": "https://github.com/symfony/http-kernel/tree/v7.2.0" }, "funding": [ { @@ -2867,7 +2867,7 @@ "type": "tidelift" } ], - "time": "2024-12-31T14:59:40+00:00" + "time": "2024-11-29T08:42:40+00:00" }, { "name": "symfony/mailer", @@ -2951,16 +2951,16 @@ }, { "name": "symfony/mime", - "version": "v7.2.1", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "7f9617fcf15cb61be30f8b252695ed5e2bfac283" + "reference": "cc84a4b81f62158c3846ac7ff10f696aae2b524d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/7f9617fcf15cb61be30f8b252695ed5e2bfac283", - "reference": "7f9617fcf15cb61be30f8b252695ed5e2bfac283", + "url": "https://api.github.com/repos/symfony/mime/zipball/cc84a4b81f62158c3846ac7ff10f696aae2b524d", + "reference": "cc84a4b81f62158c3846ac7ff10f696aae2b524d", "shasum": "" }, "require": { @@ -3015,7 +3015,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v7.2.1" + "source": "https://github.com/symfony/mime/tree/v7.2.0" }, "funding": [ { @@ -3031,7 +3031,7 @@ "type": "tidelift" } ], - "time": "2024-12-07T08:50:44+00:00" + "time": "2024-11-23T09:19:39+00:00" }, { "name": "symfony/polyfill-ctype", @@ -3138,8 +3138,8 @@ "type": "library", "extra": { "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -3215,8 +3215,8 @@ "type": "library", "extra": { "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -3270,90 +3270,6 @@ ], "time": "2024-09-09T11:45:10+00:00" }, - { - "name": "symfony/polyfill-intl-icu", - "version": "v1.31.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-icu.git", - "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78", - "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "suggest": { - "ext-intl": "For best performance and support of other locales than \"en\"" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Icu\\": "" - }, - "classmap": [ - "Resources/stubs" - ], - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's ICU-related data and classes", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "icu", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.31.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" - }, { "name": "symfony/polyfill-intl-idn", "version": "v1.31.0", @@ -3378,8 +3294,8 @@ "type": "library", "extra": { "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -3460,8 +3376,8 @@ "type": "library", "extra": { "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -3544,8 +3460,8 @@ "type": "library", "extra": { "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -3945,12 +3861,12 @@ }, "type": "library", "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, "branch-alias": { "dev-main": "3.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -4110,12 +4026,12 @@ }, "type": "library", "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, "branch-alias": { "dev-main": "3.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -4171,16 +4087,16 @@ }, { "name": "symfony/validator", - "version": "v7.2.2", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "5c01f00fed258a987ef35f0fefcc069f84111cb4" + "reference": "ddad20aa8cf7a45a9d6300e5776b8d252dc3524b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/5c01f00fed258a987ef35f0fefcc069f84111cb4", - "reference": "5c01f00fed258a987ef35f0fefcc069f84111cb4", + "url": "https://api.github.com/repos/symfony/validator/zipball/ddad20aa8cf7a45a9d6300e5776b8d252dc3524b", + "reference": "ddad20aa8cf7a45a9d6300e5776b8d252dc3524b", "shasum": "" }, "require": { @@ -4248,7 +4164,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v7.2.2" + "source": "https://github.com/symfony/validator/tree/v7.2.0" }, "funding": [ { @@ -4264,7 +4180,7 @@ "type": "tidelift" } ], - "time": "2024-12-30T18:35:15+00:00" + "time": "2024-11-27T09:50:52+00:00" }, { "name": "symfony/var-dumper", @@ -5003,16 +4919,16 @@ }, { "name": "composer/composer", - "version": "2.8.4", + "version": "2.8.3", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "112e37d1dca22b3fdb81cf3524ab4994f47fdb8c" + "reference": "2a7c71266b2545a3bed9f4860734081963f6e688" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/112e37d1dca22b3fdb81cf3524ab4994f47fdb8c", - "reference": "112e37d1dca22b3fdb81cf3524ab4994f47fdb8c", + "url": "https://api.github.com/repos/composer/composer/zipball/2a7c71266b2545a3bed9f4860734081963f6e688", + "reference": "2a7c71266b2545a3bed9f4860734081963f6e688", "shasum": "" }, "require": { @@ -5097,7 +5013,7 @@ "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/composer/issues", "security": "https://github.com/composer/composer/security/policy", - "source": "https://github.com/composer/composer/tree/2.8.4" + "source": "https://github.com/composer/composer/tree/2.8.3" }, "funding": [ { @@ -5113,7 +5029,7 @@ "type": "tidelift" } ], - "time": "2024-12-11T10:57:47+00:00" + "time": "2024-11-17T12:13:04+00:00" }, { "name": "composer/metadata-minifier", @@ -5211,13 +5127,13 @@ }, "type": "library", "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + }, "phpstan": { "includes": [ "extension.neon" ] - }, - "branch-alias": { - "dev-main": "3.x-dev" } }, "autoload": { @@ -5610,16 +5526,16 @@ }, { "name": "google/protobuf", - "version": "v4.29.2", + "version": "v4.29.1", "source": { "type": "git", "url": "https://github.com/protocolbuffers/protobuf-php.git", - "reference": "79aa5014efeeec3d137df5cdb0ae2fc163953945" + "reference": "6042b5483f8029e42473faeb8ef75ba266278381" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/79aa5014efeeec3d137df5cdb0ae2fc163953945", - "reference": "79aa5014efeeec3d137df5cdb0ae2fc163953945", + "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/6042b5483f8029e42473faeb8ef75ba266278381", + "reference": "6042b5483f8029e42473faeb8ef75ba266278381", "shasum": "" }, "require": { @@ -5648,9 +5564,9 @@ "proto" ], "support": { - "source": "https://github.com/protocolbuffers/protobuf-php/tree/v4.29.2" + "source": "https://github.com/protocolbuffers/protobuf-php/tree/v4.29.1" }, - "time": "2024-12-18T14:11:12+00:00" + "time": "2024-12-03T22:07:45+00:00" }, { "name": "justinrainbow/json-schema", @@ -6104,16 +6020,16 @@ }, { "name": "nikic/php-parser", - "version": "v5.4.0", + "version": "v5.3.1", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "447a020a1f875a434d62f2a401f53b82a396e494" + "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/447a020a1f875a434d62f2a401f53b82a396e494", - "reference": "447a020a1f875a434d62f2a401f53b82a396e494", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/8eea230464783aa9671db8eea6f8c6ac5285794b", + "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b", "shasum": "" }, "require": { @@ -6156,9 +6072,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.4.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.3.1" }, - "time": "2024-12-30T11:07:19+00:00" + "time": "2024-10-08T18:51:32+00:00" }, { "name": "nyholm/psr7-server", @@ -6228,16 +6144,16 @@ }, { "name": "open-telemetry/api", - "version": "1.1.2", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/opentelemetry-php/api.git", - "reference": "04c85a1e41a3d59fa9bdc801a5de1df6624b95ed" + "reference": "542064815d38a6df55af7957cd6f1d7d967c99c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opentelemetry-php/api/zipball/04c85a1e41a3d59fa9bdc801a5de1df6624b95ed", - "reference": "04c85a1e41a3d59fa9bdc801a5de1df6624b95ed", + "url": "https://api.github.com/repos/opentelemetry-php/api/zipball/542064815d38a6df55af7957cd6f1d7d967c99c6", + "reference": "542064815d38a6df55af7957cd6f1d7d967c99c6", "shasum": "" }, "require": { @@ -6251,13 +6167,13 @@ }, "type": "library", "extra": { + "branch-alias": { + "dev-main": "1.1.x-dev" + }, "spi": { "OpenTelemetry\\API\\Instrumentation\\AutoInstrumentation\\HookManagerInterface": [ "OpenTelemetry\\API\\Instrumentation\\AutoInstrumentation\\ExtensionHookManager" ] - }, - "branch-alias": { - "dev-main": "1.1.x-dev" } }, "autoload": { @@ -6294,7 +6210,7 @@ "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", "source": "https://github.com/open-telemetry/opentelemetry-php" }, - "time": "2024-11-16T04:32:30+00:00" + "time": "2024-10-15T22:42:37+00:00" }, { "name": "open-telemetry/context", @@ -6521,13 +6437,13 @@ }, "type": "library", "extra": { + "branch-alias": { + "dev-main": "1.0.x-dev" + }, "spi": { "OpenTelemetry\\API\\Instrumentation\\AutoInstrumentation\\HookManagerInterface": [ "OpenTelemetry\\API\\Instrumentation\\AutoInstrumentation\\ExtensionHookManager" ] - }, - "branch-alias": { - "dev-main": "1.0.x-dev" } }, "autoload": { @@ -7391,16 +7307,16 @@ }, { "name": "phpstan/phpstan", - "version": "2.1.1", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "cd6e973e04b4c2b94c86e8612b5a65f0da0e08e7" + "reference": "50d276fc3bf1430ec315f2f109bbde2769821524" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/cd6e973e04b4c2b94c86e8612b5a65f0da0e08e7", - "reference": "cd6e973e04b4c2b94c86e8612b5a65f0da0e08e7", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/50d276fc3bf1430ec315f2f109bbde2769821524", + "reference": "50d276fc3bf1430ec315f2f109bbde2769821524", "shasum": "" }, "require": { @@ -7445,7 +7361,7 @@ "type": "github" } ], - "time": "2025-01-05T16:43:48+00:00" + "time": "2024-12-17T17:14:01+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", @@ -7496,21 +7412,21 @@ }, { "name": "phpstan/phpstan-phpunit", - "version": "2.0.3", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-phpunit.git", - "reference": "e32ac656788a5bf3dedda89e6a2cad5643bf1a18" + "reference": "4b6ad7fab8683ff4efd7887ba26ef8ee171c7475" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/e32ac656788a5bf3dedda89e6a2cad5643bf1a18", - "reference": "e32ac656788a5bf3dedda89e6a2cad5643bf1a18", + "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/4b6ad7fab8683ff4efd7887ba26ef8ee171c7475", + "reference": "4b6ad7fab8683ff4efd7887ba26ef8ee171c7475", "shasum": "" }, "require": { "php": "^7.4 || ^8.0", - "phpstan/phpstan": "^2.0.4" + "phpstan/phpstan": "^2.0" }, "conflict": { "phpunit/phpunit": "<7.0" @@ -7541,9 +7457,9 @@ "description": "PHPUnit extensions and rules for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-phpunit/issues", - "source": "https://github.com/phpstan/phpstan-phpunit/tree/2.0.3" + "source": "https://github.com/phpstan/phpstan-phpunit/tree/2.0.1" }, - "time": "2024-12-19T09:14:43+00:00" + "time": "2024-11-12T12:48:00+00:00" }, { "name": "phpunit/php-code-coverage", @@ -7868,16 +7784,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.40", + "version": "10.5.38", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "e6ddda95af52f69c1e0c7b4f977cccb58048798c" + "reference": "a86773b9e887a67bc53efa9da9ad6e3f2498c132" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e6ddda95af52f69c1e0c7b4f977cccb58048798c", - "reference": "e6ddda95af52f69c1e0c7b4f977cccb58048798c", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a86773b9e887a67bc53efa9da9ad6e3f2498c132", + "reference": "a86773b9e887a67bc53efa9da9ad6e3f2498c132", "shasum": "" }, "require": { @@ -7887,7 +7803,7 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.12.1", + "myclabs/deep-copy": "^1.12.0", "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", "php": ">=8.1", @@ -7949,7 +7865,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.40" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.38" }, "funding": [ { @@ -7965,7 +7881,7 @@ "type": "tidelift" } ], - "time": "2024-12-21T05:49:06+00:00" + "time": "2024-10-28T13:06:21+00:00" }, { "name": "ramsey/collection", @@ -9245,16 +9161,16 @@ }, { "name": "sirbrillig/phpcs-variable-analysis", - "version": "v2.11.22", + "version": "v2.11.21", "source": { "type": "git", "url": "https://github.com/sirbrillig/phpcs-variable-analysis.git", - "reference": "ffb6f16c6033ec61ed84446b479a31d6529f0eb7" + "reference": "eb2b351927098c24860daa7484e290d3eed693be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sirbrillig/phpcs-variable-analysis/zipball/ffb6f16c6033ec61ed84446b479a31d6529f0eb7", - "reference": "ffb6f16c6033ec61ed84446b479a31d6529f0eb7", + "url": "https://api.github.com/repos/sirbrillig/phpcs-variable-analysis/zipball/eb2b351927098c24860daa7484e290d3eed693be", + "reference": "eb2b351927098c24860daa7484e290d3eed693be", "shasum": "" }, "require": { @@ -9266,6 +9182,7 @@ "phpcsstandards/phpcsdevcs": "^1.1", "phpstan/phpstan": "^1.7", "phpunit/phpunit": "^4.8.36 || ^5.7.21 || ^6.5 || ^7.0 || ^8.0 || ^9.0 || ^10.5.32 || ^11.3.3", + "sirbrillig/phpcs-import-detection": "^1.1", "vimeo/psalm": "^0.2 || ^0.3 || ^1.1 || ^4.24 || ^5.0" }, "type": "phpcodesniffer-standard", @@ -9298,7 +9215,7 @@ "source": "https://github.com/sirbrillig/phpcs-variable-analysis", "wiki": "https://github.com/sirbrillig/phpcs-variable-analysis/wiki" }, - "time": "2025-01-06T17:54:24+00:00" + "time": "2024-12-02T16:37:49+00:00" }, { "name": "slevomat/coding-standard", @@ -9367,16 +9284,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.11.2", + "version": "3.11.1", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "1368f4a58c3c52114b86b1abe8f4098869cb0079" + "reference": "19473c30efe4f7b3cd42522d0b2e6e7f243c6f87" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/1368f4a58c3c52114b86b1abe8f4098869cb0079", - "reference": "1368f4a58c3c52114b86b1abe8f4098869cb0079", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/19473c30efe4f7b3cd42522d0b2e6e7f243c6f87", + "reference": "19473c30efe4f7b3cd42522d0b2e6e7f243c6f87", "shasum": "" }, "require": { @@ -9443,7 +9360,7 @@ "type": "open_collective" } ], - "time": "2024-12-11T16:04:26+00:00" + "time": "2024-11-16T12:02:36+00:00" }, { "name": "symfony/browser-kit", @@ -9944,5 +9861,5 @@ "platform-overrides": { "php": "8.3.0" }, - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.6.0" } -- GitLab From fa8e2d37b32260ffd31d17d771ae2b41f9e983dd Mon Sep 17 00:00:00 2001 From: Stefan Leitner <s.leitner@comunique.com> Date: Fri, 7 Feb 2025 18:49:36 +0100 Subject: [PATCH 61/73] Revert composer.lock changes --- composer.lock | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 87 insertions(+), 1 deletion(-) diff --git a/composer.lock b/composer.lock index ffb28c03aee1..196458f379f2 100644 --- a/composer.lock +++ b/composer.lock @@ -496,7 +496,7 @@ "dist": { "type": "path", "url": "core", - "reference": "71e78e0d59139e8223b07ae3ee950771150a3e8f" + "reference": "e0c2cfdb32104af9bc6d8d4ff133e33140cad31b" }, "require": { "asm89/stack-cors": "^2.1", @@ -539,6 +539,7 @@ "symfony/mailer": "^7.2", "symfony/mime": "^7.2", "symfony/polyfill-iconv": "^1.26", + "symfony/polyfill-intl-icu": "^1.26", "symfony/process": "^7.2", "symfony/psr-http-message-bridge": "^7.2", "symfony/routing": "^7.2", @@ -577,6 +578,7 @@ "drupal/core-version": "self.version" }, "suggest": { + "ext-intl": "Needed to extend symfony/polyfill-intl-icu capability with the sorting of non-english languages.", "ext-zip": "Needed to extend the plugin.manager.archiver service capability with the handling of files in the ZIP format." }, "type": "drupal-core", @@ -3270,6 +3272,90 @@ ], "time": "2024-09-09T11:45:10+00:00" }, + { + "name": "symfony/polyfill-intl-icu", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-icu.git", + "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78", + "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance and support of other locales than \"en\"" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Icu\\": "" + }, + "classmap": [ + "Resources/stubs" + ], + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's ICU-related data and classes", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "icu", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, { "name": "symfony/polyfill-intl-idn", "version": "v1.31.0", -- GitLab From c2a3d7ec4062acd7a0ea06d653b9edc7377dffad Mon Sep 17 00:00:00 2001 From: Stefan Leitner <sleitner@2466050.no-reply.drupal.org> Date: Sat, 8 Mar 2025 17:35:43 +0100 Subject: [PATCH 62/73] Merge branch '11.x' of https://git.drupalcode.org/project/drupal into 2265487-configentity-based-lists --- composer.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.lock b/composer.lock index f5c5cad3873d..0ff6f1f3055c 100644 --- a/composer.lock +++ b/composer.lock @@ -496,7 +496,7 @@ "dist": { "type": "path", "url": "core", - "reference": "bba96164d4ad20ffabd88fff8b13ddfe8089c3c2" + "reference": "279cdba5e66c3ecdb5a823ad8c802c2fd45220aa" }, "require": { "asm89/stack-cors": "^2.1", -- GitLab From 7da7581f2692aed03da4ae27a751cfd13054552b Mon Sep 17 00:00:00 2001 From: Stefan Leitner <s.leitner@comunique.com> Date: Fri, 21 Mar 2025 11:52:49 +0100 Subject: [PATCH 63/73] Shorten function comments --- core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php | 3 ++- core/lib/Drupal/Core/Datetime/Entity/DateFormat.php | 2 +- core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php index bf9b1d659c03..71c02ccf0bd0 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php @@ -243,7 +243,8 @@ public static function sortEntities(array &$entities): bool { } /** - * Helper callback for uasort() to compare configuration entities by weight and label. + * Callback for uasort() to compare configuration entities by weight and + * label. */ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $b, \Collator $collator): int { $a_weight = $a->weight ?? 0; diff --git a/core/lib/Drupal/Core/Datetime/Entity/DateFormat.php b/core/lib/Drupal/Core/Datetime/Entity/DateFormat.php index e41d277ba8cb..77131f39539c 100644 --- a/core/lib/Drupal/Core/Datetime/Entity/DateFormat.php +++ b/core/lib/Drupal/Core/Datetime/Entity/DateFormat.php @@ -82,7 +82,7 @@ public function isLocked() { } /** - * Helper callback for uasort() to compare configuration entities by weight and label. + * Callback for uasort() to compare configuration entities by label. */ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $b, \Collator $collator): int { if ($a->isLocked() == $b->isLocked()) { diff --git a/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php b/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php index e34b549b7db6..5d1f85e5f35b 100644 --- a/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php +++ b/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php @@ -58,7 +58,7 @@ abstract class EntityDisplayModeBase extends ConfigEntityBase implements EntityD protected $cache = TRUE; /** - * Helper callback for uasort() to compare configuration entities by weight and label. + * Callback for uasort() to compare configuration entities by label. */ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $b, \Collator $collator): int { /** @var \Drupal\Core\Entity\EntityDisplayModeInterface $a */ -- GitLab From d24d99f02e351ec86f29626ee44d9cd6d14d862c Mon Sep 17 00:00:00 2001 From: Stefan Leitner <s.leitner@comunique.com> Date: Fri, 21 Mar 2025 11:56:10 +0100 Subject: [PATCH 64/73] Shorten function comments --- core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php | 3 +-- core/lib/Drupal/Core/Datetime/Entity/DateFormat.php | 2 +- core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php index 71c02ccf0bd0..9ce99841057d 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php @@ -243,8 +243,7 @@ public static function sortEntities(array &$entities): bool { } /** - * Callback for uasort() to compare configuration entities by weight and - * label. + * Callback for uasort() to compare configuration entities. */ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $b, \Collator $collator): int { $a_weight = $a->weight ?? 0; diff --git a/core/lib/Drupal/Core/Datetime/Entity/DateFormat.php b/core/lib/Drupal/Core/Datetime/Entity/DateFormat.php index 77131f39539c..aa8c6aa5e18e 100644 --- a/core/lib/Drupal/Core/Datetime/Entity/DateFormat.php +++ b/core/lib/Drupal/Core/Datetime/Entity/DateFormat.php @@ -82,7 +82,7 @@ public function isLocked() { } /** - * Callback for uasort() to compare configuration entities by label. + * Callback for uasort() to compare configuration entities. */ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $b, \Collator $collator): int { if ($a->isLocked() == $b->isLocked()) { diff --git a/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php b/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php index 5d1f85e5f35b..3ce730622690 100644 --- a/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php +++ b/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php @@ -58,7 +58,7 @@ abstract class EntityDisplayModeBase extends ConfigEntityBase implements EntityD protected $cache = TRUE; /** - * Callback for uasort() to compare configuration entities by label. + * Callback for uasort() to compare configuration entities. */ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $b, \Collator $collator): int { /** @var \Drupal\Core\Entity\EntityDisplayModeInterface $a */ -- GitLab From 374edee039df4592384988b4e3fd02d7e99b81d8 Mon Sep 17 00:00:00 2001 From: Stefan Leitner <s.leitner@comunique.com> Date: Mon, 31 Mar 2025 12:39:16 +0200 Subject: [PATCH 65/73] Merge branch '11.x' of https://git.drupalcode.org/project/drupal into 2265487-configentity-based-lists --- composer.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.lock b/composer.lock index 5cc6ef34b135..06fdafe675ff 100644 --- a/composer.lock +++ b/composer.lock @@ -496,7 +496,7 @@ "dist": { "type": "path", "url": "core", - "reference": "7e8f42a2a16fa8db35c42d6ba0c7bcc9b3508588" + "reference": "71f1c41d5a7257b966c16db78005a9cf1e148557" }, "require": { "asm89/stack-cors": "^2.3", -- GitLab From 24e6690ace08a8ee39930400b4780c7608019418 Mon Sep 17 00:00:00 2001 From: Stefan Leitner <s.leitner@comunique.com> Date: Tue, 1 Apr 2025 11:59:21 +0200 Subject: [PATCH 66/73] Issue #2265487: ConfigEntity based lists with items containing non-ascii characters are not sorted correctly --- core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php | 3 +++ core/lib/Drupal/Core/Datetime/Entity/DateFormat.php | 3 +++ core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php | 7 ++++++- core/modules/block/src/Entity/Block.php | 3 +++ core/modules/shortcut/src/Entity/Shortcut.php | 3 +++ core/modules/system/src/Entity/Action.php | 3 +++ 6 files changed, 21 insertions(+), 1 deletion(-) diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php index 9ce99841057d..23b6043e4735 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php @@ -251,6 +251,9 @@ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $ if ($a_weight == $b_weight) { $a_label = $a->label() ?? ''; $b_label = $b->label() ?? ''; + if (!extension_loaded('intl')) { + return strnatcasecmp($a_label, $b_label); + } return $collator->compare($a_label, $b_label); } return $a_weight <=> $b_weight; diff --git a/core/lib/Drupal/Core/Datetime/Entity/DateFormat.php b/core/lib/Drupal/Core/Datetime/Entity/DateFormat.php index aa8c6aa5e18e..c0c1e84aa18f 100644 --- a/core/lib/Drupal/Core/Datetime/Entity/DateFormat.php +++ b/core/lib/Drupal/Core/Datetime/Entity/DateFormat.php @@ -88,6 +88,9 @@ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $ if ($a->isLocked() == $b->isLocked()) { $a_label = $a->label(); $b_label = $b->label(); + if (!extension_loaded('intl')) { + return strnatcasecmp($a_label, $b_label); + } return $collator->compare($a_label, $b_label); } return $a->isLocked() ? 1 : -1; diff --git a/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php b/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php index 3ce730622690..fad72e0eda0d 100644 --- a/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php +++ b/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php @@ -66,7 +66,12 @@ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $ // Sort by the type of entity the view mode is used for. $a_type = $a->getTargetType(); $b_type = $b->getTargetType(); - $type_order = $collator->compare($a_type, $b_type); + if (!extension_loaded('intl')) { + $type_order = strnatcasecmp($a_type, $b_type); + } + else { + $type_order = $collator->compare($a_type, $b_type); + } return $type_order != 0 ? $type_order : parent::compare($a, $b, $collator); } diff --git a/core/modules/block/src/Entity/Block.php b/core/modules/block/src/Entity/Block.php index 56590bad1090..0e54bb634b22 100644 --- a/core/modules/block/src/Entity/Block.php +++ b/core/modules/block/src/Entity/Block.php @@ -235,6 +235,9 @@ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $ } // Sort by label. + if (!extension_loaded('intl')) { + return strnatcasecmp($a->label(), $b->label()); + } return $collator->compare($a->label(), $b->label()); } diff --git a/core/modules/shortcut/src/Entity/Shortcut.php b/core/modules/shortcut/src/Entity/Shortcut.php index 1d44625780d5..ea30c9c09c61 100644 --- a/core/modules/shortcut/src/Entity/Shortcut.php +++ b/core/modules/shortcut/src/Entity/Shortcut.php @@ -189,6 +189,9 @@ public static function compare(ShortcutInterface $a, ShortcutInterface $b, \Coll $a_weight = $a->getWeight(); $b_weight = $b->getWeight(); if ($a_weight == $b_weight) { + if (!extension_loaded('intl')) { + return strnatcasecmp($a->getTitle(), $b->getTitle()); + } return $collator->compare($a->getTitle(), $b->getTitle()); } return $a_weight <=> $b_weight; diff --git a/core/modules/system/src/Entity/Action.php b/core/modules/system/src/Entity/Action.php index a71bac9ad2a6..993591ec6f01 100644 --- a/core/modules/system/src/Entity/Action.php +++ b/core/modules/system/src/Entity/Action.php @@ -176,6 +176,9 @@ public static function compare(ConfigEntityInterface $a, ConfigEntityInterface $ $a_type = $a->getType(); $b_type = $b->getType(); if ($a_type != $b_type) { + if (!extension_loaded('intl')) { + return strnatcasecmp($a_type, $b_type); + } return $collator->compare($a_type, $b_type); } return parent::compare($a, $b, $collator); -- GitLab From 1d09c674536321195527cb2c306b3be8cc514ae1 Mon Sep 17 00:00:00 2001 From: sleitner <38752-sleitner@users.noreply.drupalcode.org> Date: Thu, 3 Apr 2025 09:59:12 +0000 Subject: [PATCH 67/73] Comment on hardcoded language en --- .../lib/Drupal/Core/Config/Entity/ConfigEntityBase.php | 3 +++ core/modules/shortcut/src/Entity/Shortcut.php | 10 ---------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php index 23b6043e4735..4663366a867d 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php @@ -236,6 +236,9 @@ public function createDuplicate() { * Sorts entities using collator. */ public static function sortEntities(array &$entities): bool { + // En is hardcoded because Symfony\Polyfill\Intl\Icu\Collator::create() is + // throwing an exeption, if locale is not en. It is the only implemented + // language in the polyfill. $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); return uasort($entities, function ($a, $b) use ($collator) { return static::compare($a, $b, $collator); diff --git a/core/modules/shortcut/src/Entity/Shortcut.php b/core/modules/shortcut/src/Entity/Shortcut.php index ea30c9c09c61..82c1eab617d2 100644 --- a/core/modules/shortcut/src/Entity/Shortcut.php +++ b/core/modules/shortcut/src/Entity/Shortcut.php @@ -172,16 +172,6 @@ public function getCacheTagsToInvalidate() { return $this->shortcut_set->entity->getCacheTags(); } - /** - * Sorts entities using collator. - */ - public static function sortEntities(array &$entities): bool { - $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); - return uasort($entities, function ($a, $b) use ($collator) { - return static::compare($a, $b, $collator); - }); - } - /** * Helper callback for uasort() to compare configuration entities by weight and label. */ -- GitLab From a17b51308227a008de58e1a36f108ee66bddb73c Mon Sep 17 00:00:00 2001 From: sleitner <38752-sleitner@users.noreply.drupalcode.org> Date: Thu, 3 Apr 2025 10:01:30 +0000 Subject: [PATCH 68/73] PHPCS whitespace --- core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php index 4663366a867d..2fc89adbae66 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php @@ -237,7 +237,7 @@ public function createDuplicate() { */ public static function sortEntities(array &$entities): bool { // En is hardcoded because Symfony\Polyfill\Intl\Icu\Collator::create() is - // throwing an exeption, if locale is not en. It is the only implemented + // throwing an exeption, if locale is not en. It is the only implemented // language in the polyfill. $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); return uasort($entities, function ($a, $b) use ($collator) { -- GitLab From f3ff1d1ca8dbf8ccdd3c77f3827f448494ebab71 Mon Sep 17 00:00:00 2001 From: sleitner <38752-sleitner@users.noreply.drupalcode.org> Date: Thu, 3 Apr 2025 10:02:42 +0000 Subject: [PATCH 69/73] Spelling --- core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php index 2fc89adbae66..566a6b678a0e 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php @@ -237,7 +237,7 @@ public function createDuplicate() { */ public static function sortEntities(array &$entities): bool { // En is hardcoded because Symfony\Polyfill\Intl\Icu\Collator::create() is - // throwing an exeption, if locale is not en. It is the only implemented + // throwing an exception, if locale is not en. It is the only implemented // language in the polyfill. $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); return uasort($entities, function ($a, $b) use ($collator) { -- GitLab From 2c3b4694a7d5908e0aae0fb2f4fe6708121198d1 Mon Sep 17 00:00:00 2001 From: sleitner <38752-sleitner@users.noreply.drupalcode.org> Date: Thu, 3 Apr 2025 10:11:29 +0000 Subject: [PATCH 70/73] missing use --- core/modules/shortcut/src/Entity/ShortcutSet.php | 1 + 1 file changed, 1 insertion(+) diff --git a/core/modules/shortcut/src/Entity/ShortcutSet.php b/core/modules/shortcut/src/Entity/ShortcutSet.php index 794ed7e0e2af..afbd02e62646 100644 --- a/core/modules/shortcut/src/Entity/ShortcutSet.php +++ b/core/modules/shortcut/src/Entity/ShortcutSet.php @@ -6,6 +6,7 @@ use Drupal\Core\StringTranslation\TranslatableMarkup; use Drupal\Core\Config\Entity\ConfigEntityBundleBase; use Drupal\Core\Entity\EntityStorageInterface; +use Drupal\shortcut\Entity\Shortcut; use Drupal\shortcut\Form\SetCustomize; use Drupal\shortcut\Form\ShortcutSetDeleteForm; use Drupal\shortcut\ShortcutSetAccessControlHandler; -- GitLab From 3ede1de752e01cb02afee6c84eb60c3bfc1b83e3 Mon Sep 17 00:00:00 2001 From: sleitner <38752-sleitner@users.noreply.drupalcode.org> Date: Thu, 3 Apr 2025 10:26:17 +0000 Subject: [PATCH 71/73] readd sortEntities with comment --- core/modules/shortcut/src/Entity/Shortcut.php | 13 +++++++++++++ core/modules/shortcut/src/Entity/ShortcutSet.php | 1 - 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/core/modules/shortcut/src/Entity/Shortcut.php b/core/modules/shortcut/src/Entity/Shortcut.php index 82c1eab617d2..c84cb198f4e2 100644 --- a/core/modules/shortcut/src/Entity/Shortcut.php +++ b/core/modules/shortcut/src/Entity/Shortcut.php @@ -172,6 +172,19 @@ public function getCacheTagsToInvalidate() { return $this->shortcut_set->entity->getCacheTags(); } + /** + * Sorts entities using collator. + */ + public static function sortEntities(array &$entities): bool { + // En is hardcoded because Symfony\Polyfill\Intl\Icu\Collator::create() is + // throwing an exception, if locale is not en. It is the only implemented + // language in the polyfill. + $collator = \Collator::create((!extension_loaded('intl')) ? ('en') : (\Drupal::service('language_manager')->getCurrentLanguage()->getId())); + return uasort($entities, function ($a, $b) use ($collator) { + return static::compare($a, $b, $collator); + }); + } + /** * Helper callback for uasort() to compare configuration entities by weight and label. */ diff --git a/core/modules/shortcut/src/Entity/ShortcutSet.php b/core/modules/shortcut/src/Entity/ShortcutSet.php index afbd02e62646..794ed7e0e2af 100644 --- a/core/modules/shortcut/src/Entity/ShortcutSet.php +++ b/core/modules/shortcut/src/Entity/ShortcutSet.php @@ -6,7 +6,6 @@ use Drupal\Core\StringTranslation\TranslatableMarkup; use Drupal\Core\Config\Entity\ConfigEntityBundleBase; use Drupal\Core\Entity\EntityStorageInterface; -use Drupal\shortcut\Entity\Shortcut; use Drupal\shortcut\Form\SetCustomize; use Drupal\shortcut\Form\ShortcutSetDeleteForm; use Drupal\shortcut\ShortcutSetAccessControlHandler; -- GitLab From c4a4aa945a057505af4ab363d4f4b900c5f1442d Mon Sep 17 00:00:00 2001 From: sleitner <38752-sleitner@users.noreply.drupalcode.org> Date: Thu, 3 Apr 2025 11:00:14 +0000 Subject: [PATCH 72/73] Shortcuts sortEntities --- core/modules/shortcut/src/Entity/ShortcutSet.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/modules/shortcut/src/Entity/ShortcutSet.php b/core/modules/shortcut/src/Entity/ShortcutSet.php index 794ed7e0e2af..4c0f0af2382c 100644 --- a/core/modules/shortcut/src/Entity/ShortcutSet.php +++ b/core/modules/shortcut/src/Entity/ShortcutSet.php @@ -132,7 +132,7 @@ public function resetLinkWeights() { public function getShortcuts() { $shortcuts = \Drupal::entityTypeManager()->getStorage('shortcut')->loadByProperties(['shortcut_set' => $this->id()]); // Sort the entities using the entity class's sortEntities() method. - Shortcut::sortEntities($shortcuts); + self::sortEntities($shortcuts); return $shortcuts; } -- GitLab From ec3284058a991f10f01dcc66af54e015db44c3d9 Mon Sep 17 00:00:00 2001 From: sleitner <38752-sleitner@users.noreply.drupalcode.org> Date: Thu, 3 Apr 2025 11:16:13 +0000 Subject: [PATCH 73/73] Revert --- core/modules/shortcut/src/Entity/ShortcutSet.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/modules/shortcut/src/Entity/ShortcutSet.php b/core/modules/shortcut/src/Entity/ShortcutSet.php index 4c0f0af2382c..794ed7e0e2af 100644 --- a/core/modules/shortcut/src/Entity/ShortcutSet.php +++ b/core/modules/shortcut/src/Entity/ShortcutSet.php @@ -132,7 +132,7 @@ public function resetLinkWeights() { public function getShortcuts() { $shortcuts = \Drupal::entityTypeManager()->getStorage('shortcut')->loadByProperties(['shortcut_set' => $this->id()]); // Sort the entities using the entity class's sortEntities() method. - self::sortEntities($shortcuts); + Shortcut::sortEntities($shortcuts); return $shortcuts; } -- GitLab