This PR was squashed before being merged into the 3.4 branch.
Discussion
----------
DateTime validator support for trailing data
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#37094
| License | MIT
Commits
-------
27f6e28f5b DateTime validator support for trailing data
This PR was merged into the 3.4 branch.
Discussion
----------
[Debug] Skip a test that was meant for HHVM
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | #36872
| License | MIT
| Doc PR | N/A
This PR skips a test that fails on php 8. If I read the test correctly, it is meant to run on HHVM, so I assumed it's save to skip it if we're on PHP.
Commits
-------
bf62a4d622 [Debug] Skip a test that was meant for HHVM.
This PR was submitted for the 4.4 branch but it was merged into the 3.4 branch instead.
Discussion
----------
[Console] guard $argv + $token against null, preventing unnecessary exceptions
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| Tickets | Fix https://github.com/symfony/symfony/issues/38105
| License | MIT
This issue was causing an unnecessary exception, leading to difficulty in locating the actual offending code as reported by many cases as detailed in #38105
Commits
-------
dbe335d9be guard $argv + $token against null, preventing unnecessary exceptions
This PR was merged into the 3.4 branch.
Discussion
----------
Prevent parsing invalid octal digits as octal numbers
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Values starting with `0` but containing `8` or `9` such as `0123456789` are not valid octal numbers, therefore they should be parsed as regular strings. This is consistent with how other invalid octal values are parsed, e.g. `01234567ab` already gets parsed as the string `"01234567ab"`.
Commits
-------
c7dcd82f03 Prevent parsing invalid octal digits as octal numbers
This PR was submitted for the 4.4 branch but it was merged into the 3.4 branch instead.
Discussion
----------
[Console] Make sure $maxAttempts is an int or null
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | #36872
| License | MIT
| Doc PR | N/A
The behavior of the "less than" operator for mixed types has changed in php 8. It is now possible to call `setMaxAttempts()` with a random string without raising the expected `InvalidArgumentException`. I've added an explicit type cast in order to restore the previous behavior.
Commits
-------
4fcd4916ed [Console] Make sure $maxAttempts is an int or null.
This PR was merged into the 3.4 branch.
Discussion
----------
[VarDumper] Fix caster for invalid SplFileInfo objects on php 8
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | #36872
| License | MIT
| Doc PR | N/A
The behavior of uninitialized `SplFileInfo` classes has changed in php 8: https://3v4l.org/s4c4O
* `getPathname()` won't return `false` anymore.
* The error raised by most accessors is now recoverable. On php 7, it's fatal.
This PR adjusts the caster for those objects to the new behavior.
Commits
-------
ab45e2aaae [VarDumper] Fix caster for invalid SplFileInfo objects on php 8.
This PR was merged into the 3.4 branch.
Discussion
----------
[PhpUnitBridge] Adjust output parsing of CoverageListenerTrait for PHPUnit 9.3
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | #37637, #37564
| License | MIT
| Doc PR | N/A
This PR makes `CoverageListenerTrait` pass with PHPUnit 9.3. It contains a backport of #38054.
The problem that is addressed here is that a one of the fixture classes is now included in the output despite having a coverage of zero. The test now accepts both cases:
* The class is omitted from the output
* The class appears with 0.00% coverage.
Commits
-------
a3831dc0f2 [PhpUnitBridge] Adjust output parsing for PHPUnit 9.3.
99c98bd716 [PhpUnitBridge] CoverageListenerTrait update for PHPUnit 8.5/9.x
This PR was merged into the 3.4 branch.
Discussion
----------
[Intl] Skip test cases that produce a TypeError on php 8
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | #36872
| License | MIT
| Doc PR | N/A
On php 8, `NumberFormatter::setAttribute()` will throw a type error if the provided value is not of type `int|float`. This is why I'm skipping the corresponding tests for now. Alternatively, we could check for the PHP version in Symfony's implementation of that class and throw the `TypeError` as well, if we're on php 8. But since this is a breaking change, I'm was unsure if I sould go that way.
Commits
-------
7f1055b97c [Intl] Skip test cases that produce a TypeError on php 8.
This PR was merged into the 3.4 branch.
Discussion
----------
[Validator] Add Bosnian (BS) translation
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#30275
| License | MIT
| Doc PR | none
<!--
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 master.
-->
Commits
-------
dd44563004 add bosnian (bs) translation
This PR was merged into the 3.4 branch.
Discussion
----------
[Debug] Parse "x not found" errors correctly on php 8
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Part of #36872
| License | MIT
| Doc PR | N/A
PHP 8 uses double quotes instead of single ones in error messages. This PR teaches `ClassNotFoundFatalErrorHandler` to parse the new format.
Depends on composer/composer#9183
Commits
-------
275496a1f4 [Debug] Parse "x not found" errors correctly on php 8.
This PR was merged into the 3.4 branch.
Discussion
----------
[Console] Fix undefined index for inconsistent command name definition
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fixes#38015
| License | MIT
| Doc PR | -
The issue happens when the command name is set via construct/setName() and is routed via a command loader under a different name, which causes `Application::get(): Command` to return null (return type violation) with a notice. This makes it throws a proper CommandNotFoundException as expected.
Commits
-------
d59140e857 Fix undefined index for inconsistent command name definition
This PR was merged into the 3.4 branch.
Discussion
----------
Backport: Improve link script with rollback when using symlink
| Q | A
| ------------- | ---
| Branch? | 3.4 <!-- see below -->
| Bug fix? | no
| New feature? | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets | N/A <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License | MIT
| Doc PR | N/A
Backports #37915 to 3.4.
Even if it's a new feature, it's a contributors tool that can be used for any version to try out.
Commits
-------
ab92e9f4c3 Backport: Improve link script with rollback when using symlink
This PR was submitted for the master branch but it was merged into the 3.4 branch instead.
Discussion
----------
[Yaml] fix more numeric cases changing in PHP 8
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | 968ffcfa65 (r41697638)
| License | MIT
| Doc PR |
see also https://wiki.php.net/rfc/saner-numeric-strings
Commits
-------
7cd5106041 fix more numeric cases changing in PHP 8
This PR was merged into the 3.4 branch.
Discussion
----------
[ExpressionLanguage] fix passing arguments to call_user_func_array() on PHP 8
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
Commits
-------
a55ce7c8bb fix passing arguments to call_user_func_array() on PHP 8
This PR was merged into the 3.4 branch.
Discussion
----------
[Filesystem] fix test on PHP 8
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
Commits
-------
c08178978a [Filesystem] fix test on PHP 8