The first beta of Symfony 2.7 has just been released. As always, backward compatibility means that you should be able to upgrade easily without changing anything in your code. Anyway, read the UPGRADE from 2.6 to 2.7 guide to learn more about new ways of doing things and deprecated features that will be removed in 3.0.
What's new in Symfony 2.7
Symfony 2.7 comes with more than 100 new features and enhancements. The full changelog from 2.6 to 2.7 BETA 1 is available on the repository, but here is a curated list of the most relevant ones:
New Components and Bridges
- New Asset component (fabpot) (13398)
- New PhpUnit bridge (nicolas-grekas) (13398)
- Propel bridge removed from Symfony Core (fabpot) (13656)
Translation
- major performance improvements
- Enable translation debugging in directories (xelaris) (13443)
- added choice_translation_domain to avoid trans options. (aitboudad) (13651)
- generate translation cache at warmup (xavierleune) (13942)
- Added a Translation profiler. (aitboudad) (14003)
Serializer
- ObjectNormalizer (dunglas) (13257)
- Serialization groups support (dunglas) (12092)
- Normalizers can serialize collections and scalars (dunglas) (13500)
- Name converter support (dunglas) (13120)
Debug
- track and report deprecated classes and interfaces (nicolas-grekas) (13164)
- Add symfony_debug_backtrace() and use it when dealing with fatal errors (jpauli, nicolas-grekas) (14159)
Twig
- Added a Twig profiler (fabpot) (13428)
- make date formats and number formats configurable (xabbuh) (13554)
- Twig decoupling from Templating (fabpot) (13354)
- Add loader priority (wizhippo) (12174)
- use the new Twig autoescaping strategy (fabpot) (13401)
- URL manipulations as a Twig extension (fabpot) (13264)
VarDumper
- add casters for MongoCursor objects, amqp, XML-parser resources, Reflection classes (nicolas-grekas, lyrixx) (14034, 13980, 13960, 14080)
- with-er interface for ClonerData (nicolas-grekas) (14006)
- Add catch-all-objects hook for casters (nicolas-grekas) (13959)
WebProfiler
- Added feedback about the current symfony version (WouterJ) (13626)
- Added a Translation profiler. (aitboudad) (14003)
- Show the inherited roles in the web profiler (peterrehm) (12896)
Console
- Made output docopt compatible (WouterJ) (13220)
- Added console style guide helpers (kbond) (14057)
- Add support for colspan/rowspan + multiple header lines (aitboudad) (13438)
Security
- Added a command to encode a password (saro0h) (12818)
- Added the triggering of the security.interactive_login event in SimplePreAuthenticationListener (saro0h) (12469)
- added string representation for core Users (tobiassjosten) (9782)
Miscellaneous
- lazy-load fragment renderers (fabpot) (13378)
- [DependencyInjection] deprecated synchronized services (fabpot) (13289)
- Automatically start server:run if server:start failed (WouterJ) (14198)
- Deprecated precision option in favor of scale (WouterJ) (13717)
- [HttpKernel] Embed the original exception as previous to bounced exceptions (nicolas-grekas) (14192)
- [FrameworkBundle] added a protected shortcut getParameter() method in the base Controller class. (hhamon) (14052)
- [Form] Refactored choice lists to support dynamic label, value, index and attribute generation (webmozart) (14050)
- Entity type: loader caching by query builder instance (dominikzogg) (13864)
- [FrameworkBundle] Made ServerParams a service (rpg600) (13615)
- Add an auto_alias compiler pass (Daniel Wehner) (12526)
- Added new Forwarded header support for Request::getClientIps (tony-co) (11379)
- [PropertyAccess] Show property path in all exception messages (mpajunen) (13294)
- [FrameworkBundle] Container parameters in Route#condition (nikita2206) (12960)
- [HttpKernel] Add request uri to Logger context (Rvanlaak) (13320)
- Add type aliases for allowed types in OptionsResolver (henrikbjorn) (12602)
- [FrameworkBundle] added a test router for the built-in web server (fabpot) (13105)
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.
Great News!
Doesn't seem to work well: [Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException] The service "knp_paginator.helper.processor" has a dependency on a non-existent service "templating.helper.router"
@Loic Works fine on my end. You could check to see where that service is declared in order to figure out why its dependencies won't resolve.
It's Ok by updating KnpPaginatorBundle to the last version.
Is 2.7 now recommended for new projects, even though it is still in beta?
Not yet, we have to wait for the 1st stable release.