Changelog (v8.1.11...v8.2.0-BETA1)
- minor #67828 Generate config/reference.php and config/schema.json in apps without FrameworkBundle (@dtokos)
- feature #67237 Add the
debug:autoconfigurationcommand (@nicolas-grekas) - bug #67528 Read $_SERVER before $_ENV in KernelTestCase (@nicolas-grekas)
- bug #67460 Fix shutting down the kernel after a test reset the container (@nicolas-grekas)
- minor #67400 Harmonize MongoDB DSN configuration (@GromNaN)
- minor #67316 Add
command.invocationand migrate command examples (@nicolas-grekas) - feature #67247 Add shortcuts for template and redirect routes (@javiereguiluz)
- minor #67260 Set the default locale when a console command starts (@nicolas-grekas)
- minor #67266 Share immutable metadata between the containers created by kernel resets (@nicolas-grekas)
- minor #67259 Log fragment errors before rendering the
altURI (@nicolas-grekas) - feature #67258 Add
suggestPaths()andsuggestDirectories()to let the shell complete paths (@nicolas-grekas) - minor #67160 Collect garbage cycles in
KernelTestCaseandKernelBrowseronly when needed (@nicolas-grekas) - minor #67163 Close connections when the kernel shuts down (@nicolas-grekas)
- minor #67164 Close the lazy Redis connection of the session handler at kernel shutdown (@nicolas-grekas)
- minor #67175 Restore the exception handler replaced by
DebugHandlersListenerwhen services are reset (@nicolas-grekas) - minor #67105 Resolve the env vars of
framework.disallow_search_engine_indexwhen the container is compiled (@nicolas-grekas) - feature #67051 Return HTTP 204 for controllers declaring void (@Koc)
- feature #67018 Pass a shutdown flag to service reset methods (@nicolas-grekas)
- feature #66929 Add JsonSchemaBundle (@nicolas-grekas)
- minor #66912 Warm up and cache the guesses of
TypeInfoFormTypeGuesser(@nicolas-grekas) - minor #66911 Cache the return type of the controllers that
#streams (@nicolas-grekas) - minor #66906 Make the dependencies of the
#listener lazy (@nicolas-grekas) - minor #66893 Resolve the env vars of
framework.testwhen the container is compiled (@nicolas-grekas) - minor #66880 Default the session storage to
mock_filewhenframework.testis true (@nicolas-grekas) - feature #66873 Let
InteropSerializerexchange stamps as plain headers (@nicolas-grekas) - bug #66851 Apply the
configure_containerclosure after the kernel is shut down outside of the client (@nicolas-grekas) - feature #66780 Add
RateLimitValueResolverto inject the rate limit consumed by theRateLimitattribute (@ayyoub-afwallah) - minor #66846 Clear the HTTP cache store between tests with the
kernel.test_statetag (@nicolas-grekas) - minor #66843 Clear the cache pools that hold runtime state at the end of each test (@nicolas-grekas)
- feature #66820 Add
KernelBrowser::sendWebhook()andWebhookAssertionsTrait(@nicolas-grekas) - feature #66801 Reset the rate limiters between tests (@nicolas-grekas)
- feature #66789 Let
MessengerAssertionsTraitsee the messages queued by previous requests (@nicolas-grekas) - feature #66800 Let
MailerAssertionsTraitandNotificationAssertionsTraitsee what previous requests sent (@nicolas-grekas) - feature #66839 Add the
kernel.test_statetag to keep or reset the state of a service for the duration of a test (@nicolas-grekas) - feature #66804 Allow streaming the controller result as JSON in the
Serializeattribute (@nicolas-grekas) - bug #66792 Accept the documented places and transitions of workflows in the JSON schema (@nicolas-grekas)
- minor #66810 Make
MetadataBagread the time from the clock (@nicolas-grekas) - feature #66805 Make
KernelBrowser::loginUser()work on statelessaccess_tokenfirewalls (@nicolas-grekas) - feature #66803 Allow mapping the controller result with the ObjectMapper in the
Serializeattribute (@nicolas-grekas) - feature #66787 Allow
consumeQueuedMessages()to consume all in-memory transports (@nicolas-grekas) - bug #66785 Accept workflows given directly under their section in the JSON schema (@nicolas-grekas)
- feature #66788 Make
lint:yamlvalidate files against their JSON Schema by default (@nicolas-grekas) - bug #66760 Describe the shorthands that list limiters and resources under their section in the JSON schema (@nicolas-grekas)
- bug #66747 Don't report the env vars read outside the container as unused (@nicolas-grekas)
- minor #66765 Stop dumping the tested object when a DomCrawler or BrowserKit assertion fails (@nicolas-grekas)
- feature #66772 Add
TypeInfoFormTypeGuesserto guess form fields from the declared type of their property (@nicolas-grekas) - bug #66748 Follow the
framework.*aliases indebug:configandconfig:dump-reference(@nicolas-grekas) - bug #66746 Don't reject valid configuration in the generated JSON schema (@nicolas-grekas)
- minor #66773 Serve problem documents as
application/problem+json(@nicolas-grekas) - bug #66739 Make cache meta files reproducible (@nicolas-grekas)
- feature #66697 Add
LockValueResolverto inject the lock acquired by theLockattribute (@Brajk19) - feature #66691 Add the
lint:expressionscommand (@nicolas-grekas) - minor #66713 Declare the value resolvers that must run before EntityValueResolver (@nicolas-grekas)
- feature #66515 Add
#attribute to reject or delay concurrent requests (@Brajk19) - feature #66599 Deprecate saving session attributes changed without calling
set()(@nicolas-grekas) - feature #66664 Deprecate
ExpressionCacheWarmerand fail the warmup on invalid listed expressions instead (@nicolas-grekas) - feature #61935 Allow to define workflow with PHP attributes (@lyrixx)
- feature #66667 Let a service declare one of its methods as a service (@HypeMC)
- feature #66630 Add
ConstantFunctionProviderand deprecate the unrestrictedconstant()andenum()(@nicolas-grekas) - feature #66652 Compile expressions when warming up the cache (@nicolas-grekas)
- feature #66644 Make
#reject requests before resolving controller arguments (@nicolas-grekas) - minor #66642 Rename
NodeDefinition::inlineEnvVars()toresolvesAtCompileTime()(@nicolas-grekas) - feature #66590 Add
#to add middleware to a bus (@nicolas-grekas) - feature #66240 Add
withinandaroundconstraints to order decorators (@nicolas-grekas) - feature #66033 Add NodeDefinition::inlineEnvVars() to inline env vars while the container is compiled (@nicolas-grekas)
- minor #66566 Improve the hints shown by debug:autowiring (@nicolas-grekas)
- feature #66506 Allow rotating the secrets that sign URIs, remember-me cookies, login links and messages (@nicolas-grekas)
- minor #66535 Register RateLimitAttributeListener in FrameworkBundle (@Brajk19)
- feature #66189 Allow using a named serializer for
#,#&#(@HypeMC) - minor #66367 Skip resolving the runtime mode on web requests (@nicolas-grekas)
- minor #66378 Build the configuration trees once for
reference.phpandschema.json(@nicolas-grekas) - minor #66373 Build neither the profiler nor Twig when the dev server serves an asset (@nicolas-grekas)
- minor #66343 Clone only the definitions that hold env vars when dumping the container for debug (@nicolas-grekas)
- minor #66324 Register the secrets env var loader only when a vault directory exists (@nicolas-grekas)
- bug #66248 Accept non-array extension values in the
AppReferenceshape (@nicolas-grekas) - minor #66236 Declare the ordering dependencies of listeners with before/after (@nicolas-grekas)
- minor #66209 Make the config trees independent from runtime state (@nicolas-grekas)
- minor #66191 Fix deprecated class aliases missing from the class map (@nicolas-grekas)
- feature #66176 Register the security expression functions on the controller expression language (@tomsommer)
- feature #65642 Add an "asset_mapper.metadata_dir" option (@smnandre)
- minor #66138 Skip mapping files for the classes they do not map (@nicolas-grekas)
- feature #65144 Add framework.scheduler.use_messenger_routing (@lyrixx)
- feature #66133 Add ListenerIntrospectionInterface (@nicolas-grekas)
- feature #66129 Deprecate mutating the event dispatcher of the container at runtime (@nicolas-grekas)
- feature #65928 Add BoundsType to render a lower and an upper bound (@seb-jean)
- minor #66050 Remove inert "extended-type" tag attributes (@nicolas-grekas)
- feature #65900 Add MessengerAssertionsTrait to test in-memory transports (@nicolas-grekas)
- feature #65997 Add a "configure_container" option to WebTestCase::createClient() (@nicolas-grekas)
- feature #64052 Add a new component for Key Management Systems (@Spomky)
- feature #66004 Add addCondition() to combine a condition with the existing ones (@nicolas-grekas)
- minor #65983 Move the passes and commands that act on another package to that package (@nicolas-grekas)
- feature #65981 Add the "container.remove_if_missing" tag (@nicolas-grekas)
- feature #65948 Move every configuration section to a bundle shipped by its own component (@nicolas-grekas)
- minor #65977 Move the cache warmers into their own components (@nicolas-grekas)
- bug #65975 Fix the pass order so unwired services are removed before the passes that collect them (@Maxcastel, @nicolas-grekas)
- minor #65968 Move the classes CacheBundle, RouterBundle and TranslationBundle wire into their own components (@nicolas-grekas)
- minor #65945 Name the package to install for a missing component extension (@nicolas-grekas)
- minor #65957 Add TranslationBundle (@nicolas-grekas)
- minor #65956 Add ValidationBundle (@nicolas-grekas)
- minor #65955 Add SerializerBundle (@nicolas-grekas)
- minor #65954 Add RouterBundle (@nicolas-grekas)
- minor #65949 Add AssetBundle (@nicolas-grekas)
- minor #65944 Add NotifierBundle (@nicolas-grekas)
- minor #65943 Add MailerBundle (@nicolas-grekas)
- minor #65942 Add HttpClientBundle (@nicolas-grekas)
- minor #65941 Add WebhookBundle (@nicolas-grekas)
- minor #65940 Add RateLimiterBundle (@nicolas-grekas)
- minor #65939 Add AssetMapperBundle (@nicolas-grekas)
- minor #65938 Add PropertyInfoBundle (@nicolas-grekas)
- minor #65937 Add JsonStreamerBundle (@nicolas-grekas)
- minor #65936 Add SchedulerBundle (@nicolas-grekas)
- minor #65935 Add MessengerBundle (@nicolas-grekas)
- minor #65934 Add CacheBundle (@nicolas-grekas)
- minor #65933 Add LockBundle (@nicolas-grekas)
- minor #65932 Add bundles for the sections needing one inversion (@nicolas-grekas)
- minor #65931 Add HtmlSanitizerBundle (@nicolas-grekas)
- minor #65930 Add bundles for the sections with no cross-section coupling (@nicolas-grekas)
- feature #65887 Add bundles for the components that own no configuration key (@nicolas-grekas)
- minor #65885 Add WorkflowBundle (@nicolas-grekas)
- feature #65884 Allow a configuration node to alias the configuration of another extension (@nicolas-grekas)
- minor #65925 Instantiate on demand the bundles that have nothing to do at boot time (@nicolas-grekas)
- feature #65297 Add wildcard reads (@Boulea7)
- feature #65821 Add a
current_user()function to the expression language provider (@seb-jean) - feature #64072 Add routing information to the
debug:messengercommand (@ckrack) - feature #65826 Add PufferPost bridge (@JeroenMoonen)
- feature #63389 Allow overriding the key of a compound limiter's sub-limiters (@NicolasJourdan)
- minor #65841 Track the Symfony component in the MongoDB driver handshake (@GromNaN)
- feature #65824 Add MongoDB cache adapters (@GromNaN)
- feature #60563 Add
#and#attributes to define form types on data classes (@WedgeSama) - feature #65802 Add translation:update-xliff-sources command (@squrious)
- bug #65806 Fix schema violation lines and the list form of keyed maps (@nicolas-grekas)
- minor #65805 Remove dev requirement on symfony/amp-sql-messenger (@nicolas-grekas)
- feature #64892 Add AMPHP SQL messenger transport (@fabpot)
- feature #65394 Add JSON Schema validation to the
lint:yamlcommand (@GromNaN) - feature #65641 Add claim check support (@Toflar)
- feature #65393 Support extensible discriminator map via child attribute (@mttsch)
- feature #65750 Add "framework.webhook.no_private_network" and "framework.webhook.http_client" options (@nicolas-grekas)
- feature #65672 Add MailKite bridge (@bucabay)
- feature #65573 Add the cache_status option to emit the RFC 9211 Cache-Status header (@Amoifr)
- feature #65622 Add an importmap_entries option to stop exposing the other entrypoints (@Amoifr)
- minor #65617 Suggest more packages for unknown commands (@michaelthieulin)
- minor #65466 Make the Uid resolver test tolerant of the HttpKernel version (@nicolas-grekas)
- minor #65461 Require the sibling versions the code actually uses (@nicolas-grekas)
- feature #65451 Add
TrackingHeaderfor per-message open/click tracking across bridges (@Starfox64, @nicolas-grekas) - feature #60084 Add
RateLimiterBuilder(@kbond) - feature #64829 Add messenger:show command to inspect pending messages (@payene)
- feature #65427 Allow excluding requests from being profiled (@michaelthieulin)
- feature #62128 Add MongoDB bridge (@Jean85)
- feature #65370 Add
#to inject a class map built from resource tags (@HypeMC) - feature #65436 Re-add the POEditor provider bridge (@Amoifr)
- feature #65437 Add
doctrine.orm.entitytag andAttributeClassesDriverto auto-discover entities (@Nayte91) - feature #65428 Add RFC 9264 link sets and the RFC 9652 Link-Template header (@Spomky)
- feature #52425 Dispatch events before & after each handler (@BenMorel)
- feature #64540 Add PGP/MIME signing and encryption support (@Spomky)
- feature #64621 Add an optional LoggingMiddleware logging processing time and memory usage (@mariecharles)
- feature #65386 Let source value resolvers stage a value for the resolvers that follow them (@nicolas-grekas)
- feature #65074 Add a minimum release age for importmap updates (@ousamabenyounes)
- feature #64541 Align the S/MIME listeners with the PGP/MIME design (@Spomky)
- feature #64056 Add a bridge for the Cloudflare email service (@vadage)
- feature #64876 Add a way to append multiple nodes via a callback (@HypeMC, @nicolas-grekas)
- feature #63719 Add security expression functions to the validator expression language (@mp3000mp)
- feature #63112 Add a
firewalloption to route definitions (@tilaven) - minor #65361 Show lazy proxies as such in dumped arguments (@HypeMC)
- feature #64071 Deprecate the hinclude fragment renderer (@javiereguiluz)
- feature #65355 Add support for Scaleway webhooks (@nicolas-grekas)
- feature #63690 Add command to purge session data (@Nayte91)
- feature #59985 Add support for rate limited mailer transports (@fritzmg)
- feature #62125 Generate JSON schema for config (@GromNaN)
- feature #65351 Wire PdoTagAwareAdapter as cache.adapter.pdo_tag_aware (@nicolas-grekas)
- feature #57757 Prioritize receivers via transport configuration (Peter van der Wal)
- feature #63650 Add a
--concurrencyoption to themessenger:consumecommand to process messages in parallel (@nicolas-grekas) - minor #64233 Resolve
debug:configpaths whose keys contain dots (@Jibbarth) - feature #53131 Add the retry_failed.base_uris option to http_client (@Tiriel)
- feature #49227 Constraint ResponseHeaderSame now shows the actual header value (@jschaedl)
- feature #64003 Add SMS Proxima bridge (@SMS-Proxima)
- minor #64222 Make BrowserKit assertions non-verbose by default (@ousamabenyounes)
- feature #62958 Add timestamp header and Standard Webhooks signature support (@nicolas-grekas)
- feature #63864 Enable using
#with the serializer (@HypeMC) - feature #65178 Add the Threads bridge (@matyo91)
- feature #65179 Add the Instagram bridge (@matyo91)
- feature #65102 Add the Facebook Page bridge (@matyo91)
- feature #65098 Allow enabling advisory locks on a lock resource (@nicolas-grekas)
- feature #65078 Add integrity metadata to importmaps (@ousamabenyounes)
- minor #65072 Remove unused code from legacy controller notation in DelegatingLoader (@javiereguiluz)
- feature #64866 Add option to disable the RejectRedeliveredMessageMiddleware (@lyrixx)
- minor #65166 Fix low-deps tests (@MatTheCat)
- feature #63802 Add webhook support for Azure Communication Services Email events (@Amoifr)
- feature #64883 Add the WhatsApp bridge (@recchia)
- feature #64916 Add TurboSMTP bridge (@NewtTheWolf)
- feature #64379 Allow defining a mapping between a Loco tag filter and a domain (@MatTheCat)
- minor #64143 Use Loco import API to push translations (@MatTheCat)
- minor #65063 Reject combining framework.cache.app with default_provider (@nicolas-grekas)
- feature #65045 Configure the app cache with a DSN (@nicolas-grekas)
- feature #49161 Report unused
.envvariables indebug:container --env-vars(@mw3e21a) - feature #64714 Add UID value object support (@mtarld)
- feature #64952 Add support for serialized type name aliases in
#attribute (@yceruto) - feature #64852 Ignore compiled assets in debug mode (@smnandre)
- bug #64798 unregister its service when the EnumMappingMetadataFactory class does not exist (@xabbuh)
- feature #64785 Add support for the HttpClient
max_connect_durationoption (@alexandre-daubois) - feature #62392 Enable converting backed enums to their scalar values (@Nayte91)
- bug #64754 Fold
UriSignerversion into the signature without a reserved parameter (@kbond) - bug #64700 Fix
uri_signerdefinition (@MatTheCat) - bug #64691 Don’t reference potentially missing
WorkflowEventsclass (@MatTheCat) - feature #64018 Deprecate the
framework.ideconfig option (@Amoifr) - feature #64221 Add $disabledEvents to permanently silence events at the workflow level (@ousamabenyounes)
- feature #64592 Add
--dispatchersoption todebug:event-dispatchercommand (@lyrixx) - feature #63743 Add
BcMath\NumberandGMPvalue object support (@mtarld) - feature #64455 Deprecate not passing an expiry to
UriSigner::sign()(@kbond) - minor #64563 Set Crowdin HTTP client max host connections to 20 (@MatTheCat)