CHANGELOG for 7.2.x
===================

This changelog references the relevant changes (bug and security fixes) done
in 7.2 minor versions.

To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v7.2.0...v7.2.1

* 7.2.0-BETA1 (2024-10-27)

 * feature #58467 [PhpUnitBridge] support `ClockMock` and `DnsMock` with PHPUnit 10+ (xabbuh)
 * feature #58506 [FrameworkBundle] Add `--no-fill` option to `translation:extract` command (jawira)
 * feature #58428 [Config] Add `StringNode` (raffaelecarelle)
 * feature #58322 [Notifier] Add Sweego bridge (welcoMattic)
 * feature #58527 [Notifier] Add LINE Bot bridge (pan93412)
 * feature #58552 [Console][Messenger] Add `$seconds` to `keepalive()` methods (valtzu)
 * feature #51041 [Form] Use `form.post_set_data` in `ResizeFormListener` (HeahDude)
 * feature #58287 [WebProfilerBundle] Render the toolbar stylesheet (smnandre)
 * feature #58512 [Validator] Pass context to expressions used in `When` constraints (KoNekoD)
 * feature #52503 [DoctrineBridge][Form] Introducing new `LazyChoiceLoader` class and `choice_lazy` option for `ChoiceType` (yceruto)
 * feature #58109 [Lock] Add `NullStore` (xabbuh)
 * feature #58490 [Config] Allow using `defaultNull()` on `BooleanNodeDefinition` (alexandre-daubois)
 * feature #58095 [Security] Implement stateless headers/cookies-based CSRF protection (nicolas-grekas)
 * feature #53508 [Console][Messenger] Asynchronously notify transports which messages are still being processed (HypeMC)
 * feature #57829 [FrameworkBundle] Finetune `AboutCommand` (JoppeDC)
 * feature #58264 [Mailer] Support region in sendgrid bridge (MrYamous)
 * feature #50324 [Webhook] Add Mailchimp webhook (johanadivare)
 * feature #58361 [Mailer][Mime] Support unicode email addresses (arnt, OskarStark)
 * feature #53533 [Console] Add ability to schedule alarm signals and a `ConsoleAlarmEvent` (HypeMC)
 * feature #54664 [DependencyInjection] Resolve container parameter used in index attribute of service tags (Marvin Feldmann)
 * feature #57576 [Console] Add finished indicator to `ProgressIndicator` (LauLaman)
 * feature #58448 [TwigBridge] Update main.css email stylesheet to latest foundation-emails release (phasdev)
 * feature #58408 [Translation] Allow sort when extracting translation files (danut007ro)
 * feature #58427 [Notifier] [GatewayAPI] Add support for label parameter (Nico Hiort af Ornäs)
 * feature #58341 [ExpressionLanguage] Add support for logical `xor` operator (HypeMC)
 * feature #58385 [String] Add the `AbstractString::kebab()` method (alexandre-daubois)
 * feature #58403 [Mailer][Webhook] Mailtrap webhook support (kbond)
 * feature #58351 [Mailer] deprecate the TransportFactoryTestCase (xabbuh)
 * feature #58401 [Mailer][Webhook] Fix SendGrid Webhook parsing (kbond)
 * feature #58366 [HttpKernel] Improve accessibility (javiereguiluz)
 * feature #58352 [Translation] deprecate the ProviderFactoryTestCase (xabbuh)
 * feature #58248 [Webhook] Allow request parsers to return multiple `RemoteEvent`'s (kbond)
 * feature #58308 [Serializer] Deprecate `AdvancedNameConverterInterface` (mtarld)
 * feature #58335 [Notifier] deprecate the TransportFactoryTestCase (xabbuh)
 * feature #57270 [Messenger] Allow to skip message in `FailedMessagesRetryCommand` (Thibaut Chieux)
 * feature #58141 [AssetMapper] Search & filter assets in `debug:asset-mapper` command (smnandre)
 * feature #58386 [WebProfilerBundle] Update the contents of the Config panel (javiereguiluz)
 * feature #58161 [FrameworkBundle][HttpKernel] Add support for `SYMFONY_TRUSTED_PROXIES`, `SYMFONY_TRUSTED_HEADERS`, `SYMFONY_TRUST_X_SENDFILE_TYPE_HEADER` and `SYMFONY_TRUSTED_HOSTS` env vars (nicolas-grekas)
 * feature #53632 [Console] Add silent verbosity suppressing all output, including errors (wouterj)
 * feature #56823 [Serializer] Introduce named serializers (HypeMC)
 * feature #57611 [DependencyInjection][FrameworkBundle] Introducing container non-empty parameters (yceruto)
 * feature #58249 [FrameworkBundle] Add ability to use existing service as lock/semaphore resource (HypeMC)
 * feature #58166 [Security][SecurityBundle] Allow passing attributes to passport via `Security::login()` (alexandre-daubois)
 * feature #58205 [Translation] Added segment-attributes metadata for Xliff2 files to preserve the "state" attribute of translations (jbtronics)
 * feature #58228 [String] Add Spanish inflector with some rules (dennistobar)
 * feature #58252 [Mailer] add Mailtrap bridge (kbond)
 * feature #57805 [FrameworkBundle] Deprecate `session.sid_length` and `session.sid_bits_per_character` config options (alexandre-daubois)
 * feature #58199 [FrameworkBundle] Add `--resolve-env-vars` option to `lint:container` command (ostrolucky)
 * feature #58244 [HttpFoundation] Deprecate more options in `NativeSessionStorage` (alexandre-daubois)
 * feature #58246 [Serializer][Uid] Add the `Uuid::FORMAT_RFC_9562` and `UidNormalizer::NORMALIZATION_FORMAT_RFC9562` constants (alexandre-daubois)
 * feature #58258 [Process] Add Laravel Herd php detection path (mpociot)
 * feature #58182 make test case classes compatible with PHPUnit 10+ (xabbuh)
 * feature #58165 [FrameworkBundle] Remove default value for `gc_probability` config option (nicolas-grekas)
 * feature #58154 [HttpFoundation] Add `PRIVATE_SUBNETS` as a shortcut for private IP address ranges to `Request::setTrustedProxies()` (nicolas-grekas)
 * feature #58145 allow Twig 4 (xabbuh)
 * feature #58072 [Translation] [Loco] Ability to configure value of `status` query-variable (mathielen)
 * feature #57793 [Serializer] Support subclasses of `DateTime` and `DateTimeImmutable` (amcsi)
 * feature #58042 [Ldap] Add support for sasl_bind and whoami LDAP operations (manu0401)
 * feature #58074 [Console][Process] Add `$verbosity` argument to `mustRun` helper method (willrowe)
 * feature #58129 [VarExporter] Allow reinitializing lazy objects with a new initializer (nicolas-grekas)
 * feature #57683 [Notifier] Support for desktop notifications via `jolicode/JoliNotif` (ahmedghanem00)
 * feature #58035 [DependencyInjection] Add support for `key-type` in `XmlFileLoader` (alexandre-daubois)
 * feature #58047 [Webhook] Pass original request to `RequestParserInterface` (alexandre-daubois)
 * feature #58052 [ExpressionLanguage] Add support for `<<`, `>>`, and `~` bitwise operators (alexandre-daubois)
 * feature #58062 [Validator] Add $groups and $payload to Compound constructor (derrabus)
 * feature #58038 [HttpFoundation] Add optional `$v4Bytes` and `$v6Bytes` parameters to `IpUtils::anonymize()` (alexandre-daubois)
 * feature #58060 [Serializer] Add SnakeCaseToCamelCaseNameConverter (dunglas)
 * feature #49547 [Validator] Add `CompoundConstraintTestCase` to ease testing Compound Constraints (alexandre-daubois)
 * feature #57833 [VarDumper] Add support for virtual properties (alexandre-daubois)
 * feature #57960 [Form] Add support for the `calendar` option in `DateType` (alexandre-daubois)
 * feature #52951 [Messenger] Add previous to the exception output (ToshY)
 * feature #54179 [HttpClient] Add support for amphp/http-client v5 (nicolas-grekas)
 * feature #57577 [FrameworkBundle][HttpKernel] Let `RequestPayloadValueResolver` consider mapped argument type (unixslayer)
 * feature #58001 [Scheduler] Add capability to skip missed periodic tasks, only the last schedule will be called (eltharin)
 * feature #57827 [Serializer][Translation] Deprecate passing a non-empty CSV escape char (alexandre-daubois)
 * feature #58007 [Security] Deprecate empty user identifier (ajgarlag)
 * feature #57431 [Mailer] Add Sweego bridge (welcoMattic)
 * feature #58028 [TwigBridge] Render a `block` via the `#[Template]` attribute (smnandre)
 * feature #58004 [DependencyInjection] Add `ContainerBuilder::registerChild()` shortcut method (HypeMC)
 * feature #57881 [Webhook] decouple the Webhook component from the Serializer component (xabbuh)
 * feature #57804 [FrameworkBundle] enable detailed error messages by default when debug enabled (xabbuh)
 * feature #57777 [VarDumper] Add support for `FORCE_COLOR` environment variable (artshade)
 * feature #57915 [Messenger] Allow setting retry delay by RecoverableExceptionInterface (valtzu)
 * feature #57927 [FrameworkBundle] Deprecate making `cache.app` adapter taggable (alexandre-daubois)
 * feature #57935 [DoctrineBridge] Loosened CollectionToArrayTransformer::transform() to accept ReadableCollection (timdev)
 * feature #57940 [Uid] Add support for binary, base-32 and base-58 representations in `Uuid::isValid()` (alexandre-daubois)
 * feature #57908 [Validator] Add `Week` constraint (alexandre-daubois)
 * feature #57934 [DependencyInjection] Deprecate `!tagged` tag, use `!tagged_iterator` instead (alexandre-daubois)
 * feature #57903 [Mailer] Implement Postal mailer (jonasclaes)
 * feature #57938 [Validator] Add support for RFC4122 format in the `Ulid` constraint (alexandre-daubois)
 * feature #57879 [AssetMapper] Truncate public digests to 8 characters (smnandre)
 * feature #57909 [HttpFoundation] Add `$requests` parameter to `RequestStack` constructor (alexander-schranz)
 * feature #57839 [Form] Deprecate VersionAwareTest trait (derrabus)
 * feature #57836 [Cache] Add optional ClockInterface to ArrayAdapter (jasiolpn)
 * feature #54593 [PhpUnitBridge] Add `ExpectUserDeprecationMessageTrait` (derrabus)
 * feature #57525 [SecurityBundle] Improve profiler’s authenticators tab (MatTheCat)
 * feature #57618 [TypeInfo] Add `PhpDocAwareReflectionTypeResolver` (mtarld)
 * feature #57702 [Cache] Stop defaulting to `igbinary` in `DefaultMarshaller` (Martijn Croonen)
 * feature #57773 [Security] pass the current token to the `checkPostAuth()` method of user checkers (xabbuh)
 * feature #57797 [FrameworkBundle]  terminate with non-zero exit code when a secret could not be read (xabbuh)
 * feature #57716 [Validator] Add the `WordCount` constraint (alexandre-daubois)
 * feature #57694 [SecurityBundle] Update web-token/jwt-library version and adjust checker parameters (Spomky)
 * feature #57692 [SecurityBundle] Link to the profile the token was (de)authenticated (MatTheCat)
 * feature #57685 [ExpressionLanguage] Allow passing any iterable as `$providers` list (HypeMC)
 * feature #57670 [FrameworkBundle] Add `exit` option to `secrets:decrypt-to-local` command (dciprian-petrisor)
 * feature #57671 [Messenger] Let WrappedExceptionsInterface extend the native Throwable interface (xabbuh)
 * feature #57658 [Notifier] Remove the Gitter bridge (fabpot)
 * feature #57627 [Notifier] Add Sipgate bridge (Lukas Kaltenbach, sakul95)
 * feature #57243 [String] Add `TruncateMode` mode to `truncate` methods (Korbeil)
 * feature #57456 [Mailer] Add mailomat bridge (scuben)
 * feature #57399 [HtmlSanitizer] Add support for configuring the default action (Seldaek)
 * feature #57595 [Yaml] Deprecate duplicate mapping keys containing null (xabbuh)
 * feature #57507 [Messenger] Introduce `#[AsMessage]` attribute for message routing (pounard)
 * feature #57518 Unify how --format is handled by commands (fabpot)
 * feature #57379 [DependencyInjection] Add `#[WhenNot]` attribute (alexandre-daubois)
 * feature #54978 [ExpressionLanguage] Add comment support to expression language (valtzu)
 * feature #57438 [Validator] Add the `format` option to the `Ulid` constraint to allow accepting different ULID formats (alexandre-daubois)
 * feature #57426 [Messenger] Add `--format` option to the `messenger:stats` command (xvilo)
 * feature #57369 [Security] Display authenticators in the profiler even if they are all skipped (MatTheCat)
 * feature #57425 [SecurityBundle] Improve profiler’s data (MatTheCat)
 * feature #57436 [Validator] Add `errorPath` to Unique constraint (norkunas)
 * feature #57408 [FrameworkBundle] Simpler Kernel setup with `MicroKernelTrait` (yceruto)
 * feature #57424 [Mailer] [Infobip] Add trackClicks, trackOpens and trackingUrl as supp… (ndousson)
 * feature #57380 [Validator] fix IBAN validator fails if IBAN contains non-breaking space (antten)
 * feature #53749 [Validator] Add `Yaml` constraint for validating YAML content (symfonyaml)
 * feature #57313 [Uid] Make `AbstractUid` implement `Ds\Hashable` if available (jahudka)
 * feature #52679 [Process] `ExecutableFinder::addSuffix()` has no effect (TravisCarden)
 * feature #54879 BicValidator add strict mode to validate bics in strict mode (maxbeckers)
 * feature #54679 [TypeInfo] Proxies methods to non-nullable and fail gracefully (mtarld)
 * feature #54737 [Notifier] [Slack] Add button block element and `emoji`/`verbatim` options to section block (cvergne)
 * feature #54757 [ExpressionLanguage] Support non-existent names when followed by null coalescing (adamkiss)
 * feature #54747 [Notifier] Add Primotexto bridge (Samael tomas)
 * feature #54975 [Mime] Support custom encoders in mime parts (KDederichs)
 * feature #54894 [PropertyInfo] Adds static cache to `PhpStanExtractor` (mvhirsch)
 * feature #57101 [Translation] Add `lint:translations` command (Kocal)
 * feature #56985 [FrameworkBundle] Derivate `kernel.secret` from the decryption secret when its env var is not defined (nicolas-grekas)
 * feature #57073 [AssetMapper][FrameworkBundle] Do not require `http_client` service (ruudk)
 * feature #54678 [FrameworkBundle] Add support for setting `headers` with `TemplateController` (HypeMC)
 * feature #54756 [Notifier] [Bluesky] Allow to attach image (jdecool)
 * feature #54854 [Stopwatch] Add `ROOT` constant to make it easier to reference (hacfi)
 * feature #54855 [Stopwatch] Add `getLastPeriod` method to `StopwatchEvent` (hacfi)
 * feature #56838 [Security] Deprecate argument $secret of RememberMeToken and RememberMeAuthenticator (nicolas-grekas)
 * feature #54881 [Validator] Make `PasswordStrengthValidator::estimateStrength()` public (yalit)

