CHANGELOG for 6.3.x
===================

This changelog references the relevant changes (bug and security fixes) done
in 6.3 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/v6.3.0...v6.3.1

* 6.3.0-RC2 (2023-05-27)

 * feature #50445 [AssetMapper] Add "=alias" syntax to importmap:require (weaverryan)
 * bug #50442 [SecurityBundle] Update security-1.0.xsd to include missing access-token definition (aegypius)
 * bug #50440 [DependencyInjection] Revert "Use weak references in the container" (nicolas-grekas)
 * bug #50429 [Console] block input stream if needed (joelwurtz)
 * bug #50397 [HttpKernel][VarDumper] Fix dumping with labels (nicolas-grekas)
 * bug #50408 [AssetMapper] Change default importmap "provider" to JsDelivr+esm (weaverryan, nicolas-grekas)
 * bug #50394 [AssetMapper] Avoid loading potentially ALL assets in dev server (weaverryan)
 * bug #50400 [AssetMapper] Sometimes asset contents are built from non-asset files (weaverryan)
 * bug #50406 [VarDumper] Fix `dd()` showing line with `null` (HypeMC)
 * bug #50393 [AssetMapper] Fixing incorrect exception & adding allowing more realistic error mode (weaverryan)

* 6.3.0-RC1 (2023-05-22)

 * bug #49817 [Scheduler] Improve triggers performance when possible (fabpot)
 * bug #50376 [WebProfilerBundle] Fix cursor on link that has no href (PhilETaylor)
 * bug #50349 [Notifier] Document Notifier options in README files (alamirault)
 * bug #50312 [Security] Skip clearing CSRF Token on stateless logout (chalasr)
 * bug #50315 [Translation] Fix handling of null messages in `ArrayLoader` (rob006)
 * bug #50338 [Console] Remove ``exec`` and replace it by ``shell_exec`` (maxbeckers)
 * bug #50356 [AssetMapper] Fix bug where dependencies were preloaded even if the parent was not (weaverryan)
 * bug #50347 [DebugBundle][VarDumper] Fix dump labels compatibility (fancyweb)
 * feature #50363 [AssetMapper] Adding "path" option to importmap:require (weaverryan)
 * feature #48852 [Validator] Allow to use translation_domain false for validators and to use custom translation domain by constraints (VincentLanglet)
 * feature #49293 [DoctrineBridge] Allow to ignore specific nullable fields in UniqueEntity (VincentLanglet)
 * bug #50193 [Serializer] Fix `SerializedPath` not working with constructor arguments (HypeMC)
 * bug #50280 [PropertyAccess] Fix nullsafe operator on array index (HypeMC)
 * bug #50362 [FrameworkBundle] Fix Workflow without a marking store definition uses marking store definition of previously defined workflow (krciga22)
 * bug #50309 [HttpFoundation] UrlHelper is now aware of RequestContext changes (giosh94mhz)
 * bug #50309 [HttpFoundation] UrlHelper is now aware of RequestContext changes (giosh94mhz)
 * bug #50355 Bug fix for paths that start with the same string (weaverryan)
 * bug #50352 [Notifier][TurboSMS] Fix get sender name (ZhukV)
 * bug #50351 [DependencyInjection] Add `excludeSelf` option to dumpers (HypeMC)
 * bug #50354 [Process] Stop the process correctly even if underlying input stream is not closed (joelwurtz)
 * bug #50325 [WebProfilerBundle] Tweak the HTML code of the Twig entry view (javiereguiluz)
 * bug #50331 [HttpFoundation] Fix problem with empty generator in StreamedJsonResponse (alexander-schranz)
 * bug #50340 [HttpKernel] Make `QueryParameterValueResolver` provide a value if possible when a parameter is not found (MatTheCat)
 * bug #50332 [PropertyInfo] Fix `PhpStanExtractor` when constructor has no docblock (HypeMC)
 * bug #50343 [VarDumper] Fix HTML of invisible characters (fancyweb)
 * bug #50253 [FrameworkBundle] Generate caches consistently on successive run of `cache:clear` command (Okhoshi)
 * bug #49063 [Messenger] Respect `isRetryable` decision of the retry strategy for re-delivery (FlyingDR)

* 6.3.0-BETA3 (2023-05-13)

 * feature #50286 [AssetMapper] Add cached asset factory (weaverryan)
 * bug #50307 [AssetMapper] Improving XSD to use attributes whenever possible (weaverryan)
 * bug #50305 [OptionsResolver] Fixed changelog (yceruto)
 * feature #50291 [AssetMapper] Adding "excluded_patterns" option (weaverryan)
 * bug #50294 [AssetMapper] Normalizing logicalPath to a getter like all other properties (weaverryan)
 * feature #48496 [Notifier] Add Smsmode bridge (gnito-org)
 * feature #48494 [Notifier] Add ClickSend notifier bridge (gnito-org)
 * feature #48572 [Notifier] Add SMS options to AllMySms notifier (gnito-org)
 * feature #48592 [Notifier] Add SMS options to OrangeSms notifier (gnito-org)
 * feature #48579 [Notifier] Add SMS options to GatewayApi notifier (gnito-org)
 * feature #48586 [Notifier] Add SMS options to MessageMedia notifier (gnito-org)
 * feature #48585 [Notifier] Add SMS options to MessageBird notifier (gnito-org)
 * feature #48584 [Notifier] Add SMS options to ContactEveryone notifier (gnito-org)
 * feature #48577 [Notifier] Add SMS options to FortySixElks notifier (gnito-org)
 * feature #48575 [Notifier] Add SMS options to Esendex notifier (gnito-org)
 * feature #48573 [Notifier] Add SMS options to Clickatell notifier (gnito-org)
 * bug #50288 [ErrorHandler] Sync `createTabs` from WebProfilerBundle (MatTheCat)
 * bug #50251 [Serializer] Handle datetime deserialization in U format (tugmaks)
 * bug #50266 [HttpFoundation] Fix file streaming after connection aborted (rlshukhov)
 * feature #50274 [HttpClient] Add option `crypto_method` to set the minimum TLS version and make it default to v1.2 (nicolas-grekas)
 * bug #50262 [DependencyInjection] Fix dumping non-shared factories with TaggedIteratorArgument (marphi)
 * bug #50287 [Messenger] Store dates in UTC when using Doctrine (nicolas-grekas)
 * bug #50277 [Messenger] Add `IS_REPEATABLE` flag to `AsMessageHandler` attribute (adrianguenter)
 * bug #50301 [FrameworkBundle] Ignore vars from dotenv files in secrets:list (nicolas-grekas)
 * feature #50264 [AssetMapper] Flexible public paths + relative path imports + possibility of "building" assets (weaverryan)
 * feature #49838 [Scheduler] add `RecurringMessage::getId()` and prevent duplicates (kbond)
 * bug #50269 Fix param type annotation (l-vo)
 * feature #50270 [Scheduler] add `JitterTrigger` (kbond)
 * bug #50230 [FrameworkBundle][Webhook] Throw when required services are missing when using the Webhook component (Jean-Beru)
 * bug #50260 [DependencyInjection] Fix dumping/loading errored definitions in XML/Yaml (nicolas-grekas)
 * bug #50263 [AssetMapper] Adding autoconfiguration tag for asset compilers (weaverryan)
 * bug #50256 [HttpClient] Fix setting duplicate-name headers when redirecting with AmpHttpClient (nicolas-grekas)

* 6.3.0-BETA2 (2023-05-07)

 * bug #50249 [WebProfilerBundle] Explicit tab controls’ color as they can be buttons (MatTheCat)
 * bug #50248 [TwigBundle] fixed wrong `symfony/twig-bridge` dependency version (SVillette)
 * bug #50231 [AssetMapper] Fixing 2 bugs related to the compile command and importmaps (weaverryan)
 * feature #49553 [Serializer] Add flag to require all properties to be listed in the input (Christian Kolb)
 * feature #50232 [AssetMapper] Better public without digest (weaverryan)
 * bug #50214 [WebProfilerBundle] Remove legacy filters remnants (MatTheCat)
 * bug #50235 [HttpClient] Fix getting through proxies via CONNECT (nicolas-grekas)
 * bug #50241 [HttpKernel] Prevent initialising lazy services during services reset (tucksaun)
 * bug #50244 [HttpKernel] Fix restoring surrogate content from cache (nicolas-grekas)
 * bug #50246 [DependencyInjection] Do not check errored definitions’ type (MatTheCat)
 * bug #49557 [PropertyInfo] Fix phpDocExtractor nullable array value type (fabpot)
 * bug #50213 [ErrorHandler] Prevent conflicts with WebProfilerBundle’s JavaScript (MatTheCat)
 * feature #49608 [OptionsResolver] add `ignoreUndefined()` method to allow skip not interesting options (Constantine Shtompel)
 * bug #50216 [DependencyInjection] Allow `AutowireCallable` without method (derrabus)
 * bug #50192 [Serializer] backed enum throw notNormalizableValueException outside construct method (alli83)
 * bug #50238 [HttpKernel] Don't use eval() to render ESI/SSI (nicolas-grekas)
 * bug #50224 [DoctrineBridge] skip subscriber if listener already defined (alli83)
 * bug #50218 Profiler respect stateless attribute (alamirault)
 * bug #50242 [ErrorHandler] Fix the design of the exception page tabs (javiereguiluz)
 * feature #50219 [AssetMapper] Adding debug:assetmap command + normalize paths (weaverryan)
 * bug #49760 [Serializer] Add missing withSaveOptions method to XmlEncoderContextBuilder (mtarld)
 * bug #50226 [HttpClient] Ensure HttplugClient ignores invalid HTTP headers (nicolas-grekas)
 * bug #50125 [HttpKernel] Fix handling of `MapRequest*` attributes (nicolas-grekas)
 * bug #50215 [AssetMapper] Fixing wrong values being output in command (weaverryan)
 * bug #50203 [Messenger] Fix registering message handlers (nicolas-grekas)
 * bug #50204 [ErrorHandler] Skip Httplug deprecations for HttplugClient (nicolas-grekas)
 * bug #50206 [AssetMapper] Fix import map package parsing with an @ namespace (weaverryan)

* 6.3.0-BETA1 (2023-05-01)

 * feature #49729 [Scheduler] Add a simple Scheduler class for when the component is used standalone (fabpot)
 * feature #49725 [Messenger] Add support for the DelayStamp in InMemoryTransport (fabpot)
 * feature #47112 [Messenger] Add a scheduler component (upyx, fabpot)
 * feature #49691 [FrameworkBundle] Add scoped httplug clients and deprecate httplugs use like psr18 client (simonberger)
 * feature #48542 [Webhook][RemoteEvent] Add the components (fabpot)
 * feature #49620 [ErrorHander] Display exception properties in the HTML error page (lyrixx)
 * feature #48128 [HttpFoundation] Add support for the 103 status code (Early Hints) and other 1XX statuses (dunglas)
 * feature #48990 [DependencyInjection] deprecate the ``@required`` annotation (alexislefebvre)
 * feature #49306 [Security] Add logout configuration for Clear-Site-Data header (maxbeckers)
 * feature #49596 [Validator] Add the `exclude` option to the `Cascade` constraint (alexandre-daubois)
 * feature #49291 [Serializer] Add methods `getSupportedTypes` to allow better performance (tucksaun, nicolas-grekas)
 * feature #49642 [DependencyInjection] Deprecate `#[MapDecorated]` in favor of `#[AutowireDecorated]` (nicolas-grekas)
 * feature #49539 [Messenger] make StopWorkerOnSignalsListener listen by default on SIGTERM and SIGINT (lyrixx)
 * feature #49628 [DependencyInjection] Add support for autowiring services as closures using attributes (nicolas-grekas)
 * feature #48992 [HttpKernel] Introduce pinnable value resolvers with `#[ValueResolver]` and `#[AsPinnedValueResolver]` (MatTheCat)
 * feature #49121 [DomCrawler] Give choice of used parser (victor-prdh)
 * feature #49610 [DoctrineBridge] deprecate doctrine schema subscribers in favor of listeners (alli83)
 * feature #48821 [Serializer] add a context to allow invalid values in BackedEnumNormalizer (nikophil)
 * feature #49529 [Console] Add support for managing exit code while handling signals (lyrixx)
 * feature #49015 [Security] Added condition to always return the real Authenticator from security events (florentdestremau)
 * feature #48899 [Security] Add remember me option for JSON logins (baumerdev, nicolas-grekas)
 * feature #49302 [HttpClient] Add `UriTemplateHttpClient` (fancyweb)
 * feature #49013 [Serializer] Replace the MissingConstructorArgumentsException class with MissingConstructorArgumentException (HypeMC)
 * feature #49454 [Notifier] Add Pushover bridge (mocodo)
 * feature #49461 [Mailer] Add MailerSend bridge (doobas)
 * feature #49492 [DependencyInjection] Add support for Exclude attribute (lyrixx)
 * feature #49139 [FrameworkBundle][HttpKernel] Display warmers duration on debug verbosity for `cache:clear` command (alexandre-daubois)
 * feature #49417 [Validator] Add the option filenameMaxLength to the File constraint (Kevin Auvinet)
 * feature #49487 [FrameworkBundle] Allow disabling dumping of container to XML to improve performance (ruudk)
 * feature #49275 [FrameworkBundle][HttpKernel] Configure `ErrorHandler` on boot (HypeMC)
 * feature #49464 [Validator] Implement countUnit option for Length constraint (spackmat)
 * feature #49300 [Validator] Add a `NoSuspiciousCharacters` constraint to validate a string is not suspicious (MatTheCat)
 * feature #49318 [HttpKernel] Add `skip_response_headers` to the `HttpCache` options (Toflar)
 * feature #49428 [Messenger] Allow to define batch size when using `BatchHandlerTrait` with `getBatchSize()` (alexandre-daubois)
 * feature #49429 [Mailer] Add option to enable Sandbox via dsn option sandbox=true (mdawart)
 * feature #49433 [DependencyInjection] allow extending `Autowire` attribute (kbond)
 * feature #49412 [DependencyInjection] Allow trimming service parameters value in XML configuration files (alexandre-daubois)
 * feature #49442 [TwigBundle] Add alias deprecation for `Twig_Environment` (94noni)
 * feature #49331 [PropertyAccess] Allow escaping in PropertyPath (alanpoulain)
 * feature #49411 [DependencyInjection] Add AsAlias attribute (alanpoulain)
 * feature #49343 [HtmlSanitizer] Remove experimental status (tgalopin)
 * feature #49261 Smsapi - Make "from" optional (szal1k)
 * feature #49327 [Notifier] Introduce FromNotificationInterface for MessageInterface implementations (fabpot)
 * feature #49270 [Messenger] Allow passing a string instead of an array in `TransportNamesStamp` (alexandre-daubois)
 * feature #49193 [Security] Return 403 instead of 500 when no firewall is defined (nicolas-grekas)
 * feature #49098 [Config] Allow enum values in EnumNode (fancyweb)
 * feature #49164 [Yaml] Feature #48920  Allow milliseconds and microseconds in dates (dustinwilson)
 * feature #48981 [Console] Add ReStructuredText descriptor (danepowell)
 * feature #48748 [VarDumper] Display invisible characters (alamirault)
 * feature #48250 [Cache] Compatible with aliyun redis instance (tourze)
 * feature #47066 [DependencyInjection] Allow attribute autoconfiguration on static methods (alex-dev)
 * feature #49021 [SecurityBundle] Make firewalls event dispatcher traceable on debug mode (MatTheCat)
 * feature #48930 [Cache] Add Redis Relay support (ostrolucky)
 * feature #49102 [FrameworkBundle][Workflow] Register alias for argument for workflow services with workflow name only (lyrixx)
 * feature #49064 [ExpressionLanguage] Deprecate loose comparisons when using the "in" operator (nicolas-grekas)
 * feature #48999 [Lock] create migration for lock table when DoctrineDbalStore is used (alli83)
 * feature #49011 [WebProfilerBundle] Close profiler settings on escape (norkunas)
 * feature #48997 [WebProfilerBundle] Mailer panel tweaks (javiereguiluz)
 * feature #49012 [WebProfilerBundle] Display date/time elements in the user local timezone (javiereguiluz)
 * feature #48957 [Config] Do not array_unique EnumNode values (fancyweb)
 * feature #48976 [ErrorHandler] try to read SYMFONY_PATCH_TYPE_DECLARATIONS from superglobal arrays too (xabbuh)
 * feature #48938 [FrameworkBundle] Allow setting private services with the test container (nicolas-grekas)
 * feature #48959 [Messenger] Allow password in redis dsn when using sockets (PhilETaylor)
 * feature #48940 [DomCrawler] Add argument `$normalizeWhitespace` to `Crawler::innerText()` and make it return the first non-empty text (otsch)
 * feature #48762 [WebProfilerBundle] Improve accessibility of tabs and some links (javiereguiluz)
 * feature #48945 [WebProfilerBundle] Use a dynamic SVG favicon in the profiler (javiereguiluz)
 * feature #48901 Allow Usage of ContentId in html (m42e)
 * feature #48669 [ExpressionLanguage] Add `enum` expression function (alexandre-daubois)
 * feature #48678 [FrameworkBundle] Rename service `notifier.logger_notification_listener` to `notifier.notification_logger_listener` (ker0x)
 * feature #48516 [PhpUnitBridge] Add `enum_exists` mock (alexandre-daubois)
 * feature #48855 [Notifier] Add new Symfony Notifier for PagerDuty (stloyd)
 * feature #48876 [HttpKernel] Rename HttpStatus atribute to WithHttpStatus (fabpot)
 * feature #48797 [FrameworkBundle] Add `extra` attribute for HttpClient Configuration (voodooism)
 * feature #48747 [HttpKernel] Allow using `#[WithLogLevel]` for setting custom log level for exceptions (angelov)
 * feature #48820 [HttpFoundation] ParameterBag::getEnum() (nikophil)
 * feature #48685 [DependencyInjection] Exclude referencing service (self) in `TaggedIteratorArgument` (chalasr)
 * feature #48409 [Mailer] add reject to `MessageEvent` to stop sending mail (Thomas Hanke, fabpot)
 * feature #47709 [HttpFoundation] Add `StreamedJsonResponse` for efficient JSON streaming (alexander-schranz)
 * feature #48810 Drop v1 contracts packages everywhere (derrabus)
 * feature #48802 [DependencyInjection] Cut compilation time (nicolas-grekas)
 * feature #48707 [DependencyInjection] Target Attribute must fail if the target does not exist (rodmen)
 * feature #48387 [SecurityBundle] Rename `firewalls.logout.csrf_token_generator` to `firewalls.logout.csrf_token_manager` (MatTheCat)
 * feature #48671 [Validator] Add `getConstraint()` method to `ConstraintViolationInterface` (syl20b)
 * feature #48665 [FrameworkBundle] Deprecate `framework:exceptions` XML tag (MatTheCat)
 * feature #48686 [DependencyInjection] Deprecate integer keys in "service_locator" config (upyx)
 * feature #48616 [Notifier] GoogleChat CardsV1 is deprecated we must use cardsV2 instead (daifma)
 * feature #48396 [Intl] Add a special locale to strip emojis easily with `EmojiTransliterator` (fancyweb)
 * feature #48098 [HttpKernel]  Resolve DateTime value using the Clock (GromNaN)
 * feature #48642 [Clock] Add `Clock` class and `now()` function (nicolas-grekas)
 * feature #48531 [FrameworkBundle][Messenger] Add support for namespace wildcard in Messenger routing (brzuchal)
 * feature #48121 [Messenger] Do not return fallback senders when other senders were already found (wouterj)
 * feature #48582 [Security] Make login redirection logic available to programmatic login (hellomedia)
 * feature #48352 [HttpKernel] Allow using `#[HttpStatus]` for setting status code and headers for HTTP exceptions (angelov)
 * feature #48710 [DependencyInjection] Add support for nesting autowiring-related attributes into `#[Autowire(...)]` (nicolas-grekas)
 * feature #48127 [Yaml] Add flag to dump numeric key as string (alamirault)
 * feature #48696 [WebProfilerBundle] Add a title and img role to svg of the web debug toolbar (Monet Emilien)
 * feature #48594 [SecurityBundle] Improve support for authenticators that don't need a user provider (wouterj)
 * feature #48457 [FrameworkBundle] Improve UX ConfigDebugCommand has not yaml component (alamirault)
 * feature #48044 [SecurityBundle] Set request stateless when firewall is stateless (alamirault)
 * feature #48200 [Security] Allow custom user identifier for X509 authenticator (Spomky)
 * feature #47352 [HttpKernel] FileProfilerStorage remove expired profiles mechanism (alamirault)
 * feature #48614 [Messenger] Move Transport/InMemoryTransport to Transport/InMemory/InMemoryTransport (lyrixx)
 * feature #48059 [HttpFoundation] Create migration for session table when pdo handler is used (alli83)
 * feature #47349 [Notifier] Allow to update Slack messages (maxim-dovydenok-busuu)
 * feature #48432 [VarDumper] Add support of named arguments to `dd()` and `dump()` to display a label (alexandre-daubois)
 * feature #48275 [FrameworkBundle] Allow to avoid `limit` definition in a RateLimiter configuration when using the `no_limit` policy (alexandre-daubois)
 * feature #39353 [FrameworkBundle][Notifier] Allow to configure or disable the message bus to use (jschaedl, fabpot)
 * feature #48565 [Notifier] [FakeChat] Allow missing optional dependency (Benjamin Schoch)
 * feature #48503 [Notifier] Add options to `SmsMessage` (gnito-org)
 * feature #48164 [Serializer] Add encoder option for saving options (ihmels)
 * feature #48206 [Console] Add placeholder formatters per ProgressBar instance (GromNaN)
 * feature #48232 [Validator] Add `{{pattern}}` to `Regex` constraint violations (alamirault)
 * feature #48299 [Console] #47809 remove exit() call in last SignalHandler (akuzia)
 * feature #48424 [DomCrawler][FrameworkBundle] Add `assertSelectorCount` (curlycarla2004)
 * feature #48546 [Notifier] [FakeSms] Allow missing optional dependency (Benjamin Schoch)
 * feature #48484 [ProxyManagerBridge] Deprecate the package (nicolas-grekas)
 * feature #48101 [Notifier] Add Mastodon Notifier (qdequippe)
 * feature #48362 [Clock] Add ClockAwareTrait to help write time-sensitive classes (nicolas-grekas)
 * feature #48478 [VarDumper] Add caster for WeakMap (nicolas-grekas)
 * feature #47680 [DependencyInjection][HttpKernel] Introduce build parameters (HeahDude)
 * feature #48374 [Notifier] [Telegram] Add support to answer callback queries (alexsoft)
 * feature #48466 [Notifier] Add Line bridge (kurozumi)
 * feature #48381 [Validator] Add `Uuid::TIME_BASED_VERSIONS` to match that a UUID being validated embeds a timestamp (alexandre-daubois)
 * feature #48379 [HttpKernel] Set a default file link format when none is provided to FileLinkFormatter (alexandre-daubois)
 * feature #48389 [Notifier] Add Bandwidth bridge (gnito-org)
 * feature #48394 [Notifier] Add Plivo bridge (gnito-org)
 * feature #48397 [Notifier] Add RingCentral bridge (gnito-org)
 * feature #48398 [Notifier] Add Termii bridge (gnito-org)
 * feature #48399 [Notifier] Add iSendPro bridge (leblanc-simon)
 * feature #48084 [Notifier] Add Twitter notifier (nicolas-grekas)
 * feature #48053 [Messenger] Improve DX (Nommyde)
 * feature #48043 [SecurityBundle] Deprecate enabling bundle and not configuring it (alamirault)
 * feature #48147 [DependencyInjection] Add `env` and `param` parameters for Autowire attribute (alexndlm)

