Symfony 2.8.0 released

Warning: Symfony 2.8 is no longer supported. Consider upgrading your applications to the most recent Symfony version.

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.

Help the Symfony project!

As with any Open-Source project, contributing code or documentation is the most common way to help, but we also have a wide range of sponsoring opportunities.


Good news !
Great news :-)
This is great news. Now it's 3.0's turn :) .
Great news, Thanks for the hard work !
Woohoo :)
That's great news!

For each new release article like this one, that would be great to add links to all articles "New in Symfony x.y" and also notes from the Beta release, so that people who have not followed the news or new comers see how Symfony evolves in each new version.
Is anyone else seeing that the ScriptHandler:cacheClear task is saying it's running with --no-warmup, but the command fails.

Running the app/console cache:clear --no-warmup command directly though works and doesn't try to warm (the warmer is a valid reason to fail in this case hence not wanting to run it)
cache:clear won't run up correctly anymore. It can't delete dev_old/annotations/(some_folder). I think it's because the filename length in the directory is too long now compared to the 2.7 Symfony version. I'm running on Windows 7.
@MisterGrouik it should remove but Windows can't move it to the trash folder.
Else try Shift + Del on the directory to remove permanently.
@sstok I encountered the same issue. It's not an issue with the explorer or trash bin. The error occurs running cache:clear in Git Bash, too. Even an "rm -rf dev_old/annotations/xx/somereallylongfile.doctrine.cache" denies to work. There's no issue just removing the file/folder in the explorer.
Where can I read about the reasons for changing the form field type from
$form->add('weight', 'hidden', ['data' => $weight]);
$form->add('weight', HiddenType::class, ['data' => $weight]);

As far as I can see it just adds a lot more code to the project?
Can somebody enlighten me?
Did I miss something? I thought LTS was every 2 years. Why are both 2.7 and 2.8 LTS when they are only 6 months apart?
A so great news!
@Dave Spiegel: "Symfony 2.8 is going to be a LTS release as well to allow people to still have a year to upgrade from 2.8 to 3.2 when it comes out", see
The offline documentation hasn't been published yet?
apparently Assetic is no longer included?
so much for the BC promise...
@Craig Heydenburg, Assetic was only removed from the standard distribution, not from symfony/symfony. So there's nothing keeping you from using it if you add the bundle yourself in a new project, or if you already use it in an existing project.
I'm about to start a brand new project. Should I use Symfony 2.8 or Symfony 3 in your opinions? Whare are the pros and cons?
@Mauro Trentini not all SF bundles are ready for 3.0 yet at the moment.

Comments are closed.

To ensure that comments stay relevant, they are closed for old posts.