* 2.3:
[SecurityBundle] Authentication entry point is only registered with firewall exception listener, not with authentication listeners
be smarter when guessing the document root
Azerbaijani locale
Fixed grammar error in docblock
Adjust upgrade file rendering
[Bridge/Propel1] Changed deps to accepts all upcoming propel1 versions
compare version using PHP_VERSION_ID
[Form] Add doc for FormEvents
don't override internal PHP constants
Conflicts:
UPGRADE-3.0.md
src/Symfony/Bundle/FrameworkBundle/Command/ServerRunCommand.php
src/Symfony/Component/Debug/ErrorHandler.php
src/Symfony/Component/HttpFoundation/Response.php
This PR was merged into the 2.3 branch.
Discussion
----------
[Bundle][FrameworkBundle] be smarter when guessing the document root
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12524
| License | MIT
| Doc PR |
Commits
-------
e28f5b8 be smarter when guessing the document root
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes#12296).
Discussion
----------
[SecurityBundle] Authentication entry point is only registered with firewall exception listener, not with authentication listeners
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | when relying on this configuration behaviour
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12261
| License | MIT
| Doc PR | —
See symfony/symfony#12261.
I configured a different firewall entry point for one firewall. However, when authentication had to be performed, it still called BasicAuthenticationEntryPoint::start() instead of my service's start(). My service was instantiated, yet never used.
The issue appears to be that the entry point is registered with the firewall's exception listener, but not with the BasicAuthenticationListener. This means that when the BasicAuthenticationListener determines the user has provided wrong credentials, BasicAuthenticationEntryPoint is still used. Only in case of an exception would my entry point service be used.
In my opinion, this is not correct behaviour. Can someone confirm this? Are there currently tests that pertain to the `entry_point` configuration on which I can base a test?
---
Test setup:
```yaml
# security.yml
security:
firewalls:
api:
pattern: ^/api/
http_basic: ~
entry_point: my.service
default:
anonymous: ~
```
Commits
-------
92c8dfb [SecurityBundle] Authentication entry point is only registered with firewall exception listener, not with authentication listeners
This PR was submitted for the 2.7 branch but it was merged into the 2.3 branch instead (closes#12502).
Discussion
----------
Azerbaijani locale
[Form] [Validator] [Security] Azerbaijani translation added
| Q | A
| ------------- | ---
| Fixed tickets | none
| License | MIT
Commits
-------
7f7b700 Azerbaijani locale
This PR was submitted for the 2.7 branch but it was merged into the 2.3 branch instead (closes#12510).
Discussion
----------
Fixed grammar error in docblock
Commits
-------
ba8d937 Fixed grammar error in docblock
This PR was merged into the 2.3 branch.
Discussion
----------
compare version using PHP_VERSION_ID
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
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`.
Commits
-------
367ed3c compare version using PHP_VERSION_ID
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
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`.
This PR was merged into the 2.5 branch.
Discussion
----------
[2.5][FrameworkBundle] Fix server run in case the router script does not exist
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
I've also added the use of `Process\PhpExecutableFinder`
Commits
-------
1a79859 [FrameworkBundle] Fix server run in case the router script does not exist
This PR was submitted for the master branch but it was merged into the 2.5 branch instead (closes#12448).
Discussion
----------
[Session] Fix parameter names in WriteCheckSessionHandler
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
90e7830 [Session] Fix parameter names in WriteCheckSessionHandler
This PR was submitted for the master branch but it was merged into the 2.5 branch instead (closes#12492).
Discussion
----------
[HttpKernel] Add consistency with request type checking
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
1852f85 Add consistency with request type checking
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
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
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
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
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
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
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
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