This PR was merged into the 4.4 branch.
Discussion
----------
Fix critical extension when reseting paged control
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
The issue has been introduced here in #38392 and prevent performing an operation after fetched a paginated result => ldap throws an `Could not XXX: Critical extension is unavailable`
At this line: https://github.com/symfony/symfony/pull/38392/files#diff-24b79f3ac1a99938f5acb158a450e38d30c1984a5d333b5b20f2c38a73d10e31L183, the previous code called `ldap_control_paged_result($con, 0);` using the default value (`false`) for the `$critical` argument.
The replaced version always use `true`.
This PR restore the previous behavior by using `false` when reseting the pagination.
Commits
-------
a2b74762a6 Fix critical extension when reseting paged control
This PR was merged into the 4.4 branch.
Discussion
----------
[HttpFoundation] Fix for virtualhosts based on URL path
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#34866
| License | MIT
| Doc PR | no
This PR fixes base URL detection when:
- virtualhost is based on URL path
- AND local path does not match that URL virtual host path prefix
fix covered with tests
Commits
-------
75ff86811f [HttpFoundation] Fix for virtualhosts based on URL path
This PR was merged into the 4.4 branch.
Discussion
----------
[Cache] Add tests on CacheDataCollector
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| License | MIT
<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.
Additionally (see https://symfony.com/releases):
- Always add tests and ensure they pass.
- Never break backward compatibility (see https://symfony.com/bc).
- Bug fixes must be submitted against the lowest maintained branch where they apply
(lowest branches are regularly merged to upper ones so they get the fixes too.)
- Features and deprecations must be submitted against branch 5.x.
-->
The `calculateStatistics()` method of `Symfony\Component\Cache\DataCollector\CacheDataCollector` contain a lot of logic and manipulate multi-dimensional array that could be refactor with VO.
But before doing this, I would add test on this part.
Commits
-------
7b4310f045 Add tests on CacheDataCollector
This PR was merged into the 4.4 branch.
Discussion
----------
[DependencyInjection] Fix circular detection with multiple paths
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39056
| License | MIT
| Doc PR | -
There are currently 2 kind of issues related to the Dependency Injection:
1. performance issue when project contains many loops (#37850)
Which has been fixed by #38882
2. Infinity loop in some case (#38970)
Which has been fixed by #38980 and #39021
The new issue #39056 has been introduced by #38882 (The performance issue refactor) because in order to optimize loop detection, I take a short cut and choose to not collect ALL the circular loop but only the one that matters
I was wrong. All loops matters.
This PR fix my previous refacto to collect ALL the paths, with a low CPU footprint
Commits
-------
1c3721e8ad Fix circular detection with multiple paths
This PR was merged into the 4.4 branch.
Discussion
----------
[MimeType] Add missing alias for service @mime_type
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
I found that this was missing. Im not sure why these have not been added before. Was it intentional?
Commits
-------
7b733d651d [MimeType] Add missing alias for @mime_type
This PR was squashed before being merged into the 3.4 branch.
Discussion
----------
[DoctrineBridge] indexBy could reference to association columns
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets | Fix#37982 <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License | MIT
| Doc PR | -
<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.
Additionally (see https://symfony.com/releases):
- Always add tests and ensure they pass.
- Never break backward compatibility (see https://symfony.com/bc).
- Bug fixes must be submitted against the lowest maintained branch where they apply
(lowest branches are regularly merged to upper ones so they get the fixes too.)
- Features and deprecations must be submitted against branch 5.x.
-->
This is my approach to solve #37982. It partials reverts @xabbuh PR #38604
This is my first Symfony contribution, so please, tell me if I need to do something more or something is wrong.
Also, this bug affects 4.x and 5.x versions. I think merging in this branches is done automatically. If not, please tell me.
Thanks you
Commits
-------
f9a0e000e9 failing test for issue 38861
4c36145664 [DoctrineBridge] indexBy could reference to association columns
This PR was merged into the 4.4 branch.
Discussion
----------
[DoctrineBridge] also reset id readers
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38890
| License | MIT
| Doc PR |
Commits
-------
784bd0080d also reset id readers
This PR was merged into the 4.4 branch.
Discussion
----------
[ProxyManagerBridge] replace ProxyManager\Version by feature detection
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
I'd like to get rid of this `Version` class, which is the source of so many issues with deps.
This won't remove the class from ocramius/proxy-manager, but that's a separate story that this change could enable in the end :)
Commits
-------
5f77aad6ca [ProxyManagerBridge] replace ProxyManager\Version by feature detection
This PR was merged into the 4.4 branch.
Discussion
----------
[CI] Fix invalid Doctrine parameter syntax
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39008
| License | MIT
| Doc PR | no
~~I cannot reproduce locally.. So Im trying to fix this with the help of the CI~~
I have reproduced locally. This fix will help.
```
❯ phpunit Tests/Transport/DoctrineIntegrationTest.php
PHPUnit 8.5.8 by Sebastian Bergmann and contributors.
.E.... 6 / 6 (100%)
Time: 111 ms, Memory: 6.00 MB
There was 1 error:
1) Symfony\Component\Messenger\Bridge\Doctrine\Tests\Transport\DoctrineIntegrationTest::testSendWithDelay
Doctrine\DBAL\SQLParserUtilsException: Value for :body not found in params array. Params array key should be "body"
src/Symfony/Component/Messenger/Bridge/Doctrine/vendor/doctrine/dbal/src/SQLParserUtilsException.php:21
src/Symfony/Component/Messenger/Bridge/Doctrine/vendor/doctrine/dbal/src/SQLParserUtils.php:277
src/Symfony/Component/Messenger/Bridge/Doctrine/vendor/doctrine/dbal/src/SQLParserUtils.php:203
src/Symfony/Component/Messenger/Bridge/Doctrine/vendor/doctrine/dbal/src/Connection.php:1019
src/Symfony/Component/Messenger/Bridge/Doctrine/vendor/doctrine/dbal/src/Query/QueryBuilder.php:210
src/Symfony/Component/Messenger/Bridge/Doctrine/Tests/Transport/DoctrineIntegrationTest.php:66
ERRORS!
Tests: 6, Assertions: 8, Errors: 1.
```
Apply patch:
```
❯ phpunit Tests/Transport/DoctrineIntegrationTest.php
PHPUnit 8.5.8 by Sebastian Bergmann and contributors.
...... 6 / 6 (100%)
Time: 94 ms, Memory: 6.00 MB
OK (6 tests, 9 assertions)
```
Commits
-------
0ab3032c52 [CI] Fixed invalid doctrine parameter syntax
This PR was merged into the 4.4 branch.
Discussion
----------
[Console] Fix ANSI when stdErr is not a tty
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38981
| License | MIT
| Doc PR | -
Taking the @wouterj 's comment into account (https://github.com/symfony/symfony/issues/38981#issuecomment-721915428)
This PR prevents using the same Formatter for stdOut and stdErr when possible.
When user send a custom formatter (or call `setFormatter`) the previous logic is kept.
Otherwise, symfony is asked to create the Formatter, and thus is able to clone the formatter.
In a future PR targeting 5.3, we could improve the constructor to let people inject 2 distinguished formatters
Commits
-------
f3a398b5af Fix ANSI when stdErr is not a tty
This PR was merged into the 4.4 branch.
Discussion
----------
[DependencyInjection] Fix circular reference with Factory + Lazy Iterrator
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38970
| License | MIT
| Doc PR | -
The issue, occurs when a `factory` iterates over services (think tagged iterator) that also need the `factory`.
The PhpDumper is not able to detect the loop because the TaggedService iterator is flaged as "lazy" which is ignored in the loop detection. 2d7e0b02c6/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php (L474-L476)
See test case for a reproduce case.
This PR takes into account lazy services when computing loops.
I'm not sure this is the right thing to do /cc @nicolas-grekas .
A better solution could be to do this ONLY when the service is used as a factory?
Commits
-------
51ff060603 Fix circular referene with Factory and LazyIterator
This PR was merged into the 4.4 branch.
Discussion
----------
Rename security.pt_PT.xlf to security.pt.xlf
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38774
| License | MIT
Missing translations for Portuguese (pt).
As agreed in https://github.com/symfony/symfony/issues/38739#issuecomment-721210579 the common Portuguese translation file for security domain should be ``security.pt.xlf`` rather than ``security.pt_PT.xlf``
Commits
-------
3dd385f319 Rename security.pt_PT.xlf to security.pt.xlf