This PR was merged into the 4.2 branch.
Discussion
----------
[FrameworkBundle] decouple debug:autowiring from phpdocumentor/reflection-docblock
| Q | A
| ------------- | ---
| Branch? | 4.2
| Bug fix? | yes
New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | /
| License | MIT
When phpDocumentor isn't installed the *debug:autowiring* returns an empty string for class description. With this fallback the end user will get a description even phpDocumentor isn't installed.
**Edit:** Usage of phpDocumentor is completely removed from debug:autowiring command.
Commits
-------
485ed4dd19 [FrameworkBundle] decouple debug:autowiring from phpdocumentor/reflection-docblock
This PR was merged into the 4.2 branch.
Discussion
----------
[DI] map snake-case ids of service subscribers to camel-case autowiring aliases
| Q | A
| ------------- | ---
| Branch? | 4.2
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Discovered during the workshop at SymfonyCon Lisbon.
Commits
-------
af17da9f82 [DI] map snake-case ids of service subscribers to camel-case autowiring aliases
This PR was submitted for the master branch but it was merged into the 4.2 branch instead (closes#29409).
Discussion
----------
Fix env fallback to an unresolved variable
| Q | A
| ------------- | ---
| Branch? | 4.2
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
This PR fixes a tricky case where an env processor require to resolve another parameter.
For example, allowing a user to either pass a PEM key or the path to a PEM key, I could use this config
```
parameters:
private_key: '%env(default:raw_key:file:PRIVATE_KEY)%'
raw_key: '%env(PRIVATE_KEY)%'
```
here, the default processor, performs a `$container->getParameter('raw_key')` which fail because `raw_key` has to be resolved to.
I'm not sure, if this is the right way to do it, please review it carefully.
Here is my reproduct case
```
<?php
require __DIR__.'/vendor/autoload.php';
use Symfony\Component\DependencyInjection\ContainerBuilder;
$containerBuilder = new ContainerBuilder();
$containerBuilder->setParameter('env(PRIVATE_KEY)', 'FOO');
$containerBuilder->setParameter('raw_key', '%env(PRIVATE_KEY)%');
$containerBuilder->setParameter('private_key', '%env(default:raw_key:file:PRIVATE_KEY)%');
$containerBuilder->compile(true);
var_dump($containerBuilder->getParameter('private_key'));
```
Commits
-------
ad6df01b9f Fix env fallback to an unresolved variable
* 4.1:
[Routing] fix trailing slash redirections involving a trailing var
[EventDispatcher] Revers event tracing order
[Security] Prefer clone over unserialize(serialize()) for user refreshment
[Console] OutputFormatter: move strtolower to createStyleFromString
Adjust tests to work in the armhf architecture. Fixes#29281.
Vietnamese translations improvement
[Form] Fixed FormErrorIterator class phpdoc
Renamed test controller from Controller to TestController so it doesn't show up in the IDE autocomplete.
Don't use he in docs when its not needed
EventSubscriberInterface isn't a man
fixed public directory of web server and assets install when configured in composer.json
This PR was merged into the 4.1 branch.
Discussion
----------
[Routing] fix trailing slash redirections involving a trailing var
| Q | A
| ------------- | ---
| Branch? | 4.1
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #29553
| License | MIT
| Doc PR | -
The code in `PhpMatcherDumper` is terrible, but the good news is that 4.2 is much better already.
The change in `UrlMatcher` is much more readable and implements the same fixed logic.
The new test case is in `UrlMatcherTest`.
Commits
-------
6433f8a3e9 [Routing] fix trailing slash redirections involving a trailing var
* 3.4:
[EventDispatcher] Revers event tracing order
[Security] Prefer clone over unserialize(serialize()) for user refreshment
[Console] OutputFormatter: move strtolower to createStyleFromString
Adjust tests to work in the armhf architecture. Fixes#29281.
Vietnamese translations improvement
[Form] Fixed FormErrorIterator class phpdoc
Renamed test controller from Controller to TestController so it doesn't show up in the IDE autocomplete.
Don't use he in docs when its not needed
EventSubscriberInterface isn't a man
fixed public directory of web server and assets install when configured in composer.json
This PR was merged into the 3.4 branch.
Discussion
----------
[EventDispatcher] Revers event tracing order
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| BC breaks? | no <!-- see https://symfony.com/bc -->
| Deprecations? | no
| Tests pass? | yes <!-- please add some, will be required by reviewers -->
| Fixed tickets | #... <!-- #-prefixed issue number(s), if any -->
| License | MIT
| Doc PR | symfony/symfony-docs#... <!-- required for new features -->
Split from #29312 for 3.4
This traces events in dispatch order.
Before:
![image](https://user-images.githubusercontent.com/1047696/49330956-5f71e780-f596-11e8-8701-80458e715213.png)
After:
![image](https://user-images.githubusercontent.com/1047696/49330963-79abc580-f596-11e8-8666-5535afd59b31.png)
Here we see it also collects "terminate" events (both kernel & console for not-called listeners). In case of exception page the fix is even better: https://github.com/symfony/symfony/pull/29312#pullrequestreview-178076750
Which now correctly shows the kernel.exception event of the main request is dispatched _before_ the kernel.request event of the sub-request.
Moreover, it de-duplicates events. So we actually see the sub-request events 🎉
_Havent looked at tests yet._
Commits
-------
2570d6f877 [EventDispatcher] Revers event tracing order
This PR was merged into the 3.4 branch.
Discussion
----------
Fixed public directory when configured in composer.json
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #... <!-- #-prefixed issue number(s), if any -->
| License | MIT
As documented you should be able to change the public-dir by composer.json so the server:run and assets:install should also use that configuration when available:
https://symfony.com/doc/3.4/configuration/override_dir_structure.html#override-the-web-directoryhttps://symfony.com/doc/current/configuration/override_dir_structure.html#override-the-public-directory
#SymfonyConHackDay2018
Commits
-------
c45062b71a fixed public directory of web server and assets install when configured in composer.json
This PR was merged into the 3.4 branch.
Discussion
----------
[Console] OutputFormatter: move strtolower to createStyleFromString
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | not really
| New feature? | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks? | no <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass? | yes <!-- please add some, will be required by reviewers -->
| Fixed tickets | N/A <!-- #-prefixed issue number(s), if any -->
| License | MIT
| Doc PR | N/A
While playing with the href feature that'll be available in 4.3,
I spotted href value [is lowercased](https://github.com/symfony/symfony/pull/29620). Which I guess could be an issue on case-sensitive filesystems.
This changes nothing for the current branch, but will allow when merging
to upper branches to fix the behavior described above, hence keep original case.
Commits
-------
8e2bd35dca [Console] OutputFormatter: move strtolower to createStyleFromString
This PR was merged into the 3.4 branch.
Discussion
----------
[Security] Prefer clone() over unserialize(serialize()) for user refreshment
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #29459
| License | MIT
| Doc PR | n/a
To not hit the `serialize()` bug reported in the related ticket
Commits
-------
a8eba803a3 [Security] Prefer clone over unserialize(serialize()) for user refreshment
While playing with the href feature that'll be available in 4.3,
I spotted href value is lowercased. Which I guess could be an issue
on case-sensitive filesystems.
This changes nothing for the current branch, but will allow when merging
to upper branches to fix the behavior described above, hence keep original case.
This PR was submitted for the master branch but it was merged into the 3.4 branch instead (closes#29611).
Discussion
----------
Adjust tests to work in the armhf architecture. Fixes#29281.
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | can't verify
| Fixed tickets | #29281
| License | MIT
We saw VarDumper errors in armhf, but they are hard to reproduce interactively. In the issue report, it was suggested to replace %d with %i, and that's what I did in this branch. I'm sorry I can't give you confidence that this fixes the issue, and I'm just filing this PR because it was suggested and I'm trying to be helpful. I'm hoping there is CI here that can verify it.
Commits
-------
b9359a57ec Adjust tests to work in the armhf architecture. Fixes#29281.
This PR was submitted for the master branch but it was merged into the 3.4 branch instead (closes#29600).
Discussion
----------
Vietnamese translations improvement
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | no
| License | MIT
| Doc PR | no
Just a little bit improve for Vietnamese translations. I'm Vietnamese, so I'll contribute more to my first language.
Commits
-------
93a0c98cc2 Vietnamese translations improvement
This PR was squashed before being merged into the 3.4 branch (closes#29606).
Discussion
----------
[Form] Fixed FormErrorIterator class phpdoc
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
Fixed an outdated paragraph in `FormErrorIterator` (since https://github.com/symfony/symfony/pull/10418).
Commits
-------
732b86317d [Form] Fixed FormErrorIterator class phpdoc
This PR was merged into the 3.4 branch.
Discussion
----------
[DX] rename unit test controller
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? |no
| New feature? |no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
Whenever I create a new controller the actually needed controller shows up second in the list of auto-completion. The first suggestion is a class defined in the test and should not ever be extended in the application. This PR renames it so that doesn't happen anymore.
Example of the autocomplete issue:
<img width="748" alt="screenshot 2018-12-14 at 10 33 26" src="https://user-images.githubusercontent.com/534693/49995500-a09dca80-ff8c-11e8-80b5-18890ff058b1.png">
Commits
-------
d4e426c466 Renamed test controller from Controller to TestController so it doesn't show up in the IDE autocomplete.
This PR was submitted for the master branch but it was merged into the 3.4 branch instead (closes#29596).
Discussion
----------
Don't use he in docs when its not needed
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | yes
| New feature? |no
| BC breaks? | no
| Tests pass? | yes
| License | MIT
The documentation talks about a man, an event subscriber clearly isn't one
Similar to https://github.com/symfony/symfony/pull/29594 but in more places
Commits
-------
8caab72f5e Don't use he in docs when its not needed
This PR was submitted for the master branch but it was squashed and merged into the 3.4 branch instead (closes#29594).
Discussion
----------
EventSubscriberInterface isn't a man
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | yes
| New feature? |no
| BC breaks? | no
| Tests pass? | yes
| License | MIT
The documentation talks about a man, an event subscriber clearly isn't one
Commits
-------
f58338e251 EventSubscriberInterface isn't a man
This PR was merged into the 4.2 branch.
Discussion
----------
[Cache] Fix undefined variable in ArrayTrait
| Q | A
| ------------- | ---
| Branch? | 4.2
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
After upgrading my project to 4.2 my tests failed with a message that `$key` variable is missing here: e81285249b/src/Symfony/Component/Cache/Traits/ArrayTrait.php (L131) which seems to be introduced with PR https://github.com/symfony/symfony/pull/27563.
So I added that variable to the trait and method calls (are there any other?). This is internal class so I guess noone is using it anywhere.
Anyway, my tests pass with this fix.
Commits
-------
b0b5937d1d Fix undefined variable in cache ArrayTrait
* 4.1:
Fix typos in doc blocks
[Debug] ignore underscore vs backslash namespaces in DebugClassLoader
[TwigBridge][Form] Prevent multiple rendering of form collection prototypes
[FrameworkBundle] fix describing routes with no controllers
[DI] move RegisterServiceSubscribersPass before DecoratorServicePass
Update ValidationListener.php
[Yaml] ensures that the mb_internal_encoding is reset to its initial value
[WebLink] Fixed documentation link
[Security] getTargetPath of TargetPathTrait must return string or null
[Hackday][Serializer] Deserialization ignores argument type hint from phpdoc for array in constructor argument
Optimize perf by replacing call_user_func with dynamic vars
[Routing] fix dumping same-path routes with placeholders
[Security] defer log message in guard authenticator
[Validator] Added IBAN format for Vatican City State
merge conflicts
filter out invalid Intl values
filter out invalid language values
[Validator] Fixed grouped composite constraints
[Form] Filter arrays out of scalar form types
Fix HeaderBag::get phpdoc
* 3.4:
[Debug] ignore underscore vs backslash namespaces in DebugClassLoader
[TwigBridge][Form] Prevent multiple rendering of form collection prototypes
[FrameworkBundle] fix describing routes with no controllers
[DI] move RegisterServiceSubscribersPass before DecoratorServicePass
Update ValidationListener.php
[Yaml] ensures that the mb_internal_encoding is reset to its initial value
[WebLink] Fixed documentation link
[Security] getTargetPath of TargetPathTrait must return string or null
[Hackday][Serializer] Deserialization ignores argument type hint from phpdoc for array in constructor argument
[Security] defer log message in guard authenticator
merge conflicts
Fix HeaderBag::get phpdoc
This PR was submitted for the master branch but it was merged into the 4.1 branch instead (closes#29586).
Discussion
----------
Fix typos in doc blocks
Change "wheter" to "whether" in doc blocks for redirectAction() and urlRedirectAction()
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | no?
| Fixed tickets |
| License | MIT
| Doc PR |
Fixes two typos in the doc blocks for RedirectController:redirectAction() and RedirectController::urlRedirectAction()
One of the builds has a failing test, but surely that's not related to this PR? https://travis-ci.org/symfony/symfony/jobs/467149897
Commits
-------
ea37c7a Fix typos in doc blocks
This PR was merged into the 3.4 branch.
Discussion
----------
[FrameworkBundle] fix describing routes with no controllers
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Spotted by @jpauli during a training.
Commits
-------
a1c612aedf [FrameworkBundle] fix describing routes with no controllers
This PR was merged into the 3.4 branch.
Discussion
----------
[DI] move RegisterServiceSubscribersPass before DecoratorServicePass
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no| Tests pass? | yes <!-- please add some, will be required by reviewers -->
| Fixed tickets | #29550
| License | MIT
| Doc PR | n/a
From https://github.com/symfony/symfony/issues/29550#issuecomment-446351365: The fact that `RegisterServiceSubscribersPass` runs after `DecoratorServicePass` makes it impossible to decorate a service implementing `ServiceSubscriberInterface` if the decorator does not implement it.
Commits
-------
c3271d9385 [DI] move RegisterServiceSubscribersPass before DecoratorServicePass
This PR was merged into the 3.4 branch.
Discussion
----------
[TwigBridge][Form] Prevent multiple rendering of form collection prototypes
| Q | A
| ------------- | ---
| Branch? | 4.2
| Bug fix? | yes
| New feature? | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks? | no <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass? | yes <!-- please add some, will be required by reviewers -->
| Fixed tickets | #29489 <!-- #-prefixed issue number(s), if any -->
| License | MIT
prevents attemt to render of prototype in CollectionType when it has been rendered already.
(see [Deprecated calling FormRenderer::searchAndRenderBlock for fields which were already rendered.](https://github.com/symfony/symfony/blob/master/UPGRADE-4.2.md#form))
Commits
-------
ffd272243b [TwigBridge][Form] Prevent multiple rendering of form collection prototypes