TwigExtractor tests require the Finder component
minor #12398 [TwigBridge] TwigExtractor tests require the Finder component (xabbuh)

This PR was merged into the 2.3 branch.

Discussion
----------

[TwigBridge] TwigExtractor tests require the Finder component

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

The tests for the `TwigExtractor`(as introduced in #12377) require the Finder component to be run properly.

Commits
-------

8fc3e03 TwigExtractor tests require the Finder component
Fixed case for empty folder
bug #12436 [Filesystem] Fixed case for empty folder (yosmanyga)

This PR was merged into the 2.3 branch.

Discussion
----------

[Filesystem] Fixed case for empty folder

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

The mirror function should work with an empty folder as source. It should create an empty folder on target path.

Commits
-------

5321741 Fixed case for empty folder
[DependencyInjection] inlined factory not referenced
bug #12393 [DependencyInjection] inlined factory not referenced (boekkooi)

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

Discussion
----------

[DependencyInjection] inlined factory not referenced

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

While working with the DI I encountered a `You have requested a non-existent service "xxxxx"` exception.
Research it seems that a private reference was inlined but the private factory that was also referencing to the service was ignored.

A example of the problem:
```XML
        <service id="manager"
                 class="\stdClass"
                 factory-method="getX"
                 factory-service="factory"
                 public="false">
            <argument>X</argument>
        </service>
        <service id="repository"
                 class="\stdClass"
                 factory-method="getRepository"
                 factory-service="manager"
                 public="false">
            <argument>X</argument>
        </service>
        <service id="storage" class="\stdClass" public="false">
            <argument type="service" id="manager"/>
            <argument type="service" id="repository"/>
        </service>
```

What happens before the patch:
1. repository get's inlined
2. manager get's inlined for the first argument
3. manager get's removed since there was no reference.

After the first commit the following will happen:
1. repository get's inlined
2. manager get's inlined for the first argument
3. manager will not be removed since the inlined repository still references manager

This introduced a smell since InlineServiceDefinitionsPass was still inlining the manager for the first argument.

To fix this I have chosen that not inline factories if they are used more then once by the same definition.

So after the second commit the following will happen:
1. repository get's inlined

Personally I feel that the InlineServiceDefinitionsPass patch isn't the best possible one but that a different fix would probably mean breaking BC so it's probably a good idea to look at this for Symfony 3.0.

Commits
-------

7816a98 [DependencyInjection] inlined factory not referenced
[Translations] Added missing Hebrew language trans-unit sources
minor #12450 [Translations] Added missing Hebrew language trans-unit sources (excelwebzone)

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

Discussion
----------

[Translations] Added missing Hebrew language trans-unit sources

[Form] [Validator] [Translations] added missing files
[Security][Translations] added missing files

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

Commits
-------

918b16b [Translations] Added missing Hebrew language trans-unit sources
fixed typo
minor #12449 fixed typo (ojhaujjwal)

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

Discussion
----------

fixed typo

Commits
-------

a7c2a9a fixed typo
Add machine readable events
minor #12299 Add machine readable events (dawehner)

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

Discussion
----------

Add machine readable events

As discussed in [#11878] it would be great to have some simple machine readable way to find events

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

Commits
-------

ace9a22 Add machine readable events
Update filesystem readme.md to include exists method
minor #12468 Update filesystem readme.md to include exists method (ericduran)

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

Discussion
----------

Update filesystem readme.md to include exists method

Read the contributing docs, I don't think I missed anything but to be fair I went through it pretty fast :-/

Commits
-------

16c1b66 Update filesystem readme.md to include exists method
don't override internal PHP constants
minor #12372 [Yaml] don't override internal PHP constants (xabbuh)

This PR was merged into the 2.3 branch.

Discussion
----------

[Yaml] don't override internal PHP constants

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

Commits
-------

376cc03 don't override internal PHP constants
[Form] Add doc for FormEvents
compare version using PHP_VERSION_ID

To let opcode caches optimize cached code, the `PHP_VERSION_ID`
constant is used to detect the current PHP version instead of calling
`version_compare()` with `PHP_VERSION`.
[Bridge/Propel1] Changed deps to accepts all upcoming propel1 versions
minor #12433 [Bridge/Propel1] Changed deps to accepts all upcoming propel1 versions (hason)

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

Discussion
----------

[Bridge/Propel1] Changed deps to accepts all upcoming propel1 versions

Commits
-------

0bd19aa [Bridge/Propel1] Changed deps to accepts all upcoming propel1 versions