This PR was merged into the 4.4 branch.
Discussion
----------
[SecurityBundle] Don't use the container as resource type in fixtures
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | N/A
| License | MIT
| Doc PR | N/A
Discovered while working on #39292: Some fixtures of SecurityBundle call config loaders and pass the whole container as resource type. This does not really make sense.
Commits
-------
e7e38b7213 [SecurityBundle] Don't use the container as resource type in fixtures.
This PR was merged into the 4.4 branch.
Discussion
----------
[HttpKernel] Fix bug with whitespace in Kernel::stripComments()
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
`Kernel::stripComments()` removes significant whitespace in some cases.
I noticed this in one of the generated classes, the code `<?php include_once \dirname(__DIR__).'/file.php';` got replaced with `<?php include_once\dirname(__DIR__).'/file.php';` which is a syntax error.
Commits
-------
8d368e1fe3 Fix bug with whitespace in Kernel::stripComments()
This PR was merged into the 4.4 branch.
Discussion
----------
[HttpFoundation] Make sure we reuse the current PHP binary for the webserver process in functional tests.
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | N/A
| License | MIT
| Doc PR | N/A
While debugging HttpFoundation's functional tests with different PHP binaries, I noticed that the webserver process that is started there would always use the `php` binary from my `$PATH` instead of the binary I'm running PHPUnit with.
This PR attempts to fix this by using the `PHP_BINARY` constant.
Commits
-------
9208c69b21 [HttpFoundation] Make sure we reuse the current PHP binary for the webserver process in functional tests.
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[FrameworkBundle] TextDescriptor::formatControllerLink checked method…
…_exists method before it ensures that $controller is not null
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Today I tried PHP8 with Symfony 5.2. - by checking my routes with
```
bin/console debug:router
```
It throws
```
method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given
```
The reason is the configured auth route for the login API defined in routes.yaml:
```
authorization::login:
path: '/login'
```
This route has no controller configured and the value of $controller in `TextDescriptor::formatControllerLink` in the FrameworkBundle is `null`. This method has a elseif condition with `method_exists` without a check if $controller is a string or object.
In PHP8 this throws an exception/error and did not work. This PR checks that `$controller` is not null before the method_exists check to prevent this failure.
I'm not sure how to test this in the existing Testsuite
Commits
-------
67bd779ef4 [FrameworkBundle] TextDescriptor::formatControllerLink checked method…
This PR was merged into the 4.4 branch.
Discussion
----------
[HttpFoundation] Ignore stack trace printed by Xdebug 3
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | N/A
| License | MIT
| Doc PR | N/A
If we're running HttpFoundation's functional tests with Xdebug 3, a stack trace will be printed when a warning is emitted. This confuses our `cookie_max_age` test currently where we perform a `setcookie()` call that will emit a warning.
I have patched the corresponding fixture so the printed stack trace is ignored.
A failed test can be seen here: https://travis-ci.com/github/symfony/symfony/jobs/452077515#L11078
Commits
-------
b67baa4e7f [HttpFoundation] Ignore stack trace printed by Xdebug 3.
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[HttpClient] throw clearer error when no scheme is provided
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39285
| License | MIT
| Doc PR | N/A
This could be considred a BC break, as previously this would've a `TransportExcepiton`, instead of an `InvalidArgumentException`. But i see no reason to catch this specific error, as it would generally be a configuration error.
Commits
-------
4d821d6c34 [HttpClient] throw clearer error when no scheme is provided
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[DependencyInjection] Fixed incorrect report for private services if required service does not exist
…does not exist
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#29359
| License | MIT
| Doc PR | no
looks like `CheckExceptionOnInvalidReferenceBehaviorPass` can be moved to `beforeRemovingPasses` section without any consequences. this solves the problem and all tests still pass
Commits
-------
39bd05c5bc [DependencyInjection] Fixed incorrect report for private services if required service does not exist
This PR was merged into the 4.4 branch.
Discussion
----------
[Inflector] Fix Notice when argument is empty string
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| License | MIT
Fixing issue when we call `Inflector` with empty string:
```
\Symfony\Component\Inflector\Inflector::singularize('');
```
```
Notice: Uninitialized string offset: 0 in src/Symfony/Component/Inflector/Inflector.php on line 363
PHP Notice: Uninitialized string offset: 0 in src/Symfony/Component/Inflector/Inflector.php on line 363
...
Notice: Uninitialized string offset: 0 in src/Symfony/Component/Inflector/Inflector.php on line 363
PHP Notice: Uninitialized string offset: 0 in src/Symfony/Component/Inflector/Inflector.php on line 363
```
Fix for 5.1 https://github.com/symfony/symfony/pull/39244
Commits
-------
2dfe342452 [Inflector] Fix Notice when argument is empty string
This PR was merged into the 4.4 branch.
Discussion
----------
[Console] Re-enable hyperlinks in Konsole/Yakuake
| Q | A
| ------------- | ---
| Branch? | 4.4 <!-- see below -->
| 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#31809 <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License | MIT
Hyperlinks feature was broken in KDE's Konsole/Yakuake (#31809) and thus disabled by #31849.
But the feature has been recently [implemented](https://invent.kde.org/utilities/konsole/-/merge_requests/138), and is about to be released in KDE 20.12 on December 10th 2020, see [release notes](https://community.kde.org/Releases/20.12_Release_Notes#Konsole).
![obrazek](https://user-images.githubusercontent.com/793041/100556284-92dccf00-32a1-11eb-9907-f65c2eaa1335.png)
Tested in RC version and seems to be working fine. The feature is disabled by default (as per security concerns), but even when disabled, it just gracefully don't show the links.
Commits
-------
728edf36bf [Console] Enable hyperlinks in Konsole/Yakuake
Add logic for locking row for update when the doctrine dbal connection is sqlsrv. This is a quick and dirty solution, but it prevents the need to rewrite the logic due to doctrine dbal limitations.
See issue https://github.com/symfony/symfony/issues/39117
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[DependencyInjection] Fix circular in DI with lazy + byContruct loop
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39120
| License | MIT
| Doc PR | -
This fix another issue lazy service.
It partially revert #38980 and #39021
Initially, we trusted lazy services to be lazy and not beeing called while building the services graph
=> bug #38970 when lazy deps is injected in a factory, it may be consumed directly to build the object before the graph is fully built
Fixed by #38980 => lazy service are considered as "normal service"
=> bug #39015 some loop are not resolvable with "normal service", but it shouldn't be an issue when servie proxifyied
Fixed by #39021 => lazy service are considered as "normal service" except when proxyfied
=> bug #39120 some loop are not resolvable with "normal service", but it shouldn't be an issue because the lazy service is injected in the constructor and user
Fixed by this PR => that revert to the initial state. lazy service are trusted.
But now, The IterratorArgument injected in a factory (single exception) is not more considered as lazy
Commits
-------
54af139a4e [DependencyInjection] Fix circular in DI with lazy + byContruct loop
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
Add Romanian missing translations
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | kinda
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38758
| License | MIT
| Doc PR | n/a
Commits
-------
6aa31a13c7 Add Romanian missing translations
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[DependencyInjection][Translator] Silent deprecation triggered by libxml_disable_entity_loader
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39040
| License | MIT
| Doc PR | -
The XML entity loader is disabled by default since libxml 2.9
But, since PHP 8.0, calling the method `libxml_disable_entity_loader` triggers a deprecation which has been solved in symfony by calling `libxml_disable_entity_loader` only for libxml < 2.9
The issue is, some dependencies, enable the entity loader and does not restore the initial state afterward, leading to exceptions triggered by Symfony iteself.
In previous versions symfony was resilient by disabling the flag before working, which is not the case anymore to avoid the deprecation.
This PR restore the resiliency of Symfony for PHP < 8.0, which is not yet deprecated.
But we have no way to check the status of the entity loader without triggering a deprecation with Symfony 8.
Commits
-------
114b7a543a [DependencyInjection][Translator] Silent deprecation triggered by libxml_disable_entity_loader
This PR was merged into the 4.4 branch.
Discussion
----------
[Form] ignore the pattern attribute for textareas
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39066
| License | MIT
| Doc PR |
Commits
-------
e7698e7434 ignore the pattern attribute for textareas
This PR was merged into the 4.4 branch.
Discussion
----------
[Console] Use a partial buffer in SymfonyStyle
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39156
| License | MIT
| Doc PR | -
Symfony style needs to buffer output in order to get the last 2 chars in order to prepend Block.
By using a `BufferedOutput` symfony bufferize everything while it not needed.
This PR adds a new `TrimmedBufferOutput` that keep only the N last chars.
Commits
-------
18fca2984d Use a partial buffer in SymfonyStyle
This PR was merged into the 4.4 branch.
Discussion
----------
[HttpClient] don't fallback to HTTP/1.1 when HTTP/2 streams break
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix https://github.com/composer/composer/issues/9481
| License | MIT
| Doc PR | -
With this change, I don't reproduce the failures that I describe in https://github.com/composer/composer/issues/9481 when running the script in #38690
Apparently curl has an issue when both h1.1 and h2 connections are open to the same host.
Instead of switching to HTTP/1.1 when retrying requests that failed because of an HTTP/2 stream error, I propose to close the http/2 connection when issuing a retry.
With this change, running the mirroring script of packagist works like a charm.
No need to investigate your mirrors @Seldaek, this was definitely a data corruption issue.
Commits
-------
0c92bc5a83 [HttpClient] don't fallback to HTTP/1.1 when HTTP/2 streams break
This PR was merged into the 4.4 branch.
Discussion
----------
[HttpKernel] do not depend on the actual time to fix a transient test
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
Commits
-------
b7e5c7d67d do not depend on the actual time to fix a transient test
This PR was merged into the 4.4 branch.
Discussion
----------
[Cache] Run Redis Sentinel tests in GithubAction
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Add support for Sentinel tests in GHA
Commits
-------
bd84394dc5 Run Redis Sentinel tests in GithubAction
This PR was merged into the 3.4 branch.
Discussion
----------
[PhpUnitBridge] Fix test fixture filename
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | no
| License | MIT
| Doc PR | -
Fixes PHPUnit warning `Test case class not matching filename is deprecated`. I checked that the filename being different than the class name is not "required" for the test.
Commits
-------
c5a107e4cc [PhpUnitBridge] Fix test fixture file name
This PR was merged into the 4.4 branch.
Discussion
----------
[LDAP] Add ldap tests to github CI
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39028
| License | MIT
| Doc PR |
Adds LDAP test on github actions pipeline and corrects sum bugs in the LDAP Component test
It also adds a bug resolution from @Nek- made in #38875
Commits
-------
ea78f728b1 Use GithubAction to run ldap tests
af9562b12c Adds LDAP Adapter test in integration group
This PR was merged into the 4.4 branch.
Discussion
----------
[Config] Recheck glob brace support after GlobResource was serialized
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
cc @bastnic
This bug was reported on Symfony Slack: `$this->globBrace` is set to `null` after unserialization from the `.meta` file.
Instead of serializing this property, I decided to reinitialize the property after unserialization. I think that's a safer option (e.g. it works when the cache is build on a different server with different globBrace support than the one running the application).
Commits
-------
d9534779cf Reinitialize globBrace after unserialization
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 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
----------
[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
----------
[PhpUnitBridge] fix replaying skipped tests
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Spotted while working on https://github.com/symfony/polyfill/pull/310
See also https://3v4l.org/D6Gro for the newly skipped tests in symfony/intl
Commits
-------
849d1b3845 [PhpUnitBridge] fix replaying skipped tests
This PR was merged into the 4.4 branch.
Discussion
----------
[HttpKernel] Fix session initialized several times
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
The session injected in the request is a factory. When the request is **cloned** (ie sub-request) while the session is not yet used in the master request (the session is still a factory), both Master and Sub request will have a factory.
If both requests attempt to read the session afterward, they both triggers the factory, and both initialize the session.
It's not a dead end for the `SessionListener` because the session come from the container and is shared, but:
- the session is initialized ($storage->setOptions(['cookie_secure' => true])) twice
- if we replace the sesssion from container to a factory, it could be an issue
Commits
-------
30a3c7c87b Fix session called initized several time
This PR was merged into the 4.4 branch.
Discussion
----------
[DependencyInjection] Improve performances in CircualReference detection
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#37850
| License | MIT
| Doc PR | -
This PR change the way circular references are detected. And improve the project submitted in #37850 [by **86%**](https://blackfire.io/profiles/compare/cc4aa41d-5b63-4caa-9a1b-fc282dc5d64a/graph) (Build the container in 1.1 sec instead of 10)
Issue is: When a project contains a lot Circular Reference, the Dumper [spend a lot of time](https://blackfire.io/profiles/54f6eba2-b93c-4f2b-a268-1e58883faecb/graph) in merging those circular references.
note: a circular reference is not an issue when an service is not injected by constructor, but this Can not be known until all references are resolved (performed previously by connectCircularReferences)
This PR removed the connectCircularReferences and generate a flatten tree of dependencies:
- the key is the service ID
- the value is the list of direct **AND** indirect dependency + path to join the dependency
I also [benched the PR with a project with few references](https://blackfire.io/profiles/compare/2f9902e6-3347-40b3-8421-e1fd09c067d2/graph) and result are almost the same before/after.
Commits
-------
d4db75692b Improve performances in CircualReference detection
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[Process] Dont test TTY if there is no TTY support
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38946
| License | MIT
| Doc PR |
Commits
-------
e918e5ab30 [Process] Dont test TTY if there is no TTY support
This PR was merged into the 4.4 branch.
Discussion
----------
[PHPUnitBridge] Fixed crash on Windows with PHP 8
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | no
| License | MIT
| Doc PR | no
The install command crashed with the message "The filename, directory name, or volume label syntax is incorrect.".
It happens only on Windows with PHP 8.
Probably due to https://github.com/php/php-src/blob/PHP-8.0/UPGRADING#L1121-L1123
I have a small repo to show the problem and how it is fixed: https://github.com/villfa/test-phpunit-bridge
Commits
-------
4b958917fd [PHPUnitBridge] Fixed crash on Windows with PHP 8
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
Fixing some Mongolian
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38916
| License | MIT
| Doc PR |
Hey @luffy1727, could you help me with the last two strings here?
Commits
-------
5c848d9796 Fixing some Mongolian
This PR was merged into the 4.4 branch.
Discussion
----------
[Validator] Merge RecursiveValidatorTest with its parents
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | N/A
| License | MIT
| Doc PR | N/A
`RecursiveValidatorTest` as two abstract parent classes that to my understanding exist mainly for historic reasons: We used to have different validator implementations and those abstract classes contained some shared test cases. This is not the case anymore, which leaves `RecursiveValidatorTest` as the only child class of those two abstract classes.
This PR suggests to merge the three classes into one.
I've executed the test suite before and after the change and PHPUnit reported the same number of assertions and test cases.
I've also checked how the merge to 5.1 and 5.x would look like. The merge to 5.1 works without conflicts. From 5.1 to 5.x, two additional test cases have to be moved down and the reference to a few fixture classes needs to be adjusted.
Commits
-------
6822774d37 [Validator] Merge RecursiveValidatorTest with its parents.
This PR was merged into the 4.4 branch.
Discussion
----------
[Finder] Force set access time in test
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no, it only updates the tests
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38942
| License | MIT
| Doc PR |
OSX don't really update atime (access time). They claim it is because performance reasons. So this PR will update the test to make PHP force access time on a file.
The different runs of `testAccept` depends on each other because each test modifies the filesystem a bit. That is why I added the extra `sleep(1)`.
Commits
-------
c5ec51abdf [Finder] Force set access time in test
This PR was merged into the 4.4 branch.
Discussion
----------
Fix transiant tests in 4.4
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
I noticed this week 2 currencies of this failure. in both case the `METADATA_EXPIRY` were 1.5 sec under the expected value
Commits
-------
833029ca7e Fix transiant tests in 4.4
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[Form] Add missing Azerbaijani translation
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Part of #38725 and #38710
| License | MIT
| Doc PR | N/A
Commits
-------
142cfeed55 [Form] Add missing Azerbaijani translation
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
Missing translations for Catalan (ca)
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38731
| License | MIT
| Doc PR | symfony/symfony-docs#... <!-- required for new features -->
<!--
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.
-->
Commits
-------
6efa4ed777 Missing translations for Catalan (ca)
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
fix: updating translation issues
| Q | A
| ------------- | ---
| Branch? | 5.x for features / 4.4 or 5.1 for bug fixes <!-- see below -->
| Bug fix? | yes/no
| New feature? | yes/no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | yes/no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets | Fix #... <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License | MIT
| Doc PR | symfony/symfony-docs#... <!-- required for new features -->
<!--
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.
-->
Commits
-------
b39ff818ca fix: updating translation issues