fixed various inconsistencies
minor #10234 Various minor changes (fabpot)

This PR was merged into the 2.3 branch.

Discussion
----------

Various minor changes

| 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
-------

eb3f6c6 fixed various inconsistencies
Fix "Array was modified outside object" in ResizeFormListener.

The onSubmit() method of the ResizeFormListener class is assuming the data is an array, and calling unset directly inside a foreach. This works fine in most scenarios, but if data is an instance of IteratorAggregate, it breaks with the following error:

Symfony\Component\Form\Extension\Core\EventListener\ResizeFormListener::onSubmit(): ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in ./vendor/symfony/symfony/src/Symfony/Component/Form/Extension/Core/EventListener/ResizeFormListener.php line 142

This is because the foreach loop is using an Iterator in the background, but the ResizeFormListener has unset the underlying data directly, causing the Iterator and data to be out of sync. When the data is an instance of IteratorAggregate, the loop should use the iterator directly and not rely on foreach.

The onSubmit method has been updated accordingly.
bug #10232 [Form] Fix "Array was modified outside object" in ResizeFormListener. (Chekote)

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

Discussion
----------

[Form] Fix "Array was modified outside object" in ResizeFormListener.

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

The onSubmit() method of the ResizeFormListener class is assuming the data is an array, and calling unset directly inside a foreach. This works fine in most scenarios, but if data is an instance of IteratorAggregate, it breaks with the following error:

Symfony\Component\Form\Extension\Core\EventListener\ResizeFormListener::onSubmit(): ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in ./vendor/symfony/symfony/src/Symfony/Component/Form/Extension/Core/EventListener/ResizeFormListener.php line 142

This is because the foreach loop is using an Iterator in the background, but the ResizeFormListener has unset the underlying data directly, causing the Iterator and data to be out of sync. When the data is an instance of IteratorAggregate, the loop should use the iterator directly and not rely on foreach.

The onSubmit method has been updated accordingly.

Commits
-------

4116b6e Fix "Array was modified outside object" in ResizeFormListener.
[DomCrawler] Added support for <area> tags to be treated as links
bug #10245 [DomCrawler] Added support for <area> tags to be treated as links (shamess)

This PR was merged into the 2.3 branch.

Discussion
----------

[DomCrawler] Added support for <area> tags to be treated as links

The [HTML area tag](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/area) behaves exactly like the `a` tag in that they're both clickable, and if it has a `href` follows a link. The Link class works the same with both tags.

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

Commits
-------

23acd26 [DomCrawler] Added support for <area> tags to be treated as links
[Console] removed problematic regex
bug #10231 [Console] removed problematic regex (fabpot)

This PR was merged into the 2.3 branch.

Discussion
----------

[Console] removed problematic regex

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

This PR is a quick implementation of a replacement fora problematic regex.

Commits
-------

80bc41e [Console] removed problematic regex
updated CHANGELOG for 2.3.10
update CONTRIBUTORS for 2.3.10
updated VERSION for 2.3.10
bumped Symfony version to 2.3.11
Fixed wrong redirect url if path contains some query parameters
Added failing test
Revert "Fix "Array was modified outside object" in ResizeFormListener."
bug #10269 [Form] Revert "Fix "Array was modified outside object" in ResizeFormListener." (norzechowicz)

This PR was merged into the 2.3 branch.

Discussion
----------

[Form] Revert "Fix "Array was modified outside object" in ResizeFormListener."

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

Unseting key on iterator is not an solution because in php "Array assignment always involves value copying. " So if \IteratorAggregate implementation create new iterator from array (just like [Doctrine ArrayCollection](https://github.com/doctrine/common/blob/2.3/lib/Doctrine/Common/Collections/ArrayCollection.php#L362) does)  such operation will not affect original data.

I'm just not sure if it's good to use Doctirn ArrayCollection in this test case or maybe its better to create own implementation of such Collection as a fixture.

Commits
-------

f62e30d Revert "Fix "Array was modified outside object" in ResizeFormListener."
462b7af Added failing test
Bypass sigchild detection if phpinfo is not available
bug #10285 Bypass sigchild detection if phpinfo is not available (Seldaek)

This PR was merged into the 2.3 branch.

Discussion
----------

Bypass sigchild detection if phpinfo is not available

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

This fixes composer/composer#2711, i.e. anyone disabling phpinfo for security (by obscurity, but whatever) reasons can not use the Process class anymore.

Commits
-------

714aee9 Bypass sigchild detection if phpinfo is not available
Revert "bug #10207 [DomCrawler] Fixed filterXPath() chaining (robbertkl)"

This reverts commit c11c5888f31bd663dcdb12b5b3558e0897601a23, reversing
changes made to e453c4589d81a93d22a2d927a1f9282d3d72c994.
[Validator] Removed PHP <5.3.3 specific code which is not officially supported.