This PR was submitted for the 5.x branch but it was merged into the 4.4 branch instead.
Discussion
----------
Update PULL_REQUEST_TEMPLATE.md
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | See https://github.com/symfony/symfony/pull/40097#discussion_r570521793
| License | MIT
| Doc PR | Doc introduced in https://github.com/symfony/symfony-docs/pull/14830
ping @OskarStark do you think this can be valuable here? as this file is the entry point of all PRs
Commits
-------
41c7796552 Update PULL_REQUEST_TEMPLATE.md
This PR was submitted for the 5.2 branch but it was squashed and merged into the 4.4 branch instead.
Discussion
----------
[Mailer][Mime] Update inline part names with newly generated ContentId
Inline parts are identified by matching attachment names to cids found in the html part. In line 487 cids are regenerated and replaced in the html part, but the attachment names were not similarly replaced.
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| License | MIT
Commits
-------
eb14a1e1f0 [Mailer][Mime] Update inline part names with newly generated ContentId
This PR was merged into the 4.4 branch.
Discussion
----------
[HttpFoundation] Setting `REQUEST_TIME_FLOAT` when constructing a Request object
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38019
| License | MIT
| Doc PR | -
When creating a new Request object `REQUEST_TIME_FLOAT` was not set by default.
Replaces broken 39952 PR :(
Commits
-------
c52c1e0b9b [HttpFoundation] Setting `REQUEST_TIME_FLOAT` when constructing a Request object
This PR was merged into the 4.4 branch.
Discussion
----------
Allow psr/cache v2
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
https://github.com/php-fig/cache/releases/tag/2.0.0
See also https://github.com/php-fig/cache/pull/25
If Symfony 6, if we decide to add return types, we might want to bump this to `^2.0|^3.0`.
Commits
-------
00d3a0ffcb Allow psr/cache v2
This PR was merged into the 4.4 branch.
Discussion
----------
[SecurityBundle] role_names variable instead of roles
replaced the roles variable with role_names in order to fix cache warming
introduced @ d64372df8c
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#40087
| License | MIT
| Doc PR | symfony/symfony-docs#14923
Commits
-------
58bb614abd [SecurityBundle] role_names variable instead of roles
This PR was merged into the 4.4 branch.
Discussion
----------
[Doctrine] Restore priority for EventSubscribers
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | fix#40031
| License | MIT
| Doc PR | -
Since #39990, lazy subscribers are called AFTER listeners (which is the opposite of previous implementation).
This PR restore the previous behavior.
Note: ordered subscribers is implemented in #39978 but is considered as a new feature.
Commits
-------
94eac1b83f Restore priority for eventSubscribers
This PR was merged into the 4.4 branch.
Discussion
----------
[ErrorHandler] fix parsing return types in DebugClassLoader
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
In 5.3, we might want to make `SYMFONY_PATCH_TYPE_DECLARATIONS=deprecations=1` the default, so that ppl know when they're missing some return types when they inherit some classes from vendors. This would fix https://github.com/orgs/symfony/projects/1#card-30856423
On 4.4, we have to disable this mode of reporting until these PRs are merged:
- https://github.com/twigphp/Twig/pull/3481
- https://github.com/doctrine/collections/pull/269
- https://github.com/predis/predis/pull/678
Commits
-------
58e32b3c2a [ErrorHandler] fix parsing return types in DebugClassLoader
This PR was merged into the 4.4 branch.
Discussion
----------
[ErrorHandler] fix handling messages with null bytes from anonymous classes
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
PHP truncates error messages at null bytes before calling userland error handlers (known behavior in PHP, marked as "won't fix".)
This doesn't play well with anonymous classes.
This PR works around the issue by getting the message from the stack trace.
Commits
-------
ac94746dc7 [ErrorHandler] fix handling messages with null bytes from anonymous classes
This PR was merged into the 4.4 branch.
Discussion
----------
[PhpUnitBridge] fix reporting deprecations when they come from DebugClassLoader
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Best reviewed [ignoring whitespaces](https://github.com/symfony/symfony/pull/40067/files?w=1).
Commits
-------
6a4312deac [PhpUnitBridge] fix reporting deprecations when they come from DebugClassLoader
This PR was merged into the 4.4 branch.
Discussion
----------
fix validator when we have false returned by the current element of the iterator
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#40057
| License | MIT
Commits
-------
a9e9359581 fix validator when we have a false current element
This PR was merged into the 4.4 branch.
Discussion
----------
Streamline dataproviders
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | ---
No need to create extra PR's on other branches, no more occurrences 👍
Commits
-------
025079b051 Streamline dataproviders
This PR was merged into the 4.4 branch.
Discussion
----------
[Mime] Fix case-sensitive handling of header names
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39953
| License | MIT
| Doc PR | -
Fixes case-sensitive handling of header names in "Mailer" component, more in the [ticket](https://github.com/symfony/symfony/issues/39953) and the [root PR](https://github.com/symfony/symfony/pull/39954).
Commits
-------
b2d7454042 [Mime] Fix case-sensitive handling in Headers::isUniqueHeader()
This PR was merged into the 4.4 branch.
Discussion
----------
[Console] Fix console logger according to PSR-3
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39050, #29138
| License | MIT
`Symfony\Component\HttpKernel\EventListener\ErrorListener` logs non-HTTP exceptions at `LogLevel::CRITICAL`.
`Symfony\Component\Messenger\Worker` logs unrecoverable exceptions at `LogLevel::CRITICAL`.
`Symfony\Component\Console\EventListener\ErrorListener` logs exceptions at `LogLevel::ERROR`.
As per PSR-3, unexpected and unrecoverable exceptions should be logged at `LogLevel::CRITICAL`.
Commits
-------
69fcd075eb Fix console logger according to PSR-3
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
Use createMock() instead of a getter
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | ---
Before I go on, are you interested in such change @nicolas-grekas ?
Commits
-------
9629dafa66 Use createMock() instead of a getter
This PR was merged into the 4.4 branch.
Discussion
----------
[Finder] use proper keys to not override appended files
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#40022
| License | MIT
| Doc PR |
Commits
-------
036c8d71fd use proper keys to not override appended files
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[ErrorHandler] Fix strpos error when trying to call a method without a name
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | None (direct fix)
| 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 5.x.
-->
When running the following code:
```php
class Foo
{
// Some code here
}
$str = ''; // this should not happen, but for some reason, it did.
$foo->{$str}();
```
a fatal error occurs because the method name to execute is empty, but Symfony's error enhancer fails to parse it:
![Error screenshot](https://user-images.githubusercontent.com/7600265/106108704-ec019b80-6148-11eb-82bc-f7801e30fea4.png)
In this PR, I propose a fix with a more clear error to inform the developer about what happened.
Commits
-------
66be87bffc [ErrorHandler] Fix strpos error when trying to call a method without a name
This PR was merged into the 4.4 branch.
Discussion
----------
[Serializer] Prevent access to private properties without getters
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
When upgrading `symfony/serializer` from `v5.2.1` to `v5.2.2`, the serializer starts throwing exceptions because it cannot access some private properties that don't have a getter. This looks related to #38900.
Commits
-------
f0409b403f [Serializer] Prevent access to private properties without getters
This PR was merged into the 4.4 branch.
Discussion
----------
Replace "branch-version" by "versions" in composer.json
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Accommodates for https://github.com/composer/composer/pull/9637
Commits
-------
b40e71f096 Replace "branch-version" by "versions" in composer.json
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
Use createMock() and use import instead of FQCN
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | ---
Commits
-------
e7e61ee551 Use createMock() and use import instead of FQCN