Symfony 5.2.0-BETA3 has just been released. Here is a list of the most important changes:
- bug #38845 [Console] Register signal handling only for commands implemeting SignalableCommandInterface (@lyrixx)
- bug #38751 [Security] Move AbstractListener abstract methods to the new FirewallListenerInterface (@chalasr)
- bug #38713 [DI] Fix Preloader exception when preloading a class with an unknown parent/interface (@rgeraads)
- feature #38664 [RateLimiter] Moved classes implementing LimiterInterface to a new namespace (@Nyholm)
- bug #38647 [HttpClient] relax auth bearer format requirements (@xabbuh)
- bug #38675 [RateLimiter] Rename RateLimiter to RateLimiterFactory (@Nyholm)
- bug #38699 [DependencyInjection] Preload classes with union types correctly (@derrabus)
- feature #38688 [HttpClient] Add a Stopwatch on TraceableHttpClient (@jderusse)
- bug #38669 [Serializer] fix decoding float XML attributes starting with 0 (@Marcin Kruk)
- bug #38680 [PhpUnitBridge] Support new expect methods in test case polyfill (@alcaeus)
- bug #38681 [PHPUnitBridge] Support PHPUnit 8 and PHPUnit 9 in constraint compatibility trait (@alcaeus)
- bug #38686 [TwigBridge] Remove “transchoice” from the code base (@nicolas-grekas)
- bug #38661 [RateLimiter] Fix delete method of the cache storage (@GregOriol, @Nyholm)
- bug #38678 [String] fix before/after[Last]() returning the empty string instead of the original one on non-match (@nicolas-grekas)
- bug #38682 [HttpClient] never trace content of event-stream responses (@nicolas-grekas)
- bug #38679 [PhpUnitBridge] Add missing exporter function for PHPUnit 7 (@alcaeus)
- bug #38674 [RateLimiter] Make sure we actually can use slidin _window and n _limit (@Nyholm)
- bug #38670 [RateLimiter] Be more type safe when fetching from cache (@Nyholm)
- bug #38665 [RateLimiter] Allow configuration value “n _limit” (@Nyholm)
- bug #38659 [String] fix slicing in UnicodeString (@nicolas-grekas)
- bug #38633 [HttpClient] Fix decorating progress info in AsyncResponse (@jderusse)
- feature #38543 [HttpKernel] add kernel.runtim _environment = env(default:kernel.environment:AP _RUNTIM _ENV) parameter (@nicolas-grekas)
- bug #38595 [TwigBridge] do not translate null placeholders or titles (@xabbuh)
- feature #38653 [DoctrineBridge] Enabled to use the UniqueEntity constraint as an attribute (@derrabus)
- bug #38635 [Cache] Use correct expiry in ChainAdapter (@Nyholm)
- bug #38652 [Filesystem] Check if failed unlink was caused by permission denied (@Nyholm)
- bug #38645 [PropertyAccess] forward the caught exception (@xabbuh)
- bug #38644 [FrameworkBundle] remove transport factory service when class does not exist (@xabbuh)
- feature #38426 [HttpClient] Parameterize list of retryable methods (@jderusse)
- feature #38608 [RateLimiter] rename Limit to RateLimit and add RateLimit::getLimit() (@kbond)
- bug #38617 [Form] Add missing invali _message translations (@wouterj)
- bug #38612 [Messenger/Amqp] Allow setting option “login” in DSN (@W0rma)
- bug #38618 [Messenger][Doctrine] Avoid early db access for pgsql detection (@chalasr)
- bug #38623 [HttpFoundation][RateLimiter] fix RequestRateLimiterInterface::reset() (@kbond)
- bug #38604 [DoctrineBridge] indexBy does not refer to attributes, but to column names (@xabbuh)
- bug #38605 [DoctrinBridge] make Uid types stricter (@nicolas-grekas)
- bug #38606 [WebProfilerBundle] Hide debug toolbar in print view (@jt2k)
- bug #38602 [Console] Fix signal management (@chalasr)
- bug #38600 [DoctrineBridge] Convert values to Rfc4122 before inserting them into the database (@Kai)
- feature #38562 [RateLimiter] Added reserve() to LimiterInterface and rename Limiter to RateLimiter (@wouterj)
- feature #38593 [Lock][Semaphore] Add Factory::createFromKey and deprecate lock.store services (@jderusse)
- feature #38587 [HttpClient] added extra.trac _content option to TraceableHttpClient to prevent it from keeping the content in memory (@nicolas-grekas)
- bug #38580 [FrameworkBundle] fix config declaration of htt _cache option (@nicolas-grekas)
- bug #38589 [Console] Don’t register signal handlers if pcntl is disabled (@chalasr)
- bug #38581 [Semaphore] Reset Key lifetime time before we acquire it (@jderusse)
- bug #38582 [DI] Fix Reflection file name with eval()’d code (@maxime-aknin)
- feature #38565 [RateLimiter] Adding SlidingWindow algorithm (@Nyholm)
- feature #38576 Deeprecate lock service (@jderusse)
- bug #38578 Add missing use statement (@jderusse)
- bug #38516 [HttpFoundation] Fix Range Requests (@BattleRattle)
Want to upgrade to this new release? Because Symfony protects backwards-compatibility very closely, this should be quite easy. Use SymfonyInsight upgrade reports to detect the code you will need to change in your project and read our upgrade documentation to learn more.
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
Login to add comment
Other posts in this group

This week, development activity mostly focused on dealing with the deprecation of sleep/wakeup methods in PHP 8.5 and their replacement by serialize/unserialize methods. In addition, we published more

It’s been only in July that we published symfony/ai and kicked off our AI initiative, but the repository has been busy since day one. Over 500 stars, more than 200 pull requests & issues, trending

🎤 Take the stage at SymfonyCon Amsterdam 2025, on your own terms!
The Unconference track is back and more dynamic than ever!
This unique, participant-driven format invites attendees to shape

This week, Symfony completed the migration to PHPUnit 12 in the 7.4 branch, which required many changes during the past weeks, such as replacing annotations with attributes. In addition, we updated th

🧑💻HACKDAY IS COMING!
Get ready to code, collaborate, and contribute, Symfony Hackday is back!
Join us in Amsterdam on Saturday, November 29th, for a hands-on hackathon designed to bring the

This week, Symfony released the maintenance versions 6.4.24, 7.2.9, and 7.3.2. Meanwhile, we began deprecating the XML configuration format in some components, enhanced the YAML configuration format t

Symfony 6.4.24 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 you