June 25, 2018 Fabien Potencier

Symfony 4.1.1 has just been released. Here is a list of the most important changes:

bug #27626 [TwigBundle][DX] Only add the Twig WebLinkExtension if the WebLink component is enabled (@thewilkybarkid)

bug #27702 [TwigBundle] bump lowest deps to fix issue with "double-colon" controller service refs (@nicolas-grekas)

bug #27701 [SecurityBundle] Dont throw if "security.htt _utils" is not found (@nicolas-grekas)

bug #27690 [DI] Resolve env placeholder in logs (@ro0NL)

bug #27687 [HttpKernel] fix argument's error messages in ServiceValueResolver (@nicolas-grekas)

bug #27614 [VarDumper] Fix dumping by splitting Server/Connection out of Dumper/ServerDumper (@nicolas-grekas)

bug #27681 [DI] Avoid leaking unused env placeholders (@ro0NL)

bug #26534 allow_extra_attributes does not throw an exception as documented (@deviantintegral)

bug #27664 [FrameworkBundle] Ignore keepQueryParams attribute when generating route redirect (@vudaltsov)

bug #27668 [Lock] use 'r+' for fopen (fixes issue on Solaris) (@fritzmg)

bug #27669 [Filesystem] fix file lock on SunOS (@fritzmg)

bug #27662 [HttpKernel] fix handling of nested Error instances (@xabbuh)

bug #27651 [Messenger] Fixed MessengerPass::guessHandledClasses return type (@massimilianobraglia)

bug #26845 [Config] Fixing GlobResource when inside phar archive (@vworldat)

bug #27382 [Form] Fix error when rendering a DateIntervalType form with exactly 0 weeks (@krixon)

bug #27309 Fix surrogate not using original request (@Toflar)

bug #27467 [HttpKernel] fix session tracking in surrogate master requests (@nicolas-grekas)

bug #27632 [HttpFoundation] Ensure RedisSessionHandler::updateTimestamp returns a boolean (@MatTheCat)

bug #27630 [Validator][Form] Remove BOM in some xlf files (@gautierderuette)

bug #27596 [Framework][Workflow] Added support for interfaces (@vudaltsov)

bug #27593 [ProxyManagerBridge] Fixed support of private services (@nicolas-grekas)

bug #27591 [VarDumper] Fix dumping ArrayObject and ArrayIterator instances (@nicolas-grekas)

bug #27528 [FrameworkBundle] give access to non-shared services when using test.servic _container (@nicolas-grekas)

bug #27584 Avoid calling eval when there is no script embedded in the toolbar (@stof)

bug #27581 Fix bad method call with guard authentication + session migration (@weaverryan)

bug #27576 [Cache] Fix expiry comparisons in array-based pools (@nicolas-grekas)

bug #27566 [FrameworkBundle] fix for allowing single colon controller notation (@dmaicher)

bug #27556 Avoiding session migration for stateless firewall UsernamePasswordJsonAuthenticationListener (@weaverryan)

bug #27452 Avoid migration on stateless firewalls (@weaverryan)

bug #27568 [DI] Deduplicate generated proxy classes (@nicolas-grekas)

bug #27511 [Routing] fix matching host patterns, utf8 prefixes and non-capturing groups (@nicolas-grekas)

bug #27326 [Serializer] deserialize from xml: Fix a collection that contains the only one element (@webnet-fr)

bug #27562 [HttpKernel] Log/Collect exceptions at prio 0 (@ro0NL)

bug #27567 [PhpUnitBridge] Fix error on some Windows OS (@Nsbx)

bug #27357 [Lock] Remove released semaphore (@jderusse)

bug #27416 TagAwareAdapter over non-binary memcached connections corrupts memcache (@Aleksey Prilipko)

bug #27514 [Debug] Pass previous exception to FatalErrorException (@pmontoya)

bug #27516 Revert "bug #26138 [HttpKernel] Catch HttpExceptions when templating is not installed (cilefen)" (@nicolas-grekas)

bug #27501 [FrameworkBundle] Fix test-container on kernel reboot, revert to returning the real container from Client::getContainer() (@nicolas-grekas)

bug #27472 [DI] Ignore missing tree root nodes on validate (@ro0NL)

bug #27458 [WebProfilerBundle] fixed getSession when no session has been set deprecation warnings (@GregOriol)

bug #27318 [Cache] memcache connect should not add duplicate entries on sequential calls (@Aleksey Prilipko)

bug #27498 [Routing] Don't reorder past variable-length placeholders (@nanocom, @nicolas-grekas)

bug #27496 [DebugBundle] DebugBundle::registerCommands should be noop (@ogizanagi)

bug #27485 [BrowserKit] Fix a BC break in Client affecting Panthère (@dunglas)

bug #27470 [DI] Remove default env type check on validate (@ro0NL)

bug #27454 [FrameworkBundle][TwigBridge] Fix BC break from strong dependency on CSRF token storage (@tgalopin)

bug #27389 [Serializer] Fix serializer tries to denormalize null values on nullable properties (@ogizanagi)

bug #27272 [FrameworkBundle] Change priority of AddConsoleCommandPass to TYP _BEFOR _REMOVING (@upyx)

bug #27396 [HttpKernel] fix registering IDE links (@nicolas-grekas)

bug #26973 [HttpKernel] Set first trusted proxy as REMOT _ADDR in InlineFragmentRenderer. (@kmadejski)

bug #27303 [Process] Consider "executable" suffixes first on Windows (@sanmai)

bug #27297 Triggering RememberMe's loginFail() when token cannot be created (@weaverryan)

Want to upgrade to this new release? Fortunately, because Symfony protects backwards-compatibility very closely, this should be quite easy. 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 subscribing to the Symfony Roadmap Notifications.