Symfony 3.0.0 released
November 30, 2015 • Published by Fabien Potencier
Warning: Symfony 3.0 is no longer supported. Consider upgrading your applications to the most recent Symfony version.
Symfony 3.0.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)
- feature #16754 [Security] allow arbitrary types in VoterInterface::vote() (xabbuh)
- 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 #16723 [Form] remove deprecated CSRF options (xabbuh)
- feature #16725 [Form] Removed useless code (webmozart)
- feature #16724 Added getBlockPrefix to FormTypeInterface (WouterJ)
- feature #16722 [Security][SecurityBundle] Use csrf_token_id instead of deprecated intention (jakzal)
- feature #16727 [Form] remove deprecated getTimezones() method (xabbuh)
- 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)
- feature #16715 [Form] Remove choices_as_values option on ChoiceType (nicolas-grekas)
- feature #16692 [Form] Drop remaing CsrfProviderAdapter/Interface mentions (nicolas-grekas)
- feature #16719 [Security] remove deprecated HTTP digest auth key (xabbuh)
- 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 #16629 [HttpFoundation] Remove deprecated class method parameter (belka-ew)
- 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)
- feature #16694 [SecurityBundle] make ACL an optional dependency (Tobion)
- 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 #16615 fix type assignement (rande)
- 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)
- feature #16637 Removed unneeded polyfill (GrahamCampbell)
- security #16631 n/a (xabbuh)
- security #16630 n/a (xabbuh)
- bug #16633 [Filesystem] Fixed failing test due to tempdir symlink (toretto460)
- bug #16607 [HttpFoundation] Delete not existing session handler proxy member (belka-ew)
- 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 3.0.
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.
Comments are closed.
To ensure that comments stay relevant, they are closed for old posts.
Thanks! Time to upgrade..
Thanks!
@Laurynas Mališauskas You need to check if all bundles that you use have support for 3.0 https://docs.google.com/spreadsheets/d/1GOxJ2lNpLxN12YyZ87Bhsxb0iLAQ7e4UDZbJSly8Sy8/edit#gid=0
"Also read the UPGRADE guide for Symfony 3.0." -> the link https://github.com/symfony/symfony/blob/3.0/CHANGELOG-3.0.md returns a 404, should go instead to https://github.com/symfony/symfony/blob/v3.0.0/UPGRADE-3.0.md.
I've been waiting for you, Symfony 3.0 (since London Symfony Live 2015). I'm so excited, and I want to update to this new version ASAP one of my personal projects.
Thanks for the hard work !
Thanks for your work, I hope Symfony will never die :-)
Thank you for tons of hard work!! Downloading it right now, very excited! Party time! :-D
<3 <3 <3
Awesome New!!! :) :) :) Kudos to everyone involved and the community for support. Waiting (and helping where I can), for 3rd party bundles to be compatible as well. Cheers.
Awesome, thanks for all the hard work!
That's cool!
Awesome! Can't wait to give it a whirl.
Bravo! Thanks for all the effort you put into this!
Wow awesome! I'll try to upgrade, lets see if Symfony will break my current application haha. Thanks for your great work!
awesome!
Wow, awesome. Thank you :D
The last day of november, but in november, like you said! :D
Thanks ! I'll try it very soon :)
Great!
Lots of information in the CHANGELOG documents, but is there a broad overview somewhere of the fundamental changes between 2.x and 3.x?
Well done !
Awesome! Let the deprecation fixing begin :-)
@Bart Symfony 3.0 is the same as 2.8, the big difference is that the deprecated interfaces / code has been removed. New features can be found in 2.8, and from now on will be merged in 3.1
Well done ! Continue in the same spirit
Nice !
Well done guys!!!
Are you guys sure you want the documentation to default to 3.0? That is going to cause a great deal of confusion since all the current book links that have posted for 2.x related issues are no going to point to incorrect information. Just think that a transition might be in order.
That's great!
Thank you very much! Great work!
Great news! Thank you very much! :)
This is great! Thanks for all the effort put in by everyone! And thanks for correcting the bug in the installer as well!
Hi, when i try to install Symfony 3 whith this command: symfony new Symfony i got this:
PHP Warning: require(/home/eric/Documents/Web/Symfony/app/SymfonyRequirements.php): failed to open stream: No such file or directory in phar:///usr/local/bin/symfony/src/Symfony/Installer/DownloadCommand.php on line 265 PHP Stack trace: PHP 1. {main}() /usr/local/bin/symfony:0 PHP 2. require() /usr/local/bin/symfony:10 PHP 3. Symfony\Component\Console\Application->run() phar:///usr/local/bin/symfony/symfony:35 PHP 4. Symfony\Component\Console\Application->doRun() phar:///usr/local/bin/symfony/vendor/symfony/console/Application.php:126 PHP 5. Symfony\Component\Console\Application->doRunCommand() phar:///usr/local/bin/symfony/vendor/symfony/console/Application.php:195 PHP 6. Symfony\Component\Console\Command\Command->run() phar:///usr/local/bin/symfony/vendor/symfony/console/Application.php:878 PHP 7. Symfony\Installer\NewCommand->execute() phar:///usr/local/bin/symfony/vendor/symfony/console/Command/Command.php:259 PHP 8. Symfony\Installer\DownloadCommand->checkSymfonyRequirements() phar:///usr/local/bin/symfony/src/Symfony/Installer/NewCommand.php:65 PHP Fatal error: require(): Failed opening required '/home/eric/Documents/Web/Symfony/app/SymfonyRequirements.php' (include_path='.:/usr/share/php:/usr/share/pear') in phar:///usr/local/bin/symfony/src/Symfony/Installer/DownloadCommand.php on line 265 PHP Stack trace: PHP 1. {main}() /usr/local/bin/symfony:0 PHP 2. require() /usr/local/bin/symfony:10 PHP 3. Symfony\Component\Console\Application->run() phar:///usr/local/bin/symfony/symfony:35 PHP 4. Symfony\Component\Console\Application->doRun() phar:///usr/local/bin/symfony/vendor/symfony/console/Application.php:126 PHP 5. Symfony\Component\Console\Application->doRunCommand() phar:///usr/local/bin/symfony/vendor/symfony/console/Application.php:195 PHP 6. Symfony\Component\Console\Command\Command->run() phar:///usr/local/bin/symfony/vendor/symfony/console/Application.php:878 PHP 7. Symfony\Installer\NewCommand->execute() phar:///usr/local/bin/symfony/vendor/symfony/console/Command/Command.php:259 PHP 8. Symfony\Installer\DownloadCommand->checkSymfonyRequirements() phar:///usr/local/bin/symfony/src/Symfony/Installer/NewCommand.php:65
Shouldn't "Also read the UPGRADE guide for Symfony 3.0." link to https://github.com/symfony/symfony/blob/3.0/UPGRADE-3.0.md ?
Hi, downloadable documentations (pdf books) does not work (This document does not exist for the 3.0 Symfony version. Try another version.)
Is it possible de correct this please ?
Wake me up when there's good bundle support. Otherwise you can't expect anyone to use this (upgrading to 2.8 for now...)
Awesome! great job :-)
Thanks for the great framework :-)
... still not possible to download PDF documentation for offline usage ?
"Document not found This document does not exist for the 3.0 Symfony version"
... pleaaaaaaaaase... thanks.
Semantic question: "symfony2" was the commonly used hashtag/keyword (ie on StackOverflow). Should we write now Symfony3, or still use Symfony2? (as Symfony alone we would end up on SF1 topics)
@Romaric Drigon: see this meta post "Invert tag synonym [symfony] -> [symfony2]" http://meta.stackoverflow.com/questions/297725/invert-tag-synonym-symfony-symfony2
Thank you Alexis, it seems Symfony is now the officiel syntax - https://github.com/symfony/symfony-docs/issues/4203
With most Sf1 ressources getting really old and eventually online, that may just work!
When will you add the offline documentation for the Symfony 3?