From 3235b29e000f01d8f489165ab07f165548bcc3ab Mon Sep 17 00:00:00 2001 From: Wouter de Jong Date: Sat, 16 Nov 2024 15:49:06 +0100 Subject: [PATCH] Proofread UPGRADE guide --- UPGRADE-7.2.md | 95 +++++++++++++------ src/Symfony/Component/Cache/CHANGELOG.md | 3 +- src/Symfony/Component/Ldap/CHANGELOG.md | 2 +- src/Symfony/Component/Mailer/CHANGELOG.md | 2 +- src/Symfony/Component/Serializer/CHANGELOG.md | 4 +- src/Symfony/Component/Webhook/CHANGELOG.md | 2 +- 6 files changed, 74 insertions(+), 34 deletions(-) diff --git a/UPGRADE-7.2.md b/UPGRADE-7.2.md index 6be19aca739b8..dcb8717a95750 100644 --- a/UPGRADE-7.2.md +++ b/UPGRADE-7.2.md @@ -8,10 +8,40 @@ Read more about this in the [Symfony documentation](https://symfony.com/doc/7.2/ If you're upgrading from a version below 7.1, follow the [7.1 upgrade guide](UPGRADE-7.1.md) first. +Table of Contents +----------------- + +Bundles + + * [FrameworkBundle](#FrameworkBundle) + +Bridges + + * [TwigBridge](#TwigBridge) + +Components + + * [Cache](#Cache) + * [Console](#Console) + * [DependencyInjection](#DependencyInjection) + * [Form](#Form) + * [HttpFoundation](#HttpFoundation) + * [Ldap](#Ldap) + * [Lock](#Lock) + * [Mailer](#Mailer) + * [Notifier](#Notifier) + * [Routing](#Routing) + * [Security](#Security) + * [Serializer](#Serializer) + * [Translation](#Translation) + * [Webhook](#Webhook) + * [Yaml](#Yaml) + Cache ----- - * `igbinary_serialize()` is not used by default when the igbinary extension is installed + * `igbinary_serialize()` is no longer used instead of `serialize()` when the igbinary extension is installed, due to behavior + incompatibilities between the two (performance might be impacted) Console ------- @@ -23,7 +53,27 @@ Console DependencyInjection ------------------- - * Deprecate `!tagged` tag, use `!tagged_iterator` instead + * Deprecate `!tagged` Yaml tag, use `!tagged_iterator` instead + + *Before* + ```yaml + services: + App\Handler: + tags: ['app.handler'] + + App\HandlerCollection: + arguments: [!tagged app.handler] + ``` + + *After* + ```yaml + services: + App\Handler: + tags: ['app.handler'] + + App\HandlerCollection: + arguments: [!tagged_iterator app.handler] + ``` Form ---- @@ -34,7 +84,8 @@ FrameworkBundle --------------- * [BC BREAK] The `secrets:decrypt-to-local` command terminates with a non-zero exit code when a secret could not be read - * Deprecate `session.sid_length` and `session.sid_bits_per_character` config options + * Deprecate making `cache.app` adapter taggable, use the `cache.app.taggable` adapter instead + * Deprecate `session.sid_length` and `session.sid_bits_per_character` config options, following the deprecation of these options in PHP 8.4. HttpFoundation -------------- @@ -44,8 +95,12 @@ HttpFoundation Ldap ---- - * Add methods for `saslBind()` and `whoami()` to `ConnectionInterface` and `LdapInterface` - * Deprecate the `sizeLimit` option of `AbstractQuery` + * Deprecate the `sizeLimit` option of `AbstractQuery`, the option is unused + +Lock +---- + + * `RedisStore` uses `EVALSHA` over `EVAL` when evaluating LUA scripts Mailer ------ @@ -55,11 +110,6 @@ Mailer The `testIncompleteDsnException()` test is no longer provided by default. If you make use of it by implementing the `incompleteDsnProvider()` data providers, you now need to use the `IncompleteDsnTestTrait`. -Messenger ---------- - - * Add `getRetryDelay()` method to `RecoverableExceptionInterface` - Notifier -------- @@ -76,26 +126,17 @@ Routing Security -------- - * Add `$token` argument to `UserCheckerInterface::checkPostAuth()` - * Deprecate argument `$secret` of `RememberMeToken` and `RememberMeAuthenticator` + * Deprecate argument `$secret` of `RememberMeToken` and `RememberMeAuthenticator`, the argument is unused * Deprecate passing an empty string as `$userIdentifier` argument to `UserBadge` constructor * Deprecate returning an empty string in `UserInterface::getUserIdentifier()` Serializer ---------- - * Deprecate the `csv_escape_char` context option of `CsvEncoder` and the `CsvEncoder::ESCAPE_CHAR_KEY` constant - * Deprecate `CsvEncoderContextBuilder::withEscapeChar()` method + * Deprecate the `csv_escape_char` context option of `CsvEncoder`, the `CsvEncoder::ESCAPE_CHAR_KEY` constant + and the `CsvEncoderContextBuilder::withEscapeChar()` method, following its deprecation in PHP 8.4 * Deprecate `AdvancedNameConverterInterface`, use `NameConverterInterface` instead -String ------- - - * `truncate` method now also accept `TruncateMode` enum instead of a boolean: - * `TruncateMode::Char` is equivalent to `true` value ; - * `TruncateMode::WordAfter` is equivalent to `false` value ; - * `TruncateMode::WordBefore` is a new mode that will cut the sentence on the last word before the limit is reached. - Translation ----------- @@ -104,7 +145,7 @@ Translation The `testIncompleteDsnException()` test is no longer provided by default. If you make use of it by implementing the `incompleteDsnProvider()` data providers, you now need to use the `IncompleteDsnTestTrait`. - * Deprecate passing an escape character to `CsvFileLoader::setCsvControl()` + * Deprecate passing an escape character to `CsvFileLoader::setCsvControl()`, following its deprecation in PHP 8.4 TwigBridge ---------- @@ -123,11 +164,9 @@ TypeInfo Webhook ------- - * [BC BREAK] `RequestParserInterface::parse()` return type changed from - `?RemoteEvent` to `RemoteEvent|array|null`. Classes already - implementing this interface are unaffected but consumers of this method - will need to be updated to handle the new return type. Projects relying on - the `WebhookController` of the component are not affected by the BC break + * [BC BREAK] `RequestParserInterface::parse()` return type changed from `RemoteEvent|null` to `RemoteEvent|array|null`. + Projects relying on the `WebhookController` of the component are not affected by the BC break. Classes already implementing + this interface are unaffected. Custom callers of this method will need to be updated to handle the extra array return type. Yaml ---- diff --git a/src/Symfony/Component/Cache/CHANGELOG.md b/src/Symfony/Component/Cache/CHANGELOG.md index 7f7cfa42dbe45..038915c46ff54 100644 --- a/src/Symfony/Component/Cache/CHANGELOG.md +++ b/src/Symfony/Component/Cache/CHANGELOG.md @@ -4,7 +4,8 @@ CHANGELOG 7.2 --- - * `igbinary_serialize()` is not used by default when the igbinary extension is installed + * `igbinary_serialize()` is no longer used instead of `serialize()` by default when the igbinary extension is installed, + due to behavior compatibilities between the two * Add optional `Psr\Clock\ClockInterface` parameter to `ArrayAdapter` 7.1 diff --git a/src/Symfony/Component/Ldap/CHANGELOG.md b/src/Symfony/Component/Ldap/CHANGELOG.md index 4539de05c08a2..efdb4722f7d6c 100644 --- a/src/Symfony/Component/Ldap/CHANGELOG.md +++ b/src/Symfony/Component/Ldap/CHANGELOG.md @@ -5,7 +5,7 @@ CHANGELOG --- * Add methods for `saslBind()` and `whoami()` to `ConnectionInterface` and `LdapInterface` - * Deprecate the `sizeLimit` option of `AbstractQuery` + * Deprecate the `sizeLimit` option of `AbstractQuery`, the option is unused 7.1 --- diff --git a/src/Symfony/Component/Mailer/CHANGELOG.md b/src/Symfony/Component/Mailer/CHANGELOG.md index fb03285538a48..1eaa2fad6c456 100644 --- a/src/Symfony/Component/Mailer/CHANGELOG.md +++ b/src/Symfony/Component/Mailer/CHANGELOG.md @@ -10,7 +10,7 @@ CHANGELOG you now need to use the `IncompleteDsnTestTrait`. * Make `TransportFactoryTestCase` compatible with PHPUnit 10+ - * Support unicode email addresses such as "dømi@dømi.fo" + * Support unicode email addresses such as "dømi@dømi.example" 7.1 --- diff --git a/src/Symfony/Component/Serializer/CHANGELOG.md b/src/Symfony/Component/Serializer/CHANGELOG.md index 9b7a1fac345f0..4c36d5885a6dd 100644 --- a/src/Symfony/Component/Serializer/CHANGELOG.md +++ b/src/Symfony/Component/Serializer/CHANGELOG.md @@ -4,8 +4,8 @@ CHANGELOG 7.2 --- - * Deprecate the `csv_escape_char` context option of `CsvEncoder` and the `CsvEncoder::ESCAPE_CHAR_KEY` constant - * Deprecate `CsvEncoderContextBuilder::withEscapeChar()` method + * Deprecate the `csv_escape_char` context option of `CsvEncoder`, the `CsvEncoder::ESCAPE_CHAR_KEY` constant + and the `CsvEncoderContextBuilder::withEscapeChar()` method, following its deprecation in PHP 8.4 * Add `SnakeCaseToCamelCaseNameConverter` * Support subclasses of `\DateTime` and `\DateTimeImmutable` for denormalization * Add the `UidNormalizer::NORMALIZATION_FORMAT_RFC9562` constant diff --git a/src/Symfony/Component/Webhook/CHANGELOG.md b/src/Symfony/Component/Webhook/CHANGELOG.md index 2cfc1d7d36e25..70389b8515f6f 100644 --- a/src/Symfony/Component/Webhook/CHANGELOG.md +++ b/src/Symfony/Component/Webhook/CHANGELOG.md @@ -7,7 +7,7 @@ CHANGELOG * Make `AbstractRequestParserTestCase` compatible with PHPUnit 10+ * Add `PayloadSerializerInterface` with implementations to decouple the remote event handling from the Serializer component * Add optional `$request` argument to `RequestParserInterface::createSuccessfulResponse()` and `RequestParserInterface::createRejectedResponse()` - * [BC BREAK] Change return type of `RequestParserInterface::parse()` to `RemoteEvent|array|null` (from `?RemoteEvent`) + * [BC BREAK] Change return type of `RequestParserInterface::parse()` from `RemoteEvent|null` to `RemoteEvent|array|null` 6.4 ---