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...v8.0.0-BETA1)
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)isRequired()anddefaultValue()#62109 [Config] Ensure configuration nodes do not have bothisRequired()anddefaultValue()(@GromNaN)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#61993 [DoctrineBridge] RemoveAbstractDoctrineExtension(@GromNaN)AbstractDoctrineExtension#61992 [DoctrineBridge] DeprecateAbstractDoctrineExtension(@GromNaN)Request::get()#61983 [HttpFoundation] RemoveRequest::get()(@PierreCapel)#[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)getEnvandsetEnvmethods #61477 [Routing] Remove deprecatedgetEnvandsetEnvmethods (@santysisi)#[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()by__(un)serialize()#61424 [HttpKernel][Mime][Serializer][String][Validator] Replace__sleep/wakeup()by__(un)serialize()(@nicolas-grekas)__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)TranslatableMessage::__toString()method, usetrans()orgetMessage()instead #61182 [Translation] RemoveTranslatableMessage::__toString()method, usetrans()orgetMessage()instead (@nicolas-grekas)!taggedtag, use!tagged_iteratorinstead #61179 [DependencyInjection] Remove!taggedtag, use!tagged_iteratorinstead (@nicolas-grekas)Request::sendHeaders()after headers have already been sent #61180 [HttpFoundation] Trigger PHP warning when usingRequest::sendHeaders()after headers have already been sent (@nicolas-grekas)ObjectMapperAwareInterfaceto set the owning object mapper instance #61145 [ObjectMapper] AddObjectMapperAwareInterfaceto set the owning object mapper instance (@soyuka)RateLimiterFactory#61155 [FrameworkBundle][SecurityBundle] Remove autowiring aliases forRateLimiterFactory(@nicolas-grekas)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)sizeLimitoption ofAbstractQuery#61067 [Ldap] remove thesizeLimitoption ofAbstractQuery(@xabbuh)nullas allowed variables #61068 [ExpressionLanguage] forbid passingnullas allowed variables (@xabbuh)RememberMeToken::getSecret()#61011 [Security] Remove deprecatedRememberMeToken::getSecret()(@ktherage)RoundRobinTransportmailer #60110 [Mailer] [Transport] Allow exception logging forRoundRobinTransportmailer (@jnoordsij)ServiceResetterInterfaceimplementation inResetServicesListener#60999 [Messenger] Allow anyServiceResetterInterfaceimplementation inResetServicesListener(@santysisi)ResizeFormListener#60952 [Form] Remove BC layer fromResizeFormListener(@OskarStark)EmojiTransliterator#60986 [Intl] Remove deprecatedEmojiTransliterator(@mttsch)TransportFactoryTestCase#60990 [Notifier] Remove deprecatedTransportFactoryTestCase(@mttsch)security.authentication.hide_user_not_foundparameter #61012 [SecurityBundle] remove the deprecatedsecurity.authentication.hide_user_not_foundparameter (@xabbuh)ProviderFactoryTestCase#60987 [Translation] Remove deprecatedProviderFactoryTestCase(@mttsch)CouchbaseBucketAdapter#60993 [Cache] Remove deprecatedCouchbaseBucketAdapter(@mttsch)algorithmandkey#60929 [SecurityBundle] Remove deprecated OIDC token handler optionsalgorithmandkey(@OskarStark)Translatorclassfinal#60969 [FrameworkBundle] MakeTranslatorclassfinal(@OskarStark)Routerclassfinal#60966 [FrameworkBundle] MakeRouterclassfinal(@OskarStark)ResizeFormListener::postSetData()methodfinal#60960 [Form] MakeResizeFormListener::postSetData()methodfinal(@OskarStark)#[AsCommand]attribute classfinal#60959 [Command] Make#[AsCommand]attribute classfinal(@OskarStark)escape_charfunctionality fromCsvEncoder#60924 [Serializer] Remove deprecatedescape_charfunctionality fromCsvEncoder(@OskarStark)hide_user_not_foundoption #60928 [SecurityBundle] Remove deprecatedhide_user_not_foundoption (@OskarStark)NativeSessionStorage#60930 [HttpFoundation] Remove deprecated session options fromNativeSessionStorage(@OskarStark)escapeparameter fromCsvFileLoader#60925 [Translation] Remove deprecatedescapeparameter fromCsvFileLoader(@OskarStark)AbstractCloner::addDefaultCasters()#60480 [VarDumper] Add support for adding more default casters toAbstractCloner::addDefaultCasters()(@lyrixx)UrlTypedefault protocol #60922 [Form] ChangeUrlTypedefault protocol (@OskarStark)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)ImportMapConfigReader::splitPackageNameAndFilePath()#60878 [AssetMapper] RemoveImportMapConfigReader::splitPackageNameAndFilePath()(@mttsch)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)AdvancedNameConverterInterface#60870 [Serializer] RemoveAdvancedNameConverterInterface(@mttsch)ContainerBuilder::getAutoconfiguredAttributes()#60844 [DependencyInjection] Remove deprecatedContainerBuilder::getAutoconfiguredAttributes()(@GromNaN)#[TaggedIterator]and#[TaggedLocator]attributes #60845 [DependencyInjection] Remove#[TaggedIterator]and#[TaggedLocator]attributes (@GromNaN)BrowserKitAssertionsTrait#60788 [FrameworkBundle] Allow to un-verbose all the method inBrowserKitAssertionsTrait(@VincentLanglet)#[AsAlias]attribute #60819 [DependencyInjection] Allow extending#[AsAlias]attribute (@ruudk)eraseCredentials()from (User|Token)Interface #60742 [Ldap][Security] Remove deprecatederaseCredentials()from (User|Token)Interface (@chalasr)assertEmailAddressNotContains#60740 [Mailer] AddassertEmailAddressNotContains(@santysisi)Application::add()methods #60776 [Console][FrameworkBundle] Remove deprecatedApplication::add()methods (@HypeMC)BackedEnumin invokable commands #60586 [Console] SupportBackedEnumin invokable commands (@GromNaN)Type#60726 [PropertyInfo] Remove PropertyInfo'sType(@mtarld)LazyGhostTraitandLazyProxyTraitin favor of native lazy objects #60716 [VarExporter] RemoveLazyGhostTraitandLazyProxyTraitin favor of native lazy objects (@nicolas-grekas)setDefault(), usesetOptions()instead #60723 [OptionsResolver] Remove support for nested options definition viasetDefault(), usesetOptions()instead (@yceruto)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)