[json-response] Add a JsonResponse class for convenient JSON encoding

Usage example:

    $data = array(user => $user->toArray());
    return new JsonResponse($data);
[DoctrineBridge][Security] Fixes bug that prevents repository's refreshUser from being called
[FrameworkBundle] Added server:run command
Added a 'post validation' event to the form component.
[HttpFoundation] SPL on ParameterBag

Added some SPL interface goodness to the ParameterBag class
[FrameworkBundle] Fixed built-in server router script
[FrameworkBundle] Removed global variable from router script
[TwigBundle] Workaround a flaw in the design of the configuration (normalization)
[BrowserKit] Fixed Client->back/forward/reload() not keeping all request attributes

The method used internally in these methods, Client->#requestFromRequest was badly
passing the old request parameters to the new request.
merged branch clemherreman/fix-browserkit_client-history (PR #3550)

Commits
-------

ad07a95 [BrowserKit] Fixed Client->back/forward/reload() not keeping all request attributes

Discussion
----------

[BrowserKit] Client->back/forward/reload() is not keeping all request attributes

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: ![Travis CI icon](https://secure.travis-ci.org/clemherreman/symfony.png?branch=fix-browserkit_client-history)
Fixes the following tickets: This one
Todo: -

<hr>

Hello

While using the BrowserKit component with Behat, I noticed that some request attributes, such as files or body, disappeared when using `Symfony\Component\BrowserKit\Client->back/forward/reload()`.

The method used internally in these methods, Client->#requestFromRequest was badly passing the old request parameters to the new request. See the diff.
merged branch stealth35/patch-18 (PR #3542)

Commits
-------

7aad478 [Locale] Prevent empty bundle

Discussion
----------

[Locale] Prevent empty bundle

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/stealth35/symfony.png?branch=patch-18)](http://travis-ci.org/stealth35/symfony)
Fixes the following tickets: #3486
Todo: -
[Form] Moved the Validator component to the suggest section

There is no hard dependency to the Validator component.
Fixed constraint requirements for Doctrine Common
merged branch stof/composer_deps (PR #3553)

Commits
-------

f26c1ce Fixed constraint requirements for Doctrine Common
011791d [Form] Moved the Validator component to the suggest section

Discussion
----------

Composer deps

There is no hard dependency to the Validator component in the Form, as said on Twitter when @harikt tried to use it. I kept the Locale component as a requirement as it is used by the LanguageTyep, CountryType and LocaleType which will be registered when using the CoreExtension.

The constraints for Doctrine deps are fixed too: adding an upper bound everywhere as we don't know the future to guarantee the compatibility (and for instance, 2.0.9 and lower were not compatible with ORM 2.2 as we had to fix the bundle), and the bridge is compatible with Common 2.2 too, not only with 2.1.

I found 2 other places where the dependencies should be discussed:

- the Validator component marks a hard dependency to Doctrine Common for its annotation reader. There is a dependency only when using annotation so it should not be a hard requirement IMO but a suggestion. the issue is that the [ValidatorFactory](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Validator/ValidatorFactory.php) (not used by the framework itself) will add an annotation loader when relying on the default value of the arguments, which means that people that don't take care will need Common. Would it make sense to change the default so that Common is needed only when the user explicitly asks to use annotations ? Moving Common from require to suggest would make it easier for people using the Validator component standalone if they don't use annotations
- the Security component suggests the Finder and ClassLoader components. But these ones are only used by the [dev script](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Security/Acl/Resources/bin/generateSql.php) used to generate the SQL schema shipped in the component. Does it really make sense to list them as people cloning the component should probably never use this script (which alters the files in the component) ?

---------------------------------------------------------------------------

by fabpot at 2012-03-11T08:14:46Z

+1 for removing Doctrine Common as a required dependency for the Validator component.

+1 for removing ClassLoader and Finder from the Security suggestions.
[CssSelector] fixed CssSelector::toXPath() when the CSS selector is an empty string
[Security]replaced acl:init command with postGenerateSchema listener
[SecurityBundle] Improve the init:acl command
merged branch vicb/acl (PR #3560)

Commits
-------

6d27aec [SecurityBundle] Improve the init:acl command
e809458 [Security]replaced acl:init command with postGenerateSchema listener

Discussion
----------

[WIP][Security]replaced acl:init command with postGenerateSchema listener

Attempt to fix #2091.

The code is from @schmittjoh (see #1313) but was never merged.

The difference is that the `init:acl` command has not been dropped in order to overcome [the limitations](https://github.com/symfony/symfony/pull/1313#issuecomment-1387091) described by @stof. @stof do you think this is ok ?

Left to fix:

* Using the code from this PR, the generated migration does not drop the tables but still alter them,

@stof you know this part of the code far better than me. I would appreacite your feedback on this PR and any hint on solving the remaining item. Thanks.
fixed CS
merged 2.0