November 30, 2015 Fabien Potencier

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

bug #16758 Fix BC for the default root form name (stof)

bug #16753 [Process] Fix signaling/stopping logic on Windows (nicolas-grekas)

feature #16755 [Security] add subject variable to expression context (xabbuh)

bug #16642 [DI][autowiring] throw exception when many services use the same class. (aitboudad)

bug #16745 [Yaml] look for colon in parsed inline string (xabbuh)

bug #16733 [Console] do not encode backslashes in console default description (Tobion)

feature #16735 [WIP] [Ldap] Marked the Ldap component as internal (csarrazi)

bug #16734 Make sure security.role_hierarchy.roles always exists (WouterJ)

feature #16722 [Security][SecurityBundle] Use csrf_token_id instead of deprecated intention (jakzal)

bug #16312 [HttpKernel] clearstatcache() so the Cache sees when a .lck file has been released (mpdude)

bug #16351 [WIP] [Form] [TwigBridge] Bootstrap horizontal theme missing tests (pieter2627)

bug #16685 [Form] Fixed: Duplicate choice labels are remembered when using "choices_as_values" = false (webmozart)

feature #16709 [BridgePhpUnit] Display the stack trace of a deprecation on-demand (nicolas-grekas)

bug #16704 [Form+SecurityBundle] Trigger deprecation for csrf_provider+intention options (nicolas-grekas)

feature #16706 [HttpFoundation] Deprecate $deep parameter on ParameterBag (nicolas-grekas)

bug #16705 [Form] Deprecated setting "choices_as_values" to "false" (webmozart)

feature #16690 [Form] Deprecated ArrayKeyChoiceList (webmozart)

feature #16687 [Form] Deprecated TimezoneType::getTimezones() (webmozart)

bug #16681 [Form] Deprecated setting "choices_as_values" to "false" (webmozart)

bug #16695 [SecurityBundle] disable the init:acl command if ACL is not used (Tobion)

bug #16677 [Form] Fixed wrong usages of the "text" type (webmozart)

bug #16679 [Form] Disabled view data validation if "data_class" is set to null (webmozart)

bug #16621 [Console] Fix bug with $output overloading (WouterJ)

feature #16601 [Security] Deprecate "AbstractVoter" in favor of "Voter" (nicolas-grekas, lyrixx)

bug #16676 [HttpFoundation] Workaround HHVM rewriting HTTP response line (nicolas-grekas)

bug #16668 [ClassLoader] Fix parsing namespace when token_get_all() is missing (nicolas-grekas)

bug #16386 Bug #16343 [Router] Too many Routes ? (jelte)

bug #16498 fix unused variable warning (eventhorizonpl)

feature #16031 [Translation][Form] Do not translate form labels and placeholders when 'translation_domain' is false (Restless-ET)

bug #16651 [Debug] Ensure class declarations are loaded only once (nicolas-grekas)

security #16631 CVE-2015-8124: Session Fixation in the "Remember Me" Login Feature (xabbuh)

security #16630 CVE-2015-8125: Potential Remote Timing Attack Vulnerability in Security Remember-Me Service (xabbuh)

bug #16633 [Filesystem] Fixed failing test due to tempdir symlink (toretto460)

bug #16609 [HttpKernel] Don't reset on shutdown but in FrameworkBundle/Test/KernelTestCase (nicolas-grekas)

bug #16477 [Routing] Changing RouteCollectionBuilder::import() behavior to add to the builder (weaverryan)

bug #16588 Sent out a status text for unknown HTTP headers. (dawehner)

bug #16295 [DependencyInjection] Unescape parameters for all types of injection (Nicofuma)

bug #16377 [WebProfilerBundle] Fix minitoolbar height (rvanlaak)

bug #16585 Add support for HTTP status code 418 back (dawehner)

bug #16574 [Process] Fix PhpProcess with phpdbg runtime (nicolas-grekas)

bug #16581 Fix call to undefined function json_last_error_message (dawehner)

bug #16573 [FrameworkBundle] Fix PropertyInfo extractor namespace in framework bundle (jvasseur)

bug #16578 [Console] Fix bug in windows detection (kbond)

bug #16546 [Serializer] ObjectNormalizer: don't serialize static methods and props (dunglas)

bug #16352 Fix the server variables in the router_*.php files (leofeyer)

bug #16537 [Validator] Allow an empty path with a non empty fragment or a query (jakzal)

bug #16528 [Translation] Add support for Armenian pluralization. (marcosdsanchez)

bug #16510 [Process] fix Proccess run with pts enabled (ewgRa)

You can read more about this new on the BETA1 announcement and by reading the Living on the Edge articles on this blog. Also read the UPGRADE guide for Symfony 2.8 and for the Symfony Standard Edition

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 check the integrity of this new version? Read my blog post about signing releases .

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.