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.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.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.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 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.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 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 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.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 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
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 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 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
* 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)
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 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()
This PR was merged into the 5.1 branch.
Discussion
----------
[Notifier] [Free Mobile] Could not use custom host in DSN
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | ---
While working on #39509 I discovered, that you cannot set a custom host through the DSN string itself, only by calling `setHost()` method in the transport, which is only possible by **not** using the factory....
I changed it the way all other bridges work. I don't add a testcase for the port, because non of the others have that test.
I plan to implement it in #39495
As this is a bugfix I created an extra PR.
Cheers
EDIT:
Also the host is not allowed to contain `https://` otherwise calling `__toString()` will result in: `freemobile://https://......`
Commits
-------
63350cc19b [Notifier] [Free Mobile] Could not use custom host in DSN
This PR was merged into the 5.2 branch.
Discussion
----------
[Notifier] Fix wrong package name
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | ---
Same like https://github.com/symfony/symfony/pull/39514 but for `5.2`
Commits
-------
f345ecd966 [Notifier] Fix wrong package name
This PR was merged into the 5.2 branch.
Discussion
----------
[FrameworkBundler] Fix cache:clear with buildDir
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39232
| License | MIT
| Doc PR |
Since #36515 there are 2 caches dir `cacheDir` and `buildDir`. For BC reason both points to the same folders, but when app don't use the same folder, many thing are broken:
This PR fixes several issues introduces by the above PR:
- some files are persisted in the wrong folder (`App_KernelDevDebugContainerDeprecations.log`, `App_KernelDevDebugContainer.xml`)
- LoggerDataCollector looks into cache_dir, while `Compiler.log` is written in build_dir and `Deprecations.log` were written in cache_dir before this PR
- the logic that mirror cacheDir into buildDir at the end of CacheClearCommand does not make sens when `cache_dir` and `build_dir` are not identical.
- Files generated in cacheDir are trashed at the end of CacheWarming (initial issue)
Commits
-------
ea68966e91 Fix cache:clear with buildDir
* 5.1:
[Notifier] Rework/streamline bridges (5.1)
[Mailer] [Amazon] Ensure "ext-simplexml" is loaded if SesApiTransport is used
Stop using deprecated trait
[PhpUnitBridge] Lint files with PHP 5.5
* 4.4:
[Mailer] [Amazon] Ensure "ext-simplexml" is loaded if SesApiTransport is used
Stop using deprecated trait
[PhpUnitBridge] Lint files with PHP 5.5
* 5.1:
Fix EncoderInterface::encode() return type
[Lock] Prevent store exception break combined store
Remove check for unsupported PHP version
[Notifier] Rename test method names
This PR was merged into the 5.2 branch.
Discussion
----------
[Notifier] [Discord] Fix exception message + test
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets | ---
| License | MIT
| Doc PR | ---
Before this PR the message was wrong, "less than 2000" is not correct, it can have 2000 chars, but not more.
Commits
-------
01623391f6 [Notifier][Discord] Fix exception message + test
This PR was merged into the 4.4 branch.
Discussion
----------
[Serializer] Fix EncoderInterface::encode() return type
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | N.A.
| License | MIT
| Doc PR | N.A.
I might have missed something (in that case, please let me know), but I believe that `EncoderInterface::encode()` will and should always return a `string`. This makes more sense because `DecoderInterface::decode()` only accepts a string as input.
Commits
-------
ae6f054cc1 Fix EncoderInterface::encode() return type
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[Lock] Prevent store exception break combined store
| 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#39470 <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License | MIT
Handle exception to preserve expected behavior - one or multiple stores could be unreachable in a moment and combined store will handle this according to strategy.
Commits
-------
0daff35bae [Lock] Prevent store exception break combined store
* 5.1:
Use more explicit variable name
Fix wrong comment about SES region
[Mailer] [Sendgrid] Use $scheme variable to stay consistent
[Mailer] [Amazon] Fix @param annotation
[Mailer] Rename testsuites
Remove void return type from test methods
Remove void return type from test methods
[Notifier] Remove void return type from test methods
* 4.4:
Use more explicit variable name
Fix wrong comment about SES region
[Mailer] [Sendgrid] Use $scheme variable to stay consistent
[Mailer] [Amazon] Fix @param annotation
[Mailer] Rename testsuites
Remove void return type from test methods
This PR was merged into the 4.4 branch.
Discussion
----------
Fix wrong comment about SES region
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
This list is wrong (or maybe no more exact). And maintain such list does not make sens in code.
https://docs.aws.amazon.com/general/latest/gr/ses.html
Commits
-------
759774750e Fix wrong comment about SES region
This PR was merged into the 4.4 branch.
Discussion
----------
Remove void return type from test methods
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | ---
cc @nicolas-grekas
Commits
-------
94f823fd4a Remove void return type from test methods
This PR was merged into the 5.1 branch.
Discussion
----------
Remove void return type from test methods
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | ---
This PR follows #39459
cc @nicolas-grekas
Commits
-------
6e6c3ba1a0 Remove void return type from test methods
This PR was merged into the 4.4 branch.
Discussion
----------
[Mailer] [Sendgrid] Use $scheme variable to stay consistent
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | ---
Its used like this in all other mailer bridges
Commits
-------
1a40d7c75a [Mailer] [Sendgrid] Use $scheme variable to stay consistent
This PR was merged into the 5.2 branch.
Discussion
----------
[Notifier] [Telegram] Remove void return type from test methods
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | no
| New feature? | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets | ---
| License | MIT
| Doc PR | ---
cc @nicolas-grekas
Commits
-------
e48fcdcd34 [Notifier][Telegram] Remove void return type from test methods
This PR was merged into the 5.2 branch.
Discussion
----------
[Notifier] [Esendex] Remove void return type from test methods
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | no
| New feature? | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets | ---
| License | MIT
| Doc PR | ---
cc @nicolas-grekas
Commits
-------
6c185d19ad [Notifier][Esendex] Remove void return type from test methods
This PR was merged into the 5.2 branch.
Discussion
----------
[Notifier] [Sendinblue] Remove void return type from test methods
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | no
| New feature? | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets | ---
| License | MIT
| Doc PR | ---
cc @nicolas-grekas
Commits
-------
15f523e6ad [Notifier][Sendinblue] Remove void return type from test methods
This PR was merged into the 5.2 branch.
Discussion
----------
[Notifier] [GoogleChat] Remove void return type from test methods
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | no
| New feature? | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets | ---
| License | MIT
| Doc PR | ---
cc @nicolas-grekas
Commits
-------
de2bf6d98a [Notifier][GoogleChat] Remove void return type from test methods