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
This PR was merged into the 4.4 branch.
Discussion
----------
[Mailer] Handle failure when sending DATA
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
When an exception is thrown while sending an email via SMTP (ie. A attachment is not readable) the SMTP connection is left opened with a partial message sent.
This PR closes the connection (we can't abort after sending the `DATA` command) in such situation.
/cc @fabpot
Commits
-------
849211a780 Handle failure when sending DATA
This PR was merged into the 5.2 branch.
Discussion
----------
[Security] Add RememberMe Badge to LoginLinkAuthenticator
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
I'm replacing a custom home-made magic link authenticator by the Symfony one, and I missed this behavior. I had to use a EventListener to add the badge to the passeport.
I'm not sure, if the badge were missing on purpose /cc @weaverryan @wouterj
Commits
-------
d38fc4d678 Add RememberMe Badge to LoginLinkAuthenticator
This PR was merged into the 5.3-dev branch.
Discussion
----------
[Notifier] Fix component version constraint in bridges
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | no
| Deprecations? | np
| Tickets | -
| License | MIT
| Doc PR | -
Composer does not resolve `~5.3.0` to 5.x-dev with `--prefer-lowest` actually.
Commits
-------
bcdd5da849 [Notifier] Fix component version constraint in bridges
This PR was squashed before being merged into the 5.1 branch.
Discussion
----------
[Notifier] [DX] Abstract test cases
| Q | A
| ------------- | ---
| Branch? | 5.1
| New feature? | no
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | ---
This PR
* [x] adds a new _abstract_ `TransportTestCase`
* [x] adds a new _abstract_ `TransportFactoryTestCase` (code is mainly taken from the `Mailer/TransportFactoryTestCase`)
We have a lot of code duplication in the notifier bridges
### Todos
* [x] check if we want this
* [x] I would want to use Dsn strings (like already used in the notifier bridge tests) instead of objects for the providers, what do you think? For me it is more readably
* [x] update all bridges
* [x] Bump notifier to `~5.1.10`
### Questions
* [x] is it Ok to consider this a bugfix and merge into `5.1`?
* [x] shall I prefix the abstract test cases with `Abstract` ? As we did the same for Mailer, I would say no
@symfony/mergers have to change ^5.2 into ^5.2.1
Commits
-------
79379b71f4 [Notifier] [DX] Abstract test cases
This PR was merged into the 5.3-dev branch.
Discussion
----------
[DomCrawler] mark some methods as internal
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#18465
| License | MIT
| Doc PR |
Commits
-------
b8f742d68b mark some methods as internal
This PR was merged into the 4.4 branch.
Discussion
----------
[Intl] Update the ICU data to 68.2
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Commits
-------
4573965f74 [Intl] Update the ICU data to 68.2
This PR was merged into the 5.2 branch.
Discussion
----------
[Notifier] add "symfony/polyfill-mbstring" as dep of the Discord bridge
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Commits
-------
e61f0c50fa [Notifier] add "symfony/polyfill-mbstring" as dep of the Discord bridge
This PR was merged into the 5.3-dev branch.
Discussion
----------
[Notifier] Bump conflict rules for all notifier bridges
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | N/A
| License | MIT
| Doc PR | N/A
Commits
-------
fed253bf08 [Notifier] Bump conflict rules for all notifier bridges.
* 5.2:
Supports empty path for slack DSN
[SecurityBundle] Fix transient test
Bump Symfony version to 5.2.2
Update VERSION for 5.2.1
Update CHANGELOG for 5.2.1
Bump Symfony version to 5.1.11
[Notifier] GoogleChat/FreeMobile: Declare incompatibility with 5.3.
Update VERSION for 5.1.10
Update CHANGELOG for 5.1.10
Bump Symfony version to 4.4.19
Update VERSION for 4.4.18
Update CONTRIBUTORS for 4.4.18
Update CHANGELOG for 4.4.18
[Serializer] Fix DenormalizableInterface::denormalize() return type declaration in docblock
* 5.1:
Bump Symfony version to 5.1.11
Update VERSION for 5.1.10
Update CHANGELOG for 5.1.10
Bump Symfony version to 4.4.19
Update VERSION for 4.4.18
Update CONTRIBUTORS for 4.4.18
Update CHANGELOG for 4.4.18
[Serializer] Fix DenormalizableInterface::denormalize() return type declaration in docblock
* 4.4:
Bump Symfony version to 4.4.19
Update VERSION for 4.4.18
Update CONTRIBUTORS for 4.4.18
Update CHANGELOG for 4.4.18
[Serializer] Fix DenormalizableInterface::denormalize() return type declaration in docblock
This PR was merged into the 5.2 branch.
Discussion
----------
[Notifier] GoogleChat/FreeMobile: Declare incompatibility with 5.3
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | N/A
| License | MIT
| Doc PR |N/A
I missed two bridges. 😓 @nicolas-grekas
Commits
-------
b9eca9fcc9 [Notifier] GoogleChat/FreeMobile: Declare incompatibility with 5.3.
This PR was merged into the 4.4 branch.
Discussion
----------
[Serializer] Fix DenormalizableInterface::denormalize() return type declaration in docblock
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | N.A.
| License | MIT
| Doc PR | N.A.
DenormalizableInterface::denormalize() should not return anything, so the `@return` declaration should be removed. If you look at the usage in `CustomNormalizer::denormalize()`, it becomes clear that this method shouldn't return anything:
```php
public function denormalize($data, $type, $format = null, array $context = [])
{
$object = $this->extractObjectToPopulate($type, $context) ?: new $type();
$object->denormalize($this->serializer, $data, $format, $context);
return $object;
}
```
Commits
-------
00c90aed51 [Serializer] Fix DenormalizableInterface::denormalize() return type declaration in docblock
This PR was squashed before being merged into the 5.1 branch.
Discussion
----------
[Notifier] [Mattermost] Host is required
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | ---
This bridge is the only one right now which cannot use `default` as host in the DSN, otherwise it would fall back to:
090b4256f0/src/Symfony/Component/Notifier/Transport/AbstractTransport.php (L30)
it could also not use:
090b4256f0/src/Symfony/Component/Notifier/Transport/AbstractTransport.php (L83-L86)
Based on the [documentation](https://api.mattermost.com/#tag/authentication) you must use your specific url like:
`your-mattermost-url.com/api/v4/...`
Using `localhost` would have weird side-effects.
Can you confirm this @thePanz , as you provided the bridge?
friendly ping @seb37800, you fixed some bugs in this transport
### Todos after merge
* [ ] adjust recipes with new DSN
* [ ] update the docs
Commits
-------
cd5b48003f [Notifier] [Mattermost] Host is required
This PR was squashed before being merged into the 5.2 branch.
Discussion
----------
[Notifier] [Infobip][Zulip] Host is required
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | ---
### Todos after merge
* [ ] adjust recipes with new DSN
* [ ] update the docs
Commits
-------
cfd932e036 [Notifier] [Infobip][Zulip] Host is required
This PR was merged into the 5.2 branch.
Discussion
----------
[HttpFoundation] keep turning dots to underscores when using Request::create()
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39546
| License | MIT
| Doc PR | -
Commits
-------
cda81ccccd [HttpFoundation] keep turning dots to underscores when using Request::create()
This PR was squashed before being merged into the 5.2 branch.
Discussion
----------
[Notifier] Rework/streamline bridges (5.2)
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | ---
This PR
* add missing tests
* pull up scheme check (check scheme first and then for required options)
* streamlines README.md files
While working on adding tests for `symfony/esendex-notifier` I noticed that the `EsendexTransport` has the following signature:
613ac0c0e9/src/Symfony/Component/Notifier/Bridge/Esendex/EsendexTransport.php (L36)
and is resolved by the `EsendexTransportFactory` like:
613ac0c0e9/src/Symfony/Component/Notifier/Bridge/Esendex/EsendexTransportFactory.php (L30)
but the `README` exposes the DSN like:
```
esendex://EMAIL:PASSWORD@default?accountreference=ACCOUNT_REFERENCE&from=FROM
```
as this Bridge is experimental in `5.2`I propose to change the transport signature like, because to me it is more email/password like described in the readme than a "token":
```diff
- public function __construct(string $token, string $accountReference, string $from, HttpClientInterface $client = null,
EventDispatcherInterface $dispatcher = null)
+ public function __construct(string $email, string $password, string $accountReference, string $from, HttpClientInterface $client = null, EventDispatcherInterface $dispatcher = null)
```
What do you think?
cc @odolbeau as you provided the Esendex bridge.
Commits
-------
a5d78787e6 [Notifier] Rework/streamline bridges (5.2)
* 5.2:
[Notifier] Fix parsing Dsn with empty user/password
Remove void return type from test methods
[Notifier] [Discord] Use private const and mb_strlen()
[Notifier] Set message id on SentMessage
[Notifier] Fix toString when optional parameter is not set
[Notifier] Use assertSame()
This PR was squashed before being merged into the 5.1 branch.
Discussion
----------
[Notifier] Fix parsing Dsn with empty user/password
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | ---
Same like https://github.com/symfony/symfony/pull/39531, but for Notifier component.
I backported the DsnTest from `5.2` to `5.1`
Commits
-------
a80409af25 [Notifier] Fix parsing Dsn with empty user/password
This PR was merged into the 4.4 branch.
Discussion
----------
Normalize exceptions messages containing methods references
| 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 | Fix https://github.com/symfony/symfony/pull/39399#discussion_r544972437 <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License | MIT
| Doc PR | N/A
Normalizes across the codebase any exception message mentioning methods to contain a trailing `()`
(Seems OK on 5.1 and 5.2 branch after this on is merged up)
Commits
-------
e2da2acd6d Normalize exceptions messages containing methods references
This PR was squashed before being merged into the 5.3-dev branch.
Discussion
----------
[Notifier] add iqsms bridge
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | yes
| Deprecations? | no
| License | MIT
| Doc PR | https://github.com/symfony/symfony-docs/pull/14555
Hi,
I've created integration to notifier to support russian sms operator - [iqsms](https://iqsms.ru)
Can you grab this code and make as symfony/iqsms-notifier?
This PR includes changes in notifier and framework-bundle to support smsapi transport as well as other included in notifier component.
Could someone integrate this into notifier component?
Commits
-------
bf94bcb1f6 [Notifier] add iqsms bridge
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[Mailer] Fix parsing Dsn with empty user/password
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | no
| License | MIT
| Doc PR | no
While working on a PR for Notifier that user and password would be parsed as an empty string, which is not wrong, but not expected IMO. Thi
`scheme://@symfony.com` and `scheme://:@symfony.com` should be a valid scheme with user and pass `null`
Another fix would be to check for `://@` and `://:@` and throw an `InvalidArgumentException` WDYT?
The final solution will then be applied to the Notifier DSN in `5.1`
Commits
-------
041cb46e52 [Mailer] Fix parsing Dsn with empty user/password
This PR was squashed before being merged into the 5.2 branch.
Discussion
----------
[Notifier] [Discord] Use private const and mb_strlen()
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | ---
like proposed by @nicolas-grekas in https://github.com/symfony/symfony/pull/39444/files#r542288432
Commits
-------
165c87247d [Notifier] [Discord] Use private const and mb_strlen()
This PR was squashed before being merged into the 5.2 branch.
Discussion
----------
[Notifier] Set message id on SentMessage
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | ---
@ismail1432 what do you think?
Commits
-------
9dd09e632d [Notifier] Set message id on SentMessage
This PR was squashed before being merged into the 5.1 branch.
Discussion
----------
[Notifier] Use assertSame()
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | ---
Commits
-------
4a1976b4ef [Notifier] Use assertSame()