* 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()
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.3-dev branch.
Discussion
----------
[FrameworkBundle] Allow env variables in `json_manifest_path`
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | no
| New feature? | yes
| Deprecations? | yes
| Tickets | Fix#39264
| License | MIT
| Doc PR | -
the parameter `framework.assets.json_manifest_path` does not allow env variable when value is remote.
This PR adds a new `DynamicJsonManifestVersionStrategy` to fix that.
Commits
-------
4e4a81c346 Allow env variables in `json_manifest_path`
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.2:
[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
* 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.2:
Fix EncoderInterface::encode() return type
[Lock] Prevent store exception break combined store
Remove check for unsupported PHP version
[Notifier] Rename test method names
Fix missing kernel.build_dir on cache clear
[Notifier][Discord] Fix exception message + test
* 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.2:
Fix enabled key for ratelimiter config
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
[Notifier][Telegram] Remove void return type from test methods
[Notifier][Esendex] Remove void return type from test methods
[Notifier][Sendinblue] Remove void return type from test methods
[Notifier][GoogleChat] Remove void return type from test methods
[Notifier] Move ext-json below php requirement to stay consistent
* 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
This PR was squashed before being merged into the 5.3-dev branch.
Discussion
----------
[Messenger] Added more descriptive exception message when handling of a message failed
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no (more of a patch thing)
| New feature? | no
| Deprecations? | no
| License | MIT
I use Symfony Messenger extensively and I run into the `HandlerFailedException` from time to time. What bothers me is that the exception doesn't carry the name of the message that failed right there in the exception message.
Here is an example from Sentry:
![image](https://user-images.githubusercontent.com/2412177/101757346-572eda00-3ad7-11eb-9f57-6ba2b043594d.png)
As you can see I get the error message, but I have to look through all my messages (in different bundles etc) to find the sinner.
This PR adds the message name directly to the exception message.
Commits
-------
d985ca9a6e [Messenger] Added more descriptive exception message when handling of a message failed
This PR was merged into the 5.1 branch.
Discussion
----------
[Notifier] Streamline README files
| Q | A
| ------------- | ---
| Branch? | 5.1
| 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 | --
This should be considered a bug fix as it does not touches any PHP file.
I will continue the work for `5.2` branch after the merge
Commits
-------
dfddc899ce [Notifier] Streamline README files
This PR was merged into the 4.4 branch.
Discussion
----------
Fix licence
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Backport of #39435 for 4.4 (the file has been renamed and the git history trapped me)
Commits
-------
6d7893cdaa Fix licence
This PR was merged into the 5.1 branch.
Discussion
----------
Fix CS in Changelogs in 5.1
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Commits
-------
4557e4d55d Fix CS in Changelogs
This PR was squashed before being merged into the 5.1 branch.
Discussion
----------
[Notifier] [Free Mobile] Rename method to match other bridges
| Q | A
| ------------- | ---
| Branch? | 5.1
| 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 | ---
All other bridges use `create*` instead of `init*`
Commits
-------
f53ae7c40a [Notifier] [Free Mobile] Rename method to match other bridges
This PR was merged into the 4.4 branch.
Discussion
----------
[Cache] fix setting "read_timeout" when using Redis
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Being inspired by #39431
Commits
-------
7acca31e66 [Cache] fix setting "read_timeout" when using Redis
Both classes have an optional argument `$readTimeout` that can be set during
initialization for `\RedisSentinel` and during `connect`/`pconnect`
respectively.
* 5.1:
[Notifier] [Twilio] Fix tests
[Cache] Prevent notice on case matching metadata trick
[Notifier][Slack] Remove :void from test methods
[Notifier] Remove @internal annotation from notifier transports
[Notifier][Twilio] Add tests
[Notifier][Free Mobile] Tests
[DI] The default index method wasn't used if the "index_by" attribute is missing
This PR was merged into the 5.2 branch.
Discussion
----------
[Serializer][Validator] Mention annotation loaders handle PHP8 attributes
| Q | A
| ------------- | ---
| Branch? | 5.2 <!-- 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
Just a small note for the ones reading docblocks first and expecting to find a PhpAttributeLoader or whatever: the annotation loaders handle both doctrine annotations & PHP 8 attributes.
The route loader already mentions this.
Commits
-------
3cbe758df3 [Serializer][Validator] Mention annotation loaders handle PHP8 attributes
This PR was merged into the 5.2 branch.
Discussion
----------
[HttpClient] Fix content swallowed by AsyncClient initializer
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
I'm not sure if it should be fixed in RetryableHttpClient or AsycClient.
The issue is: when the Strategy needs the body to take a decision BUT decide to NOT retry the request, the content is "lost"
In fact, when the first chunk is yield, the AsyncResponse's initializer is stopped, and nothing consume the remaining chunks. Moreover, because the `passthru` were disabled before yielding the first chunk in RetryableHttpClient, the callback is never called again to yield the remaining content.
Commits
-------
d324271691 Fix content swallowed by AsyncClient initializer
On saving an array of one element with a int key of strlen 10
it matches the first conditions of the trick used to save metadata.
> Notice: Trying to access array offset on value of type int
Casting it to string fixes it.
This PR was merged into the 5.3-dev branch.
Discussion
----------
[Messenger] Use "warning" instead of "error" log level for RecoverableException
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | yes
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
When one throw a `RecoverableExceptionInterface`, one knows somethings
wrong occurs, so if an `error` should be emmited, it's in place where the
exception is thrown.
And, by extension, if nothing really wrong occurs (like a random network
error), one may want to retry the message **without** any errors.
That's why in this PR, if an exception of type `RecoverableExceptionInterface`
is thrown, it uses `warning` insteand of `error` log level. So
everything stay under the radar.
Commits
-------
a885ba844d [Messenger] Use "warning" intead of "error" log level for RecoverableException
This PR was merged into the 5.1 branch.
Discussion
----------
[Notifier] Remove @internal annotation from notifier transports
| Q | A
| ------------- | ---
| Branch? | 5.1
| 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 | ---
All other transports does not have the `@internal` annotation, so I think we can safely remove it.
I consider this a bugfix, as this does not break BC.
cc @fabpot
Commits
-------
d75f50d3a7 [Notifier] Remove @internal annotation from notifier transports
* 5.2:
[PhpUnitBridge] CS fix
[Notifier] Only use sprintf instead of sprintf and string concat
[PhpUnitBridge] Fix PHP 5.5 compatibility
Fix exception thrown by Form when converting UUID
[Notifier] Remove trailing argument in tests
[Serializer] Make fabbot happy with 5.2 tests CS
Add missing param annotation abouts $fileLinkFormat
[HttpClient] Use decoration instead of class replacement for mock factory
[Form] Fixed StringUtil::trim() to trim ZERO WIDTH SPACE (U+200B) and SOFT HYPHEN (U+00AD)
23412 Stop treating multiline resources as globs
* 5.1:
[PhpUnitBridge] CS fix
[Notifier] Only use sprintf instead of sprintf and string concat
[PhpUnitBridge] Fix PHP 5.5 compatibility
Add missing param annotation abouts $fileLinkFormat
[Form] Fixed StringUtil::trim() to trim ZERO WIDTH SPACE (U+200B) and SOFT HYPHEN (U+00AD)
23412 Stop treating multiline resources as globs
This PR was merged into the 4.4 branch.
Discussion
----------
[Config] Stop treating multiline resources as globs
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#23412
| License | MIT
Would fix the linked issue.
In https://github.com/symfony/symfony/issues/22938 it was suggested to enhance the glob-detection logic by detecting newlines.
Cons:
- it only solves an edge case
- it is not possible to use a multiline glob (like `bar\nbaz*.txt`) as a resource anymore - maybe in another edge case this is needed
Commits
-------
1e3baad386 23412 Stop treating multiline resources as globs
This PR was merged into the 4.4 branch.
Discussion
----------
[Form] Fixed StringUtil::trim() to trim ZERO WIDTH SPACE (U+200B) and SOFT HYPHEN (U+00AD)
| 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#39230 <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License | MIT
<!--
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
-------
258bea7fd5 [Form] Fixed StringUtil::trim() to trim ZERO WIDTH SPACE (U+200B) and SOFT HYPHEN (U+00AD)
* 5.2:
minor cs fix
[Config][TwigBundle] Fixed syntax error in config
[DI] Fix Xdebug 3.0 detection
Use php8 stable
[Notifier] Streamline changelogs of notifier bridges
[Cache] Fixed incorrect usage of UNLINK with PHPRedis with Redis < 4.0
fix lowest required HttpFoundation component
[Cache] fix checking for redis_sentinel support
[Messenger] Fixed wording in php doc
fix LDAP-based HTTP Basic Auth entry point registration
[Intl] Update the ICU data to 68.1
[FrameworkBundle] acces public-deprecated services via the private container to remove false-positive deprecations
Remove unused @throws tags and handling of never thrown exceptions
[PhpUnitBridge] Fix disabling DeprecationErrorHandler from phpunit configuration file
* 5.1:
minor cs fix
[Config][TwigBundle] Fixed syntax error in config
[DI] Fix Xdebug 3.0 detection
Use php8 stable
[Notifier] Streamline changelogs of notifier bridges
[Cache] fix checking for redis_sentinel support
[Messenger] Fixed wording in php doc
[Intl] Update the ICU data to 68.1
[FrameworkBundle] acces public-deprecated services via the private container to remove false-positive deprecations
Remove unused @throws tags and handling of never thrown exceptions
[PhpUnitBridge] Fix disabling DeprecationErrorHandler from phpunit configuration file
* 4.4:
minor cs fix
[Config][TwigBundle] Fixed syntax error in config
[DI] Fix Xdebug 3.0 detection
Use php8 stable
[Cache] fix checking for redis_sentinel support
[Intl] Update the ICU data to 68.1
Remove unused @throws tags and handling of never thrown exceptions
[PhpUnitBridge] Fix disabling DeprecationErrorHandler from phpunit configuration file
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[Config][TwigBundle] Fixed syntax error in config
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
Sorry for such small PR. I found this when I was parsing the yaml after running `bin/console config:dump-reference TwigBundle`
#SymfonyHackday
Commits
-------
04d369d336 [Config][TwigBundle] Fixed syntax error in config
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[DI] Fix Xdebug 3.0 detection
| Q | A
| ------------- | ---
| Branch? | 4.4 (for bug fixes)
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39195
| License | MIT
| Doc PR | n/a
Xdebug 3.0 removed the function `xdebug_is_enabled()`. To detect if Xdebug 3.0 is installed (it doesn't even need to be enabled to reproduce the bug) i added `function_exists('xdebug_info')`. AFAIS `xdebug_info()` is available in Xdebug >= 3.0 only.
Commits
-------
38f8edddb1 [DI] Fix Xdebug 3.0 detection
This PR was merged into the 5.3-dev branch.
Discussion
----------
[HttpKernel] Marked the class DebugHandlersListener as internal
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Commits
-------
1ee7e4c94c [HttpKernel] Marked the class `Symfony\Component\HttpKernel\EventListener\DebugHandlersListener` as internal
This PR was merged into the 4.4 branch.
Discussion
----------
[HttpFoundation] Throws cleanup
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
The actual throw statements have been removed years ago, but the annotations stayed.
Such annotations fool static analysis tools to trigger false positives for unhandled exceptions.
Commits
-------
8b9b62048c Remove unused @throws tags and handling of never thrown exceptions
This PR was merged into the 5.2 branch.
Discussion
----------
[Cache] Fixed incorrect usage of UNLINK with PHPRedis with Redis < 4.0
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39280
| License | MIT
Currently, deleting cache keys is broken for users using PhpRedis with Redis-server < 4.0.0. The current implementation expects PhpRedis to throw an exception if the 'unlink'-function is used but unavailable, after which it's supposed to switch to using the 'del'-function. Using the 'unlink'-function on lower Redis-server versions seems to not throw an exception, but instead it appears to silently fail.
This pull request changes this behavior and checks the Redis-server version instead. If the version is 4.0 or higher, it uses the unlink function. If not, it uses the del-function.
Also see https://redis.io/commands/unlink > "Available since 4.0.0".
(Footnote: this is one of my first times contributing to an open-source project and my first time contributing to Symfony. I've tried following the guidelines, but please let me know if I missed anything. I'm unsure how I would go about unit testing this specific bugfix due to it being dependent on the Redis version, so I omitted it. Please let me know if a unit test is indeed required for this and if so, let me know if you have any suggestions on how to go about that.)
Commits
-------
9363f3b973 [Cache] Fixed incorrect usage of UNLINK with PHPRedis with Redis < 4.0
This PR was squashed before being merged into the 5.3-dev branch.
Discussion
----------
[Cache] Support Redis Sentinel mode when using phpredis/phpredis extension
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | yes
| Deprecations? | no
| Tickets | Fix#39362
| License | MIT
| Doc PR | https://github.com/symfony/symfony-docs/pull/14668
The version 5.2.0 of the [Redis PHP extension](http://pecl.php.net/package/redis), released back in March 2020, added support for Redis Sentinel mode with the help of the `RedisSentinel` class.
Usage of the `Symfony/Cache RedisAdapter` can continue to be the same, thus relying on the `$options['redis_persistent']` option to both enable and define the master name.
Commits
-------
814ffabbd8 [Cache] Support Redis Sentinel mode when using phpredis/phpredis extension
This PR was merged into the 5.1 branch.
Discussion
----------
[FrameworkBundle] acces public-deprecated services via the private container to remove false-positive deprecations
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Something we missed in #36470 apparently.
Commits
-------
d502ba9e5d [FrameworkBundle] acces public-deprecated services via the private container to remove false-positive deprecations
* 5.2:
[Serializer] Fixed serialize and denormalize return types
Run intl-data tests on resources change
[Notifier] Add exception for deprecated slack dsn
[FrameworkBundle] fix preserving some special chars in the query string when redirecting
[HttpFoundation] fix parsing some special chars with HeaderUtils::parseQuery()