dump() instead of var_dump(). Symfony 2.6 came out at the end of November, and this is the visible gift: VarDumper. Collapsible output, clickable class names, works inside the toolbar. A small thing, used fifty times a day. Tools like this improve life more than big features do.
But the important story in 2.6 is not a feature. The release notes read like a preparation checklist for Symfony 3: deprecations, everywhere.
I want to praise this, because it changes how a major upgrade feels.
The usual way: live quietly for three years, then a new major version drops and you get a migration project. Two weeks of pain, a frozen feature branch, everyone angry.
The deprecation way: the framework tells you today which APIs die tomorrow. You turn on deprecation logging in dev, you see the list, you fix items one by one between normal tasks. Each fix is small and safe, the current version still supports both ways. When the major release arrives, you bump the version and nothing happens.
An upgrade where nothing happens is the best possible upgrade.
This works only if someone reads the log. Make it visible: fail the test suite on deprecated calls from your own code, or at least go through the log once a week. Otherwise the log is noise. I had E_DEPRECATED in the log of one project for a year. Nobody looked, me included.
We started doing this on one Symfony project this month. Twenty minutes a week. I expect the Symfony 3 upgrade to be a non-event.
I will report when it happens. Or not, if there is nothing to report.