Symfony 8.1.8 has just been released.

Read the Symfony upgrade guide to learn more about upgrading Symfony and use the SymfonyInsight upgrade reports to detect the code you will need to change in your project.

Tip

Want to be notified whenever a new Symfony release is published? Or when a version is not maintained anymore? Or only when a security issue is fixed? Consider subscribing to the Symfony Roadmap Notifications.

Changelog Since Symfony 8.1.7

  • minor #66443 Release v8.1.8
  • bug #66436 [Mailer][Sweego] Send the Reply-To address through the dedicated API field (@damient)
  • minor #66438 [Form][Validator] Review Dutch (nl) translations (@michelvelswijk)
  • bug #66434 [DependencyInjection] Track env placeholders reused after a previous extension dropped them (@TamasSzigeti)
  • bug #66433 [Messenger] Prevent PhpSerializer::getMessageType() from autoloading classes (@nicolas-grekas)
  • bug #66417 [JsonStreamer] Escape types in generated PHP comments (@thomas-chauchefoin-tob)
  • bug #66416 [DependencyInjection][Routing] Escape identifiers in generated PHP (@thomas-chauchefoin-tob)
  • bug #66421 [Security] Bind discovered OIDC keys to issuers (@thomas-chauchefoin-tob)
  • bug #66415 [Cache] Bind namespaces in PDO-based cache invalidation (@thomas-chauchefoin-tob)
  • bug #66428 [JsonStreamer] Export the type as a literal in the generated encoding error message (@nicolas-grekas)
  • minor #66429 [JsonStreamer] Fix generated readers and writers for names holding quotes (@nicolas-grekas)
  • minor #66430 [FrameworkBundle] Fix the description of an empty webhook routing secret (@nicolas-grekas)
  • bug #66431 [Tui] Paint lines already in the scrollback in place when overflowing content grows back (@nicolas-grekas)
  • bug #66427 [DependencyInjection] Export the service id when sharing a circular wither service (@nicolas-grekas)
  • bug #66426 [Cache] Escape glob characters when clearing Redis namespaces (@nicolas-grekas)
  • bug #66425 [DoctrineBridge] Don't map the uuid and ulid type names to uid classes in DoctrineExtractor (@lazerg)
  • bug #66422 [Security] Give each role its own node in the Mermaid dump (@nicolas-grekas)
  • bug #66423 [Tui] Repaint the viewport without clearing the screen when overflowing content shrinks (@nicolas-grekas)
  • bug #66424 [WebProfilerBundle] Escape the workflow diagram source and listener map in the profiler (@nicolas-grekas)
  • bug #66414 [TypeInfo] Fix infinite recursion on recursive type aliases (@mtarld)
  • bug #66413 [PropertyInfo] Fix quoted strings resolution in PhpStanExtractor with phpstan/phpdoc-parser 1.x (@mtarld)
  • bug #66412 [TypeInfo] Fix Type::union() with mixed as the only non-null type (@nicolas-grekas)
  • bug #66409 [DoctrineBridge] Never claim an object as a collection key type (@MlleDelphine)
  • bug #66410 [ObjectMapper] Construct nested lazy-ghost targets when the mapper is decorated (@dylan-rumble)
  • bug #66411 [JsonStreamer] Fix replacing templates by mixed in union types (@nicolas-grekas)
  • bug #66408 [Serializer] Don't include the debug trace id in the attributes cache key (@javiereguiluz)
  • minor #66407 [FrameworkBundle] Require symfony/dependency-injection ^8.1.8 (@nicolas-grekas)
  • bug #66358 [JsonStreamer] Fix generic types replacement in object shapes (@mtarld)
  • bug #66405 [TypeInfo] Fix printing object shape keys that contain quotes or backslashes (@nicolas-grekas)
  • bug #66404 [TypeInfo] Fix printing array shape keys that contain quotes or backslashes (@nicolas-grekas)
  • bug #66356 [TypeInfo] Fix object shape keys resolution in StringTypeResolver (@mtarld)
  • bug #66366 [DependencyInjection][FrameworkBundle] Fix describing services that have env closure arguments (@nicolas-grekas)
  • bug #66394 [HtmlSanitizer] Don't render comments as elements when the default action is Allow (@nicolas-grekas)
  • bug #66393 [HtmlSanitizer] Fix sanitizeFor() with table-related, image and plaintext contexts (@nicolas-grekas)
  • bug #66385 [Serializer][Validator] Fix compile-time discovery of attributes on non-public members (@nicolas-grekas)
  • bug #66380 [TypeInfo] Fix quoted strings resolution with phpstan/phpdoc-parser 1.x (@mtarld)
  • bug #66377 [TypeInfo] Fix accepts() of union and intersection types (@mtarld)
  • bug #66357 [JsonStreamer] Fix generic types replacement in array shapes (@mtarld)
  • minor #66363 [Translation] Updating and improving Albanian translations (@gazi04)
  • minor #66225 [Validator] Review Albanian translations (@gazi04)
  • bug #66395 [HttpKernel] Fix the log level of exceptions mapped to an HTTP status code (@nicolas-grekas)
  • minor #66362 [Validator] Review Arabic translations (@fadyehabamer)
  • bug #66359 [FrameworkBundle] Disable HTTP/2 push on the default HTTP client (@Amoifr)
  • bug #66387 [Serializer] Fix the cache key of MetadataAwareNameConverter when the context can't be serialized (@nicolas-grekas)
  • bug #66345 [Scheduler] Fix stateful schedules skipping every run when the checkpoint cannot be saved (@srebb)
  • bug #66344 [Yaml] Fix tabs in block scalars and comments after empty ones (@X-Coder264)
  • bug #66340 [Yaml] Fix !!str and !!float tags on block scalars (@nicolas-grekas)
  • bug #66342 [Yaml] Fix several parsing edge cases (@nicolas-grekas)
  • bug #66315 [Serializer] Fix quadratic time when collecting denormalization errors (@thomas-chauchefoin-tob)
  • bug #66338 [DoctrineBridge] Fix DoctrineExtractor for uid types and collections indexed by custom types (@MlleDelphine)
  • bug #66316 [TypeInfo] Fix array shape keys resolution in StringTypeResolver (@mtarld)
  • bug #66319 [TypeInfo] Fix resolving unknown class constants (@mtarld)
  • bug #66318 [TypeInfo] Fix resolving class keyword constants without type context (@mtarld)
  • bug #66323 [Finder] Treat a .git file as the repository root in ignoreVCSIgnored() (@rubas)
  • bug #66331 [HttpKernel] Don't send headers again in HttpKernel::terminateWithException() (@nicolas-grekas)
  • bug #66317 [TypeInfo] Fix class names resolution in the global namespace (@mtarld)
  • bug #66322 [HttpKernel] Fix reading the listeners of the default dispatcher from an unserialized EventDataCollector (@nicolas-grekas)
  • minor #66287 [Validator] reviewed Polish translation units 149-165 (@thunderer)
  • minor #66312 [Form][Validator] Remove needs-review-translation state from Spanish translations (@abp002)
  • minor #66286 [Form] reviewed Polish translation unit 130 (@thunderer)
  • bug #66309 [Validator] Prevent ffprobe option injection from video filenames (@thomas-chauchefoin-tob)
  • bug #66289 [Finder] Avoid quadratic backtracking when globs contain consecutive stars (@nicolas-grekas)
  • bug #66283 [Form] Stop using the deprecated any() matcher in ValidatorExtensionTrait (@mbabker)
  • bug #66282 [AssetMapper] Fix CSS and JSON loaders breaking under es-module-shims (@nicolas-grekas)
  • minor #66281 [WebProfilerBundle] Fix EventSource::close() on requests already finished or cleared (@nicolas-grekas)
  • minor #66280 [WebProfilerBundle] Truncate long non-GET URLs in the AJAX requests table (@nicolas-grekas)
  • bug #66275 [WebProfilerBundle] Mark EventSource requests as finished when closed (@jmsche)
  • bug #66276 [WebProfilerBundle] Fix long URLs overflowing the AJAX requests table in the toolbar (@jmsche)
  • bug #66274 [Doctrine] Resolve DBAL types through the connection instead of the static registry (@GromNaN)
  • bug #66268 [SecurityBundle] Dispatch the events of firewalls sharing a context on their own dispatcher (@nicolas-grekas)
  • bug #66267 [HttpClient] Align GuzzleHttpHandler with Guzzle when on_headers throws (@nicolas-grekas)
  • bug #66266 [HttpClient] Fix NativeHttpClient::stream() skipping responses not opened yet (@nicolas-grekas)
  • bug #66270 [HttpClient] Don't reject highly compressed responses (@nicolas-grekas)
  • bug #66264 [Messenger] Fix a doctrine/dbal 4.5 deprecation in DoctrinePostgreSqlFilterIntegrationTest (@nicolas-grekas)
  • bug #66251 [HttpFoundation] Make session handlers non-serializable (@mcdruid)
  • bug #66262 [Serializer] Fix denormalizing the discriminator type property when a name converter renames it (@nicolas-grekas)
  • minor #66259 [Validator] Update Swedish translation #64518 (@H4wKs)
  • bug #66253 [Uid] Fix Ulid::isValid() accepting base-58 strings above 2^128 (@nicolas-grekas)
  • bug #66247 [Uid] Fix comparing a Uuid with a Ulid (@nicolas-grekas)
  • bug #66246 [Uid] Fix UuidV7 ordering when the clock goes backwards (@nicolas-grekas)
  • bug #66228 [Messenger] Avoid priority 0 when retrying AMQP messages (@X-Coder264)
  • minor #66230 [Validator] Review Indonesian audio translations (@Yoruxyv)
  • bug #66241 [DependencyInjection] Fix moving tags to the outermost decorator when a decorator is decorated (@nicolas-grekas)
  • minor #66232 [Validator] Fix Range PHPDoc to accept \DateTimeInterface min/max (@paulferrett)
  • bug #66233 [HttpClient] Don't set CURLOPT_WRITEFUNCTION from within the write callback (@nicolas-grekas)
  • bug #66222 [ErrorHandler] Remove the backtrace from the array kept by FatalError (@janedbal)
  • bug #66223 [Messenger] Fix sub-second delays being lost by the Doctrine transport (@wimwinterberg)
  • minor #66224 [Validator] Review Croatian translations (@HypeMC)
  • minor #66221 [Translation] Reviewing french validator translations (@Kevin-HESSE)
  • bug #66220 [FrameworkBundle] Fix DotenvVault corrupting a value that contains a back-reference (@lazerg)
  • minor #66186 [Translation] Review Brazilian Portuguese validator messages (@Kaemiemi)
  • minor #66205 [Form][Security][Validator] Review Macedonian (mk) translations (@KalimeroMK)
  • bug #66208 [SecurityBundle] Make the remember-me config tree independent from the session config (@nicolas-grekas)
  • bug #66202 [Workflow] Escape the hash in Mermaid labels (@nicolas-grekas)
  • bug #66198 [Messenger] Fix InMemoryTransport delay when it spans a DST transition (@SystematicCZ)
  • bug #66199 [Security] Keep the real role names in the labels of the Mermaid dump (@javiereguiluz)
  • minor #66183 [HttpClient] Document that withOptions() rejects an unsupported option (@nicolas-grekas)
  • bug #66164 [Form] Fix FormFlow creation, step fallback, backward navigation and reset (@yceruto)
  • minor #66163 Remove needs-review-translation flag for Russian validators (@theprogrammist)
  • minor #66156 [Validator] Add translations for the Audio constraint (@nicolas-grekas)
  • bug #66145 [ErrorHandler] Use the fatal error backtrace provided by PHP 8.5 (@janedbal)
  • bug #66159 [ErrorHandler] Stop recursing when the logger keeps throwing (@nicolas-grekas)
  • bug #66157 [Validator] Fix the Video constraint ignoring its codec and container options (@nicolas-grekas)
  • minor #66150 [Lock] Document that only the owning key can release a lock (@nicolas-grekas)
  • bug #66141 [Console] Fix quadratic formatting of non-ASCII content (@a-muzyka)
  • minor #66147 translation: Serbian Translation of issues 66107,66108 (@Trysha-rbrn)
  • minor #66148 [Form] Review Indonesian translation for validators (@Yoruxyv)
  • minor #66139 [Validator] Add missing Arabic translation for validation units (@EmanFateen)
  • bug #66137 [FrameworkBundle] Cache the serializer metadata in debug mode when it comes from mapping files (@nicolas-grekas)
  • minor #66128 Missing translations for Croatian (hr) (@gjuric)
  • minor #66132 [Notifier] Fix the event dispatcher type of the FakeChat transports (@nicolas-grekas)
  • bug #66123 [Yaml] Fix the line offset handed to nested block parsers (@lazerg)
  • minor #66120 [Security] Document that user checkers run on every authentication (@nicolas-grekas)
  • minor #66118 [Security] Fix the type declared for the event dispatcher (@nicolas-grekas)
  • minor #66115 [Form] Review Italian translation for validators (@GiuseppePuleri)
  • minor #66113 [Form] Review French translation for range bound validator (@rooneyi)
  • bug #66085 [Messenger] Hold the signals until the SQS request is actually sent (@nicolas-grekas)
  • bug #66080 [HttpClient] Add missing non-routable ranges to NoPrivateNetworkHttpClient (@nicolas-grekas)
  • bug #66079 [Serializer] Make MetadataAwareNameConverter caches per instance (@nicolas-grekas)
  • bug #66078 [HttpFoundation] Fix port stripping on IPv4-mapped IPv6 forwarded addresses (@nicolas-grekas)
  • data #66074 Release v7.4.19
  • data #66073 Release v6.4.46
Published in #Releases