[Translation] Fixed regression: When only one rule is passed to transChoice(), this rule should be used
[Validator] fixed Boolean handling in XML constraint mappings (closes #5603)
merged branch fabpot/validator-xml-loader (PR #8831)

This PR was merged into the 2.2 branch.

Discussion
----------

[Validator] fixed Boolean handling in XML constraint mappings

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #5603
| License       | MIT
| Doc PR        | n/a

ping @bschussek

Commits
-------

33b0a17 [Validator] fixed Boolean handling in XML constraint mappings (closes #5603)
[Yaml] fixed embedded folded string parsing
merged branch jfsimon/issue-8472 (PR #8841)

This PR was merged into the 2.2 branch.

Discussion
----------

[Yaml] fixed embedded folded string parsing

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #8779

Commits
-------

566d79c [Yaml] fixed embedded folded string parsing
[Translation] Grammar fix
[Locale] Fixed: StubLocale::setDefault() throws no exception when "en" is passed
merged branch bschussek/fix-locale-2.2 (PR #8846)

This PR was merged into the 2.2 branch.

Discussion
----------

[2.2][Locale] Fixed: StubLocale::setDefault() throws no exception when "en" is passed

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

This is necessary to fix `IntlTestHelper::requireIntl()` when ICU is not installed and the Icu component 1.0.0 is used instead. In that case, `IntlTestHelper::requireIntl()` calls `\Locale::setDefault('en')` and fails. Consequently, the Form component test cases are partially red when running without ICU installed.

This PR fixes that.

Commits
-------

d0faf55 [Locale] Fixed: StubLocale::setDefault() throws no exception when "en" is passed
merged branch bschussek/issue8789-regression (PR #8837)

This PR was merged into the 2.2 branch.

Discussion
----------

[Translation] Fixed regression: When only one rule is passed to transChoice(), this rule should be used

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

There was one regression introduced by #8789, namely when exactly one message is passed to `transChoice()`. Before, the following code was perfectly valid:

```php
$translator = new IdentityTranslator(new MessageSelector());

echo $translator->transChoice('There are two apples', 2, array('%count%' => 2));
```

This didn't fail, because internally, the locale `null` was passed to `MessageSelector`, which always returned the index `0` in that case.

Now, the user's locale is passed, and if the selector returns anything but `0`, an exception is thrown.

I removed this exception for the case that exactly one standard message (without explicit interval) is passed. In that case, this message is returned (just like from `trans()`). If the message key contains more than one message, or if the message has explicit intervals, the exception will still be thrown. See the tests for clarification.

A use case for why no exception should be thrown is validation:

```php
/**
 * @Assert\Length(min=2, minMessage="Please enter at least two characters")
 */
```

Commits
-------

2b3dcb9 [Translation] Grammar fix
0951b8d [Translation] Fixed regression: When only one rule is passed to transChoice(), this rule should be used
[Form] Fixed Form::all() signature for PHP 5.3.3
fix typo in test skipped message
merged branch Inori/2.1 (PR #8855)

This PR was submitted for the 2.1 branch but it was merged into the 2.2 branch instead (closes #8855).

Discussion
----------

[HttpFoundation] [Tests] fix typo in Memcached tests skipped message

| Q             | A
| ------------- | ---
| Typo fix | yes
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT
| Fixed tickets | -
| Doc PR        | -

Commits
-------

83e4fcf fix typo in test skipped message
merged branch bschussek/dereference-all-2.2 (PR #8851)

This PR was merged into the 2.2 branch.

Discussion
----------

[2.2][Form] Dereferenced Form::&all() since it is not supported for PHP <= 5.3.3

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

see 00bc2708bce4f1c16a77c371de871c922c31079

Commits
-------

ea480bd [Form] Fixed Form::all() signature for PHP 5.3.3
clearToken exception is thrown at wrong place.
merged branch xkobal/master (PR #8830)

This PR was submitted for the master branch but it was merged into the 2.2 branch instead (closes #8830).

Discussion
----------

clearToken exception is thrown at wrong place.

The PR https://github.com/symfony/symfony/pull/8528 has added a problem when logger is enabled.

The log message for clearToken exception throw actually a fatal error because $failed doesn't exist in clearToken method. I have moved the log message to the handle method.

Commits
-------

701c25b clearToken exception is thrown at wrong place.
updated CHANGELOG for 2.2.6
update CONTRIBUTORS for 2.2.6
updated VERSION for 2.2.6
bumped Symfony version to 2.2.7
[SecurityBundle] Move format-dependent tests from SecurityExtensionTest