This PR was merged into the 4.4 branch.
Discussion
----------
[Serializer] Exclude non-initialized properties accessed with getters
| 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 -->
| Tickets | no <!-- 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 -->
Allow to serialize
```php
final class Php74DummyPrivate
{
private string $uninitializedProperty;
private string $initializedProperty = 'defaultValue';
public function getUninitializedProperty(): string
{
return $this->uninitializedProperty;
}
public function getInitializedProperty(): string
{
return $this->initializedProperty;
}
}
```
Similar to #34791
Commits
-------
da9100320e Exclude non-initialized properties accessed with getters
This PR was merged into the 4.4 branch.
Discussion
----------
[Serializer] Fix tests wrongly marked as incomplete
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
https://github.com/symfony/symfony/pull/30907 has been merged meanwhile.
Commits
-------
e632302004 [Serializer] Fix tests marked as incomplete
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[Translator] fix handling plural for floating numbers
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#30215
| License | MIT
Commits
-------
533cd7ef6c [Translator] fix handling plural for floating numbers
This PR was merged into the 4.4 branch.
Discussion
----------
[HttpKernel] Configure the ErrorHandler even when it is overriden
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Fixes the part of https://github.com/getsentry/sentry-symfony/issues/421 that is about `DebugHandlersListener`.
Commits
-------
31817b48e2 [HttpKernel] Configure the ErrorHandler even when it is overriden
This PR was merged into the 4.4 branch.
Discussion
----------
[Console] [Command] Fix Closure code binding when it is a static anonymous function
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
I'm building a single command application and I did:
```php
->setCode(static function (InputInterface $input, OutputInterface $output): void {
// my code
})
```
and it results in a warning `Cannot bind an instance to a static closure` + an exception `You must override the execute() method in the concrete command class.` I guess we should silently fail here if the Closure is not bindable.
Commits
-------
18d426871e [Console][Command] Fix Closure code binding when it is a static anonymous function
This PR was merged into the 4.4 branch.
Discussion
----------
[DoctrineBridge] Add username to UserNameNotFoundException
| 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 -->
| Tickets | Fix#39878 <!-- 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.
-->
Adds username to UserNameNotFoundException when thrown from EntityUserProvider.
In other places there are no tests for this and I am not sure if the current setup even allows asserting if exceptions contain fields, besides the default ones.
Commits
-------
ee5b51af78 bug symfony/symfony#39878 [doctrine-bridge] Add username to UserNameNotFoundException
This PR was merged into the 4.4 branch.
Discussion
----------
[Translator] Added $translator->addLoader() to README example
For the example to work it needs the line with $translator->addLoader().
Fixed it for request at https://github.com/symfony/symfony/issues/39854#issuecomment-762283989
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| 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
-------
ba29d2a2f0 Added $translator->addLoader()
This PR was merged into the 4.4 branch.
Discussion
----------
[DependencyInjection] Skip deprecated definitions in CheckTypeDeclarationsPass
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
When a definition uses a deprecated class , `CheckTypeDeclarationsPass` (with `$autoload = true`) will autoload the class, which triggers a deprecation notice. That breaks the CI in #39802 because the compiler pass is registered inside the SecurityBundle test suite.
I propose to stop checking deprecated definitions. Makes sense?
Commits
-------
531c81a06e [DI] Skip deprecated definitions in CheckTypeDeclarationsPass
This PR was merged into the 4.4 branch.
Discussion
----------
[travis] use PHP 8.0 to patch return types and run deps=low
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
(I need to verify that DebugClassLoader works as expected before merging)
Commits
-------
7f5ea78fb8 [travis] use PHP 8.0 to patch return types and run deps=low
This PR was merged into the 4.4 branch.
Discussion
----------
[DependencyInjection] Don't trigger notice for deprecated aliases pointing to deprecated definitions
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Defining an alias that points to a deprecated definition should trigger a deprecation notice, but when the alias itself is deprecated, it should not trigger.
Commits
-------
38f98a1165 Don't trigger deprecation for deprecated aliases pointing to deprecated definitions
This PR was merged into the 4.4 branch.
Discussion
----------
[Config] Add \Symfony\Component\Config\Loader::load() return type
| 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 -->
| Tickets | Fix https://github.com/symfony/symfony/issues/39761 <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| 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.
-->
`Symfony\Component\Config\Loader::load()` is missing return type, added it for consistency and static analysis purposes.
Commits
-------
fec66e61c8 [Config] Add \Symfony\Component\Config\Loader::load() return type
This PR was merged into the 4.4 branch.
Discussion
----------
[HttpFoundation] use atomic writes in MockFileSessionStorage
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39167
| License | MIT
| Doc PR | -
Instead of #39808
Commits
-------
5290e978bd [HttpFoundation] use atomic writes in MockFileSessionStorage
This PR was merged into the 4.4 branch.
Discussion
----------
[Serializer] Rename normalize param
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| License | MIT
The ProblemNormalizer is the only one Normalizer which
- Use a different param name `$exception` instead of the one in the interface `$object`.
- Doesn't type check the param.
The first point lead to an unfixable error with Psalm when extending the ProblemNormalizer
- If the variable is named `$object` it does not match with the parent
- If the variable is named `$exception` it does not match with the interface
Commits
-------
7e6eee2789 Rename normalize param
This PR was merged into the 4.4 branch.
Discussion
----------
Dont allow unserializing classes with a destructor
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Prevent destructors with side-effects from being unserialized
Commits
-------
facc095944 Dont allow unserializing classes with a destructor
This PR was merged into the 4.4 branch.
Discussion
----------
[Mailer] Fix missing BCC recipients in SES bridge
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#36333
| License | MIT
| Doc PR | -
When using the `ses` (alias of `ses+https`) scheme, the bridge send the RawEmail to AWS.
But RawEmails does not contains the BCC recipients.
This PR adds the envelope's recipients to the list of Destinations in Amazon SES payload.
Commits
-------
1cfc763018 Fix missing BCC recipients in SES bridge
This PR was merged into the 4.4 branch.
Discussion
----------
[Yaml] a colon followed by spaces exclusively separates mapping keys and values
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix https://github.com/symfony/symfony/pull/39769#issuecomment-757540072
| License | MIT
| Doc PR |
Commits
-------
f72c6a5ad4 a colon followed by spaces exclusively separates mapping keys and values
This PR was merged into the 4.4 branch.
Discussion
----------
[Cache] fix possible collision when writing tmp file in filesystem adapter
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39786
| License | MIT
| Doc PR | -
Commits
-------
340d15e400 [Cache] fix possible collision when writing tmp file in filesystem adapter
This PR was merged into the 4.4 branch.
Discussion
----------
Dont allow unserializing classes with a destructor - 4.4
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Prevent destructors with side-effects from being unserialized
Commits
-------
955395c999 Dont allow unserializing classes with a destructor - 4.4
This PR was merged into the 4.4 branch.
Discussion
----------
[WIP] Use ::class keyword when possible
| Q | A
| ------------- | ---
| Branch? | 4.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
Commits
-------
036a36cb14 Use ::class keyword when possible
This PR was merged into the 4.4 branch.
Discussion
----------
Improve composer.json descriptions
| Q | A
| ------------- | ---
| Branch? | 4.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 | Refs #39768 <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License | MIT
| Doc PR | n/a
Commits
-------
611a2dfaf3 Improve composer.json descriptions
This PR was merged into the 4.4 branch.
Discussion
----------
[Form] Update AbstractType.php
Switched from parent type hard-coded FQCN to `::class` keyword.
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
Commits
-------
ff13967545 Switched from parent type hard-coded FQCN to `::class` keyword.
This PR was merged into the 4.4 branch.
Discussion
----------
[DependencyInjection] Support PHP 8 builtin types in CheckTypeDeclarationsPass
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | N/A
| License | MIT
| Doc PR | N/A
`CheckTypeDeclarationsPass` currently explodes if it encounters one of following the new builtin types of PHP 8:
* `false` (can only appear as part of a union)
* `mixed` (we don't need to check anything)
In either case, the pass will try to call a method `is_false()`/`is_mixed()` and fail.
This PR should fix both cases.
Commits
-------
f16230be5d [DependencyInjection] Support PHP 8 builtin types in CheckTypeDeclarationsPass
This PR was merged into the 4.4 branch.
Discussion
----------
[VarDumper] fix mutating $GLOBALS while cloning it
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39679
| License | MIT
| Doc PR | -
Also preparing for https://wiki.php.net/rfc/restrict_globals_usage
Commits
-------
384b0adf38 [VarDumper] fix mutating $GLOBALS while cloning it
This PR was merged into the 4.4 branch.
Discussion
----------
make some time dependent tests more resilient
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
Commits
-------
a33850e838 make some time dependent tests more resilient
This PR was merged into the 4.4 branch.
Discussion
----------
[DependencyInjection] do not break when loading schemas from network paths on Windows
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#24090
| License | MIT
| Doc PR |
Commits
-------
acbafe889d do not break when loading schemas from network paths on Windows
This PR was merged into the 4.4 branch.
Discussion
----------
[Finder] apply the sort callback on the whole search result
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#34879
| License | MIT
| Doc PR |
Commits
-------
126105146f apply the sort callback on the whole search result
This PR was merged into the 4.4 branch.
Discussion
----------
[DomCrawler] fix tests to run assertions on returned Crawler instances
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
Commits
-------
1d0c91629a fix tests to run assertions on returned Crawler instances
This PR was merged into the 4.4 branch.
Discussion
----------
[Finder] actually compare the order of entries when any sorting is applied
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
Without this change the tests where still passing if the sorting didn't work as expected. There are three more tests that sort by file times. I do not really know how to make them more stable though.
Commits
-------
f1ed653eee actually compare the order of entries when any sorting is applied
This PR was merged into the 4.4 branch.
Discussion
----------
[Form] disable error bubbling by default when inherit_data is configured
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#14441
| License | MIT
| Doc PR |
Commits
-------
8679c2ac05 disable error bubbling by default when inherit_data is configured
This PR was merged into the 4.4 branch.
Discussion
----------
[Yaml] do not dump extra trailing newlines for multiline blocks
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38310
| License | MIT
| Doc PR |
Commits
-------
5fa9592d5e do not dump extra trailing newlines for multiline blocks