This PR was squashed before being merged into the 5.1 branch.
Discussion
----------
[Notifier] [OvhCloud] “Invalid signature” for message with slashes
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | yes
| New feature? | no
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets | Fix#39836 <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License | MIT
Test to show issue of invalid signature when message contains slash.
Commits
-------
9f01fb84b7 [Notifier] [OvhCloud] “Invalid signature” for message with slashes
This PR was merged into the 5.3-dev branch.
Discussion
----------
[Notifier] Fix HttpClient TransportException handling
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
Right now, when exceptions are coming from HttpClient component, we always assume that there is a response and use it to throw a Notifier's `TransportException`.
But with this approach, `TransportExceptionInterface` and `DecodingExceptionInterface` aren't handled properly because they aren't containing a response at all.
This PR fix the exception handling when such exceptions are thrown.
Commits
-------
bb32beb488 [Notifier] Fix HttpClient TransportException handle
This PR was merged into the 5.3-dev branch.
Discussion
----------
[Console] enable describing commands in ways that make the `list` command lazy
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | yes
| Deprecations? | no
| Tickets | Fix#33804
| License | MIT
| Doc PR | -
This PR improves the way one can describe a command so that the `list` command can be made lazy:
- when provided using the `$defaultName` property or the `console.command` tag, the name of a command is now exploded using the `|` character. The first name in the list defines the name of the command, the other ones its aliases. When the first name is the empty string, the second name is used instead, and the command is declared as hidden.
- a new `$defaultDescription` static property and a new `description` tag attribute allow for defining the commands' description while registering them.
Together, this is enough to make the `list` command lazy, because this command only accesses each command's name, aliases, hidden-status, and description.
On the implementation side, this PR adds a `LazyCommand` class that proxies regular commands to make them lazy for the target purpose.
This PR will enable support for attributes for configuring a command name+description+etc.
e.g. using the concepts in #39804:
`#[CommandAutoTag(name: 'foo:bar', desc: 'boo', hidden: true)]#`
The attribute could very well split the `hidden` and `aliases` settings apart - while the underlying code and pre-PHP8 apps would use the compact form, because dealing with many static properties + methods would be a maintenance pain imho.
Commits
-------
8a1a1b8171 [Console] enable describing commands in ways that make the `list` command lazy
This PR was merged into the 5.3-dev branch.
Discussion
----------
[Notifier] Add mercure bridge
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | yes
| Deprecations? | no
| Tickets | Fix#36481
| License | MIT
| Doc PR | https://github.com/symfony/symfony-docs/pull/14840
Add a Notifier bridge for Mercure.
In this PR, Mercure is considered as a chatter (I'm still wondering if it's the most appropriate type).
The first approach for the DSN is `mercure://jwtToken@host:port/hubPath?topic=/foo/1&secure=false` with:
- `topic` optional (defaults to `null`)
- `secure` optional (defaults to `true`)
I'm not sure about the current way to deal with http/https. Maybe we can just replace the `mercure` scheme by `http|https`?
The notification representation is following [Activity Streams](https://www.w3.org/TR/activitystreams-core/#jsonld)
#SymfonyHackday
Commits
-------
19c6544f42 [Notifier] Add mercure bridge
* 5.2:
[HttpFoundation] Drop int return type from parseFilesize()
Added $translator->addLoader()
bug symfony/symfony#39878 [doctrine-bridge] Add username to UserNameNotFoundException
[Uid] Clarify the format returned by getTime()
fix spelling
Add check for constant in Curl client
Revert #38614, add assert to avoid regression
Fix container injection with TypedReference
Fix problem when SYMFONY_PHPUNIT_VERSION is empty string value
Update PHP CS Fixer config to v2.18
* 5.1:
[HttpFoundation] Drop int return type from parseFilesize()
Added $translator->addLoader()
bug symfony/symfony#39878 [doctrine-bridge] Add username to UserNameNotFoundException
[Uid] Clarify the format returned by getTime()
fix spelling
Add check for constant in Curl client
Revert #38614, add assert to avoid regression
Fix container injection with TypedReference
Fix problem when SYMFONY_PHPUNIT_VERSION is empty string value
Update PHP CS Fixer config to v2.18
* 4.4:
[HttpFoundation] Drop int return type from parseFilesize()
Added $translator->addLoader()
bug symfony/symfony#39878 [doctrine-bridge] Add username to UserNameNotFoundException
fix spelling
Add check for constant in Curl client
Revert #38614, add assert to avoid regression
Fix problem when SYMFONY_PHPUNIT_VERSION is empty string value
Update PHP CS Fixer config to v2.18
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 5.3-dev branch.
Discussion
----------
[Form][Uid] Add UlidType and UuidType form types
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | yes
| Deprecations? | no
| Tickets | #36102
| License | MIT
| Doc PR |
Commits
-------
c84746bc1f add UlidType and UuidType form types
This PR was merged into the 5.1 branch.
Discussion
----------
[DependencyInjection] Fix container injection with TypedReference
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | fix #
| License | MIT
| Doc PR | -
When using `TypedReference`, the closure signature is `function (...): Type {` which does not matche the regular expresion that replace `$this` by `$container` + `use ($container)`
note: there is no issue in 4.4. At that time, dumped container use `$this->services` and looks like:
```
$instance->closures = [0 => function (): ?\stdClass {\n
return ($this->services['foo'] ?? null);\n
}];
```
Commits
-------
f8c14acd51 Fix container injection with TypedReference
* 5.2:
[Security] Replace message data in JSON security error response
[Security] Replace message data in JSON security error response
[DI] Skip deprecated definitions in CheckTypeDeclarationsPass
[Messenger][AmazonSqs] Fix auto-setup for fifo queue
[DoctrineBridge] Take into account that indexBy="person_id" could be a db column name, for a referenced entity
* 5.1:
[Security] Replace message data in JSON security error response
[DI] Skip deprecated definitions in CheckTypeDeclarationsPass
[Messenger][AmazonSqs] Fix auto-setup for fifo queue
[DoctrineBridge] Take into account that indexBy="person_id" could be a db column name, for a referenced entity
* 4.4:
[Security] Replace message data in JSON security error response
[DI] Skip deprecated definitions in CheckTypeDeclarationsPass
[DoctrineBridge] Take into account that indexBy="person_id" could be a db column name, for a referenced entity
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 5.3-dev branch.
Discussion
----------
[Notifier] [Octopush] Use the correct provider
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | ---
Follows #39702
Commits
-------
9ecef3bfa1 [Notifier] [Octopush] Use the correct provider
* 5.2:
µCS fix
CS fix
CS fix
[travis] use PHP 8.0 to patch return types and run deps=low
Add me as a Notifier code owner
Update sl_SI translations
Don't trigger deprecation for deprecated aliases pointing to deprecated definitions
[HttpFoundation] use atomic writes in MockFileSessionStorage
fix typo
Make EmailMessage & SmsMessage transport nullable
remove unused argument
[SecurityBundle] Drop dead check
[DI] fix param annotation
[SecurityBundle] Remove invalid service definition
[Config] Add \Symfony\Component\Config\Loader::load() return type
Simplify PHP CS Fixer config
Rename normalize param
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 5.3-dev branch.
Discussion
----------
No patch version in CHANGELOG
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | ---
Based on https://github.com/symfony/symfony-docs/pull/14830
cc @fabpot, feel free to close, as we discussed this already via Slack
Commits
-------
575d9b04b4 No patch version in CHANGELOG
This PR was merged into the 5.1 branch.
Discussion
----------
Make EmailMessage & SmsMessage transport nullable
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| License | MIT
Ideally, this should have been done in #38361 as it's exactly the same problem: the `transport` method can be called with `null` with deserializing a message from json (for example).
Commits
-------
d98aca06d0 Make EmailMessage & SmsMessage transport nullable
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
* 5.2:
Dont allow unserializing classes with a destructor
Dont allow unserializing classes with a destructor - 4.4
[Cache] fix possible collision when writing tmp file in filesystem adapter
a colon followed by spaces exclusively separates mapping keys and values
Contracts: Remove ellipsis
fix handling float-like key attribute values
Fix transient test with HttpClient jitter
Fix missing BCC recipients in SES bridge
Move AuthenticationSuccessEvent outside try/catch block
Dont allow unserializing classes with a destructor - 5.2
Dont allow unserializing classes with a destructor - 5.1
* 5.1:
Dont allow unserializing classes with a destructor
Dont allow unserializing classes with a destructor - 4.4
[Cache] fix possible collision when writing tmp file in filesystem adapter
a colon followed by spaces exclusively separates mapping keys and values
Contracts: Remove ellipsis
fix handling float-like key attribute values
Fix missing BCC recipients in SES bridge
Dont allow unserializing classes with a destructor - 5.1
* 4.4:
Dont allow unserializing classes with a destructor
Dont allow unserializing classes with a destructor - 4.4
[Cache] fix possible collision when writing tmp file in filesystem adapter
a colon followed by spaces exclusively separates mapping keys and values
Contracts: Remove ellipsis
fix handling float-like key attribute values
Fix missing BCC recipients in SES bridge
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 5.2 branch.
Discussion
----------
[HttpClient] Fix transient test with HttpClient jitter
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | f-
| License | MIT
| Doc PR | -
Fix transient test, when asserting jitter generates random delay
Commits
-------
70fe66005a Fix transient test with HttpClient jitter
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 5.2 branch.
Discussion
----------
Dont allow unserializing classes with a destructor - 5.2
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Prevent destructors with side-effects from being unserialized
Commits
-------
98601908bb Dont allow unserializing classes with a destructor - 5.2
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 5.1 branch.
Discussion
----------
Dont allow unserializing classes with a destructor - 5.1
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Prevent destructors with side-effects from being unserialized
Commits
-------
07402f4af3 Dont allow unserializing classes with a destructor - 5.1
This PR was merged into the 5.2 branch.
Discussion
----------
[Security] Move the handleAuthenticationSuccess logic outside try/catch block
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
The current implementation of `AuthenticationManager` handle the `handleAuthenticationSuccess` logic in a try/catch block which triggers the `handleAuthenticationFailure` in case of failure.
Which could leads to inconsistency and unexpected behavior. The authentication is either successfully or failure, but can't be both in the same request.
Commits
-------
da5c39ec2e Move AuthenticationSuccessEvent outside try/catch block
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.
* 5.2:
[Notifier] Use abstract test cases in 5.2
Rename parameter of @method configureContainer
[DependencyInjection] Support PHP 8 builtin types in CheckTypeDeclarationsPass
[DependencyInjection] Fix InvalidParameterTypeException for function parameters
[Notifier] Cleanup changelog (5.2)
[Notifier] Cleanup changelog (5.1)
[VarDumper] fix mutating $GLOBALS while cloning it
* 5.1:
Rename parameter of @method configureContainer
[DependencyInjection] Support PHP 8 builtin types in CheckTypeDeclarationsPass
[DependencyInjection] Fix InvalidParameterTypeException for function parameters
[Notifier] Cleanup changelog (5.1)
[VarDumper] fix mutating $GLOBALS while cloning it
* 4.4:
[DependencyInjection] Support PHP 8 builtin types in CheckTypeDeclarationsPass
[DependencyInjection] Fix InvalidParameterTypeException for function parameters
[VarDumper] fix mutating $GLOBALS while cloning it
This PR was squashed before being merged into the 5.2 branch.
Discussion
----------
[Notifier] Use abstract test cases in 5.2
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Follows #39495
| License | MIT
| Doc PR | ---
Same as #39495, but for `5.2`
cc @derrabus
Commits
-------
8f6b08c131 [Notifier] Use abstract test cases in 5.2
This PR was merged into the 5.2 branch.
Discussion
----------
[Notifier] Cleanup changelog (5.2)
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | ---
New bridges are not mentioned in the changelog file of Notifier itself, but in the CHANGELOG of the bridge.
Same as #39739 but for `5.2`
Commits
-------
be5a541325 [Notifier] Cleanup changelog (5.2)
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 5.3-dev branch.
Discussion
----------
[Notifier] Add missing space in changelog (5.3)
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | ---
Add missing space
Commits
-------
3f1989d97b [Notifier] Add missing space in changelog (5.3)
This PR was squashed before being merged into the 5.1 branch.
Discussion
----------
[Notifier] Add tests for SlackOptions
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | ---
Commits
-------
dcaee9970b [Notifier] Add tests for SlackOptions
* 5.2:
fix code style
[Uid] Hardcode UuidV3 & UuidV5 TYPE conditional constants
[Uid] Use the Uuid constructor when reconstructing an Ulid from its RFC-4122 version
stop using void in test files
parse cookie values containing the equal sign
make some time dependent tests more resilient
fix code style
Remove full head content in HTML to text converter
do not break when loading schemas from network paths on Windows
apply the sort callback on the whole search result
* 5.1:
parse cookie values containing the equal sign
make some time dependent tests more resilient
do not break when loading schemas from network paths on Windows
* 4.4:
parse cookie values containing the equal sign
make some time dependent tests more resilient
do not break when loading schemas from network paths on Windows
* 5.1:
[Uid] Hardcode UuidV3 & UuidV5 TYPE conditional constants
[Uid] Use the Uuid constructor when reconstructing an Ulid from its RFC-4122 version
stop using void in test files
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 5.1 branch.
Discussion
----------
stop using void in test files
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
Commits
-------
8f9f370f07 stop using void in test files
This PR was merged into the 5.1 branch.
Discussion
----------
[Uid] Use the Uuid constructor when reconstructing an Ulid from its RFC-4122 version
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Ref https://github.com/symfony/polyfill/issues/323
In my scenario, I'm doing `Ulid::fromString('0164129e-c96f-eb1a-f011-57cf56e0c559')`. When we reach the modified line, we already know the provided `$ulid` string is an rfc-4122 valid uuid so we don't need to call `fromString` (I guess) + we don't care of the version, we just want the binary content. That fixes the referenced issue in my case because the missing constant is consequently not loaded.
Commits
-------
44392cbc30 [Uid] Use the Uuid constructor when reconstructing an Ulid from its RFC-4122 version
This PR was merged into the 5.3-dev branch.
Discussion
----------
[Console] Support binary / negatable options
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | yes
| Deprecations? | no
| Tickets | Fix#24314
| License | MIT
| Doc PR | TODO
This PR take over #26292 to introduce a new option mode `NEGATABLE` that ease creation of option and their negation (ie. `--foo`, `--no-foo`)
Negated options applies only to flag options (`VALUE_NONE`)
```
./cli.php --foo
var_dump(getOption('foo')); // true
./cli.php --no-foo
var_dump(getOption('foo')); // false
```
Commits
-------
1a9a3c34c9 Implement negatable option
8d455dbd0c [WIP] Implements #24314: Support binary / negatable options, e.g. --foo and --no-foo.
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
* 5.2:
Cleanup CI scripts
use the clock mock to make test more resilient
fix code style
fix code style
take query and request parameters into account when matching routes
mistake
throw type error when incompatible types are passed
fix tests to run assertions on returned Crawler instances
[FrameworkBundle] Fix UidNormalizer priority
propagate groups to nested constraints
This PR was merged into the 5.2 branch.
Discussion
----------
[PropertyAccess] throw type error when incompatible types are passed
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
Commits
-------
4c5cff6558 throw type error when incompatible types are passed
* 5.1:
Cleanup CI scripts
fix code style
fix code style
take query and request parameters into account when matching routes
mistake
fix tests to run assertions on returned Crawler instances
propagate groups to nested constraints
This PR was merged into the 5.1 branch.
Discussion
----------
[Validator] propagate groups to nested constraints
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39386
| License | MIT
| Doc PR |
Commits
-------
13a4610824 propagate groups to nested constraints
* 4.4:
Cleanup CI scripts
fix code style
fix code style
take query and request parameters into account when matching routes
mistake
fix tests to run assertions on returned Crawler instances
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
* 5.2:
harden test to not depend on the actual time
[ProxyManager] fix tests
actually compare the order of entries when any sorting is applied
Dump abstract arguments
* 5.1:
harden test to not depend on the actual time
[ProxyManager] fix tests
actually compare the order of entries when any sorting is applied
Dump abstract arguments
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 squashed before being merged into the 5.3-dev branch.
Discussion
----------
[FrameworkBundle][HttpFoundation] add assertResponseFormatSame()
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | yes <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets | Fix n/a
| License | MIT
| Doc PR | todo
Add a new PHPUnit assertion checking the format of the HTTP request.
Example:
```php
namespace App\Tests;
use ApiPlatform\Core\Bridge\Symfony\Bundle\Test\ApiTestCase;
use App\Entity\Book;
class BooksTest extends ApiTestCase
{
public function testGetCollection(): void
{
static::createClient()->request('GET', '/books');
$this->assertResponseFormatSame('jsonld');
}
}
```
Commits
-------
8fffa2c6f8 [FrameworkBundle][HttpFoundation] add assertResponseFormatSame()
This PR was merged into the 5.3-dev branch.
Discussion
----------
[Messenger] Setup queues once in AMQP
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | yes
| Deprecations? | no
| Tickets | Fix#39605, Fix#38092, Fix#32172
| License | MIT
| Doc PR | -
To ease the setup, this PR also merge setup of exchange AND delayExchange.
/cc @Nyholm
Commits
-------
c2e84c610a Setup queues once in AMQP
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
This PR was merged into the 5.1 branch.
Discussion
----------
[Messenger] fix postgres transport when the retry table is the same
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
---
I noticed messenger do not consume all messages when there is a retry
and when I'm using only one table for everything.
To reproduce, use the following configuration + use PG + throw an
exception in the handler
```yaml
framework:
messenger:
failure_transport: failed
transports:
async: '%env(MESSENGER_TRANSPORT_DSN)%'
failed: 'doctrine://default?queue_name=failed'
routing:
'App\Message\Foobar': async
```
The real issue is PG does not notify messenger when we `UPDATE` the message.
---
ping @dunglas
Commits
-------
2b4d47163f fix postgres transport when the retry table is the same
* 5.2:
Bump license year
Bump license year
Bump license year
[Form] fix passing null $pattern to IntlDateFormatter
[Notifier] Add missing LICENSE file
Add reference link
[Validator] Update Isin message to match the translation files.
Update README.md
Add AuthenticationTokenCreatedEvent to be propagated
This PR was squashed before being merged into the 5.3-dev branch.
Discussion
----------
[Notifier] [BC BREAK] Change constructor signature for Mattermost and Esendex transport
| Q | A
| ------------- | ---
| Branch? | 5.x, but BC BREAK for experimental bridge
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | ---
Based on https://github.com/symfony/symfony/pull/39428#issue-535936925
cc @odolbeau as you provided the bridge
Commits
-------
c5b9acf5d5 [Notifier] [BC BREAK] Change constructor signature for Mattermost and Esendex transport
* 5.2:
[FrameworkBundle][RateLimiter] Update typos in config
Handle ValueErrors triggered by ext-uuid on PHP 8
Add test case to ensure all security events are propagated
This PR was squashed before being merged into the 5.3-dev branch.
Discussion
----------
[Notifier] [Slack] Validate token syntax
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | yes
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | -
This PR follows https://github.com/symfony/symfony/issues/39560
@odolbeau @malteschlueter @norkunas @fabpot can you confirm all your tokens start with `xox`?
_From the Slack documentation:_
* Bot user token strings begin with `xoxb-`
* User token strings begin with `xoxp-`
* Workspace access token strings begin with `xoxa-2`
Commits
-------
59f29c592b [Notifier] [Slack] Validate token syntax