From 2aa6ce45dd0c9cfa769223f5cd667ff6978901b1 Mon Sep 17 00:00:00 2001 From: adambalint-srg Date: Tue, 8 Jun 2021 12:05:15 +0200 Subject: [PATCH 01/12] Handle array parameters in QueryAnalyzer --- src/Tool/Logging/DBAL/QueryAnalyzer.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Tool/Logging/DBAL/QueryAnalyzer.php b/src/Tool/Logging/DBAL/QueryAnalyzer.php index dac326eac4..6efba05901 100644 --- a/src/Tool/Logging/DBAL/QueryAnalyzer.php +++ b/src/Tool/Logging/DBAL/QueryAnalyzer.php @@ -2,6 +2,7 @@ namespace Gedmo\Tool\Logging\DBAL; +use Doctrine\DBAL\Connection; use Doctrine\DBAL\Logging\SQLLogger; use Doctrine\DBAL\Platforms\AbstractPlatform; use Doctrine\DBAL\Types\Type; @@ -223,6 +224,8 @@ private function getConvertedParams($params, $types) } if ($type instanceof Type) { $value = $type->convertToDatabaseValue($value, $this->platform); + } elseif ($type === Connection::PARAM_INT_ARRAY || $type === Connection::PARAM_STR_ARRAY) { + $value = serialize($value); } } else { if ($value instanceof \DateTimeInterface) { From b9f4b8f828f15325a8a6de8c4315d875d81c87b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81d=C3=A1m=20B=C3=A1lint?= Date: Fri, 22 Aug 2025 11:55:45 +0200 Subject: [PATCH 02/12] refactor: Remove dollar sign from cache key --- src/Mapping/ExtensionMetadataFactory.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Mapping/ExtensionMetadataFactory.php b/src/Mapping/ExtensionMetadataFactory.php index 16d321cc3f..2e4d045b4a 100644 --- a/src/Mapping/ExtensionMetadataFactory.php +++ b/src/Mapping/ExtensionMetadataFactory.php @@ -181,7 +181,7 @@ public function getExtensionMetadata($meta) */ public static function getCacheId($className, $extensionNamespace) { - return str_replace('\\', '_', $className).'_$'.strtoupper(str_replace('\\', '_', $extensionNamespace)).'_CLASSMETADATA'; + return str_replace('\\', '_', $className).'__'.strtoupper(str_replace('\\', '_', $extensionNamespace)).'_CLASSMETADATA'; } /** From 0683d13ba15946e8f6fb4378a6d3836b8806f702 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81d=C3=A1m=20B=C3=A1lint?= Date: Mon, 22 Sep 2025 11:53:14 +0200 Subject: [PATCH 03/12] Cache key dollar sign - Add changelog entry --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e6fd39c05c..edec33dabd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,8 @@ a release. --- ## [Unreleased] +### Fixed +- SoftDeleteable: Remove dollar sign ($) from the default cache key of soft deleteable metadata - to be compatible with stricter cache key naming conventions (#2978) ## [3.20.0] - 2025-04-04 ### Fixed From fdae25a6208146f6dd44fede2e114f822e5430b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81d=C3=A1m=20B=C3=A1lint?= Date: Mon, 22 Sep 2025 11:57:52 +0200 Subject: [PATCH 04/12] fix: Remove not related change --- src/Tool/Logging/DBAL/QueryAnalyzer.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/Tool/Logging/DBAL/QueryAnalyzer.php b/src/Tool/Logging/DBAL/QueryAnalyzer.php index cbac975395..180e227a14 100644 --- a/src/Tool/Logging/DBAL/QueryAnalyzer.php +++ b/src/Tool/Logging/DBAL/QueryAnalyzer.php @@ -227,8 +227,6 @@ private function getConvertedParams(array $params, array $types): array } if ($type instanceof Type) { $value = $type->convertToDatabaseValue($value, $this->platform); - } elseif ($type === Connection::PARAM_INT_ARRAY || $type === Connection::PARAM_STR_ARRAY) { - $value = serialize($value); } } else { if ($value instanceof \DateTimeInterface) { From 78de5630f6e37c5924f7ba246d5e085d502ea511 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81d=C3=A1m=20B=C3=A1lint?= Date: Mon, 22 Sep 2025 12:00:24 +0200 Subject: [PATCH 05/12] fix: Remove not related change --- src/Tool/Logging/DBAL/QueryAnalyzer.php | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Tool/Logging/DBAL/QueryAnalyzer.php b/src/Tool/Logging/DBAL/QueryAnalyzer.php index 180e227a14..e57c2b23ec 100644 --- a/src/Tool/Logging/DBAL/QueryAnalyzer.php +++ b/src/Tool/Logging/DBAL/QueryAnalyzer.php @@ -9,7 +9,6 @@ namespace Gedmo\Tool\Logging\DBAL; -use Doctrine\DBAL\Connection; use Doctrine\DBAL\Logging\SQLLogger; use Doctrine\DBAL\Platforms\AbstractPlatform; use Doctrine\DBAL\Types\Type; From 74d0e9f6481da70475b2c55975108bb9dd421779 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Sep 2025 13:08:36 +0000 Subject: [PATCH 06/12] Bump hadolint/hadolint-action from 3.2.0 to 3.3.0 Bumps [hadolint/hadolint-action](https://github.com/hadolint/hadolint-action) from 3.2.0 to 3.3.0. - [Release notes](https://github.com/hadolint/hadolint-action/releases) - [Changelog](https://github.com/hadolint/hadolint-action/blob/master/.releaserc) - [Commits](https://github.com/hadolint/hadolint-action/compare/v3.2.0...v3.3.0) --- updated-dependencies: - dependency-name: hadolint/hadolint-action dependency-version: 3.3.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/qa-dockerfile.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/qa-dockerfile.yml b/.github/workflows/qa-dockerfile.yml index 03a4bc900a..c16af3822c 100644 --- a/.github/workflows/qa-dockerfile.yml +++ b/.github/workflows/qa-dockerfile.yml @@ -20,7 +20,7 @@ jobs: - uses: actions/checkout@v5 - name: Lint Dockerfile - uses: hadolint/hadolint-action@v3.2.0 + uses: hadolint/hadolint-action@v3.3.0 with: dockerfile: ".docker/php/Dockerfile" From 5f63ac692d008a75b009e8f6fd8410dc0c7b4f40 Mon Sep 17 00:00:00 2001 From: Michael Babker Date: Mon, 2 Jun 2025 09:35:45 -0400 Subject: [PATCH 07/12] Add a deprecations baseline to ignore selected deprecations in tests --- composer.json | 2 +- phpunit.xml.dist | 2 +- tests/symfony-deprecations-baseline | 6 ++++++ 3 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 tests/symfony-deprecations-baseline diff --git a/composer.json b/composer.json index bbf9357ad5..7c78900c1b 100644 --- a/composer.json +++ b/composer.json @@ -68,7 +68,7 @@ "rector/rector": "^2.0.6", "symfony/console": "^5.4 || ^6.0 || ^7.0", "symfony/doctrine-bridge": "^5.4 || ^6.0 || ^7.0", - "symfony/phpunit-bridge": "^6.0 || ^7.0", + "symfony/phpunit-bridge": "^6.4 || ^7.0", "symfony/uid": "^5.4 || ^6.0 || ^7.0", "symfony/yaml": "^5.4 || ^6.0 || ^7.0" }, diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 6039c5d191..10b665c67b 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -67,7 +67,7 @@ - + diff --git a/tests/symfony-deprecations-baseline b/tests/symfony-deprecations-baseline new file mode 100644 index 0000000000..2316da77a5 --- /dev/null +++ b/tests/symfony-deprecations-baseline @@ -0,0 +1,6 @@ +# Ignore MongoDB deprecations from low dependencies +%Passing an integer mode to "MongoDB\\Driver\\ReadPreference::__construct" is deprecated% +# Ignore deprecated ORM 2.x proxies +%class implements "Doctrine\\ORM\\Proxy\\Proxy" that is deprecated% +# Ignore symfony/var-dumper lazy ghost deprecations (required for PHP 8.3 and earlier compat) +%Using ProxyHelper::generateLazyGhost() is deprecated% From 7f323786f6fa6c300616ec7f2f1a07b2aa967711 Mon Sep 17 00:00:00 2001 From: Javier Spagnoletti Date: Sat, 20 Sep 2025 10:55:13 -0300 Subject: [PATCH 08/12] 3.21.0 --- CHANGELOG.md | 14 ++++++-------- src/DoctrineExtensions.php | 2 +- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b1be8785b6..0e0d526125 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,21 +18,19 @@ a release. --- ## [Unreleased] + +## [3.21.0] - 2025-09-22 ### Added -- SoftDeleteable: Add option to enable or disable handling of the `postFlush` event (#2958) +- SoftDeleteable: `$handlePostFlushEvent` parameter to `SoftDeleteableListener::__construct()` to enable or disable handling of the `postFlush` event (#2958) ### Changed - Translatable: Optimized database indexes for better performance by reordering unique constraint fields and removing redundant indexes -- SoftDeleteable: Handling of the `postFlush` event is now disabled by default (#2958) - -### Fixed -- SoftDeleteable: Prevent cascade persist from re-inserting soft-deleted entities still referenced in the identity map (#2958) - -### Changed +- SoftDeleteable: Handling of the `postFlush` event is disabled by default (#2958) - Sluggable: Replaced abandoned `behat/transliterator` with `symfony/string` for default transliteration and urlization steps (#2985) -- Use `ClassMetadata::getFieldValue()` and `ClassMetadata::setFieldValue(` methods to support `doctrine/orm` >= 3.4 (#2966) +- Use `ClassMetadata::getFieldValue()` and `ClassMetadata::setFieldValue()` methods to support `doctrine/orm` >= 3.4 (#2966) ### Fixed +- SoftDeleteable: Prevent cascade persist from re-inserting soft-deleted entities still referenced in the identity map (#2958) - Sluggable: Fix type error when generating slug using embedded properties (#2965) - SoftDeleteable: Remove dollar sign ($) from the default cache key of soft deleteable metadata - to be compatible with stricter cache key naming conventions (#2978) diff --git a/src/DoctrineExtensions.php b/src/DoctrineExtensions.php index bde3b6b9f2..729a1c076e 100644 --- a/src/DoctrineExtensions.php +++ b/src/DoctrineExtensions.php @@ -30,7 +30,7 @@ final class DoctrineExtensions /** * Current version of extensions */ - public const VERSION = '3.20.1'; + public const VERSION = '3.21.0'; /** * Hooks all extension metadata mapping drivers into From 6226afdf4f059df029c4eb2b5af60f0cb3db6d68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81d=C3=A1m=20B=C3=A1lint?= Date: Mon, 22 Sep 2025 11:53:14 +0200 Subject: [PATCH 09/12] Cache key dollar sign - Add changelog entry --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e0d526125..d2c970612a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,8 @@ a release. --- ## [Unreleased] +### Fixed +- SoftDeleteable: Remove dollar sign ($) from the default cache key of soft deleteable metadata - to be compatible with stricter cache key naming conventions (#2978) ## [3.21.0] - 2025-09-22 ### Added From 1acc141d3ecc04054fca278fd9e49736edfc1561 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81d=C3=A1m=20B=C3=A1lint?= Date: Tue, 23 Sep 2025 10:01:02 +0200 Subject: [PATCH 10/12] docs: Add psr6 url to changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d2c970612a..dded53a803 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,7 +19,7 @@ a release. ## [Unreleased] ### Fixed -- SoftDeleteable: Remove dollar sign ($) from the default cache key of soft deleteable metadata - to be compatible with stricter cache key naming conventions (#2978) +- SoftDeleteable: Remove dollar sign ($) from the default cache key of soft deleteable metadata - to be compatible with stricter cache key naming conventions (see https://www.php-fig.org/psr/psr-6/#definitions) (#2978) ## [3.21.0] - 2025-09-22 ### Added From dd26d78b476c2a5192b7b667bde739f01174d27c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81d=C3=A1m=20B=C3=A1lint?= Date: Tue, 23 Sep 2025 10:03:21 +0200 Subject: [PATCH 11/12] Update CHANGELOG.md Co-authored-by: Vincent Langlet --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dded53a803..b22e2b8a9c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,7 +34,6 @@ a release. ### Fixed - SoftDeleteable: Prevent cascade persist from re-inserting soft-deleted entities still referenced in the identity map (#2958) - Sluggable: Fix type error when generating slug using embedded properties (#2965) -- SoftDeleteable: Remove dollar sign ($) from the default cache key of soft deleteable metadata - to be compatible with stricter cache key naming conventions (#2978) ## [3.20.1] - 2025-09-14 ### Fixed From 9f129431ebf97764d18389dceb876a0e4279390f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81d=C3=A1m=20B=C3=A1lint?= Date: Wed, 24 Sep 2025 09:17:15 +0200 Subject: [PATCH 12/12] docs: Changelog update (All extensions are affected) --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b22e2b8a9c..6e8b129581 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,8 +18,8 @@ a release. --- ## [Unreleased] -### Fixed -- SoftDeleteable: Remove dollar sign ($) from the default cache key of soft deleteable metadata - to be compatible with stricter cache key naming conventions (see https://www.php-fig.org/psr/psr-6/#definitions) (#2978) +### Changed +- All: Removed the dollar sign from the generated cache ID for extension metadata to ensure only characters mandated by [PSR-6](https://www.php-fig.org/psr/psr-6/#definitions) are used, improving compatibility with caching implementations with strict character requirements (#2978) ## [3.21.0] - 2025-09-22 ### Added