In case you were wondering...

What's new in Symfony 2.1

Here are some of the new features of Symfony2.1 not in the 'upgrade' documentation.

Find them all by searching for "New in version 2.1"

This is only the first of 4 result pages on the site, there is a current bug in the documentation site which offsets the page result by (page) rather than (page*pagelength).

Underscores in Class Names:

Class names (read: Filenames) can no longer contain '_'. They shouldn't have before, but the autoloader doesn't load them any more. (so much for my _superclass)

Form Collection Prototype

The placeholder was changed from $name$ to name This will break your form - but makes for heaps easier regex later on. http://symfony.com/doc/current/cookbook/form/form_collections.html


Range (Value is between x and y) http://symfony.com/doc/master/reference/constraints/Range.html

Count (Collection length min and max) http://symfony.com/doc/master/reference/constraints/Count.html

Length (String length min and max) http://symfony.com/doc/master/reference/constraints/Length.html

Image mime types (min/max width/height)


The isValid method was renamed to validate

Repeated field

Allows different options for the first and second field - means you can have two different labels among other things. http://symfony.com/doc/master/reference/forms/types/repeated.html

UserInterface equals() removed


Email field types "checkHost" option

If true, then the checkdnsrr PHP function will be used to check the validity of the MX or the A or the AAAA record of the host of the given email. http://symfony.com/doc/master/reference/constraints/Email.html

Hinclude in twig

"Tired of regenerating HTML pages from templates? Want more from Web caches? HInclude makes one thing very easy; including other bits of HTML into your Web page, using the browser." http://mnot.github.com/hinclude/ http://symfony.com/doc/master/book/templating.html

Security Paths

New in version 2.1: As of Symfony 2.1, you must have routes configured for your login_path (e.g./login), check_path (e.g. /login_check) and logout (e.g. /logout - see Logging Out) URLs. http://symfony.com/doc/master/book/security.html

### config:dump-reference The config:dump-reference command allows a bundle's default configuration to be output to the console in yaml. http://symfony.com/doc/master/cookbook/bundles/extension.html ### kernel.event_subscriber To subscribe to a set of different events/hooks in Symfony http://symfony.com/doc/master/reference/dic_tags.html
### The Generic Event Object. The GenericEvent is available for convenience for those who wish to use just one event object throughout their application. It is suitable for most purposes straight out of the box, because it follows the standard observer pattern where the event object encapsulates an event 'subject', but has the addition of optional extra arguments.
http://symfony.com/doc/master/components/event_dispatcher/generic_event.html ### Monolog 'channels' The ability to specify channels for a specific handler was added to the MonologBundle for Symfony 2.1. http://symfony.com/doc/master/cookbook/logging/channels_handlers.html ### Unicode in Routes http://symfony.com/doc/master/components/routing.html ### Filesystem Component The Filesystem components provides basic utilities for the filesystem. http://symfony.com/doc/master/components/filesystem.html ### Files finder Contains and Not Contains, and some other nice things. http://symfony.com/doc/master/components/finder.html ### include_path The ClassLoader can now use php's include path as a last resort (optionally) http://symfony.com/doc/master/components/class_loader.html ### File Downloads
Streamed Responses and makeDisposition in HttpFoundation for file downloads. http://symfony.com/doc/master/components/http_foundation/introduction.html ### Session Management Interface
And 'other changes'