Symfony 8.1.4 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.3

  • bug #65193 [RateLimiter] Cap the burst size and the duration computed from it (@cs278)
  • bug #65183 [Intl] Honor the expiry date of currencies that have no start date (@sadiqk2)
  • bug #65184 [Form] Distinguish active_at from not_active_at in the CurrencyType choice list cache (@sadiqk2)
  • bug #65191 [PhpUnitBridge] Don't return a non-callable from getPhpUnitErrorHandler() (@sadiqk2)
  • bug #65187 [HttpFoundation] Treat a UriSigner expiration of 0 as a date, not as no expiry (@sadiqk2)
  • bug #65180 [HttpKernel] Fix failing reset methods preventing later services from resetting (@javiereguiluz)
  • bug #64982 [PropertyInfo] Do not report a non-public mutator as writable (@nicolas-grekas)
  • bug #65174 [Tui] Keep ANSI codes ordered when slicing across a color change (@smnandre)
  • bug #65177 [HttpClient] Fix GuzzleHttpHandler crashing with guzzlehttp/guzzle ^8.0 (@peter17)
  • bug #65128 [Mime] Escape backslashes in Address::getEncodedName() (@munzzyy)
  • bug #65154 [ObjectMapper] Fix target property mappings dropped when the source carries metadata (@ousamabenyounes)
  • bug #65167 [Serializer] Align union member order between the legacy and TypeInfo paths (@ousamabenyounes)
  • bug #65172 [DependencyInjection] Don't keep partially-configured shared services when their setup fails (@javiereguiluz)
  • bug #65169 [DoctrineBridge] fix compatibility with DBAL < 4.5 (@xabbuh)
  • minor #65165 [Form][Validator] Added missing Slovak translations (@dtokos)
  • bug #65150 [Tui] Render raw HTML in MarkdownWidget instead of dropping it (@lazerg)
  • bug #65141 [ObjectMapper] Skip nested mapping when no target fits the destination property type (@lazerg)
  • bug #65131 [FrameworkBundle] Fix "cache:clear" failing when the cache dir is rebuilt concurrently (@ousamabenyounes)
  • bug #65142 [ObjectMapper] Fix the class-level mapping of another target being applied (@lazerg)
  • bug #65149 [DependencyInjection] Resolve factories on "service_container" against the concrete container class (@lazerg)
  • bug #65116 [Lock] Fix a released read lock letting a new read lock through while a write lock is held (@Zombaya)
  • bug #65133 [DependencyInjection] Fix ParameterBag::clear() leaving stale deprecations and resolution state (@javiereguiluz)
  • bug #65122 [Messenger] Re-send original payload when retrying undecodable messages (@SystematicCZ)
  • bug #65125 [Serializer] Fix FILTER_BOOL breaking union type denormalization (@eliot488995568)
  • bug #65120 [DependencyInjection] Fix #[Autoconfigure] being processed twice for PSR-4-discovered abstract types (@javiereguiluz)
  • bug #65113 [DependencyInjection] Fix instantiating a lazy proxy for an inline definition (@nicolas-grekas)
  • bug #65112 [DependencyInjection] Fix misleading error messages for invalid "proxy" tags (@nicolas-grekas)
  • bug #65111 [DependencyInjection] Fix generating one proxy class per set of "proxy" tags (@nicolas-grekas)
  • bug #65109 [DependencyInjection] Honor the interface passed to #[Lazy] (@nicolas-grekas)
  • bug #65105 [Uid] Fix the weak-secret guard in Uuid47Transformer for secrets longer than 16 bytes (@semx)
  • bug #65091 [DoctrineBridge] Close all expired connections in the idle listener (@RobLogtenberg-Pay)
  • bug #65085 [Messenger] Stop the PostgreSQL transport from blocking the worker loop (@bzajacc)
  • bug #65095 [WebProfilerBundle] Avoid a flash of unstyled content in the debug toolbar (@wayne530)
  • bug #65100 [Translation][Lokalise] Send filter_filenames as a JSON array (@nicolas-grekas)
  • bug #65099 [Mailer][Sendgrid] Map the processed event to RECEIVED (@nicolas-grekas)
  • bug #65032 [JsonStreamer] Fix escaping, float precision and error reporting when writing JSON (@ousamabenyounes)
  • minor #65097 [Form][Validator] Review Lithuanian (lt) translations (@MariusVarna)
  • bug #65093 [Cache][Messenger] Restore compatibility with ext-redis 5 (@nicolas-grekas)
  • minor #65070 [Notifier][Telegram] Document how to build a multi-row inline keyboard (@nicolas-grekas)
  • bug #65034 [Mailer][Resend] Handle the email.failed and email.suppressed webhook events (@alexisLefebvre)
  • bug #65065 [Console] Fix column widths when a row spans columns (@wazum)
  • bug #65062 [Mime] Fix corrupted CID references when one is a prefix of another (@MarcinOrlowski)
  • bug #65066 [Mailer] Fix rewriting cid references of inline parts for Mailgun (@nicolas-grekas)
  • bug #64696 [Config] Generate unsealed array shapes for any normalizers (@ousamabenyounes)
  • bug #65060 [TwigBridge][WebProfilerBundle] Fix compatibility with Twig 4 (@nicolas-grekas)
  • bug #65058 [PropertyAccess] Fix caching of null read info (@javiereguiluz)
  • bug #65059 [Translation] Fix fuzzy translations and multi-line msgctxt in PO files (@javiereguiluz)
  • minor #65055 [Validator] Review Serbian (sr_Latn) translations (@milanqtx)
  • minor #65054 [Validator] Review Serbian (sr_Cyrl) translations (@milanqtx)
  • bug #65041 [Validator] Fix File constraint skipping the mime type check when extensions and mimeTypes have no common value (@nicolas-grekas)
  • minor #65048 [VarExporter] cache result of hasOctalControlChars (@alexisLefebvre)
  • bug #65049 [Translation] Do not split ICU messages on pipes in PoFileDumper (@nicolas-grekas)
  • bug #65052 [PropertyInfo] Revert "bug #64990 Do not trigger legacy Type deprecat… (@nicolas-grekas)
Published in #Releases