This PR was merged into the 4.4 branch.
Discussion
----------
[Finder] mark the LazyIterator class as internal
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | https://github.com/symfony/symfony/pull/40040#discussion_r575127254
| License | MIT
| Doc PR |
Commits
-------
4a2c996b95 mark the LazyIterator class as internal
This PR was squashed before being merged into the 5.2 branch.
Discussion
----------
[HttpFoundation] Fix typo in exception message
| Q | A
| ------------- | ---
| Branch? | 5.2 for bug fixes
| Bug fix? | yes
| New feature? | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets | - <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License | MIT
| Doc PR | - <!-- 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.
- Changelog entry should follow https://symfony.com/doc/current/contributing/code/conventions.html#writing-a-changelog-entry
-->
Commits
-------
2248af5857 [HttpFoundation] Fix typo in exception message
* 4.4:
add missing return type declaration
Modernize func_get_args() calls to variadic parameters
Use a lazyintertor to close files descriptors when no longer used
This PR was merged into the 4.4 branch.
Discussion
----------
[Finder] add missing return type declaration
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
should make builds green again
Commits
-------
cfce9cbd59 add missing return type declaration
This PR was merged into the 4.4 branch.
Discussion
----------
[Finder] Use a lazyIterator to close files descriptors when no longer used
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | fix#35508
| License | MIT
| Doc PR | -
The `RecursiveDirectoryIterator` class open the file on `__construct`.
Because we Inject an instance of `RecursiveDirectoryIterator` inside the \AppendIterator` class, php opens a lot of file even before iterating on it.
This PR adds a new `LazyIterator` class that instantiate the decorated class only when something starts iterating on it.
When the iteration is over, it unset the variable to close let the decorated class clean things (ie. close the files)
Commits
-------
7117e1a798 Use a lazyintertor to close files descriptors when no longer used
This PR was merged into the 4.4 branch.
Discussion
----------
Modernize func_get_args() calls to variadic parameters
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | N/A
| License | MIT
| Doc PR | N/A
While reviewing #40143, I stumbled across the `Filesystem::box()` method and I felt like we could make the code look a little less PHP5-ish.
Commits
-------
5b536131f7 Modernize func_get_args() calls to variadic parameters
This PR was squashed before being merged into the 5.2 branch.
Discussion
----------
[RateLimiter] Fix sliding_window misbehaving with stale records
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Currently the SlidingWindow RateLimiter returns a negative value for getHitCount if the previous SlidingWindow was too long ago. This results in a really high value from `SlidingWindowLimiter::getAvailableTokens()` which is higher than the configured limit.
This limits the value of percentOfCurrentTimeframe in `SlidingWindow::getHitCount()` to 1 so it can't result in a negative hitcount.
The 2nd fix fixes the SlidingWindow instance (essentially) not storing hits if the previous instance is way in the past, as the next instance will still be "in the past". This causes RateLimit to behave as if it were disabled until it has caught up again, which could take a long time when it is configured with a small window size.
Commits
-------
57033164c6 [RateLimiter] Fix sliding_window misbehaving with stale records
This PR was merged into the 4.4 branch.
Discussion
----------
Re-enable triggering deprecations about return types
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Now that the three PRs linked in #40066 are merged, we can re-enable this check.
Commits
-------
01ac9b1990 Re-enable triggering deprecations about return types
* 4.4:
[HttpKernel] fix transient test
[FrameworkBundle] Fix freshness checks with boolean parameters on routes
[FrameworkBundle] fix registering "annotations.cache" on the "container.hot_path"
Add some information about the username in CONTRIBUTORS
This PR was merged into the 4.4 branch.
Discussion
----------
[HttpKernel] fix transient test
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Commits
-------
db66fb5838 [HttpKernel] fix transient test
This PR was merged into the 4.4 branch.
Discussion
----------
[FrameworkBundle] fix registering "annotations.cache" on the "container.hot_path"
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Because `annotations.cache` is registered in a quite special way (see #25696), `ResolveHotPathPass` cannot propagate the `container.hot_path` tag to it.
Let's add the tag explicitly since this service is always on the hot path anyway.
Spotted with Blackfire.io as usual.
Commits
-------
e196c1ecb3 [FrameworkBundle] fix registering "annotations.cache" on the "container.hot_path"
This PR was merged into the 5.2 branch.
Discussion
----------
[Form] merge translation parameters with value configured for parent form
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39874
| License | MIT
| Doc PR |
Commits
-------
3de453c368 merge translation parameters with value configured for parent form
This PR was merged into the 5.2 branch.
Discussion
----------
Fix kafka tests
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Fix github-actions tests with kafka.
I'm not sure why (probably a change in github actions), but localhost resolves to ipv6 which is breaks our testing setup
Commits
-------
8d6c64dcde Fix kafka tests
This PR was merged into the 5.2 branch.
Discussion
----------
Always autoload string functions on symfony/symfony
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Autoloading these functions only in dev make them undefined for projects still using symfony/symfony, which causes troubles when upgrading to 5.2 (e.g. easyadmin uses `u()`).
Commits
-------
b3ca21c4ba Always autoload string functions on symfony/symfony
This PR was merged into the 4.4 branch.
Discussion
----------
Provide implemented packages of replaced dependencies
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| License | MIT
The meta package symfony/symfony does not provide the virtual packages of the dependencies it replaces.
Composer does not pick it as a candidate to replace those packages if the implement such a package/interface.
See https://github.com/composer/composer/issues/9643, https://github.com/composer/composer/issues/9666
Commits
-------
57d9a818bb Provide implemented packages of replaced dependencies