SwiftMailerHandler in Monolog bridge now able to react to kernel.terminate event
[Validation] Fixed IdentityTranslator to pass correct Locale to MessageSelector
[HttpFoundation] Fixed removing a nonexisting namespaced attribute.
merged branch bschussek/fix-identity-translator (PR #8789)

This PR was merged into the 2.2 branch.

Discussion
----------

[Validation] Fixed IdentityTranslator to pass correct Locale to MessageSelector

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

This PR fixes the following case:

```php
\Locale::setDefault('en');
$translator = new IdentityTranslator(new MessageSelector());

echo $translator->transChoice('There is one apple|There are %count% apples', 10, array('%count' => 10));
```

Result before PR:

```
There are 1 apples
```

Result after PR:

```
There is one apple
```

The reason for the current behavior is that the locale `null` is passed to `MessageSelector`, but `MessageSelector` is not programmed to accept `null` values.

Commits
-------

191d320 [Validation] Fixed IdentityTranslator to pass correct Locale to MessageSelector
merged branch jakzal/bugfix/remove-nonexisting-attr-8387 (PR #8790)

This PR was merged into the 2.2 branch.

Discussion
----------

[HttpFoundation] Fixed removing a nonexisting namespaced attribute

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

Commits
-------

85a9c9d [HttpFoundation] Fixed removing a nonexisting namespaced attribute.
CS fix
[Process] Use a consistent way to reset data of the process latest run

It is actually useful when cloning or running again a process.
merged branch romainneutron/properties-reset (PR #8806)

This PR was merged into the 2.2 branch.

Discussion
----------

[2.2][Process] Use a consistent way to reset data of the process latest run

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

It is actually useful when cloning or running again a process.

Commits
-------

0723c10 [Process] Use a consistent way to reset data of the process latest run
merged branch astina-forks/swiftmailer_handler (PR #8780)

This PR was merged into the 2.2 branch.

Discussion
----------

[MonologBridge] Allow SwiftMailerHandler to listen to kernel.terminate.event

This PR accompanies symfony/MonologBundle#51. Both are intended to fix symfony/symfony-standard#425.

MonologBundle configures SwiftMailerHandler as a Monolog handler and injects the proper transport service.

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

Commits
-------

62238b8 CS fix
c6ecd83 SwiftMailerHandler in Monolog bridge now able to react to kernel.terminate event
fix for Process:isSuccessful()
merged branch tgabi333/2.2 (PR #8815)

This PR was merged into the 2.2 branch.

Discussion
----------

[Process] fix for Process:isSuccessful()

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

This is a rebase of https://github.com/symfony/symfony/pull/8801

If you call isSuccessful() on a running process you would get true because of 0 == null. I think that is not the expected behavior and that is not what phpdoc @return block said so.

Commits
-------

262879d fix for Process:isSuccessful()
added a missing use statement (closes #8808)
Fix typo in the check_path validator
merged branch unkind/security-bundle-check-path-bugfix (PR #8782)

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

Discussion
----------

[SecurityBundle] Fix typo in the check_path validator

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #3005, #2954
| License       | MIT

Actually, validator of `check_path` value is broken by #3005. It doesn't throw any exception even if `check_path` is an URI.

I've faced with wrong tests class hierarchy: `SecurityExtensionTest` is abstract test and I have to create the same test configuration for every format: PHP, XML, YAML. It looks like we test `Dependency Injection` and `Yaml` components. Issue with `check_path` does not depend on format, but such class hierarchy leaves me no choice. And I can't put test case into `ConfigurationTest`, because it doesn't know anything about security factories.

It looks like it's better to create new class for `SecurityExtension` tests.

Commits
-------

155dca0 [SecurityBundle] Fix typo in the check_path validator
fixed the format of the request used to render an exception
Exclude little words of 'ee' to 'oo' plural transformation

The plural form of 'bee' and 'fee' are not 'foo' and 'boo'. In general words smaller than 3 letters doesn't change to a 'oo' form.
merged branch sumbobyboys/patch-1 (PR #8804)

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

Discussion
----------

Exclude little words of 'ee' to 'oo' plural transformation

The plural form of 'bee' and 'fee' are not 'foo' and 'boo'. In general words smaller than 3 letters doesn't change to a 'oo' form.

Commits
-------

0ffdb11 Exclude little words of 'ee' to 'oo' plural transformation
Sets _format attribute only if it wasn't set previously by the user.

Fixes #8787
fixed request format of sub-requests when explicitely set by the developer (closes #8787)
[Locale] fixed build-data exit code in case of an error

When passing a message to the exit() function, PHP returns 0 instead of
an error code.