This changelog references the relevant changes (bug and security fixes) done in 7.0 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/v7.0.0...v7.0.1
-
7.0.3 (2024-01-31)
-
bug #52913 [Routing] Fixed priority getting lost when setting localized prefix (pritasil)
-
bug #53681 [DoctrineBridge] Fix detection of Xml/Yaml driver in DoctrineExtension (GromNaN)
-
bug #53183 [Messenger] PhpSerializer: TypeError should throw
MessageDecodingFailedException
(B-Galati) -
bug #52131 [HttpKernel] Fix
RequestPayloadValueResolver
handling error with no ExpectedTypes (Jeroeny) -
bug #51559 [DependencyInjection]
#[Autowire]
attribute should have precedence over bindings (HypeMC) -
bug #53678 [Mime] Fix serializing uninitialized
RawMessage::$message
to null (nicolas-grekas) -
bug #53634 [Notifer][Smsapi] Set messageId of SentMessage (tomasz-kusy)
-
bug #53501 [DependencyInjection] support lazy evaluated exception messages with Xdebug 3 (xabbuh)
-
bug #53672 [FrameworkBundle]
ConfigBuilderCacheWarmer
should be non-optional (nicolas-grekas) -
bug #52994 [MonologBridge] Fix context data and display extra data (louismariegaborit)
-
bug #53671 [HttpClient] Fix pausing responses before they start when using curl (nicolas-grekas)
-
bug #53594 [Notifier] Updated the NTFY notifier to run without a user parameter (lostfocus)
-
bug #53620 [Validator] Fix option filenameMaxLength to the File constraint (Image) (mindaugasvcs)
-
bug #53624 [Translation] Fix constant domain resolution in PhpAstExtractor (VincentLanglet)
-
bug #53663 [TwigBridge] separate child and parent context in NotificationEmail on writes (xabbuh)
-
bug #53667 [Mailer] [Mailgun] Fix sender header encoding (spajxo)
-
bug #53631 [DependencyInjection] Fix loading all env vars from secrets when only a subset is needed (nicolas-grekas)
-
bug #53656 [Form] Use self-closing
<input />
syntax again, reverting #47715 (mpdude) -
bug #53653 [Mailer] [Scaleway] Fix attachment handling (madbob)
-
bug #53157 [Mailer] Throw
TransportException
when unable to read from socket (xdanik) -
bug #53361 [Serializer] Take unnamed variadic parameters into account when denormalizing (thijsBreker)
-
bug #53530 [Serializer] Rewrite
AbstractObjectNormalizer::createChildContext()
to use the providedcache_key
from original context when creating child contexts (amne) -
bug #53506 [HttpClient] Fix error chunk creation in passthru (rmikalkenas)
-
bug #53260 [AssetMapper] Handle assets with non-ascii characters in dev server (fbourigault)
-
bug #53357 [Translation] Fix
TranslationNodeVisitor
with constant domain (VincentLanglet) -
bug #53525 [Messenger] [AMQP] Throw exception on
nack
callback (kvrushifa) -
bug #53432 [HttpFoundation] Request without content-type or content-length header should result in null values, not empty strings (priyadi)
-
bug #53593 [Cache] Fix possible infinite loop in
CachePoolPass
(HypeMC) -
bug #53588 [Translation] fix multi-byte code area to convert (xabbuh)
-
bug #53572 [FrameworkBundle] grab a service from the container only if it exists (xabbuh)
-
bug #53565 [Mime] Fix undefined array key 0 when empty sender (0x346e3730)
-
bug #53516 [Console] Allow '0' as a $shortcut in InputOption.php (lawsonjl-ornl)
-
bug #53576 [Console] Only execute additional checks for color support if the output (theofidry)
-
bug #53582 [TwigBundle] Fix configuration when "paths" is null (smnandre)
-
bug #53575 [Mailer] register the MailPaceTransportFactory (xabbuh)
-
bug #53581 [String] fix aircraft inflection (renanbr)
-
bug #53509 [Security] Fix
AuthenticationUtils::getLastUsername()
returning null (alexandre-daubois) -
bug #53529 [Ldap] Use
{user_identifier}
over deprecated{username}
in factories (tcitworld) -
bug #53567 [String] Correct inflection of axis (Vladislav Iurciuc)
-
bug #53537 [VarDumper] Fix missing colors initialization in
CliDumper
(nicolas-grekas) -
bug #53521 [VarDumper] Fixes
Typed property Symfony\Component\VarDumper\Dumper\CliDumper::$colors must not be accessed before initialization
(crynobone) -
bug #53481 [Process] Fix executable finder when the command starts with a dash (kayw-geek)
-
bug #53006 [ErrorHandler] Don't format binary strings (aleho)
-
bug #53453 [Translation] add support for nikic/php-parser 5.0 (xabbuh)
-
bug #53434 [ErrorHandler] fix rendering exception pages without the HttpKernel component (xabbuh)
-
bug #53441 [Messenger] Amazon SQS Delay has a max of 15 minutes (alamirault)
-
bug #53414 [Serializer]
GetSetMethodNormalizer
: fix BC break with#[Ignore]
attribute (nikophil) -
bug #53383 [Validator] re-allow an empty list of fields (xabbuh)
-
bug #53418 [FrameworkBundle][Notifier] Fix service registration (MessageBird + TurboSms) (smnandre)
-
bug #53381 [Form] Fix assigning data in
PostSetDataEvent
andPostSubmitEvent
(fancyweb) -
bug #53350 [Validator] fix the exception being thrown (xabbuh)
-
bug #52930 [Messenger] Fix Redis messenger scheme comparison (freswa)
-
bug #52874 [Scheduler] Separate id and description in message providers (valtzu)
-
bug #53341 [FrameworkBundle] append instead of replacing potentially non-existent named-arguments (xabbuh)
-
bug #53320 [Cache][DependencyInjection][Lock][Mailer][Messenger][Notifier][Translation] Url decode username and passwords from
parse_url()
results (alexandre-daubois) -
bug #53108 [Serializer] Fix using deserialization path 5.4 (HypeMC)
-
7.0.2 (2023-12-30)
-
bug #53282 [RateLimiter] Fix RateLimit->getRetryAfter() return value when consuming 0 or last tokens (wouterj, ERuban)
-
bug #53054 [Cache] Fix expiration time for CouchbaseCollection (alexandre-daubois)
-
bug #53259 [RateLimit] Test and fix peeking behavior on rate limit policies (wouterj)
-
bug #52406 [Validator] Fix
Constraints\Email::ERROR_NAMES
(mathroc) -
bug #53140 [Serializer] Skip uninitialized properties with deep_object_to_populate (mtarld)
-
bug #53195 [HttpKernel] Fix default locale is ignored when
set_locale_from_accept_language
is used (jkobus) -
bug #52928 [Dotenv] Allow environment variables starting with an underscore (xabbuh)
-
bug #53243 [Mailer][Postmark] Add missing changelog for webhook support (OskarStark)
-
bug #53239 [HttpKernel] fix "Cannot redeclare renderSymfonyLogoSvg()" inside phpunit tests (davidesigner)
-
bug #53232 [Notifier] [Smsc] Require login and password (OskarStark)
-
bug #53225 [WebProfilerBundle] Fix the design of the compact toolbar button (javiereguiluz)
-
bug #52869 [AssetMapper] Improve link generation script (smnandre)
-
bug #53203 [Intl] [Emoji] Fix emoji files (remove wrong characters / add missing data) (smnandre)
-
bug #53178 [Translation][Crowdin] Use project language mapping (andrii-bodnar)
-
bug #53187 [Messenger] Fix using negative delay (J-roen)
-
bug #53133 [Validator] Fix using known option names as field names (HypeMC)
-
bug #53172 [SecurityBundle] Prevent to login/logout without a request context (symfonyaml)
-
bug #52881 [DoctrineBridge] Global query time always at 0.00 ms on profiler (Maxime THIRY)
-
bug #53173 [FrameworkBundle] add missing webhook services for Brevo and Mailjet (xabbuh)
-
bug #53153 [WebProfilerBundle] Fix JS error when evaluating scripts (jderusse)
-
feature #53150 [Contracts] Allow psr/container 1.1 again (derrabus)
-
bug #52998 [Notifier] [Bridges] Provide EventDispatcher and HttpClient to the transport (rdavaillaud)
-
bug #52817 [Serializer] Do not instantiate object if it is not instantiable (maxbaldanza)
-
bug #53003 [AssetMapper] Fix URL pattern when importing es-module-shims (hashbanged)
-
bug #53079 [DoctrineBridge] Add check for lazy object interface (maxbaldanza)
-
bug #53061 [Mailer] [Mailjet] Disable tls for mailjet as it should use STARTTLS (RFreij)
-
bug #53115 [Serializer] Fix partial denormalization with missing constructor arguments (HypeMC)
-
bug #53128 Change ProxyCacheWarmer::warmUp signature (llupa)
-
bug #53120 [Translation] add the Phrase translation provider to the UnsupportedSchemeException (xabbuh)
-
bug #53125 [Mailer] add the MailPace transport to the UnsupportedSchemeException (xabbuh)
-
bug #53081 [Serializer] Keep stack trace for enum value denormalizer error (kylekatarnls)
-
bug #53107 [HttpKernel] Don't validate partially denormalized object (HypeMC)
-
bug #52891 [HttpKernel] Fix request attribute value ignored with pinned resolvers (HypeMC)
-
bug #53057 [HttpKernel] Move
@internal
fromAbstractSessionListener
class to its methods and properties (Florian-Merle) -
bug #52990 [TwigBridge] don't use deprecated and internal Twig functions (xabbuh)
-
bug #53004 [FrameworkBundle] Add missing webhook parsers (alexandre-daubois)
-
bug #53007 [FrameworkBundle] Fix webhook parser service removal and add notifier parser service removal (alexandre-daubois)
-
bug #52996 [Validator] add missing translation (xabbuh)
-
bug #52979 [WebProfilerBundle] Fix "Copy as cURL" dark style (HypeMC)
-
bug #52978 [Webhook] [Framework] Added missing XML attribute in config XSD (TimoBakx)
-
bug #52584 [WebProfilerBundle] Fix intercept external redirects (HeahDude)
-
bug #52964 [ExpressionLanguage] Fix null coalescing propagation (fancyweb)
-
bug #52963 [FrameworkBundle] Fix profiling commands without router (HeahDude)
-
bug #52966 [FrameworkBundle] Fix profiling command in web context (HeahDude)
-
bug #52937 [WebProfilerBundle] Fix "Copy as cURL" (HypeMC)
-
bug #52940 [Console] Fix color support check on non-Windows platforms (theofidry)
-
bug #52896 [Messenger] Avoid reconnecting active Redis connections. (BusterNeece)
-
bug #52923 Avoid incompatibility with symfony/console 7 (jdecool)
-
bug #52927 [Dotenv] Properly handle
SYMFONY_DOTENV_VARS
being the empty string (xabbuh) -
bug #52935 [Validator] Missing translations for Slovak (sk) #51954 (Jan Vernarsky)
-
bug #52941 [Console] Fix xterm detection (theofidry)
-
bug #52795 [FrameworkBundle] do not overwrite an application's default serialization context (xabbuh)
-
bug #52870 [SecurityBundle] Fix redeclaration of
InternalSecurity
class when opcache preload is active (kaznovac) -
bug #52885 [Serializer] fix nullable int cannot be serialized (nikophil)
-
bug #52886 [HttpKernel] Catch
TypeError
if the wrong type is used inBackedEnumValueResolver
(alexandre-daubois) -
bug #52878 [WebProfiler] Fix unclosed JS script cannot be parsed (smnandre)
-
bug #52867 [Validator] Only trigger deprecation when Validator annotations are used (HypeMC)
-
bug #52864 [HttpClient][Mailer][Process] always pass microseconds to usleep as integers (xabbuh)
-
7.0.1 (2023-12-01)
-
bug #52814 [Workflow] Add
getEnabledTransition()
to TraceableWorkflow (alexandre-daubois) -
bug #52852 [Serializer] Fix TranslatableNormalizer when the Translator is disabled (Jean-Beru)
-
bug #52836 [DependencyInjection] Fix parsing named autowiring aliases that contain underscores (nicolas-grekas)
-
bug #52804 [Serializer] Fix support of plain object types denormalization (andersonamuller)
-
bug #52845 [Routing] Restore aliases removal in RouteCollection::remove() (fancyweb)
-
bug #52846 [PhpUnitBridge] run composer update for compatibility with PHPUnit versions shipping composer.lock (xabbuh)
-
bug #52823 add parameter types in query builder (javiercno)
-
bug #52825 [AssetMapper] Upgrade asset mapper to 6.4 fails due to invalid entries "downloaded_to" and "preload" (redflo)
-
bug #52808 [DependencyInjection] Fix dumping containers with null-referenced services (nicolas-grekas)
-
bug #52797 [VarExporter] Fix lazy ghost trait when using nullsafe operator (nicolas-grekas)
-
bug #52806 [Routing] Fix removing aliases pointing to removed route in
RouteCollection::remove()
(fancyweb) -
bug #52805 [Routing] Fix conflicting FQCN aliases with route name (fancyweb)
-
7.0.0 (2023-11-29)
-
bug #52786 [Serializer] Revert allowed attributes fix (mtarld)
-
bug #52765 [Translation] Remove
@internal
from abstract testcases (OskarStark) -
bug #52780 [DependencyInjection] don't check parameter values if they are not set (xabbuh)
-
bug #52762 [VarExporter] Work around php/php-src#12695 for lazy objects, fixing nullsafe-related behavior (nicolas-grekas)
-
bug #52759 [VarExporter] Fix serializing objects that implement __sleep() and that are made lazy (nicolas-grekas)
-
bug #52767 [Serializer] Fix normalization relying on allowed attributes only (mtarld)
-
bug #52727 [String] Fix Inflector for 'icon' (podhy)
-
7.0.0-RC2 (2023-11-26)
-
bug #52724 [Security] make secret required for DefaultLoginRateLimiter (RobertMe)
-
feature #52720 [Cache] Remove database server version detection (derrabus)
-
bug #52617 [AssetMapper] Fix resolving jsdeliver default + other exports from modules (ogizanagi)
-
feature #52712 [AssetMapper] Exclude dot files (weaverryan)
-
bug #52725 [AssetMapper] Fix: also download files referenced by url() in CSS (weaverryan)
-
bug #52702 [AssetMapper] Fix eager imports are not deduplicated (smnandre)
-
bug #52719 [Mime] Add
TemplatedEmail::$locale
to the serialized props (mkrauser) -
bug #52677 [Translation] [Lokalise] Fix language format on Lokalise Provider (welcoMattic)
-
bug #52715 [Cache] fix detecting the database server version (xabbuh)
-
bug #52688 [Cache] Add url decoding of password in
RedisTrait
DSN (alexandre-daubois) -
bug #52172 [Serializer] Fix denormalizing empty string into
object|null
parameter (Jeroeny) -
bug #52693 [Messenger] Fix message handlers with multiple
from_transports
(valtzu) -
bug #52684 [PropertyInfo] Fixed promoted property type detection for
PhpStanExtractor
(LastDragon-ru) -
bug #52681 [Serializer] Fix support for DiscriminatorMap in PropertyNormalizer (mtarld)
-
bug #52680 [Serializer] Fix access to private properties/getters when using the
@Ignore
annotation (mtarld) -
bug #52713 [Serializer] Fix deserialization_path missing using contructor (mtarld)
-
bug #52683 [Serializer] Fix constructor deserialization path (mtarld)
-
bug #52707 [HttpKernel] Fix logging deprecations to the "php" channel when channel "deprecation" is not defined (nicolas-grekas)
-
bug #52589 [Serializer] Fix XML attributes not added on empty node (mtarld)
-
bug #52686 [Cache] fix detecting the server version with Doctrine DBAL 4 (xabbuh)
-
bug #51797 [MonologBridge] Fix error cannot use object of type as array (vtsykun)
-
bug #52629 [Messenger] Fix support for Redis Sentinel using php-redis 6.0.0 (pepeh)
-
bug #52656 [FrameworkBundle] Add TemplateController to the list of allowed controllers for fragments (nicolas-grekas)
-
bug #52459 [Cache][HttpFoundation][Lock] Fix PDO store not creating table + add tests (HypeMC)
-
bug #52626 [Serializer] Fix denormalizing date intervals having both weeks and days (oneNevan)
-
bug #52578 [Serializer] Fix denormalize constructor arguments (mtarld)
-
bug #52526 Add some more non-countable English nouns (paullallier)
-
bug #52604 [FrameworkBundle] register the virtual request stack together with common profiling services (xabbuh)
-
bug #52039 [Scheduler] Continue with stored
Checkpoint::$time
on lock (Jeroeny) -
bug #52631 [DomCrawler] Revert "bug #52579 UriResolver support path with colons" (lyrixx)
-
bug #52606 [DoctrineBridge] Fix use "attribute" driver by default (vtsykun)
-
bug #52618 [VarExporter] Fix handling mangled property names returned by __sleep() (nicolas-grekas)
-
7.0.0-RC1 (2023-11-15)
-
bug #52597 [DependencyInjection] Fix dumping containers with null-referenced services (nicolas-grekas)
-
bug #52588 [Messenger] Use extension_loaded call to check if pcntl extension is loaded, as SIGTERM might be set be swoole (Sergii Dolgushev)
-
feature #52569 [VarExporter] Drop support for partially initialized lazy object (nicolas-grekas)
-
bug #52567 [AssetMapper] Fixing js sourceMappingURL extraction when sourceMappingURL used in code (weaverryan)
-
bug #52579 [DomCrawler] UriResolver support path with colons (vdauchy)
-
bug #52581 [Messenger] attach all required parameters to query (xabbuh)
-
feature #52568 [VarExporter] Deprecate per-property lazy-initializers (nicolas-grekas)
-
feature #52560 [Mailer] Update default Mailjet port (Katario)
-
7.0.0-BETA3 (2023-11-10)
-
bug #51666 [RateLimiter] CompoundLimiter was accepting requests even when some limiters already consumed all tokens (10n)
-
bug #52524 [AssetMapper] Only download a CSS file if it is explicitly advertised (weaverryan)
-
bug #52523 [AssetMapper] avoid caching MappedAsset inside JavaScript Import (weaverryan)
-
bug #52519 [AssetMapper] If assets are served from a subdirectory or CDN, also adjust importmap keys (weaverryan)
-
bug #52508 [AssetMapper] Fix jsdelivr import parsing with no imported value (weaverryan)
-
security #cve-2023-46734 [TwigBridge] Ensure CodeExtension's filters properly escape their input (nicolas-grekas, GromNaN)
-
security #cve-2023-46735 [Webhook] Remove user-submitted type from HTTP response (nicolas-grekas)
-
security #cve-2023-46733 [Security] Fix possible session fixation when only the token changes (RobertMe)
-
bug #52514 [FrameworkBundle] Don't reference SYMFONY_IDE env var in non-debug mode (nicolas-grekas)
-
bug #52506 [SecurityBundle] wire the secret for Symfony 6.4 compatibility (xabbuh)
-
bug #52496 [VarDumper] Accept mixed key on
DsPairStub
(marc-mabe) -
bug #52502 [Config] Prefixing
FileExistenceResource::__toString()
to avoid conflict withFileResource
(weaverryan) -
bug #52491 [String] Method toByteString conversion using iconv is unreachable (Vincentv92)
-
bug #52488 [HttpKernel] Fix PHP deprecation (nicolas-grekas)
-
bug #52469 Check whether secrets are empty and mark them all as sensitive (nicolas-grekas)
-
feature #52471 [HttpKernel] Add
ControllerResolver::allowControllers()
to define which callables are legit controllers when the_check_controller_is_allowed
request attribute is set (nicolas-grekas) -
bug #52476 [Messenger] fix compatibility with Doctrine DBAL 4 (xabbuh)
-
bug #52434 [Console][FrameworkBundle] Fix missing
profile
option for console commands (keulinho) -
bug #52474 [HttpFoundation] ensure string type with mbstring func overloading enabled (xabbuh)
-
bug #52472 [HttpClient][WebProfilerBundle] Do not generate cURL command when files are uploaded (MatTheCat)
-
bug #52457 [Cache][HttpFoundation][Lock] Fix empty username/password for PDO PostgreSQL (HypeMC)
-
bug #52443 [Yaml] Fix uid binary parsing (mRoca)
-
feature #52449 [TwigBridge] Mark CodeExtension as
@internal
(fabpot) -
bug #52429 [HttpClient] Replace
escapeshellarg
to prevent overpassingARG_MAX
(alexandre-daubois) -
bug #52442 Disable the "Copy as cURL" button when the debug info are disabled (stof)
-
bug #52444 Remove full DSNs from exception messages (nicolas-grekas)
-
bug #52438 [HttpKernel] Fix uninitialized property in Bundle class (javiereguiluz)
-
feature #52336 [HttpFoundation][Lock] Makes MongoDB adapters usable with
ext-mongodb
only (GromNaN) -
bug #52428 [HttpKernel] Preventing error 500 when function putenv is disabled (ShaiMagal)
-
bug #52427 [Console][Process] do not let context classes extend the message classes (xabbuh)
-
bug #52408 [Yaml] Fix block scalar array parsing (NickSdot)
-
bug #52132 [Console] Fix horizontal table top border is incorrectly rendered (OskarStark)
-
bug #52368 [AssetMapper] Fixing bug where JSCompiler used non-absolute importmap entry path (weaverryan)
-
bug #52367 [Uid] Fix UuidV7 collisions within the same ms (nicolas-grekas)
-
bug #52287 [FrameworkBundle] Fix deprecation layer for "enable_annotations" in validation and serializer configuration (lyrixx)
-
bug #52222 [MonologBridge] Fix support for monolog 3.0 (louismariegaborit)
-
7.0.0-BETA2 (2023-10-29)
-
bug #52329 [HttpClient] Psr18Client: parse HTTP Reason Phrase for Response (Hanmac)
-
bug #52323 [AssetMapper] Allowing circular references in JavaScriptImportPathCompiler (weaverryan)
-
bug #52331 [AssetMapper] Fix file deleting errors & remove nullable MappedAsset on JS import (weaverryan)
-
bug #52332 [Yaml] Fix deprecated passing null to trim() (javaDeveloperKid)
-
bug #52349 [AssetMapper] Fix in-file imports to resolve via filesystem (weaverryan)
-
bug #52343 [Intl] Update the ICU data to 74.1 (jderusse)
-
bug #52347 [Form] Fix merging form data and files (ter) (Jan Pintr)
-
bug #52330 [AssetMapper] Fixing memory bug where we stored way more file content than needed (weaverryan)
-
bug #52325 [AssetMapper] jsdelivr "no version" import syntax (weaverryan)
-
bug #52307 [Scheduler] Save checkpoint in a finally block (FrancoisPog)
-
feature #52193 [PhpUnitBridge] Allow setting the locale using SYMFONY_PHPUNIT_LOCALE env var (VincentLanglet)
-
bug #52290 [DebugBundle] ignore a not-existing virtual request stack (xabbuh)
-
bug #52308 [SecurityBundle] Fix missing login-link element in xsd schema (fancyweb)
-
bug #51331 [Messenger] add handler description as array key to
HandlerFailedException::getWrappedExceptions()
(kbond) -
bug #52298 [HttpKernel] Update AbstractBundle.php, use !isset($this->path) (tacman)
-
bug #51992 [Serializer] Fix using
DateIntervalNormalizer
with union types (Jeroeny) -
bug #52276 DB table locks on messenger_messages with many failures (bn-jdcook)
-
bug #52232 [Messenger] declare constructor argument as optional for backwards compatibility (xabbuh)
-
bug #52254 [AssetMapper] Adding import-parsing case where import contains a path (weaverryan)
-
bug #52283 [Serializer] Handle default context when denormalizing timestamps in DateTimeNormalizer (mtarld)
-
bug #52272 [VarDump] Fix order of dumped properties - parent goes first (lyrixx)
-
bug #52274 [FrameworkBundle] re-introduce conflict rule with WebProfilerBundle < 6.4 (xabbuh)
-
bug #52268 [Mailer][Notifier] Update Sendinblue / Brevo API host (Stephanie)
-
bug #52255 [Form] Skip merging params & files if there are no files in the first place (dmaicher, priyadi)
-
bug #52234 add return type hints to EntityFactory (xabbuh)
-
bug #52229 [FrameworkBundle] Fix CommandDataCollector is always registered (smnandre)
-
bug #52218 [FrameworkBundle] Add conflict with
WebProfilerBundle
< 6.4 (HeahDude) -
7.0.0-BETA1 (2023-10-21)
-
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)