Added Session Metadata info to the Request section of the WDT
[browser kit] Client now stores filtered response after request.
[http kernel] Added client response type test.
[Routing][HttpKernel] Add RequestMatcherInterface.

While UrlMatcherInterface is only for matching URLs with routes, add
RequestMatcherInterface, that allows to match against whole requests.
[BrowserKit] Updated changelog.
Updated upgrade 2.1 file.
[Security] Check post_only option and request method
[Form] implement force append / prepend
merged branch greg0ire/position_switching (PR #4533)

Commits
-------

f541a54 [Form] implement force append / prepend

Discussion
----------

implement force append / prepend

See #4494 and #4473

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

by travisbot at 2012-06-09T12:33:07Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1575997) (merged b0ed9b26 into 3bb7dc0b).

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

by stof at 2012-06-09T12:53:29Z

@fabpot :+1: for me.

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

by travisbot at 2012-06-09T12:57:54Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1576150) (merged 5e45b5d3 into 3bb7dc0b).

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

by travisbot at 2012-06-09T13:41:05Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1576322) (merged d51c5437 into 3bb7dc0b).

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

by fabpot at 2012-06-09T14:47:37Z

Can you add a mention in the CHANGELOG please?

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

by greg0ire at 2012-06-09T14:58:25Z

Couldn't find anything relevant to update in the CHANGELOG of the form component, but the UPGRADE file contains something I could update.

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

by travisbot at 2012-06-09T15:06:27Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1576951) (merged 6b45ba66 into 3bb7dc0b).

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

by greg0ire at 2012-06-09T15:06:51Z

Squashed all the commits into one.
merged branch henrikbjorn/require-authentication (PR #4525)

Commits
-------

6a01d3d [Security] Check post_only option and request method

Discussion
----------

[Security] Take `post_only` into consideration in requiresAuthentication

Change requiresAuthentication to look at the `post_only` option. Fixes #4524

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

by travisbot at 2012-06-08T18:26:21Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1570033) (merged 6d799494 into b84b46ba).

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

by travisbot at 2012-06-09T11:34:59Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1575681) (merged af676bb5 into b84b46ba).

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

by stof at 2012-06-09T14:01:21Z

@henrikbjorn could you squash the commit, or cherry-pick the third one so that it is the only one ? The reverted commit seems weird in the PR.

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

by henrikbjorn at 2012-06-09T14:18:08Z

@stof there. Actually it cannot be squashed. But maybe what i did was wrong.

``` shell
git reset --hard b84b46ba1a4e1197d1e8874c395bcf661d52191d
git cherry-pick af676bb5d01f835b2f9913e129e6c6eb3320dd26
git push -f henrikbjorn require-authentication
```

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

by travisbot at 2012-06-09T14:22:59Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1576658) (merged 6a01d3dd into 3bb7dc0b).

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

by stof at 2012-06-09T14:39:25Z

@fabpot :+1:
merged branch jfsimon/issue-4475 (PR #4497)

Commits
-------

06976fc Updated upgrade 2.1 file.
110ccd8 [BrowserKit] Updated changelog.
686854b [http kernel] Added client response type test.
ce7e1e6 [browser kit] Client now stores filtered response after request.

Discussion
----------

[browser kit] Client now stores filtered response after request.

Bug fix: yes
Feature addition: no
Backwards compatibility break: yes/no, choice is your
Symfony2 tests pass: yes

`Symfony\Component\HttpKernel\Client::request()` method now returns a `Symfony\Component\BrowserKit\Response` instance.

Fixes issue #4475.

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

by stof at 2012-06-05T08:58:00Z

This *is* as BC break as it changes the class returned by the method, even if the BC break is a bugfix to respect the epxected behavior :)

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

by jfsimon at 2012-06-05T09:05:32Z

@stof you're right!

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

by travisbot at 2012-06-06T15:29:54Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1533533) (merged 686854b2 into 1541fe26).

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

by stof at 2012-06-09T10:12:18Z

@jfsimon can you add a note in the changelog of the component and in the upgrade file ?

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

by jfsimon at 2012-06-09T10:51:00Z

@stof done!

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

by travisbot at 2012-06-09T11:12:43Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1575524) (merged 06976fcd into 1541fe26).

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

by stof at 2012-06-09T12:50:16Z

@fabpot :+1:
Revert "merged branch jfsimon/issue-4475 (PR #4497)"

This reverts commit f8a09db5e2364d66465358fe393ce51b49b07144, reversing
changes made to ae2ec36e275d6b43c9d6d7b91b9611f10101df0e.
merged branch niklasf/request-matcher-interface (PR #4363)

Commits
-------

2277500 [Routing][HttpKernel] Add RequestMatcherInterface.

Discussion
----------

[Routing][HttpKernel] Add RequestMatcherInterface.

First try at implementing #4351.

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Fixes the following tickets: -
Todo: -
License of the code: MIT

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

by travisbot at 2012-05-21T19:37:07Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1392716) (merged 457496db into ea33d4d3).

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

by travisbot at 2012-05-21T19:47:51Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1392939) (merged 78effa98 into ea33d4d3).

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

by everzet at 2012-05-21T20:17:03Z

No tests?

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

by travisbot at 2012-05-21T20:18:18Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1393392) (merged 6564fb6a into ea33d4d3).

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

by schmittjoh at 2012-05-21T20:35:14Z

You need to remove the type-hint from the constructor, and probably add an exception instead where the matching methods are called to ensure that either ``UrlMatcherInterface``, or ``RequestMatcherInterface`` were passed. Alternatively, you could also add such a check to the constructor.

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

by fabpot at 2012-05-22T06:52:01Z

related to symfony/symfony#4020

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

by niklasf at 2012-05-25T11:11:45Z

Reverted the changes to UrlMatcher.php.

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

by fabpot at 2012-05-25T12:46:06Z

@niklasf: it looks good now except for the listener constructor (see @schmittjoh suggestion above). Can you fix that and add some unit tests to ensure that everything works as expected? Thanks.

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

by stof at 2012-05-25T12:52:59Z

Another solution could be to make the ``RequestMatcherInterface`` extend the ``MatcherInterface`` to keep the typehint in the constructor

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

by fabpot at 2012-05-25T13:52:26Z

I thought about that as well, but that does not make sense.

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

by stof at 2012-05-25T14:12:19Z

Well, the RouterInterface extends UrlMatcherInterface anyway (and it should stay this way as it would be a huge BC break) so I guess most people will implement both interfaces when implementing the RquestMatcherInterface

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

by travisbot at 2012-05-25T15:26:22Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1433963) (merged 8f36204c into ff4d446c).

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

by travisbot at 2012-05-25T15:33:13Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1433996) (merged 6d2f2cd9 into ff4d446c).

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

by travisbot at 2012-05-25T15:39:01Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1434060) (merged 3c1d89e2 into ff4d446c).

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

by travisbot at 2012-05-25T22:06:34Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1437398) (merged 3ab997c1 into ff4d446c).

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

by travisbot at 2012-05-25T22:06:47Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1437385) (merged d8c0e387 into ff4d446c).

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

by fabpot at 2012-05-26T06:41:31Z

Can you add a note in the CHANGELOG of the component?

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

by travisbot at 2012-05-26T08:12:40Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1440435) (merged c7458733 into 9e951991).

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

by niklasf at 2012-05-26T08:14:41Z

@fabpot: Sorry, not sure how: Under 2.1.0 or in a new section? As the first or last entry of the list?

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

by stof at 2012-05-26T10:20:23Z

@niklasf the new interface should be mentioned in the changelog of the Routing component

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

by travisbot at 2012-05-26T10:30:06Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1440837) (merged 34ea86a9 into 9e951991).

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

by niklasf at 2012-06-02T15:27:01Z

Ah ... so there were two pitfalls:

- PHPUnit clones the arguments of mocked functions. So they wouldn't equal.
- createGetResponseEventForUri() disables routing on purpose. So not using that helper, now.

Tests should be passing.

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

by travisbot at 2012-06-02T15:30:28Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1509054) (merged 7fab0118 into 1541fe26).
merged branch dlsniper/wdt-session-metadata (PR #4428)

Commits
-------

8dd2af7 Added Session Metadata info to the Request section of the WDT

Discussion
----------

[WebProfilerBundle] Added Session Metadata info to the Request section of the WDT

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/dlsniper/symfony.png?branch=wdt-session-metadata)](http://travis-ci.org/dlsniper/symfony)
Fixes the following tickets: #4181
Todo: ~
License of the code: MIT
Documentation PR: ~

This PR adds some session metadata available into the WDT (Created, Last used, Lifetime specifically).
If you'd like to see more info then let me know.

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

by travisbot at 2012-05-26T21:11:56Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1443801) (merged 9b0b4383 into 9e951991).

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

by travisbot at 2012-05-26T21:24:27Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1443856) (merged 31858319 into 9e951991).

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

by drak at 2012-05-27T00:48:37Z

Nice addition.

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

by dlsniper at 2012-05-31T21:21:37Z

@drak While using this patch on a production application I've noticed that the `$request->hasSession()` section will fail to recognize that there's no session anymore in the app if I'm not using the auto-start feature. I'm using the latest master branch, updated today around 12:00 UTC. Clearly this is not the right place to discuss that there's a problem with ::hasSession() but I wanted to ask someone else for an opinion before creating the issue/fix for it.

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

by stof at 2012-06-09T10:14:05Z

@dlsniper create an ticket for it, and it will become the best place to discuss it :)

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

by dlsniper at 2012-06-09T10:42:58Z

Ok, but then can this be merged meanwhile?

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

by stof at 2012-06-09T10:58:39Z

@fabpot  :+1:

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

by dlsniper at 2012-06-09T17:36:24Z

I've opened #4529 to address the issue seen in the comment.
[OptionsResolver] Added options resolver tests to improve coverage

[OptionsResolver] Fixed test names and iterator test
merged branch l3l0/add-options-resolver-test (PR #4545)

Commits
-------

83ff200 [OptionsResolver] Added options resolver tests to improve coverage

Discussion
----------

[OptionsResolver] Added options resolver tests

Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes [![Build Status](https://secure.travis-ci.org/l3l0/symfony.png?branch=add-options-resolver-test)](http://travis-ci.org/l3l0/symfony)
License of the code: MIT

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

by travisbot at 2012-06-10T09:14:34Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1581756) (merged 320617b6 into 6266b72d).

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

by l3l0 at 2012-06-10T11:41:15Z

Fixed test names and replaced loop with iterator_to_array

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

by travisbot at 2012-06-10T11:44:49Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1582569) (merged 68588202 into 6266b72d).

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

by bschussek at 2012-06-10T12:38:47Z

Could you please also squash the commits into one and prefix the commit message with "[OptionsResolver]"?

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

by l3l0 at 2012-06-10T12:56:20Z

Commits squashed

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

by travisbot at 2012-06-10T13:01:35Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1583038) (merged 83ff200e into 6266b72d).

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

by bschussek at 2012-06-10T14:52:16Z

Thanks! @fabpot :+1:
moved the Security Twig extension to the bridge
[TwigBridge] updated composer file
moved the UserPassword validator from the security bundle to the security component to make it reusable outside the full-stack framework