Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changelog (v7.3.4...v7.4.0-BETA1)
KernelInterface::getShareDir(),APP_SHARE_DIRand%kernel.share_dir%#62170 [HttpKernel] AddKernelInterface::getShareDir(),APP_SHARE_DIRandkernel.share_dir(@nicolas-grekas)APP_RUNTIME_MODE#60033 [ErrorHandler][FrameworkBundle] Add support for selecting the appropriate error renderer based on theAPP_RUNTIME_MODE(@yceruto)MessageSentToTransportsEvent#61843 [Messenger] AddMessageSentToTransportsEvent(@HypeMC)PropertyMetadatavalue transformers #61880 [JsonStreamer] MergePropertyMetadatavalue transformers (@mtarld)FormFlowfor multistep forms management #60212 [Form] AddFormFlowfor multistep forms management (@yceruto)config/reference.phpto assist in writing and discovering app's configuration #62129 [FrameworkBundle] Auto-generateconfig/reference.phpto assist in writing and discovering app's configuration (@nicolas-grekas)Sec-Fetch-SitetoSameOriginCsrfTokenManager#62077 [Security] Add support forSec-Fetch-SitetoSameOriginCsrfTokenManager(@nicolas-grekas)Cursorhelper in invokable commands #62068 [Console] Add support forCursorhelper in invokable commands (@yceruto)auto_upgrade_http_versionto control how the request HTTP version is handled inHttplugClientandPsr18Client#62059 [HttpClient] Add optionauto_upgrade_http_versionto control how the request HTTP version is handled inHttplugClientandPsr18Client(@ajgarlag)router.request_context's_localeparameter to%kernel.default_locale%#62010 [Routing] Initializerouter.request_context's_localeparameter tokernel.default_locale(@MatTheCat)confirmoption in Slack buttons API #62039 [Notifier] Add support forconfirmoption in Slack buttons API (Taras Hinyk)Request::set/getAllowedHttpMethodOverride()to list which HTTP methods can be overridden #61979 [HttpFoundation] AddRequest::set/getAllowedHttpMethodOverride()to list which HTTP methods can be overridden (@nicolas-grekas)Request::createFromGlobals()parse the body of PUT, DELETE, PATCH and QUERY requests #61961 [HttpFoundation] MakeRequest::createFromGlobals()parse the body of PUT, DELETE, PATCH and QUERY requests (@MatTheCat)AbstractDoctrineExtension#61992 [DoctrineBridge] DeprecateAbstractDoctrineExtension(@GromNaN)#[AsEventListener]#61252 [FrameworkBundle] Add support for union types on#[AsEventListener](@Fan2Shrek)#[Interact]and#[Ask]attributes #61748 [Console] Add support for interactive invokable commands with#[Interact]and#[Ask]attributes (@yceruto)ExtensionInterface::getXsdValidationBasePath()andgetNamespace()#61919 [DependencyInjection] DeprecateExtensionInterface::getXsdValidationBasePath()andgetNamespace()(@nicolas-grekas)active_at,not_active_atandlegal_tenderoptions toCurrencyType#61837 [Form] Add newactive_at,not_active_atandlegal_tenderoptions toCurrencyType(@Crovitche-1623)$thisor the internal scope of the loader from PHP config files #61860 [Config][DependencyInjection][Routing] Deprecate using$thisor the internal scope of the loader from PHP config files (@nicolas-grekas)CachingHttpClientcompatible with RFC 9111 #59576 [HttpClient] MakeCachingHttpClientcompatible with RFC 9111 (@Lctrs)RememberMeDetailsusing legacy constructor signature #61789 [Security] deprecate extendingRememberMeDetailsusing legacy constructor signature (@xabbuh)MockUuidFactoryfor deterministic UUID generation in tests #61807 [Uid] AddMockUuidFactoryfor deterministic UUID generation in tests (@momito69)NotFoundActivationStrategy#61836 [MonologBridge] DeprecateNotFoundActivationStrategy(@HypeMC)UuidV7when usingUuidFactory#61812 [Uid] Default toUuidV7when usingUuidFactory(@nicolas-grekas)DayPointTypeandTimePointTypeDoctrine type #60237 [DoctrineBridge] Add newDayPointTypeandTimePointTypeDoctrine type (@wkania)ArrayNodeDefinition::acceptAndWrap()to list alternative types that should be accepted and wrapped in an array #51273 [Config] AddArrayNodeDefinition::acceptAndWrap()to list alternative types that should be accepted and wrapped in an array (@nicolas-grekas)ANYprotocol inAssert\Urlconstraint #60561 [Validator] Add option to allowANYprotocol inAssert\Urlconstraint (@alekLexis)subaccountto the payload #61775 [Mailer][Mandrill] Addsubaccountto the payload (@andrehoong-pixieset)LockKeyNormalizer#60023 [Lock] AddLockKeyNormalizer(@valtzu)XmlEncoder#60228 [Serializer] Support preserving array keys withXmlEncoder(Maximilian Ruta)TypeContextFactory#61765 [TypeInfo] Add result cache toTypeContextFactory(@landure)BackedEnuminMethodMarkingStore#60114 [Workflow] Add support forBackedEnuminMethodMarkingStore(@tucksaun)globalregion #61758 [Mailer][Sendgrid] Add support forglobalregion (@sonnymilton)PersistentTokenandRememberMeDetails#61743 [Security] deprecate the FQCN properties ofPersistentTokenandRememberMeDetails(@xabbuh)#[IsSignatureValid]attribute #60395 [HttpFoundation] Add#[IsSignatureValid]attribute (@santysisi)$singulartoNodeBuilder::arrayNode()to decouple plurals/singulars from XML #61718 [Config] Add argument$singulartoNodeBuilder::arrayNode()to decouple plurals/singulars from XML (@nicolas-grekas)DefaultStampsProviderInterface#54366 [Messenger] IntroduceDefaultStampsProviderInterface(@VincentLanglet)$tokenSourceargument to#[IsCsrfTokenValid]to support reading tokens from the query string or headers #61694 [Security] Add$tokenSourceargument to#[IsCsrfTokenValid]to support reading tokens from the query string or headers (@webda2l)#[ExtendsSerializationFor]to declare new serialization attributes for a class #61563 [Serializer] Add#[ExtendsSerializationFor]to declare new serialization attributes for a class (@nicolas-grekas)#[ExtendsValidationFor]to declare new constraints for a class #61545 [Validator] Add#[ExtendsValidationFor]to declare new constraints for a class (@nicolas-grekas)EventSourcerequests in debug toolbar #61311 [WebProfilerBundle] ShowEventSourcerequests in debug toolbar (@valtzu)PersistentToken::getClass()andRememberMeDetails::getUserFqcn()in order to remove the user FQCN from the remember-me cookie in 8.0 #61654 [Security] DeprecatePersistentToken::getClass()andRememberMeDetails::getUserFqcn()in order to remove the user FQCN from the remember-me cookie in 8.0 (@nicolas-grekas)Acceptheader contains "html" #58070 [VarDumper] Select HtmlDumper only ifAcceptheader contains "html" (@alexandre-daubois)#[Input]attribute to support DTOs in invokable commands #61478 [Console] Add#[Input]attribute to support DTOs in invokable commands (@yceruto)Class::function(...)andglobal_function(...)closures in PHP DSL for factories #61656 [DependencyInjection] AllowClass::function(...)andglobal_function(...)closures in PHP DSL for factories (@GromNaN)access_decision()andaccess_decision_for_user()#61379 [Security][TwigBridge] Addaccess_decision()andaccess_decision_for_user()(@florentdestremau)Videoconstraint for validating video files #59042 [Validator] AddVideoconstraint for validating video files (@symfonyaml)#[AsDecorator]attributes #61575 [DependencyInjection] Allow multiple#[AsDecorator]attributes (@Jean-Beru)$_SERVER['APP_RUNTIME']#61592 [Runtime] Expose the runtime class in$_SERVER['APP_RUNTIME'](@nicolas-grekas)EnumType#61297 [Form] Add form type guesser forEnumType(@mttsch)#[IsGranted]#61542 [Security] Allow subclassing#[IsGranted](@nicolas-grekas)debug:routercall and adding colors #59780 [FrameworkBundle] Only show relevant columns indebug:routercall and adding colors (@mamazu)RoleHierarchy::buildRoleMapmethod #61057 [Security] Improve performance ofRoleHierarchy::buildRoleMapmethod (@simonjamain-gp, @simonjamain)--exclude-receiverstomessenger:consumecommand #60979 [Messenger] Add--exclude-receiverstomessenger:consumecommand (@jbdelhommeau)#[Route]attribute #61358 [Routing] allow setting multiple envs in#[Route]attribute (@santysisi)$methodssupport to#[IsGranted]to restrict access by HTTP method #61359 [Security] Add$methodssupport to#[IsGranted]to restrict access by HTTP method (@santysisi)DiscordBotTransport#60218 [Notifier][Discord] AddDiscordBotTransport(@norkunas)QUERYHTTP method #61173 [HttpFoundation][HttpKernel][WebProfilerBundle] Add support for theQUERYHTTP method (@alexandre-daubois)__sleep/wakeup()onAbstractPartimplementations #61423 [Mime] Deprecate implementing__sleep/wakeup()onAbstractPartimplementations (@nicolas-grekas)__sleep/wakeup()on GenericMetadata implementations #61418 [Validator] Deprecate implementing__sleep/wakeup()on GenericMetadata implementations (@nicolas-grekas)__sleep/wakeup()on string implementations #61417 [String] Deprecate implementing__sleep/wakeup()on string implementations (@nicolas-grekas)__sleep/wakeup()on kernels and data collectors and makeProfilefinal #61412 [HttpKernel] Deprecate__sleep/wakeup()on kernels and data collectors and makeProfilefinal (@nicolas-grekas)AttributeMetadataandClassMetadatafinal #61413 [Serializer] MakeAttributeMetadataandClassMetadatafinal (@nicolas-grekas)$optionsargument toChoiceconstraint #61255 [Validator] deprecate passing choices as$optionsargument toChoiceconstraint (@xabbuh)CDATA_WRAPPING_NAME_PATTERNsupport toXmlEncoder#60355 [Serializer] AddCDATA_WRAPPING_NAME_PATTERNsupport toXmlEncoder(Maximilian Ruta)BrowserHistoryIsOnFirstPageandBrowserHistoryIsOnLastPage#60955 [BrowserKit] Add PHPUnit constraints:BrowserHistoryIsOnFirstPageandBrowserHistoryIsOnLastPage(@santysisi)minandmaxin both error messages ofLengthValidator#60805 [Validator] Addminandmaxin both error messages ofLengthValidator(@VincentLanglet)#[CurrentUser]attribute #61204 [Security] Support union type for#[CurrentUser]attribute (@VincentLanglet)include_null_propertiesoption #60730 [JsonStreamer] Addinclude_null_propertiesoption (@mtarld)StaticMessage#60935 [Translation] AddStaticMessage(@VincentLanglet)ObjectMapperAwareInterfaceto set the owning object mapper instance #61145 [ObjectMapper] AddObjectMapperAwareInterfaceto set the owning object mapper instance (@soyuka)TranslatableMessage::__toString#61109 [Translation] DeprecateTranslatableMessage::__toString(@VincentLanglet)canto the accessor prefixes recognized by theAttributeLoader#61023 [Serializer] addcanto the accessor prefixes recognized by theAttributeLoader(Mark Schmale)TagAwareAdapterInterfacetoNullAdapter#61127 [Cache] AddTagAwareAdapterInterfacetoNullAdapter(@a.dmitryuk)RoundRobinTransportmailer #60110 [Mailer] [Transport] Allow exception logging forRoundRobinTransportmailer (@jnoordsij)ServiceResetterInterfaceimplementation inResetServicesListener#60999 [Messenger] Allow anyServiceResetterInterfaceimplementation inResetServicesListener(@santysisi)AbstractCloner::addDefaultCasters()#60480 [VarDumper] Add support for adding more default casters toAbstractCloner::addDefaultCasters()(@lyrixx)isFirstPage()andisLastPage()methods to History #60895 [BrowserKit] AddisFirstPage()andisLastPage()methods to History (@santysisi)ControllerHelper; the helpers fromAbstractControlleras a standalone service #60857 [FrameworkBundle] AddControllerHelper; the helpers fromAbstractControlleras a standalone service (@nicolas-grekas)$targettoContainerBuilder::registerAliasForArgument()#60910 [DependencyInjection] Add argument$targettoContainerBuilder::registerAliasForArgument()(@nicolas-grekas)#[Target]for custom services #60874 [FrameworkBundle] Allow using their name without added suffix when using #[Target] for custom services (@Valmonzo)Request::sendHeaders()after headers have already been sent #60876 [HttpFoundation] Deprecate usingRequest::sendHeaders()after headers have already been sent (@nicolas-grekas)CommandTester#60823 [Console] Add support for Invokable Commands inCommandTester(@ruudk)BrowserKitAssertionsTrait#60788 [FrameworkBundle] Allow to un-verbose all the method inBrowserKitAssertionsTrait(@VincentLanglet)#[AsAlias]attribute #60819 [DependencyInjection] Allow extending#[AsAlias]attribute (@ruudk)assertEmailAddressNotContains#60740 [Mailer] AddassertEmailAddressNotContains(@santysisi)BackedEnumin invokable commands #60586 [Console] SupportBackedEnumin invokable commands (@GromNaN)strtotime()toClockMock#60424 [PhpUnitBridge] Addstrtotime()toClockMock(@jprivet-dev)UrlGeneratorusing_query#60508 [Routing] Allow query-specific parameters inUrlGeneratorusing_query(@BenMorel)input=date_pointtoDateTimeType,DateTypeandTimeType#60315 [Form] Addinput=date_pointtoDateTimeType,DateTypeandTimeType(@wkania)waitingtrace when finding the cache locked #60498 [HttpCache] Add awaitingtrace when finding the cache locked (@mpdude)nikic/php-parserdependency #60544 [JsonStreamer] Removenikic/php-parserdependency (@mtarld)