Symfony 3.0.0 was released on November 2015 as planned by the Symfony 3 roadmap. As we do with any new Symfony version, we should publish a blog series explaining its new features.

However, Symfony 3.0 is a very special version which contains no new features comparing it with Symfony 2.8. Their only difference is that 3.0 removed any feature marked as deprecated in 2.8.

That's why we won't publish any "New in Symfony 3.0" post. Instead, let's do a quick recap of the new Symfony 2.8 features which are also available on Symfony 3.0.

  • New components: PropertyInfo (details), Guard Authentication (details), LDAP (details) and twelve Polyfill components (details).
  • Major redesigns of the web debug toolbar (details) the profiler (details) and the console commands (details).
  • New DependencyInjection features, such as "auto-wiring" (details), deprecated services (details), removed scopes (details) and more (details).
  • A MicroKernel to create your own microframework based on Symfony (details).
  • Nice improvements and new features for the Console component (details), the Yaml component (details), the Form component (details), the Translator component (details), the VarDumper component (details) and the Security component (details).
  • Better and faster tests (details).
  • And a lot of minor DX improvements to make you feel better and more productive when using Symfony (details).

Upgrading to Symfony 3.0

First, make your application run on Symfony 2.8 without errors. Then, install the PHPUnitBridge component and fix all the reported deprecation issues. Now you are ready to upgrade to Symfony 3.0. You can also use any of these tools to spot and fix those deprecations: