Disallow abstract definitions from doctrine event listener registration
[DomCrawler] properly handle buttons with single and double quotes inside the name attribute
[Components][Serializer] optional constructor arguments can be omitted during the denormalization process
bug #11220 [Components][Serializer] optional constructor arguments can be omitted during the denormalization process (xabbuh)

This PR was merged into the 2.3 branch.

Discussion
----------

[Components][Serializer] optional constructor arguments can be omitted during the denormalization process

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

Commits
-------

5bb2345 [Components][Serializer] optional constructor arguments can be omitted during the denormalization process
[ClassLoader] fixed PHP warning on PHP 5.3
Fix mocks to support >=5.5.14 and >=5.4.30
minor #11230 Fix mocks to support >=5.5.14 and >=5.4.30 (jpauli)

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

Discussion
----------

Fix mocks to support >=5.5.14 and >=5.4.30

PHP 5.5.14 and PHP 5.4.30 disallow unseriliazing hand made strings for internal classes that forbids that (using zend_class_unserialize_deny)

There was a bug before, PHP did not filter those strings, which could lead to security problems.
Starting from 5.5.14 and 5.4.30 , PHP now reports an error when trying to unserialize such strings.
https://github.com/php/php-src/commit/2c88ae5c4ea8b641c407549d40c6ea61e834840d
PHPUnit relies on this (wrong) behavior to create mock objects. This is a problem for SPlFileInfo.

This PR fixes that.

Commits
-------

1c5c694 Fix mocks to support >=5.5.14 and >=5.4.30
bug #11219 [DomCrawler] properly handle buttons with single and double quotes insid... (xabbuh)

This PR was merged into the 2.3 branch.

Discussion
----------

[DomCrawler] properly handle buttons with single and double quotes insid...

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

Commits
-------

cbbdbe4 [DomCrawler] properly handle buttons with single and double quotes inside the name attribute
Refactored the CssSelector to remove the circular object graph

This allows the translator and its extensions to be garbage collected
based on the refcount rather than requiring the garbage collector run,
making it much more likely to happen at the end of the
CssSelector::toXPath call.
bug #11242 [CssSelector] Refactored the CssSelector to remove the circular object graph (stof)

This PR was merged into the 2.3 branch.

Discussion
----------

[CssSelector] Refactored the CssSelector to remove the circular object graph

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

This allows the translator and its extensions to be garbage collected based on the refcount rather than requiring the garbage collector run, making it much more likely to happen at the end of the ``CssSelector::toXPath`` call.

Node translators now receive the Translator as second argument, instead of requiring to inject it in the extension to keep a reference to it. This way, the Translator is referenced nowhere inside it, only by the caller, and so will be destructed at the end of the usage (and extensions will then be destructed after it when not used anymore).

Commits
-------

994f81f Refactored the CssSelector to remove the circular object graph
[Process] Fix ExecutableFinder with open basedir
bug #11179 [Process] Fix ExecutableFinder with open basedir (cs278)

This PR was squashed before being merged into the 2.3 branch (closes #11179).

Discussion
----------

[Process] Fix ExecutableFinder with open basedir

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

This fixes the `ExecutableFinder` object to properly fetch the `open_basedir` setting, also added a bunch of tests for the `find()` method.

Commits
-------

b8f8c0e [Process] Fix ExecutableFinder with open basedir
enabled PHP 5.6 for tests
bug #11234 [ClassLoader] fixed PHP warning on PHP 5.3 (fabpot)

This PR was merged into the 2.3 branch.

Discussion
----------

[ClassLoader] fixed PHP warning on PHP 5.3

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

Commits
-------

7b2e3d9 [ClassLoader] fixed PHP warning on PHP 5.3
Fixed failed config schema loads due to libxml_disable_entity_loader
usage.

Applied CS patch.
bug #11259 [Config] Fixed failed config schema loads due to libxml_disable_entity_loader usage (ccorliss)

This PR was submitted for the 2.4 branch but it was merged into the 2.3 branch instead (closes #11259).

Discussion
----------

[Config] Fixed failed config schema loads due to libxml_disable_entity_loader usage

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

PR #10493 helped this issue, but it can still affect users that:

1.  Have libxml_disable_entity_loader set to true by default.
2.  Experience libxml_disable_entity_loader php bug https://bugs.php.net/bug.php?id=64938

I used the same approach used in the DI xml validation.
https://github.com/symfony/symfony/blob/master/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php#L452

Commits
-------

de2bef5 Fixed failed config schema loads due to libxml_disable_entity_loader usage.
Merge branch '2.3' into 2.4

* 2.3:
  Fixed failed config schema loads due to libxml_disable_entity_loader usage.
  enabled PHP 5.6 for tests
  [Process] Fix ExecutableFinder with open basedir
  Refactored the CssSelector to remove the circular object graph
  Fix mocks to support >=5.5.14 and >=5.4.30
  [ClassLoader] fixed PHP warning on PHP 5.3
  [Components][Serializer] optional constructor arguments can be omitted during the denormalization process
  [DomCrawler] properly handle buttons with single and double quotes inside the name attribute

Conflicts:
	src/Symfony/Component/Serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php
Added verbosity methods
[Console] Make sure formatter is the same

The parent constructor will create a new formatter if the $formatter parameter is null
This fix avoids that the formatter becomes 2 different instances in $this and $this->stderr
bug #11272 [Console] Make sure formatter is the same. (akimsko)

This PR was submitted for the 2.5 branch but it was merged into the 2.3 branch instead (closes #11272).

Discussion
----------

[Console] Make sure formatter is the same.

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |
The parent constructor will create a new formatter if the $formatter parameter is null.

This fix avoids that the formatter becomes 2 different instances in $this and $this->stderr, if null was passed to the constructor.

Commits
-------

64328d9 [Console] Make sure formatter is the same