v7.0.0-BETA1
版本发布时间: 2023-10-21 22:32:07
symfony/symfony最新发布版本:v7.2.0-BETA1(2024-10-28 00:11:41)
Changelog (https://github.com/symfony/symfony/compare/v6.3.6...v7.0.0-BETA1)
- feature #51847 [AssetMapper] Allowing for files to be written to some non-local location (@weaverryan)
- feature #52079 [HttpKernel] Add parameters
kernel.runtime_mode
andkernel.runtime_mode.*
, all set from env varAPP_RUNTIME_MODE
(@nicolas-grekas) - feature #51348 [FrameworkBundle][Validator] Allow implementing validation groups provider outside DTOs (Yonel Ceruto)
- feature #51577 [Notifier][Novu] Implement overrides (@wouter-toppy)
- feature #51211 [Workflow] List place and transition listeners in profiler (@lyrixx)
- feature #51220 [Workflow] Add a
TraceableWorkflow
(@lyrixx) - feature #52120 [AssetMapper] Split ImportmapManager into 2 (@weaverryan)
- feature #51849 [AssetMapper] Warn of missing or incompat dependencies (@weaverryan)
- feature #52032 [FrameworkBundle][Routing][Translation][Workflow] Move some compiler passes from FrameworkBundle to components (@fancyweb)
- feature #52166 [HtmlSanitizer] Add support for sanitizing unlimited length of HTML document (@lyrixx)
- feature #48095 [Messenger] [Sqs] Add
AddFifoStamp
middleware (@tyx) - feature #52160 [DoctrineBridge] Change argument
$lastUsed
ofDoctrineTokenProvider::updateToken()
to acceptDateTimeInterface
(@nicolas-grekas) - feature #52140 [Translation] Add argument
$buildDir
toDataCollectorTranslator::warmUp()
(@nicolas-grekas) - feature #52047 [HttpFoundation][Runtime] Add $flush parameter to Response::send() (@fancyweb)
- feature #51470 [FrameworkBundle][Serializer] Deprecate annotations (@alexandre-daubois)
- feature #51483 [FrameworkBundle][Routing] Deprecate annotations (@alexandre-daubois)
- feature #47416 [Console][FrameworkBundle][HttpKernel][WebProfilerBundle] Enable profiling commands (@HeahDude)
- feature #50391 [FrameworkBundle][HttpKernel] Introduce
$buildDir
argument toWarmableInterface::warmup
to warm read-only artefacts inbuild_dir
(@Okhoshi) - feature #52087 [Scheduler] Add
FailureEvent
(@alli83) - feature #51828 [AssetMapper] Put importmap in polyfill so it can be hosted locally easily (@weaverryan)
- feature #52024 [AssetMapper] Add a "package specifier" to importmap in case import name != package+path (@weaverryan)
- feature #50734 [ErrorHandler] Improve fileLinkFormat handling (@nlemoine)
- feature #52002 [HttpFoundation] Cookies Having Independent Partitioned State (CHIPS) (@fabricecw)
- feature #51805 [Scheduler] pre_run and post_run events (@alli83)
- feature #51926 [Mime] Forbid messages that are generators to be used more than once (@fabpot)
- feature #50946 [Routing][SecurityBundle] Add
LogoutRouteLoader
(@MatTheCat) - feature #52038 [Console] Dispatch
ConsoleTerminateEvent
when exiting on signal (@HeahDude) - feature #49893 [Serializer] Add
XmlEncoder::CDATA_WRAPPING
context option (@AndoniLarz) - feature #50877 [Finder] Add early directory prunning filter support (@mvorisek)
- feature #51829 [AssetMapper] Automatically preload CSS files if WebLink available (@weaverryan)
- feature #51011 [FrameworkBundle] Add parameters deprecations to the output of
debug:container
command (@HeahDude) - feature #51888 [WebProfiler] Profiler improvements / extract Font from stylesheet (@smnandre)
- feature #51058 [FrameworkBundle] Add
--exclude
option to thecache:pool:clear
command (@MatTheCat) - feature #51845 [AssetMapper] Add outdated command (Maelan LE BORGNE)
- feature #51976 [Workflow] Revert deprecation about Registry (@lyrixx)
- feature #50537 [Console] Add placeholders to ProgressBar for exact times (@maxbeckers)
- feature #51717 [Notifier] [Telegram] Extend options for
location
,document
,audio
,video
,venue
,photo
,animation
,sticker
&contact
(@igrizzli) - feature #49044 [Messenger] Mention the transport which failed during the setup command (@thePanz)
- feature #51786 [AssetMapper] Always downloading vendor files (@weaverryan)
- feature #51832 [DependencyInjection] Add
#[AutowireIterator]
attribute and improve#[AutowireLocator]
(@nicolas-grekas, @kbond) - feature #50934 [Form] Add
duplicate_preferred_choices
option toChoiceType
(@arnaud-deabreu) - feature #51650 [AssetMapper] Add audit command (@Jean-Beru)
- feature #51771 Update the design of the Symfony Welcome Page (@javiereguiluz)
- feature #51800 [DoctrineBridge] Pass
Request
toEntityValueResolver
's expression (@HypeMC) - feature #51848 [Messenger] Resend failed retries back to failure transport (@ro0NL)
- feature #51811 Add "dev" keyword to symfony/symfony package (@nicolas-grekas)
- feature #51276 [Notifier] Transport possible to have null (@StaffNowa)
- feature #50662 [FrameworkBundle] Add
HttpClientAssertionsTrait
which provide shortcuts to assert HTTP calls was triggered (@welcoMattic) - feature #50392 Move UriSigner from HttpKernel to HttpFoundation package (@alexander-schranz)
- feature #51804 [Security] Make
impersonation_path()
argument mandatory and addimpersonation_url()
(@alexandre-daubois) - feature #50127 [TwigBridge] Add
FormLayoutTestCase
class (@ker0x) - feature #50030 Add new twig bridge function to generate impersonation path (@PhilETaylor)
- feature #50109 [FrameworkBundle] Add --show-aliases option to debug:router command (@fancyweb)
- feature #50141 Allow sending scheduled messages through the slack API (@Insanfly)
- feature #50321 [TwigBridge] Add
AppVariable::getEnabledLocales()
(@jmsche) - feature #51676 [RateLimiter] Add SlidingWindowLimiter::reserve() (@Jeroeny)
- feature #51538 [HttpFoundation] Support root-level Generator in StreamedJsonResponse (@Jeroeny)
- feature #51653 [Messenger] Add WrappedExceptionsInterface for nested exceptions (@Jeroeny)
- feature #51690 [Mime] Add
TemplatedEmail::locale()
to set the locale for the email rendering (@alexander-schranz) - feature #51525 [Messenger][Scheduler] Add AsCronTask & AsPeriodicTask attributes (@valtzu)
- feature #51795 [Scheduler] Make debug:scheduler output more useful (@fabpot)
- feature #51793 [FrameworkBundle] Change BrowserKitAssertionsTrait::getClient() to be protected (@fabpot)
- feature #44629 [FrameworkBundle] Allow BrowserKit relative URL redirect assert (@julienfalque)
- feature #51756 [Messenger] RejectRedeliveredMessageException should not be retried (@nikophil)
- feature #51779 [Serializer] Make
ProblemNormalizer
give details about Messenger’sValidationFailedException
(@MatTheCat) - feature #51772 [WebProfilerBundle] Support
!
negation operator in url filter (@SzymonKaminski) - feature #51729 [AssetMapper] Allow simple, relative paths in importmap.php (@weaverryan)
- feature #51697 [PropertyInfo] Make isWriteable() more consistent with isReadable() when checking snake_case properties (@jbtronics)
- feature #51543 [AssetMapper] Add support for CSS files in the importmap (@weaverryan)
- feature #51593 [Messenger] Add the
--all
option to themessenger:failed:remove
command (@alexandre-daubois) - feature #51542 [Scheduler] Trigger unique messages at runtime (@Jeroeny)
- feature #51415 [Clock] Add
DatePoint
: an immutable DateTime implementation with stricter error handling and return types (@nicolas-grekas) - feature #51553 [Scheduler] Allow modifying the schedule at runtime and recalculate heap (@Jeroeny)
- feature #51703 [PhpUnitBridge] Add some more native types (@d-eff-it)
- feature #51712 Deprecate
Kernel::stripComments()
(@alamirault) - feature #51687 [Messenger] Add support for multiple Redis Sentinel hosts (@digilist)
- feature #51153 [Translation] Add
--as-tree
option totranslation:pull
command (@syffer) - feature #51601 [Mime] Allow to add some headers as a strings (@Oipnet)
- feature #51684 [Translation] Give current locale to
LocaleSwitcher::runWithLocale()
's callback (@alexander-schranz) - feature #51651 [Scheduler] Fix stateful scheduler (@valtzu)
- feature #51638 [FrameworkBundle] [Test] add token attributes in
KernelBrowser::loginUser()
(@Valmonzo) - feature #51558 [HttpClient] Enable using EventSourceHttpClient::connect() for both GET and POST (@wivaku)
- feature #51476 [Serializer] Allow Context to target classes (@mtarld)
- feature #50438 [Validator] Add is_valid function to Expression constraint (@verdet23, @DEVizzent)
- feature #51626 [TwigBridge][TwigBundle] Drop support for Twig 2 (@derrabus)
- feature #51585 [Security] Add badge resolution to profiler (@Jean-Beru)
- feature #51523 [AssetMapper] Allow specifying packages to update with importmap:update (@jmsche)
- feature #51549 [Workflow] Remove
GuardEvent::getContext()
method without replacement (@alexandre-daubois) - feature #51493 Remove
GuardEvent::getContext()
method and addHasContextTrait
trait (@hhamon) - feature #50705 [Mailer][Webhook] Add Sendgrid webhook support (@WoutervanderLoopNL)
- feature #51450 [Mailer] [Smtp] Add DSN param
peer_fingerprint
for fingerprint verification (@xdavidwu) - feature #51484 [Workflow] deprecate
GuardEvent::getContext
method (@hhamon) - feature #51351 [AssetMapper] Add command to download missing downloaded packages (@jmsche)
- feature #51454 [Validator] Un-deprecate passing an annotation reader to AnnotationLoader (@derrabus)
- feature #51434 [Security] [Throttling] Hide username and client ip in logs (@Spomky)
- feature #51425 [FrameworkBundle][Validator] Deprecate annotation occurrences (@alexandre-daubois)
- feature #51392 [DependencyInjection] add
#[AutowireLocator]
attribute (@kbond) - feature #51365 [Clock] Add $modifier argument to the now() helper (@nicolas-grekas)
- feature #51327 [FrameworkBundle] Add
AbstractController::renderBlock()
andrenderBlockView()
(@nicolas-grekas) - feature #51357 [FrameworkBundle] Deprecate not setting some options (uid, validation) (@Jean-Beru)
- feature #51325 [FrameworkBundle] Deprecate not setting some options (@Jean-Beru)
- feature #51412 [Clock] Throw
DateMalformedStringException
/DateInvalidTimeZoneException
when appropriate (@nicolas-grekas) - feature #51368 [DomCrawler] Added argument
$default
to methodCrawler::attr()
(@Rastishka) - feature #51315 [Notifier][Webhook] Add Vonage support (@smnandre)
- feature #51349 [Notifier] Add GoIP bridge (@ahmedghanem00)
- feature #51332 [SecurityBundle] Deprecate the
require_previous_session
config option (@alamirault) - feature #51284 [FrameworkBundle][HttpKernel][MonologBridge] Revisit wiring of debug loggers (@nicolas-grekas)
- feature #50306 [DomCrawler][FrameworkBundle] Add
assertAnySelectorText*
(@SVillette) - feature #51263 [Scheduler] Add --all to debug:schedule (@fabpot)
- feature #50939 [SecurityBundle] Add
$badges
argument toSecurity::login
(@MatTheCat) - feature #50951 [FrameworkBundle] Support APP_BUILD_DIR (@ro0NL)
- feature #51264 [RemoteEvent][Webhook] Add Brevo support (@blaugueux)
- feature #50502 [RemoteEvent][Webhook] Add Mailjet support (@blaugueux)
- feature #51250 Remove remaining experimental classes (@fabpot)
- feature #51249 [RemoteEvent] Mark component as non experimental (@fabpot)
- feature #51248 [Webhook] Mark component as non experimental (@fabpot)
- feature #51247 [AssetMapper] Mark component as non experimental (@fabpot)
- feature #51246 [Scheduler] Mark component as non experimental (@fabpot)
- feature #51245 [Scheduler] Only use toString if defined for message (@fabpot)
- feature #51244 [Scheduler] Add --date to schedule:debug (@fabpot)
- feature #51210 [Workflow] Add PHP attributes to register listeners and guards (@lyrixx)
- feature #48485 [Process] Introducing a new
PhpSubprocess
handler (@Toflar) - feature #51215 [FrameworkBundle] Enable
json_decode_detailed_errors
in dev by default (@ostrolucky) - feature #51004 [HttpKernel] Support backed enums in
#[MapQueryParameter]
(@andersmateusz) - feature #51230 [Scheduler] add
ScheduledStamp
toRedispatchMessage
(@kbond) - feature #51218 [Workflow] Support multiline descriptions in PlantUML (@valtzu)
- feature #51073 [Intl] Add support for ISO 3166-1 numeric codes (@benr77)
- feature #51191 [Mime] Update mimetypes (@fabpot)
- feature #47422 [Process] Support using
Process::findExecutable()
independently ofopen_basedir
(@BlackbitDevs) - feature #48907 [Validator] Validate time without seconds (@xepozz)
- feature #51204 [Workflow] Add a profiler (@lyrixx)
- feature #47715 [Form] Removing self-closing slash from
<input>
(@ThomasLandauer) - feature #50212 [FrameworkBundle][Serializer] Add TranslatableNormalizer (@Jean-Beru)
- feature #50767 [HttpKernel] RequestPayloadValueResolver Add support for custom http status code (@zim32)
- feature #51172 [Serializer] Add support for seld/jsonlint (@ostrolucky)
- feature #49231 [Translation] Phrase translation provider (@wickedOne)
- feature #50974 [Workflow] Add support for storing the marking in a property (@lyrixx)
- feature #51092 [Scheduler] make
ScheduledStamp
"send-able" (@kbond) - feature #51197 [PsrHttpMessageBridge] Support
php-http/discovery
for auto-detecting PSR-17 factories (@derrabus) - feature #48841 [BrowserKit] Add argument $serverParameters to click() and clickLink() (@syl20b)
- feature #49594 [Serializer] Groups annotation/attribute on class (@Brajk19)
- feature #50879 [Notifier] support local development for sns by adding sslmode option (@Ferror)
- feature #51152 [Scheduler] Add
AbstractTriggerDecorator
(@kbond) - feature #51170 [Templating] Remove the component (@fabpot)
- feature #49814 [Console][Messenger] add
RunCommandMessage
andRunCommandMessageHandler
(@kbond) - feature #50978 [Messenger] Allow accessing all options on a handler descriptor (@ruudk)
- feature #50911 [HttpKernel] Enhance exception if possible (@lyrixx)
- feature #50136 [Notifier] [SpotHit] Support
smslong
andsmslongnbr
API parameters (@camillebaronnet) - feature #50907 [Validator] Update
Type
constraint, addnumber
,finite-float
andfinite-number
validations (@guillaume-a) - feature #51130 [VarDumper] Dump uninitialized properties (@nicolas-grekas)
- feature #51144 [Templating] deprecate the component (@kbond)
- feature #51014 [Mailer] Add Scaleway bridge (@MrMicky-FR)
- feature #51167 [PsrHttpMessageBridge] Remove ArgumentValueResolverInterface from PsrServerRequestResolver (@derrabus)
- feature #51100 [PsrHttpMessageBridge] Import the bridge into the monorepo (@fabpot, @dunglas, @KorvinSzanto, @xabbuh, @aimeos, @ahundiak, @Danielss89, @rougin, @csunolgomez, Jérôme Parmentier, @mtibben, @Nyholm, @ajgarlag, @uphlewis, @samnela, @grachevko, @nicolas-grekas, @tinyroy, @danizord, Daniel Degasperi, @rbaarsma, @Ekman, @4rthem, @derrabus, @mleczakm, @iluuu1994, @Tobion, @chalasr, @lemon-juice, @franmomu, @cidosx, @erikn69, @AurelienPillevesse)
- feature #49815 [HttpClient][Messenger] add
PingWebhookMessage
andPingWebhookMessageHandler
(@kbond) - feature #49813 [Messenger][Process] add
RunProcessMessage
andRunProcessMessageHandler
(@kbond) - feature #51148 [FrameworkBundle] Simplify marking store configuration (@nicolas-grekas)
- feature #51128 [SecurityBundle] Allow an array of
pattern
in firewall configuration (@lyrixx, @chalasr) - feature #51091 [MonologBridge] Remove support for monolog < 3.0 (@lyrixx)
- feature #51069 Add types to public and protected properties (@nicolas-grekas)
- feature #51076 [Form] Remove deprecations in form events (@HeahDude)
- feature #51082 [Routing] Remove Doctrine annotations support (@derrabus)
- feature #119 Implement ValueResolverInterface (@derrabus)
- feature #117 Leverage
Request::getPayload()
to populate the parsed body of PSR-7 requests (@AurelienPillevesse) - feature #50931 [Form] Support Translatable Enum (@Seb33300)
- feature #51085 [Validator] Remove Doctrine annotations support (@derrabus)
- feature #51080 [Serializer] Remove Doctrine annotations support (@derrabus)
- feature #49358 [Routing] Deprecate annotations in favor of attributes (@derrabus)
- feature #50982 [Validator] Deprecate annotations in favor of attributes (@derrabus)
- feature #50983 [Serializer] Deprecate annotations in favor of attributes (@derrabus)
- feature #51050 [FrameworkBundle] Remove doctrine/annotations integration (@derrabus)
- feature #51043 [Form] Deprecate
FormEvent::setData()
for events that do not allow it (@HeahDude) - feature #50888 [FrameworkBundle] Deprecate doctrine/annotations integration (@derrabus)
- feature #50997 [Messenger] Deprecate
StopWorkerOnSignalsListener
(@HypeMC) - feature #50290 [Security] Make
PersistentToken
immutable and tellTokenProviderInterface::updateToken()
implementations should acceptDateTimeInterface
(@nicolas-grekas) - feature #50883 [TwigBundle] Allow omitting the
autoescape_service_method
option whenautoescape_service
is set to an invokable service id (@nicolas-grekas) - feature #50718 [DependencyInjection] Improve reporting named autowiring aliases (@nicolas-grekas)
- feature #50295 [PropertyAccess] Auto-cast from/to DateTime/Immutable when appropriate (@nicolas-grekas)
- feature #50420 [Console] add support for catching
\Throwable
errors (@lyrixx) - feature #50807 [HttpClient] Add an HAR response factory for testing (@GaryPEGEOT)
- feature #50917 [Notifier] Remove the Sendinblue bridge (@fabpot)
- feature #50916 [Mailer] Remove the Sendinblue bridge (@fabpot)
- feature #50148 [Mailer] Add X-Infobip-Track header to be able to disable tracking (@ndousson)
- feature #50200 [Mailer] Adds
assertEmailSubjectContains
andassertEmailSubjectNotContains
methods (@johanadivare) - feature #50302 [Mailer] New Brevo mailer bridge (formerly Sendinblue) (@PEtanguy)
- feature #50296 [Notifier] Add Brevo bridge (formerly Sendinblue) (@PEtanguy)
- feature #50852 [Components] Convert to native return types (@wouterj)
- feature #50842 Add missing return types to magic methods (@wouterj)
- feature #50873 Remove remaining deprecated code paths (@nicolas-grekas)
- feature #50880 [Lock] 7.0 remove deprecations in Lock Component (@fafiebig)
- feature #50869 [Mime] remove deprecated methods in Mime Component (@fafiebig)
- feature #50858 [HttpKernel] Remove deprecated code paths (@nicolas-grekas)
- feature #50867 [ExpressionLanguage] Remove deprecated code paths (@alexandre-daubois)
- feature #50866 [Security] Remove deprecated code paths (@nicolas-grekas)
- feature #50857 [Validator] Remove deprecated code paths (@nicolas-grekas)
- feature #50862 [HttpClient] Remove implementing
Http\Message\RequestFactory
fromHttplugClient
(@nicolas-grekas) - feature #50868 [SecurityBundle] Deprecate
Security::*
consts and other cleanups (@nicolas-grekas) - feature #50839 Remove BC layers related to new methods and new parameters (@nicolas-grekas)
- feature #50846 [Bridges][Bundles] Convert to native return types (@wouterj)
- feature #50770 [TwigBridge] Allow to change element for
form_help
block (@seb-jean) - feature #50826 [HttpFoundation] Remove deprecated classes, method and behaviors (@GromNaN)
- feature #50578 [DependencyInjection] Remove deprecations across the component (@alexandre-daubois)
- feature #50613 [Console] Remove deprecations across the component (@alexandre-daubois)
- feature #50736 [Serializer] Remove BC layer (@lyrixx)
- feature #50814 [HttpClient] Allow custom working directory in TestHttpServer (@ro0NL)
- feature #46426 [Form] deprecate using the date and time types with date objects with not-matching timezones (@xabbuh)
- feature #50689 [Cache][DoctrineBridge][Lock][Messenger] Add parameter $isSameDatabase to configureSchema() methods (@alli83)
- feature #50791 [DependencyInjection] Add
defined
prefix for env var processor (@GaryPEGEOT) - feature #50754 [HttpKernel] when configuring the container add services_{env} with php extension (@helyakin)
- feature #50425 [Validator] Allow single constraint to be passed to the
constraints
option of theWhen
constraint (@alexandre-daubois) - feature #50396 [Validator] Allow single integer for the
versions
option of theUuid
constraint (@alexandre-daubois) - feature #50621 [FrameworkBundle][Workflow] Add metadata dumping support for
GraphvizDumper
(@Louis-Proffit) - feature #50170 [Notifier] Added redlink notifier (@plotkabytes)
- feature #50615 [DependencyInjection] Deprecate
ContainerAwareInterface
,ContainerAwareTrait
andContainerAwareLoader
(@alexandre-daubois) - feature #50084 [Routing] Add FQCN and FQCN::method aliases when applicable (@fancyweb)
- feature #50691 [Console] Aligned multiline text in vertical table (@jaytaph)
- feature #50131 [Notifier] add Ntfy bridge (@mikaelkael)
- feature #50663 [Console] Add
SignalMap
to map signal value to its name (@lyrixx) - feature #50414 [Notifier] Add Novu bridge (@wouter-toppy)
- feature #50571 [DoctrineBridge] Kill DBAL 2 support (@derrabus)
- feature #50240 [HttpClient] Add
max_retries
option toRetryableHttpClient
(@danielburger1337) - feature #50575 [DoctrineBridge] Remove deprecated classes and
ContainerAwareEventManager::getListeners()
deprecation (@alexandre-daubois) - feature #50600 [ProxyManagerBridge] Drop the bridge (@nicolas-grekas)
- feature #50572 [Scheduler] Allow setting cron expression next run date timezone (@danielburger1337)
- feature #50573 [SecurityBundle] Enabling
SecurityBundle
and not configuring it is not allowed (@alexandre-daubois) - feature #50579 [DoctrineBridge] Deprecate using the old DBAL logger system (@derrabus)
- feature #50558 [Serializer] Remove abstract uid denormalization code (@fancyweb)
- feature #50335 [HttpKernel] Add optional
$className
param toControllerEvent::getAttributes()
(@HypeMC) - feature #50404 Bump to PHP 8.2 minimum (@nicolas-grekas)
- feature #113 Bump psr/http-message version (@erikn69)
- feature #114 Drop support for Symfony 4 (@derrabus)
- feature #100 Allow Symfony 6 (@chalasr)
- feature #89 PSR HTTP message converters for controllers (@derrabus)
- feature #75 Remove deprecated code (@fabpot)
- feature #66 Add support for streamed Symfony request (@Ekman)
- feature #50 Add support for streamed response (@danizord)
- feature #62 bump to PHP 7.1 (@nicolas-grekas)
- feature #43 Create PSR-7 messages using PSR-17 factories (@ajgarlag)
- feature #45 Fixed broken build (@Nyholm)
- feature #1 Initial support (@dunglas)