This PR was merged into the 4.4 branch.
Discussion
----------
[Form] Document null support in NumberToLocalizedStringTransformer
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | N/A
| License | MIT
| Doc PR | N/A
`Symfony\Component\Form\Extension\Core\DataTransformer\NumberToLocalizedStringTransformer` explicitly checks for and returns nulls but these aren't documented in the class' doc blocks, which causes static analysis tools to report a false positive when checking for these null values elsewhere. This adds the missing null types to the doc blocks.
Commits
-------
1fda3d0284 Document null support in NumberToLocalizedStringTransformer
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[HttpFoundation] Add ReturnTypeWillChange to SessionHandlers
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | maybe?
| Tickets |
| 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.
- Changelog entry should follow https://symfony.com/doc/current/contributing/code/conventions.html#writing-a-changelog-entry
-->
This adds `#[ReturnTypeWillChange]` annotations for `SessionHandler` methods to satisfy the [Tentative Return Types RFC](https://wiki.php.net/rfc/internal_method_return_types). This doesn't cover all classes (e.g. `MockPdo` is also affected), just the ones relating to `SessionHandler` etc.
It's worth noting that the `gc()` method is spec'd as `int|false` on our side, so I've updated type hints accordingly. The method used to return bool prior to PHP 7.1.
Commits
-------
8954b4f922 [HttpFoundation] Add ReturnTypeWillChange to SessionHandlers
This PR was submitted for the 5.2 branch but it was squashed and merged into the 4.4 branch instead.
Discussion
----------
[Form] Use !isset for checks cause this doesn't falsely include 0
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#40999
| License | MIT
By using isset 0 won't falsely included anymore
Commits
-------
cd541c5a63 [Form] Use !isset for checks cause this doesn't falsely include 0
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[Mailer] Fix typo in README
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
Commits
-------
14f2a2974c [Mailer] Fix typo in README
This PR was submitted for the 6.0 branch but it was merged into the 4.4 branch instead.
Discussion
----------
[VarDumper] fix tests
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Fixing VarDumper on appveyor hopefully.
Commits
-------
bdf3222c60 [VarDumper] fix tests
This PR was merged into the 4.4 branch.
Discussion
----------
[DependencyInjection] keep container.service_subscriber tag on the decorated definition
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
Commits
-------
b917fafc8d keep container.service_subscriber tag on the decorated definition
This PR was merged into the 4.4 branch.
Discussion
----------
[Filesystem] fix readlink() for Windows
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
**How to reproduce**
Windows 10.0.19042.928, PHP 8.0.3, PHPUnit 9.5.4
run as Administrator
C:\php\php.exe ./phpunit --bootstrap ./vendor/autoload.php --configuration ./phpunit.xml.dist ./src/Symfony/Component/Filesystem/Tests
There were 2 failures:
1) Symfony\Component\Filesystem\Tests\FilesystemTest::testRemoveCleansInvalidLinks
Failed asserting that 'C:\Users\albat\AppData\Local\Temp\1618836823.005.2057903605\directory\dir\' is false.
D:\Z__PHP_PROJECT\symfony\src\Symfony\Component\Filesystem\Tests\FilesystemTest.php:379
2) Symfony\Component\Filesystem\Tests\FilesystemTest::testReadAbsoluteLink
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-'C:\Users\albat\AppData\Local\Temp\1618836823.1681.131301953\dir\link'
+'C:\Users\albat\AppData\Local\Temp\1618836823.1681.131301953\file'
Commits
-------
f1b95d3c93 [Filesystem] fix readlink for Windows
This PR was merged into the 4.4 branch.
Discussion
----------
[HttpKernel] Fixes file_get_content in HttpCache's Store for PHP7.4+
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
While trying to get 6.0 branch tests green, I encountered an error on multiple HttpKernel tests.
After investigating, it comes from the file_get_contents in the load method of the Store class from HttpCache. For obscure reasons, some calls are in errors and the content can't be read for "permission denied".
This is happening only on PHP 7.4.0+ (and that explains why the tests are green on the branch 5.4 as it runs php 7.2), adding the `@` error suppressor fixes this.
Commits
-------
c3ac11cc64 [HttpKernel] Fixes tests for PHP7.4+
This PR was merged into the 4.4 branch.
Discussion
----------
Fix markdown in README files
| 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 -->
| 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 -->
I would up merge it and fix the upper branches while upmerging or via separate PR's, whatever is prefered
Commits
-------
ad0890c604 Fix markdown
This PR was merged into the 4.4 branch.
Discussion
----------
[Form] fix support for years outside of the 32b range on x86 arch
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Commits
-------
2353f19cc2 [Form] fix support for years outside of the 32b range on x86 arch
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[Messenger] Fix merging PrototypedArrayNode associative values
Now keys will not be considered as irrelevant.
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39846, fix#36874
| License | MIT
| Doc PR |
The problem was because in ConfigTree `options` are defined as `arrayNode` and has a `prototype('variable')`. So for combining config together `PrototypedArrayNode::mergeValues()` was called. And there was a trouble - for that `PrototypedArrayNode` `$rightSide` values were added without keys:
`\Symfony\Component\Config\Definition\PrototypedArrayNode::mergeValues`
```php
foreach ($rightSide as $k => $v) {
// prototype, and key is irrelevant, append the element
if (null === $this->keyAttribute) {
$leftSide[] = $v;
continue;
}
```
Commits
-------
11128c9c0b [Messenger] Fix merging PrototypedArrayNode associative values
This PR was merged into the 4.4 branch.
Discussion
----------
[WebProfilerBundle] Wrapping exception js in Sfjs check and also loading base_js Sfjs if needed
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#41305
| License | MIT
| Doc PR | Not needed
This bug was introduced in #41168.
Best viewed with: https://github.com/symfony/symfony/pull/41346/files?w=1 - we could also remove the new indentation in `exception.js`.
In that PR, we innocently don't reload `Sfjs` if it doesn't exist. However, on an error page, that template ALSO adds an `Sfjs`, and that `Sfjs` is *smaller* - containing only a subset of the `Sfjs` functions. This is tricky, but this PR fixes it.
Here are the various situations:
1) I hit an exception page. The `Sfjs` from `exception.js` is loaded first. This adds the smaller `Sfjs`. Then the `base_js.html.twig` version is hit. Because `Sfjs` is missing the `loadToolbar()` method, that code DOES run again to reinitialize it.
2) I am on a normal page, then travel to an exception page with Turbo. In this case, the original `Sfjs` from `base_js.html.twig` was processed. Then, on the exception page, the `Sfjs` from `exception.js` is ignored, as is the 2nd execution of `base_js.html.twig`.
Overall, the JS could use some work for supporting things like Turbo (e.g. `DOMContentLoaded` doesn't work with Turbo, so the exception page JS is broken). But I wanted to focus on fixing the bug in this PR.
As a reminder, #41168 (avoiding overriding `Sfjs`) was done to help with the AJAX toolbar and Turbo - it's explained in point (1) on #41168.
Cheers!
Commits
-------
5fa42f11f3 Wrapping exception js in Sfjs check and also loading base_js Sfjs if needed
This PR was merged into the 4.4 branch.
Discussion
----------
[FrameworkBundle] Return early
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | https://github.com/symfony/symfony/pull/41295#discussion_r636346945
| License | MIT
| Doc PR | N/A
Commits
-------
b6c8aa5b68 [FrameworkBundle] Return early
This PR was merged into the 4.4 branch.
Discussion
----------
doctrine/doctrine-bundle should not be a dep
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Commits
-------
e006eaf26a doctrine/doctrine-bundle should not be a dep
This PR was merged into the 4.4 branch.
Discussion
----------
Improve .travis.yml
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Follow up of #41293
- For the highest branch (6.0 right now), when deps=high, the version before it is checked out (5.4) and tested with the locally patched components (6.0)
- For `*.4` branches, aka when the current branch version has not the same major version number as the next one, in addition to testing with the next major as deps (6.0 deps on patched-5.4), we also checkout the previous major and test it with the locally patched components (aka patched-5.4 deps on 4.4).
Commits
-------
2620da26dc Improve .travis.yml
This PR was merged into the 4.4 branch.
Discussion
----------
Remove always-true requirement
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
This requirement is always true for our version constraint
Commits
-------
5783800e8f Remove always-true requirement
This PR was merged into the 4.4 branch.
Discussion
----------
Add 5.3 in github PR template
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Right time now :)
Commits
-------
327014b104 Add 5.3 in github PR template
This PR was merged into the 4.4 branch.
Discussion
----------
[Security] Added missing translations for Serbian (sr_Latn)
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#41066
| License | MIT
| Doc PR |
Added 2 missing translations for Serbian (sr_Latn).
Commits
-------
ce31fc3643 [Security] Added missing translations for Serbian (sr_Latn) #41066