[Routing] correctly initialize condition as string
Fixed whitespace control for password form widget
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
minor #12422 Fixed whitespace control for password form widget (peterrehm)

This PR was merged into the 2.5 branch.

Discussion
----------

Fixed whitespace control for password form widget

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

When removing the spaceless tags the additional needed `-` has been forgotten for the password widget.

By the way, is in the {% tags the - at the end of the starting and at the beginning of the ending tag sufficient?
This does not correspond to the twig documentation where it is always documented on the beginning and at the end.

````php
{% block hidden_widget -%}
    {% set type = type|default('hidden') %}
    {{- block('form_widget_simple') -}}
{%- endblock hidden_widget -%}
````

Commits
-------

809cf24 Fixed whitespace control for password form widget
minor #12403 [Routing] correctly initialize condition as string (Tobion)

This PR was merged into the 2.5 branch.

Discussion
----------

[Routing] correctly initialize condition as string

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

Commits
-------

ffe863c [Routing] correctly initialize condition as string
[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
[HttpKernel][2.6] Adding support for invokable controllers in the RequestDataCollector
bug #12443 [HttpKernel][2.6] Adding support for invokable controllers in the RequestDataCollector (jameshalsall)

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

Discussion
----------

[HttpKernel][2.6] Adding support for invokable controllers in the RequestDataCollector

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

As part of https://github.com/symfony/symfony/pull/11193 support for controllers using `__invoke()` was added.

The `RequestDataCollector` did not support controllers that were defined in the routing as...

```php
route_name:
    path: /{id}
    defaults: { _controller: acme_app.page.controller.page }
    requirements:
        id: \d+
```

Where the controller was defined as...

```php
class PageController
{
    public function __invoke()
    {
        //
    }
}
```

This PR adds that support. Tests have been updated.

Commits
-------

f1d043a [HttpKernel][2.6] Adding support for invokable controllers in the RequestDataCollector
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
Merge branch '2.3' into 2.5

* 2.3:
  Update filesystem readme.md to include exists method
  Add machine readable events
  fixed typo
  [Translations] Added missing Hebrew language trans-unit sources
  [DependencyInjection] inlined factory not referenced
  Fixed case for empty folder
Merge branch '2.5' into 2.6

* 2.5:
  Update filesystem readme.md to include exists method
  Add machine readable events
  [HttpKernel][2.6] Adding support for invokable controllers in the RequestDataCollector
  fixed typo
  [Translations] Added missing Hebrew language trans-unit sources
  [DependencyInjection] inlined factory not referenced
  Fixed case for empty folder
  Fixed whitespace control for password form widget
  [Routing] correctly initialize condition as string