* 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 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
* 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.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.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.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 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 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
This PR was merged into the 5.2 branch.
Discussion
----------
[HttpFoundation] fix parsing some special chars with HeaderUtils::parseQuery()
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39307
| License | MIT
| Doc PR | -
Same as #39357 for 5.2
Commits
-------
8682bdc521 [HttpFoundation] fix parsing some special chars with HeaderUtils::parseQuery()
* 5.1:
[Serializer] Fixed serialize and denormalize return types
Run intl-data tests on resources change
[FrameworkBundle] fix preserving some special chars in the query string when redirecting
This PR was squashed before being merged into the 5.1 branch.
Discussion
----------
[Serializer] Fixed serialize and denormalize return types
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | no
| License | MIT
| Doc PR | no
Since #35235 `SerializerInterface::deserialize()` and `DenormalizerInterface::denormalize()` return types are no longer correct.
I suggest using `mixed` to allow custom denormalizers to denormalize to any type. For instance, I might add `ClosureDenormalizer` or `NullDenormalizer` or `ResourceDenormalizer`, technically there are no limits.
Commits
-------
67277e55f0 [Serializer] Fixed serialize and denormalize return types
This PR was merged into the 5.2 branch.
Discussion
----------
[Notifier] Add exception for deprecated slack dsn
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | no
| New feature? | no
| Deprecations? | yes
| Tickets | Fix#39204
| License | MIT
| Doc PR | -
The DSN for the Slack integration changed again from 5.1 to 5.2. There was the idea to output an exception for that.
Commits
-------
6b56b4c6f9 [Notifier] Add exception for deprecated slack dsn
* 5.1:
[HttpFoundation] Removed obsolete test.
[HttpFoundation] Fix TypeError: Argument 1 passed to JsonResponse::setJson() must be of the type string, object given
[Security][Validator] Add missing Portuguese translations
Add Croatian (hr) translations
* 4.4:
[HttpFoundation] Fix TypeError: Argument 1 passed to JsonResponse::setJson() must be of the type string, object given
[Security][Validator] Add missing Portuguese translations
Add Croatian (hr) translations
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[HttpFoundation] Fix TypeError: Argument 1 passed to JsonResponse::setJson() must be of the type string, object given
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
This PR fixes the type error when user set `null` as data in the `new JsonResponse(null, 200, [], true)` and true in the fourth argument to mark that value is json.
```
TypeError: Argument 1 passed to Symfony\Component\HttpFoundation\JsonResponse::setJson() must be of the type string, object given, called in /home/projects/symfony/src/Symfony/Component/HttpFoundation/JsonResponse.php on line 52
```
Commits
-------
7fcba9611d [HttpFoundation] Fix TypeError: Argument 1 passed to JsonResponse::setJson() must be of the type string, object given
* 5.1:
Fix merge.
Fix CS
[Messenger] Test generated SQL
[Config] YamlReferenceDumper: No default value required for VariableNode with array example
Remove PHPUnit configuration files from components without tests.
[DependencyInjection] Fix container linter for union types.
This PR was merged into the 4.4 branch.
Discussion
----------
[Messenger] Test generated SQL
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | N/A
| License | MIT
| Doc PR | N/A
Follow-up to #39166.
This is an attempt to the SQL generated by the `Symfony\Component\Messenger\Transport\Doctrine\Connection::get()` method. The challange was to create a locking SELECT statement, taking into account the different ways to create a lock in different SQL dialects.
This test verifies if the correct lock statements are generated for MySQL and SQL Server.
Commits
-------
1f1b62afb6 [Messenger] Test generated SQL
* 5.1:
[Messenger] StopWorkersCommand improve doc helper
Added compatibility with PHPunit 9.5
do not apply the Valid constraint on scalar form data
[Test] Reproduce issue with cascading validation
[SecurityBundle] Don't use the container as resource type in fixtures.
Fix bug with whitespace in Kernel::stripComments()
* 4.4:
[Messenger] StopWorkersCommand improve doc helper
Added compatibility with PHPunit 9.5
do not apply the Valid constraint on scalar form data
[Test] Reproduce issue with cascading validation
[SecurityBundle] Don't use the container as resource type in fixtures.
Fix bug with whitespace in Kernel::stripComments()
This PR was merged into the 4.4 branch.
Discussion
----------
[Form] do not apply the Valid constraint on scalar form data
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38039
| License | MIT
| Doc PR |
#SymfonyHackday
Commits
-------
453bb3ebde do not apply the Valid constraint on scalar form data
41b9457887 [Test] Reproduce issue with cascading validation
This PR was merged into the 4.4 branch.
Discussion
----------
[PhpUnitBridge] Fixed PHPunit 9.5 compatibility
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39329
| License | MIT
| Doc PR | -
Let's see if this works 🍀
#SymfonyHackday
Commits
-------
5134de52f1 Added compatibility with PHPunit 9.5
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[Messenger] StopWorkersCommand improve doc helper
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix
| License | MIT
Small improvement :)
Commits
-------
e136068743 [Messenger] StopWorkersCommand improve doc helper
This PR was merged into the 4.4 branch.
Discussion
----------
[HttpKernel] Fix bug with whitespace in Kernel::stripComments()
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
`Kernel::stripComments()` removes significant whitespace in some cases.
I noticed this in one of the generated classes, the code `<?php include_once \dirname(__DIR__).'/file.php';` got replaced with `<?php include_once\dirname(__DIR__).'/file.php';` which is a syntax error.
Commits
-------
8d368e1fe3 Fix bug with whitespace in Kernel::stripComments()
* 5.1:
[HttpFoundation] Make test pass without Xdebug.
[Mime] Leverage PHP 8's detection of CSV files.
[HttpFoundation] Make sure we reuse the current PHP binary for the webserver process in functional tests.
[FrameworkBundle] TextDescriptor::formatControllerLink checked method…
Fix CS
[HttpClient] throw clearer error when no scheme is provided
Fix github pr template and include 5.2 for bugfixes
[HttpFoundation] Ignore stack trace printed by Xdebug 3.
fix lexing backslashes in single quoted strings
* 4.4:
[HttpFoundation] Make test pass without Xdebug.
[Mime] Leverage PHP 8's detection of CSV files.
[HttpFoundation] Make sure we reuse the current PHP binary for the webserver process in functional tests.
[FrameworkBundle] TextDescriptor::formatControllerLink checked method…
Fix CS
[HttpClient] throw clearer error when no scheme is provided
Fix github pr template and include 5.2 for bugfixes
[HttpFoundation] Ignore stack trace printed by Xdebug 3.
fix lexing backslashes in single quoted strings
This PR was merged into the 5.2 branch.
Discussion
----------
Fix @experimental annotations
| 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
Commits
-------
07781474bc Fix @experimental annotations
This PR was merged into the 4.4 branch.
Discussion
----------
[HttpFoundation] Ignore stack trace printed by Xdebug 3
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | N/A
| License | MIT
| Doc PR | N/A
If we're running HttpFoundation's functional tests with Xdebug 3, a stack trace will be printed when a warning is emitted. This confuses our `cookie_max_age` test currently where we perform a `setcookie()` call that will emit a warning.
I have patched the corresponding fixture so the printed stack trace is ignored.
A failed test can be seen here: https://travis-ci.com/github/symfony/symfony/jobs/452077515#L11078
Commits
-------
b67baa4e7f [HttpFoundation] Ignore stack trace printed by Xdebug 3.
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[HttpClient] throw clearer error when no scheme is provided
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39285
| License | MIT
| Doc PR | N/A
This could be considred a BC break, as previously this would've a `TransportExcepiton`, instead of an `InvalidArgumentException`. But i see no reason to catch this specific error, as it would generally be a configuration error.
Commits
-------
4d821d6c34 [HttpClient] throw clearer error when no scheme is provided
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[DependencyInjection] Fixed incorrect report for private services if required service does not exist
…does not exist
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#29359
| License | MIT
| Doc PR | no
looks like `CheckExceptionOnInvalidReferenceBehaviorPass` can be moved to `beforeRemovingPasses` section without any consequences. this solves the problem and all tests still pass
Commits
-------
39bd05c5bc [DependencyInjection] Fixed incorrect report for private services if required service does not exist
This PR was merged into the 5.2 branch.
Discussion
----------
[Notifier] Fix slack section block
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix #...
| License | MIT
| Doc PR | symfony/symfony-docs#...
In SlackSectionBlock fields array is not initialized directly in the constructor so when running tests and trying to add a field to it throws `Undefined index: fields`.
Commits
-------
472fa3b50a Fix checking slack section fields limit
* 5.1:
Fix merge.
fix lexing mapping values with trailing whitespaces
[String] Fix Notice when argument is empty string
[Inflector] Fix Notice when argument is empty string
Fix small typos
This PR was merged into the 5.1 branch.
Discussion
----------
[String] Fix Notice when argument is empty string
| Q | A
| ------------- | ---
| Branch? | 5.1 <!-- see below -->
| Bug fix? | yes
| New feature? | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| License | MIT
PHP Notice is generated when we pass empty string to `singularize` or `pluralize` method.
```
$inflector = new \Symfony\Component\String\Inflector\EnglishInflector();
$inflector->singularize('');
```
```
Notice: Uninitialized string offset: 0 in vendor/symfony/string/Inflector/EnglishInflector.php on line 344
PHP Notice: Uninitialized string offset: 0 in vendor/symfony/string/Inflector/EnglishInflector.php on line 344
```
```
$inflector = new \Symfony\Component\String\Inflector\EnglishInflector();
$inflector->pluralize('');
```
```
Notice: Uninitialized string offset: 0 in vendor/symfony/string/Inflector/EnglishInflector.php on line 424
PHP Notice: Uninitialized string offset: 0 in vendor/symfony/string/Inflector/EnglishInflector.php on line 424
```
**Background**:
When `\Symfony\Component\PropertyAccess\PropertyAccessorInterface::setValue` is used with `_` property, then it calls \Symfony\Component\String\Inflector\EnglishInflector::singularize with empty string.
```
class Check
{
public $_;
}
$check = new Check();
$pr = PropertyAccess::createPropertyAccessorBuilder()
->getPropertyAccessor();
if($pr->isWritable($check, '_')){
$pr->setValue($check, '_', 'test');
}
var_dump($check);
```
```
Notice: Uninitialized string offset: 0 in vendor/symfony/string/Inflector/EnglishInflector.php on line 344
PHP Notice: Uninitialized string offset: 0 in vendor/symfony/string/Inflector/EnglishInflector.php on line 344
...
Notice: Uninitialized string offset: 0 in vendor/symfony/string/Inflector/EnglishInflector.php on line 344
PHP Notice: Uninitialized string offset: 0 in vendor/symfony/string/Inflector/EnglishInflector.php on line 344
Notice: Uninitialized string offset: 0 in vendor/symfony/string/Inflector/EnglishInflector.php on line 344
object(Check)#6 (1) {
["_"]=>
string(4) "test"
}
```
P.S.
Another solution is to include empty string in \Symfony\Component\String\Inflector\EnglishInflector::$uninflected
```
private static $uninflected = [
'',
'atad',
'reed',
'kcabdeef',
'hsif',
'ofni',
'esoom',
'seires',
'peehs',
'seiceps',
];
```
If this PR is not relevant please close and sorry for inconvenience.
Commits
-------
88c2b9be62 [String] Fix Notice when argument is empty string
This PR was merged into the 4.4 branch.
Discussion
----------
[Inflector] Fix Notice when argument is empty string
| 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 -->
| License | MIT
Fixing issue when we call `Inflector` with empty string:
```
\Symfony\Component\Inflector\Inflector::singularize('');
```
```
Notice: Uninitialized string offset: 0 in src/Symfony/Component/Inflector/Inflector.php on line 363
PHP Notice: Uninitialized string offset: 0 in src/Symfony/Component/Inflector/Inflector.php on line 363
...
Notice: Uninitialized string offset: 0 in src/Symfony/Component/Inflector/Inflector.php on line 363
PHP Notice: Uninitialized string offset: 0 in src/Symfony/Component/Inflector/Inflector.php on line 363
```
Fix for 5.1 https://github.com/symfony/symfony/pull/39244
Commits
-------
2dfe342452 [Inflector] Fix Notice when argument is empty string
* 5.1:
Added additional file existence check on temporary file cleanup for dumpFile method
fix lexing inline sequences/mappings with trailing whitespaces
Added test for issue 39229
[Console] Enable hyperlinks in Konsole/Yakuake
* 4.4:
Added additional file existence check on temporary file cleanup for dumpFile method
fix lexing inline sequences/mappings with trailing whitespaces
Added test for issue 39229
[Console] Enable hyperlinks in Konsole/Yakuake
This PR was merged into the 4.4 branch.
Discussion
----------
[Console] Re-enable hyperlinks in Konsole/Yakuake
| Q | A
| ------------- | ---
| Branch? | 4.4 <!-- see below -->
| 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#31809 <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License | MIT
Hyperlinks feature was broken in KDE's Konsole/Yakuake (#31809) and thus disabled by #31849.
But the feature has been recently [implemented](https://invent.kde.org/utilities/konsole/-/merge_requests/138), and is about to be released in KDE 20.12 on December 10th 2020, see [release notes](https://community.kde.org/Releases/20.12_Release_Notes#Konsole).
![obrazek](https://user-images.githubusercontent.com/793041/100556284-92dccf00-32a1-11eb-9907-f65c2eaa1335.png)
Tested in RC version and seems to be working fine. The feature is disabled by default (as per security concerns), but even when disabled, it just gracefully don't show the links.
Commits
-------
728edf36bf [Console] Enable hyperlinks in Konsole/Yakuake
This PR was squashed before being merged into the 5.2 branch.
Discussion
----------
[Security] [DX] Automatically add PasswordUpgradeBadge + default support() impl in AbstractFormLoginAuthenticator
| Q | A
| ------------- | ---
| Branch? | 5.2 (hopefully? sorry to keep pushing the barrier here)
| Bug fix? | no
| New feature? | yes (sort of)
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
These are 2 suggestions we found while implementing `make:auth` for the new system (https://github.com/symfony/maker-bundle/pull/736):
Impact on a custom login form authenticator ([as generated by the new maker](https://github.com/symfony/maker-bundle/pull/736/files#diff-528164b6c24778d5e81fa3819b0552f0e68a9fea33c7d3446a012f3da7d0af60)):
* **Automatically add `PasswordUpgradeBadge`** if there is a user password with valid password credentials.
```diff
// ...
return new Passport(
new UserBadge($userIdentifier),
new PasswordCredentials($password),
[
- new PasswordUpgradeBadge($password),
new CsrfTokenBadge('authenticate', $csrf),
]
)
```
Note that this does not automatically migrate all passwords: it still relies on `PasswordUpgraderInterface` to be implemented on the user loader/provider.
* **Add default implementation of `AbstractFormLoginAuthenticator::support()`**
```diff
- public function supports(Request $request): ?bool
- {
- return self::LOGIN_ROUTE === $request->attributes->get('_route')
- && $request->isMethod('POST');
- }
```
cc @weaverryan @jrushlow
Commits
-------
27450c0bb4 [Security] [DX] Automatically add PasswordUpgradeBadge + default support() impl in AbstractFormLoginAuthenticator
Add logic for locking row for update when the doctrine dbal connection is sqlsrv. This is a quick and dirty solution, but it prevents the need to rewrite the logic due to doctrine dbal limitations.
See issue https://github.com/symfony/symfony/issues/39117
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[DependencyInjection] Fix circular in DI with lazy + byContruct loop
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39120
| License | MIT
| Doc PR | -
This fix another issue lazy service.
It partially revert #38980 and #39021
Initially, we trusted lazy services to be lazy and not beeing called while building the services graph
=> bug #38970 when lazy deps is injected in a factory, it may be consumed directly to build the object before the graph is fully built
Fixed by #38980 => lazy service are considered as "normal service"
=> bug #39015 some loop are not resolvable with "normal service", but it shouldn't be an issue when servie proxifyied
Fixed by #39021 => lazy service are considered as "normal service" except when proxyfied
=> bug #39120 some loop are not resolvable with "normal service", but it shouldn't be an issue because the lazy service is injected in the constructor and user
Fixed by this PR => that revert to the initial state. lazy service are trusted.
But now, The IterratorArgument injected in a factory (single exception) is not more considered as lazy
Commits
-------
54af139a4e [DependencyInjection] Fix circular in DI with lazy + byContruct loop
This PR was squashed before being merged into the 5.2 branch.
Discussion
----------
[Security] Automatically register custom authenticator as entry_point (if supported)
| Q | A
| ------------- | ---
| Branch? | 5.2 (hopefully?)
| Bug fix? | no
| New feature? | yes
| Deprecations? | no
| Tickets | Fix#37068
| License | MIT
| Doc PR | -
@weaverryan came up with exactly the same issue as proposed by a contributor before (see referenced ticket). Back then, it was decided impossible to fix: see https://github.com/symfony/symfony/pull/37075. However, after some thinking we came up with a way to fix the issue and improve the DX for custom authenticators.
The new authenticators are no longer required to implement `AuthenticationEntryPointInterface` (required for internal authenticators like the `RememberMeAuthenticator` and pre authenticated ones). This PR uses a compiler pass to check if a custom authenticator is supported:
```yaml
security:
firewalls:
main:
# in any case, if an entry_point is already configured it'll not be overriden
# (http_basic remains the entry point here)
http_basic: ~
custom_authenticator: App\Security\CustomAuthenticator
entry_point: http_basic
# if only one custom authenticator implements AuthenticationEntryPointInterface,
# it's automatically configured as the entry point
custom_authenticator: App\Security\CustomAuthenticator
custom_authenticators: [App\Security\CustomAuthenticator, App\Security\NoEntryPointAuthenticator]
# if no custom authenticator implements AuthenticationEntryPointInterface,
# an error is thrown
custom_authenticator: App\Security\NoEntryPointAuthenticator
# if more than one authenticator implements AuthenticationEntryPointInterface,
# the entry point must be configured explicitly (or an error is thrown)
custom_authenticators: [App\Security\CustomAuthenticator, App\Security\AnotherCustomAuthenticator]
entry_point: App\Security\CustomAuthenticator
```
---
I know this is very late for Symfony 5.2. It would be good to decide whether this can be included in the release, in order to smooth out the biggest struggle for people using custom authenticators for the first time.
Commits
-------
cab0672248 [Security] Automatically register custom authenticator as entry_point (if supported)
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
Add Romanian missing translations
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | kinda
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38758
| License | MIT
| Doc PR | n/a
Commits
-------
6aa31a13c7 Add Romanian missing translations
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[DependencyInjection][Translator] Silent deprecation triggered by libxml_disable_entity_loader
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39040
| License | MIT
| Doc PR | -
The XML entity loader is disabled by default since libxml 2.9
But, since PHP 8.0, calling the method `libxml_disable_entity_loader` triggers a deprecation which has been solved in symfony by calling `libxml_disable_entity_loader` only for libxml < 2.9
The issue is, some dependencies, enable the entity loader and does not restore the initial state afterward, leading to exceptions triggered by Symfony iteself.
In previous versions symfony was resilient by disabling the flag before working, which is not the case anymore to avoid the deprecation.
This PR restore the resiliency of Symfony for PHP < 8.0, which is not yet deprecated.
But we have no way to check the status of the entity loader without triggering a deprecation with Symfony 8.
Commits
-------
114b7a543a [DependencyInjection][Translator] Silent deprecation triggered by libxml_disable_entity_loader
This PR was merged into the 4.4 branch.
Discussion
----------
[Form] ignore the pattern attribute for textareas
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39066
| License | MIT
| Doc PR |
Commits
-------
e7698e7434 ignore the pattern attribute for textareas
This PR was merged into the 5.2 branch.
Discussion
----------
[HttpFoundation] Deprecate BinaryFileResponse::create()
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | no
| New feature? | no
| Deprecations? | yes
| Tickets | N/A
| License | MIT
| Doc PR | N/A
Follows #34771. We've deprecated the static `::create()` methods on all response classes but `BinaryFileResponse`. This PR proposes to fix this inconsistency.
Commits
-------
9ce2e86207 [HttpFoundation] Deprecate BinaryFileResponse::create().
This PR was merged into the 5.1 branch.
Discussion
----------
[Serializer] Fix denormalizing scalar with UnwrappingDenormalizer
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38983
| License | MIT
| Doc PR | none
In order to work the `UnwrappingDenormlizer` needs to be called first to unwrap the data so that it can be handled by other denormalizers.
To not introduce any BC break this PR does not move the logic into it's own class, instead it checks if a denormalizer supports the data and only denormalize scalar values if there is none.
Commits
-------
98cf389fb9 fix denormalizing scalar with UnwrappingDenormalizer
* 5.1:
Fix test.
[PhpUnitBridge] Fix qualification of deprecations triggered by the debug class loader
Improve return phpdoc for Normalizer
Use a partial buffer in SymfonyStyle
Fix console closing tag
Fix typo in comment
[VarDumper] fix casting resources turned into objects on PHP 8
* 4.4:
[PhpUnitBridge] Fix qualification of deprecations triggered by the debug class loader
Improve return phpdoc for Normalizer
Use a partial buffer in SymfonyStyle
Fix console closing tag
Fix typo in comment
[VarDumper] fix casting resources turned into objects on PHP 8
This PR was merged into the 4.4 branch.
Discussion
----------
[Console] Use a partial buffer in SymfonyStyle
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39156
| License | MIT
| Doc PR | -
Symfony style needs to buffer output in order to get the last 2 chars in order to prepend Block.
By using a `BufferedOutput` symfony bufferize everything while it not needed.
This PR adds a new `TrimmedBufferOutput` that keep only the N last chars.
Commits
-------
18fca2984d Use a partial buffer in SymfonyStyle
This PR was merged into the 4.4 branch.
Discussion
----------
[HttpClient] don't fallback to HTTP/1.1 when HTTP/2 streams break
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix https://github.com/composer/composer/issues/9481
| License | MIT
| Doc PR | -
With this change, I don't reproduce the failures that I describe in https://github.com/composer/composer/issues/9481 when running the script in #38690
Apparently curl has an issue when both h1.1 and h2 connections are open to the same host.
Instead of switching to HTTP/1.1 when retrying requests that failed because of an HTTP/2 stream error, I propose to close the http/2 connection when issuing a retry.
With this change, running the mirroring script of packagist works like a charm.
No need to investigate your mirrors @Seldaek, this was definitely a data corruption issue.
Commits
-------
0c92bc5a83 [HttpClient] don't fallback to HTTP/1.1 when HTTP/2 streams break
* 5.1:
do not depend on the actual time to fix a transient test
Run Redis Sentinel tests in GithubAction
Minor : Removed typo (extra "the" term)
Check if method inheritEnvironmentVariables exists
[PhpUnitBridge] Fix test fixture file name
* 4.4:
do not depend on the actual time to fix a transient test
Run Redis Sentinel tests in GithubAction
Minor : Removed typo (extra "the" term)
Check if method inheritEnvironmentVariables exists
[PhpUnitBridge] Fix test fixture file name
This PR was merged into the 4.4 branch.
Discussion
----------
[HttpKernel] do not depend on the actual time to fix a transient test
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
Commits
-------
b7e5c7d67d do not depend on the actual time to fix a transient test
This PR was merged into the 4.4 branch.
Discussion
----------
[Cache] Run Redis Sentinel tests in GithubAction
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Add support for Sentinel tests in GHA
Commits
-------
bd84394dc5 Run Redis Sentinel tests in GithubAction
* 5.1:
[Ldap] Fix undefined variable $con.
Use GithubAction to run ldap tests
Adds LDAP Adapter test in integration group
Fix critical extension when reseting paged control
Reinitialize globBrace after unserialization
* 4.4:
Use GithubAction to run ldap tests
Adds LDAP Adapter test in integration group
Fix critical extension when reseting paged control
Reinitialize globBrace after unserialization
This PR was merged into the 4.4 branch.
Discussion
----------
[LDAP] Add ldap tests to github CI
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39028
| License | MIT
| Doc PR |
Adds LDAP test on github actions pipeline and corrects sum bugs in the LDAP Component test
It also adds a bug resolution from @Nek- made in #38875
Commits
-------
ea78f728b1 Use GithubAction to run ldap tests
af9562b12c Adds LDAP Adapter test in integration group
This PR was merged into the 4.4 branch.
Discussion
----------
[Config] Recheck glob brace support after GlobResource was serialized
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
cc @bastnic
This bug was reported on Symfony Slack: `$this->globBrace` is set to `null` after unserialization from the `.meta` file.
Instead of serializing this property, I decided to reinitialize the property after unserialization. I think that's a safer option (e.g. it works when the cache is build on a different server with different globBrace support than the one running the application).
Commits
-------
d9534779cf Reinitialize globBrace after unserialization
* 5.1:
remove unreachable code
Update ExceptionEvent.php
fix firebase transport factory DI tag type
[HttpFoundation] Fix for virtualhosts based on URL path
This PR was merged into the 4.4 branch.
Discussion
----------
[HttpFoundation] Fix for virtualhosts based on URL path
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#34866
| License | MIT
| Doc PR | no
This PR fixes base URL detection when:
- virtualhost is based on URL path
- AND local path does not match that URL virtual host path prefix
fix covered with tests
Commits
-------
75ff86811f [HttpFoundation] Fix for virtualhosts based on URL path
This PR was merged into the 4.4 branch.
Discussion
----------
[Cache] Add tests on CacheDataCollector
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| 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.
-->
The `calculateStatistics()` method of `Symfony\Component\Cache\DataCollector\CacheDataCollector` contain a lot of logic and manipulate multi-dimensional array that could be refactor with VO.
But before doing this, I would add test on this part.
Commits
-------
7b4310f045 Add tests on CacheDataCollector
This PR was merged into the 4.4 branch.
Discussion
----------
[DependencyInjection] Fix circular detection with multiple paths
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39056
| License | MIT
| Doc PR | -
There are currently 2 kind of issues related to the Dependency Injection:
1. performance issue when project contains many loops (#37850)
Which has been fixed by #38882
2. Infinity loop in some case (#38970)
Which has been fixed by #38980 and #39021
The new issue #39056 has been introduced by #38882 (The performance issue refactor) because in order to optimize loop detection, I take a short cut and choose to not collect ALL the circular loop but only the one that matters
I was wrong. All loops matters.
This PR fix my previous refacto to collect ALL the paths, with a low CPU footprint
Commits
-------
1c3721e8ad Fix circular detection with multiple paths
This PR was squashed before being merged into the 5.2-dev branch.
Discussion
----------
[Messenger] Fix JSON deserialization of ErrorDetailsStamp and normalization of FlattenException::$statusText
| Q | A
| ------------- | ---
| Branch? | 5.x (bugfix of a 5.x-only feature)
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#39003
| License | MIT
~WIP~ This is now complete and, thanks to @yceruto, I've fixed two bugs in this PR:
* `ErrorDetailsStamp` couldn't be (de)serialized properly with that constructor argument
* `FlattenException::$statusText` wasn't (de)normalized
Commits
-------
9af554cb41 [Messenger] Fix JSON deserialization of ErrorDetailsStamp and normalization of FlattenException::$statusText
This PR was merged into the 5.2-dev branch.
Discussion
----------
Adds constants for YamlEncoder options
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| License | MIT
As I understand it encoders and normalizers use (public) constants for context keys so IDEs can help by providing autocomplete. I added these constants for the YamlEncoder where they are missing right now. For reference see other encoders like CsvEncoder or XmlEncoder.
Commits
-------
6ebf7e164e Adds constants for YamlEncoder options
This PR was merged into the 5.2-dev branch.
Discussion
----------
[Validator] Override the default option of the choice constraint
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | N/A
| License | MIT
| Doc PR | TODO
We have a bundle that run test against the last version of symfony and we detect BC Break when passing a string as the first argument of the class Choice
Our code extends the Choice class and change the defaultOption.
I saw that others constraints class had new construct signature (for php8 attributes), but only some of them kept the array options as their first arguments. Why ?
ping @ogizanagi @derrabus
https://travis-ci.com/github/Elao/PhpEnums/jobs/410045368
```
1) Elao\Enum\Tests\Unit\Bridge\Symfony\Validator\Constraint\EnumTest::testDefaultValueIsEnumClass
Symfony\Component\Validator\Exception\MissingOptionsException: The options "class" must be set for constraint "Elao\Enum\Bridge\Symfony\Validator\Constraint\Enum".
/home/travis/build/Elao/PhpEnums/vendor/symfony/symfony/src/Symfony/Component/Validator/Constraint.php:171
/home/travis/build/Elao/PhpEnums/vendor/symfony/symfony/src/Symfony/Component/Validator/Constraint.php:110
/home/travis/build/Elao/PhpEnums/vendor/symfony/symfony/src/Symfony/Component/Validator/Constraints/Choice.php:75
/home/travis/build/Elao/PhpEnums/src/Bridge/Symfony/Validator/Constraint/Enum.php:39
/home/travis/build/Elao/PhpEnums/tests/Unit/Bridge/Symfony/Validator/Constraint/EnumTest.php:22
```
Commits
-------
d553750054 Allow user to override default options when extending the Choice Constraint
This PR was merged into the 4.4 branch.
Discussion
----------
[Console] Fix ANSI when stdErr is not a tty
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38981
| License | MIT
| Doc PR | -
Taking the @wouterj 's comment into account (https://github.com/symfony/symfony/issues/38981#issuecomment-721915428)
This PR prevents using the same Formatter for stdOut and stdErr when possible.
When user send a custom formatter (or call `setFormatter`) the previous logic is kept.
Otherwise, symfony is asked to create the Formatter, and thus is able to clone the formatter.
In a future PR targeting 5.3, we could improve the constructor to let people inject 2 distinguished formatters
Commits
-------
f3a398b5af Fix ANSI when stdErr is not a tty
This PR was merged into the 4.4 branch.
Discussion
----------
[DependencyInjection] Fix circular reference with Factory + Lazy Iterrator
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38970
| License | MIT
| Doc PR | -
The issue, occurs when a `factory` iterates over services (think tagged iterator) that also need the `factory`.
The PhpDumper is not able to detect the loop because the TaggedService iterator is flaged as "lazy" which is ignored in the loop detection. 2d7e0b02c6/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php (L474-L476)
See test case for a reproduce case.
This PR takes into account lazy services when computing loops.
I'm not sure this is the right thing to do /cc @nicolas-grekas .
A better solution could be to do this ONLY when the service is used as a factory?
Commits
-------
51ff060603 Fix circular referene with Factory and LazyIterator
This PR was merged into the 5.2-dev branch.
Discussion
----------
[Messenger] Do not call getQueueUrl when the url is known in AmazonSqs transport
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | yes
| Deprecations? | no
| Tickets | Fix#38849
| License | MIT
| Doc PR | TODO
When user provides a DSN that looks like a queueUrl, we don't need to call the `getQueueUrl` method. This PR inject the known queueUrl and prevent performing a useless call to the API when sending a message
Commits
-------
f1f44d48e0 Do not call getQueueUrl when the url is known
This PR was merged into the 5.2-dev branch.
Discussion
----------
[Messenger] Improve formatting of exception in failed message
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | not really, enhancement of an existing feature
| Deprecations? | no
| Tickets | Fix#32310
| License | MIT
This PR improves the formatting of exception details in failed messenges when displayed using `messenger:failed:show <id> -vv`.
Before:
<img width="807" alt="Screen Shot 2020-11-01 at 1 05 24 PM" src="https://user-images.githubusercontent.com/4370753/97802602-ea593200-1c44-11eb-8bcb-7fcf2d3f1db0.png">
After:
<img width="803" alt="Screen Shot 2020-11-01 at 1 03 09 PM" src="https://user-images.githubusercontent.com/4370753/97802615-f0e7a980-1c44-11eb-8c12-46b2d4510364.png">
I created a `ThrownExceptionDetails` class which will be displayed as a normal exception when dumped with the VarDumper component. Not sure if this is the right way to do it and if the class is in the right namespace, but this is the best solution I could came up with to fix#32310. I'm open for other suggestions.
Commits
-------
2ad1adda69 [Messenger] Improve formatting of thrown exception in show failed message command
This PR was merged into the 5.2-dev branch.
Discussion
----------
[HttpFundation][FrameworkBundle] Deprecate the HEADER_X_FORWARDED_ALL constant
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | no
| Deprecations? | yes
| Tickets | -
| License | MIT
| Doc PR | TODO
The `HEADER_X_FORWARDED_ALL` implicitly trust the `x-forwarded-host` header, leading to possible host header attack (as warned in the [documentation](https://symfony.com/doc/current/reference/configuration/framework.html#trusted-hosts).)
Moreover, this `HEADER_X_FORWARDED_ALL` does not really fowards **all** headers, as ti does not supports `X-Forwarded-Prefix` headers.
This PR deprecate the constant and the new framework bundle configuration. It will be removed in 6.0. People have to use: either:
- `Request::setTrustedProxies(['1.2.3.4'], Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_HOST | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO);`
- `Request::setTrustedProxies(['1.2.3.4'], Request::HEADER_X_FORWARDED_TRAEFIK);`
- `framework.trusted_headers: [x-forwarded-for, x-forwarded-host, x-forwarded-port, x-forwarded-proto]`
Commits
-------
7cf4dd6917 Deprecate HEADER_X_FORWARDED_ALL constant
This PR was merged into the 5.1 branch.
Discussion
----------
[HttpClient] Check status code before decoding content in TraceableResponse
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | yes
| New feature? | no
| Deprecations? | np
| Tickets | -
| License | MIT
| Doc PR | -
Using `toArray()` on the response of a traceable client, the status code is currently checked after json decoding, which leads to `JsonException` being thrown instead of `ClientException`.
It should be the opposite, as for non-traceable responses.
Commits
-------
e5595dae73 [HttpClient] Check status code before decoding content in TraceableResponse
This PR was merged into the 4.4 branch.
Discussion
----------
[PhpUnitBridge] fix replaying skipped tests
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Spotted while working on https://github.com/symfony/polyfill/pull/310
See also https://3v4l.org/D6Gro for the newly skipped tests in symfony/intl
Commits
-------
849d1b3845 [PhpUnitBridge] fix replaying skipped tests
This PR was merged into the 5.2-dev branch.
Discussion
----------
[Notifier] Add unit tests for NullMessage, NullTransport and NullTransportFactory
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets | - <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License | MIT
| Doc PR | - <!-- required for new features -->
<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.
Additionally (see https://symfony.com/releases):
- Always add tests and ensure they pass.
- Never break backward compatibility (see https://symfony.com/bc).
- Bug fixes must be submitted against the lowest maintained branch where they apply
(lowest branches are regularly merged to upper ones so they get the fixes too.)
- Features and deprecations must be submitted against branch 5.x.
-->
Commits
-------
8a78dc2c97 [Notifier] Add unit tests for NullMessage, NullTransport and NullTransportFactory
* 5.1:
[Process] Dont test TTY if there is no TTY support
Fixing some Mongolian
translating the validators for european portuguese language
Fix CI
Update validators.he.xlf
Update security.he.xlf
Update validators.he.xlf
Improve performances in CircualReference detection
[PHPUnitBridge] Fixed crash on Windows with PHP 8
Fix session called initized several time
* 4.4:
[Process] Dont test TTY if there is no TTY support
Fixing some Mongolian
translating the validators for european portuguese language
Fix CI
Update validators.he.xlf
Update security.he.xlf
Update validators.he.xlf
Improve performances in CircualReference detection
[PHPUnitBridge] Fixed crash on Windows with PHP 8
Fix session called initized several time
This PR was merged into the 4.4 branch.
Discussion
----------
[HttpKernel] Fix session initialized several times
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
The session injected in the request is a factory. When the request is **cloned** (ie sub-request) while the session is not yet used in the master request (the session is still a factory), both Master and Sub request will have a factory.
If both requests attempt to read the session afterward, they both triggers the factory, and both initialize the session.
It's not a dead end for the `SessionListener` because the session come from the container and is shared, but:
- the session is initialized ($storage->setOptions(['cookie_secure' => true])) twice
- if we replace the sesssion from container to a factory, it could be an issue
Commits
-------
30a3c7c87b Fix session called initized several time
This PR was merged into the 4.4 branch.
Discussion
----------
[DependencyInjection] Improve performances in CircualReference detection
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#37850
| License | MIT
| Doc PR | -
This PR change the way circular references are detected. And improve the project submitted in #37850 [by **86%**](https://blackfire.io/profiles/compare/cc4aa41d-5b63-4caa-9a1b-fc282dc5d64a/graph) (Build the container in 1.1 sec instead of 10)
Issue is: When a project contains a lot Circular Reference, the Dumper [spend a lot of time](https://blackfire.io/profiles/54f6eba2-b93c-4f2b-a268-1e58883faecb/graph) in merging those circular references.
note: a circular reference is not an issue when an service is not injected by constructor, but this Can not be known until all references are resolved (performed previously by connectCircularReferences)
This PR removed the connectCircularReferences and generate a flatten tree of dependencies:
- the key is the service ID
- the value is the list of direct **AND** indirect dependency + path to join the dependency
I also [benched the PR with a project with few references](https://blackfire.io/profiles/compare/2f9902e6-3347-40b3-8421-e1fd09c067d2/graph) and result are almost the same before/after.
Commits
-------
d4db75692b Improve performances in CircualReference detection
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[Process] Dont test TTY if there is no TTY support
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38946
| License | MIT
| Doc PR |
Commits
-------
e918e5ab30 [Process] Dont test TTY if there is no TTY support
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
Fixing some Mongolian
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38916
| License | MIT
| Doc PR |
Hey @luffy1727, could you help me with the last two strings here?
Commits
-------
5c848d9796 Fixing some Mongolian
This PR was merged into the 4.4 branch.
Discussion
----------
[Validator] Merge RecursiveValidatorTest with its parents
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | N/A
| License | MIT
| Doc PR | N/A
`RecursiveValidatorTest` as two abstract parent classes that to my understanding exist mainly for historic reasons: We used to have different validator implementations and those abstract classes contained some shared test cases. This is not the case anymore, which leaves `RecursiveValidatorTest` as the only child class of those two abstract classes.
This PR suggests to merge the three classes into one.
I've executed the test suite before and after the change and PHPUnit reported the same number of assertions and test cases.
I've also checked how the merge to 5.1 and 5.x would look like. The merge to 5.1 works without conflicts. From 5.1 to 5.x, two additional test cases have to be moved down and the reference to a few fixture classes needs to be adjusted.
Commits
-------
6822774d37 [Validator] Merge RecursiveValidatorTest with its parents.
This PR was merged into the 4.4 branch.
Discussion
----------
[Finder] Force set access time in test
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no, it only updates the tests
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38942
| License | MIT
| Doc PR |
OSX don't really update atime (access time). They claim it is because performance reasons. So this PR will update the test to make PHP force access time on a file.
The different runs of `testAccept` depends on each other because each test modifies the filesystem a bit. That is why I added the extra `sleep(1)`.
Commits
-------
c5ec51abdf [Finder] Force set access time in test
This PR was merged into the 4.4 branch.
Discussion
----------
Fix transiant tests in 4.4
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
I noticed this week 2 currencies of this failure. in both case the `METADATA_EXPIRY` were 1.5 sec under the expected value
Commits
-------
833029ca7e Fix transiant tests in 4.4
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[Form] Add missing Azerbaijani translation
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Part of #38725 and #38710
| License | MIT
| Doc PR | N/A
Commits
-------
142cfeed55 [Form] Add missing Azerbaijani translation
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
Missing translations for Catalan (ca)
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38731
| License | MIT
| Doc PR | symfony/symfony-docs#... <!-- required for new features -->
<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.
Additionally (see https://symfony.com/releases):
- Always add tests and ensure they pass.
- Never break backward compatibility (see https://symfony.com/bc).
- Bug fixes must be submitted against the lowest maintained branch where they apply
(lowest branches are regularly merged to upper ones so they get the fixes too.)
- Features and deprecations must be submitted against branch 5.x.
-->
Commits
-------
6efa4ed777 Missing translations for Catalan (ca)
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
fix: updating translation issues
| Q | A
| ------------- | ---
| Branch? | 5.x for features / 4.4 or 5.1 for bug fixes <!-- see below -->
| Bug fix? | yes/no
| New feature? | yes/no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | yes/no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets | Fix #... <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License | MIT
| Doc PR | symfony/symfony-docs#... <!-- required for new features -->
<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.
Additionally (see https://symfony.com/releases):
- Always add tests and ensure they pass.
- Never break backward compatibility (see https://symfony.com/bc).
- Bug fixes must be submitted against the lowest maintained branch where they apply
(lowest branches are regularly merged to upper ones so they get the fixes too.)
- Features and deprecations must be submitted against branch 5.x.
-->
Commits
-------
b39ff818ca fix: updating translation issues
This PR was squashed before being merged into the 5.2-dev branch.
Discussion
----------
[Console] Make error message more verbose
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | yes
| Deprecations? | no
| Tickets | Fix#38904
| License | MIT
| Doc PR | no
This will make the error message a bit more verbose when you are using too many or too few arguments.
Commits
-------
ef221e88aa [Console] Make error message more verbose
This PR was merged into the 4.4 branch.
Discussion
----------
Validate XLIFF files in tests using the XSD
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
The current tests only validated that the Xliff files were valid XML. This improves it to also validate the Xliff files against the correct XSD. This will avoid issues like https://github.com/symfony/symfony/issues/38935 in the future.
cc @Nyholm
Commits
-------
17dfa1d5fc Validate XLIFF files in tests using the XSD
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
Update validators.da.xlf
Added missing cases in danish.
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38736
| License | MIT
| Doc PR | symfony/symfony-docs#... <!-- required for new features -->
Commits
-------
e24d675368 Update validators.da.xlf
This PR was merged into the 4.4 branch.
Discussion
----------
Set constant visibility in tests to private where possible
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | N/A
| License | MIT
| Doc PR | N/A
As discussed on Slack, this PR prepares the introduction of a CS fixer rule to enforce explicit visibility declarations for constants. I've checked class constants in test and fixture classes and if I only found usages within the same class, I've declared them `private`. This way, I also found a few constants that weren't used at all anymore, so I've removed those.
Commits
-------
43ce6dfe44 Set constant visibility in tests to private where possible.
This PR was merged into the 5.2-dev branch.
Discussion
----------
[HttpFoundation] Deprecate not passing a `Closure` together with `FILTER_CALLBACK` to `ParameterBag::filter()`
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | no
| New feature? | no
| Deprecations? | yes
| Tickets | -
| License | MIT
| Doc PR | -
Using `filter_var()` with a configurable flag is risky, because of the `FILTER_CALLBACK` flag.
Restricting the type of callable that is accepted here mitigates the risk.
We did the same in Twig: https://github.com/twigphp/Twig/pull/3308
Commits
-------
d6aea288e7 [HttpFoundation] Deprecate not passing a `Closure` together with `FILTER_CALLBACK` to `ParameterBag::filter()`
This PR was merged into the 4.4 branch.
Discussion
----------
Fixed translations for Norwegian
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
This will fix Travis build on 4.4
Norwegian has two dialects. "old" or "written" (Bokmål) and "new" (Nynorsk). The "new" one is the one everybody* speaks. The locales for these languages are:
- Norwegian: no
- "old": nb
- "new": nn
It does not make sense, sure. However, Symfony have tests that make sure that `no` and `nb` are the same. This PR just copies the `no` translations to `nb`.
----------
\* By "everybody" I mean the younger half of the population, especially in Olso. I am generalising partly because Im ignorant and partly because I wish more people spoke Nynork because that is the dialect I understand.
Commits
-------
b28505abd5 Fixed translations for Norwegian
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
Missing translations for Greek (el)
| 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#38743. <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License | MIT
| Doc PR | N/A
<!--
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
-------
02d5985a31 Missing translations for Greek (el)
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
Form, Security and Validator mn translation
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38753
| License | MIT
Adding Form, Security and validator Mongolian[mn] translation
Commits
-------
656d7b8df5 Form, Security and Validator mn translation
This PR was merged into the 4.4 branch.
Discussion
----------
[Cache] Fixed expiry could be int in ChainAdapter due to race conditions
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38635
| License | MIT
| Doc PR | no
This bug is hard to re-produce and seems only happen with ArrayAdapter only.
Steps to reproduce:
cache.yaml
```
simple.cache:
adapters:
- cache.adapter.array
- cache.adapter.redis
```
```php
if (isset($item->metadata[CacheItem::METADATA_EXPIRY])) {
$logger->debug($item->key, $item->metadata);
$format = is_int($item->metadata[CacheItem::METADATA_EXPIRY]) ? 'U' : 'U.u';
$item->expiresAt(\DateTime::createFromFormat($format, $item->metadata[CacheItem::METADATA_EXPIRY]));
}
```
Refresh webpage multiple time to make web server busy and logs:
```
[2020-10-29T17:04:51.119653+07:00] application.DEBUG: item-key {"expiry":1603965892.118222,"ctime":4} []
[2020-10-29T17:04:54.322937+07:00] application.DEBUG: item-key {"expiry":1603965895.308393,"ctime":17} []
[2020-10-29T17:04:54.745923+07:00] application.DEBUG: item-key {"expiry":1603965895,"ctime":16} []
```
Commits
-------
268816f26c [Cache] Fixed expiry maybe int due too race conditions
This PR was merged into the 4.4 branch.
Discussion
----------
Complete the Language for Hungarian and Norwegian
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38745 and fix#38754
| License | MIT
| Doc PR | -
Hi there, i have complete the translation for this 2 language. Mostly i translate that using google translate and some of the language i define by my self.
Commits
-------
9e4859c87b Complete the Language for Hungarian and Norwegian
This PR was merged into the 4.4 branch.
Discussion
----------
Add FI Form validation translations
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38876
| License | MIT
Finnish translations for the Form validators.
Commits
-------
7608142ced Add FI Form validation translations
This PR was squashed before being merged into the 5.2-dev branch.
Discussion
----------
[Console] Test degraded true colors
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets | <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License | MIT
| Doc PR | symfony/symfony-docs#14494 <!-- required for new features -->
Testing hidden feature of hex colors degraded to ANSI named colors for terminals without true color support.
Commits
-------
a26dc0931b [Console] Test degraded true colors
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[Form] Add missing slovak translations
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | #38762
| License | MIT
This PR adds missing Slovak Form translations
Commits
-------
52380eed38 [Form] Add missing slovak translations
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
Added Thai missing translations
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38767
| License | MIT
| Doc PR | -
Added missing Thai translations based on 4.4 branch
CC. @Nyholm
Commits
-------
4f39516558 Added Thai missing translations
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
Add missing translations for Tagalog (tl)
| Q | A
| ------------- | ---
| Branch? | 4.4
| 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#38766 <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License | MIT
This PR adds missing form, security and validator translations for Tagalog.
I also skimmed over the existing translations and corrected spelling mistakes I could find.
Commits
-------
c4461b760a Add missing translations for Tagalog (tl)
This PR was squashed before being merged into the 3.4 branch.
Discussion
----------
Missing translations for Chinese (zh_TW) #38733
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38733
| License | MIT
Added missing translations for zh_TW in Form, Security, Validator.
Commits
-------
3e741fda0a Missing translations for Chinese (zh_TW) #38733
This PR was squashed before being merged into the 3.4 branch.
Discussion
----------
Missing translations for Chinese (zh_CN) #38732
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38732
| License | MIT
Added missing translations for zh_CN in Form, Security, Validator.
Commits
-------
952df248d0 Missing translations for Chinese (zh_CN) #38732
This PR was merged into the 5.x branch.
Discussion
----------
[Console] Register signal handling only for commands implemeting SignalableCommandInterface
| Q | A
| ------------- | ---
| Branch? | 5.x for features
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38820
| License | MIT
| Doc PR |
---
Actually, it does not make sens to listen all signals for all commands.
This commit also add more tests for this part of code.
Commits
-------
37b1faec8c [Console] Register signal handling only for commands implemeting SignalableCommandInterface
* 5.1:
Fix CI for 3.4
[Form] Some minor teaks for Swedish
Fix CI
Fix CI
minor #38838 [ProxyManager] use "composer/package-versions-deprecated" instead of "ocramius/package-versions" (nicolas-grekas)
* 4.4:
Fix CI for 3.4
[Form] Some minor teaks for Swedish
Fix CI
Fix CI
minor #38838 [ProxyManager] use "composer/package-versions-deprecated" instead of "ocramius/package-versions" (nicolas-grekas)
* 3.4:
Fix CI for 3.4
[Form] Some minor teaks for Swedish
Fix CI
minor #38838 [ProxyManager] use "composer/package-versions-deprecated" instead of "ocramius/package-versions" (nicolas-grekas)
This PR was merged into the 5.x branch.
Discussion
----------
[Security] Move AbstractListener abstract methods to the new FirewallListenerInterface
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | -
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
We added a FirewallListenerInterface in 5.2, let's make it complete to allow for cleaner firewall listener implementations.
Commits
-------
5dd70bd62e [Security] Move AbstractListener abstract methods to the new FirewallListenerInterface
This PR was squashed before being merged into the 5.x branch.
Discussion
----------
[HttpKernel] HttpKernelBrowser: don't set a default Accept header
| Q | A
| ------------- | ---
| Branch? | 3.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#33393
| License | MIT
| Doc PR | n/a
Currently, the `Accept` HTTP header is set automatically, because there is a default value for this value in HttpFoundation's `Request::create()` method.
This PR remove the default value if it hasn't been set automatically.
This will fix API Platform's `ApiTestCase` and `Behatch/contexts` (the previous workarounds aren't applicable anymore because we added type checks in Symfony).
Commits
-------
bf13887898 [HttpKernel] HttpKernelBrowser: don't set a default Accept header
This PR was merged into the 4.4 branch.
Discussion
----------
Fix transient tests on branch 4.4
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Fix transient tests on branch 4.4.
I'll keep this PR open few days to watch travis/GHA for transient tests
Commits
-------
676b8080a5 Fix transient tests
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[DI] Fix Preloader exception when preloading a class with an unknown parent/interface
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38693
| License | MIT
Fixes Preloader exception when preloading a class with an unknown parent/interface.
Commits
-------
b6ae4858b9 [DI] Fix Preloader exception when preloading a class with an unknown parent/interface
This PR was merged into the 3.4 branch.
Discussion
----------
Fix transient tests on branch 3.4
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Fix transient tests on branch 3.4.
I'll keep this PR open few days to watch travis/GHA for transient tests
Commits
-------
987efdd620 Fix transient tests
This PR was squashed before being merged into the 3.4 branch.
Discussion
----------
[Translation] added missing Albanian translations
[Translation] added missing Albanian translations for the following components:
1. [Forms]
2. [Security][Core]
3. [Validator]
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38722
| License | MIT
Commits
-------
bde427a303 [Translation] added missing Albanian translations
This PR was squashed before being merged into the 3.4 branch.
Discussion
----------
38737 add missing dutch translation
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38737
| License | MIT
| Doc PR | No, not needed
Update dutch translation
Commits
-------
7cf4ca6f83 38737 add missing dutch translation
This PR was merged into the 3.4 branch.
Discussion
----------
Added missing translations for Japanese
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38748
| License | MIT
| Doc PR | symfony/symfony-docs#...
Hi,
I added missing translations for Japanese.
Commits
-------
c83d848005 Add missing translations for Japanese.
This PR was merged into the 3.4 branch.
Discussion
----------
Update French Translations for Validator Component
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets | Fix#38741
| License | MIT
| Doc PR | symfony/symfony-docs#... <!-- required for new features -->
<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.
Additionally (see https://symfony.com/releases):
- Always add tests and ensure they pass.
- Never break backward compatibility (see https://symfony.com/bc).
- Bug fixes must be submitted against the lowest maintained branch where they apply
(lowest branches are regularly merged to upper ones so they get the fixes too.)
- Features and deprecations must be submitted against branch 5.x.
-->
Commits
-------
dd2d320e37 Update French Translations for Validator Component
This PR was merged into the 3.4 branch.
Discussion
----------
Missing swedish translations for Form, Security and Validator components
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38765
| License | MIT
| Doc PR |
Added missing swedish translations for Form, Security and Validator components
Commits
-------
1044b1e852Fix#38765 Added missing swedish translations for Form, Security and Validator components
This PR was squashed before being merged into the 3.4 branch.
Discussion
----------
Added missing translations for Russian
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38759
| License | MIT
| Doc PR | symfony/symfony-docs#... <!-- required for new features -->
Hello!
I added missing translations for Russian.
Commits
-------
6a9e274a10 Added missing translations for Russian
This PR was squashed before being merged into the 3.4 branch.
Discussion
----------
[Form] Add missing Latvian translations
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Part of #34710, #34749
| License | MIT
| Doc PR | N/A
Commits
-------
871c983164 [Form] Add missing Latvian translations
This PR was merged into the 3.4 branch.
Discussion
----------
[Security] Add missing Latvian translations
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Part of #34710, #34749
| License | MIT
| Doc PR | N/A
Commits
-------
7f2b13bcb3 [Security] Add missing Latvian translations
This PR was squashed before being merged into the 3.4 branch.
Discussion
----------
Add missing vietnamese translations
| Q | A
| ------------- | ---
| Branch? | 3.4
| 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#38770 <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License | MIT
| Doc PR | - <!-- required for new features -->
<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.
Additionally (see https://symfony.com/releases):
- Always add tests and ensure they pass.
- Never break backward compatibility (see https://symfony.com/bc).
- Bug fixes must be submitted against the lowest maintained branch where they apply
(lowest branches are regularly merged to upper ones so they get the fixes too.)
- Features and deprecations must be submitted against branch 5.x.
-->
Commits
-------
6289b271aa Add missing vietnamese translations
This PR was squashed before being merged into the 3.4 branch.
Discussion
----------
[Form] Missing Bulgarian translations
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38730
| License | MIT
| Doc PR | N/A
Commits
-------
8c5d26fcb2 [Form] Missing Bulgarian translations
This PR was merged into the 3.4 branch.
Discussion
----------
[Validator] Missing Bulgarian translations
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38730
| License | MIT
| Doc PR | symfony/symfony-docs#... <!-- required for new features -->
Commits
-------
a9d6549ce9 [Validator] Missing Bulgarian translations #38730
This PR was merged into the 3.4 branch.
Discussion
----------
Closes#38747: Add italian translations.
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38747
| License | MIT
| Doc PR | N/A
Commits
-------
7d25a46b3bCloses#38747: Add italian translations.
This PR was squashed before being merged into the 3.4 branch.
Discussion
----------
Update Arabic Form Translations
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Fix #... <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License | MIT
| Doc PR | symfony/symfony-docs#... <!-- required for new features -->
This is related to https://github.com/symfony/symfony/issues/38723
Commits
-------
b36068ff8a Update Arabic Form Translations
This PR was squashed before being merged into the 3.4 branch.
Discussion
----------
Update Security Arabic Translations
| Q | A
| ------------- | ---
| Branch? | 5.x for features / 3.4, 4.4
| 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 #... <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License | MIT
| Doc PR | symfony/symfony-docs#... <!-- required for new features -->
Related to https://github.com/symfony/symfony/issues/38723
Commits
-------
e6219e4796 Update Security Arabic Translations
This PR was merged into the 3.4 branch.
Discussion
----------
[Security] Added missing German translations
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Part of #38710
| License | MIT
| Doc PR | N/A
Commits
-------
54140d45fb [Security] Added missing German translations.
This PR was merged into the 3.4 branch.
Discussion
----------
[Security] Synchronized translations with 5.x
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Part of #38710
| License | MIT
| Doc PR | N/A
Commits
-------
3d7863f5b5 [Security] Synchronized translations with 5.x.
This PR was merged into the 5.2-dev branch.
Discussion
----------
[Form] Added missing German translations
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Part of #38710
| License | MIT
| Doc PR | N/A
Commits
-------
37a2ff4563 [Form] Added missing German translations.
This PR was squashed before being merged into the 5.2-dev branch.
Discussion
----------
[RateLimiter] Moved classes implementing LimiterInterface to a new namespace
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | no
| Deprecations? | no?
| Tickets |
| License | MIT
| Doc PR |
Before we release the RateLimit component.
I think it would be a good idea to put the 7 classes that belongs to a specific strategy in their own "Policy" namespace. It is very likely that it will be more strategies in the future and the `Symfony\Component\RateLimiter` namespace is crowed as it is.
I decided not to put the `CompoundLimiter` in this namespace as it is not a strategy.
Commits
-------
1e6cea56e4 [RateLimiter] Moved classes implementing LimiterInterface to a new namespace
* 5.1:
fix merge
fix merge
Remove branch-version (keep them for contracts only)
[HttpClient] relax auth bearer format requirements
[PHPUnitBridge] Silence errors from mkdir()
[DependencyInjection] Preload classes with union types correctly.
[Serializer] fix decoding float XML attributes starting with 0
add missing dutch translations
[TwigBridge] Remove "transchoice" from the code base
Support PHPUnit 8 and PHPUnit 9 in constraint compatibility trait
Add expectDeprecation, expectNotice, expectWarning, and expectError to TestCase polyfill
[String] fix before/after[Last]() returning the empty string instead of the original one on non-match
Add missing exporter function for PHPUnit 7
[Validator] Add missing romanian translations
[String] fix slicing in UnicodeString
[Cache] Use correct expiry in ChainAdapter
do not translate null placeholders or titles
* 4.4:
fix merge
Remove branch-version (keep them for contracts only)
[HttpClient] relax auth bearer format requirements
[PHPUnitBridge] Silence errors from mkdir()
[DependencyInjection] Preload classes with union types correctly.
[Serializer] fix decoding float XML attributes starting with 0
add missing dutch translations
Support PHPUnit 8 and PHPUnit 9 in constraint compatibility trait
Add expectDeprecation, expectNotice, expectWarning, and expectError to TestCase polyfill
Add missing exporter function for PHPUnit 7
[Validator] Add missing romanian translations
[Cache] Use correct expiry in ChainAdapter
do not translate null placeholders or titles
* 3.4:
Remove branch-version (keep them for contracts only)
[Serializer] fix decoding float XML attributes starting with 0
add missing dutch translations
[Validator] Add missing romanian translations
do not translate null placeholders or titles
This PR was merged into the 5.x branch.
Discussion
----------
[HttpClient] Adding missing dependency for dev
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
This will make sure Travis is happy again.
Commits
-------
552e704d6c [HttpClient] Adding missing dependency for dev
This PR was squashed before being merged into the 5.x branch.
Discussion
----------
[RateLimiter] Rename RateLimiter to RateLimiterFactory
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | no
| Deprecations? | No, not released yet
| Tickets |
| License | MIT
| Doc PR | should be added
Sorry for making a few BC breaks.
@wouterj [said](https://github.com/symfony/symfony/pull/38562#issue-503193238) that this class was suggested to be named `LimiterFactory` before. But that was rejected.
Just my looking at the names of the classes we currently have:
- Rate
- RateLimit
- RateLimiter
I find it hard to know what these are doing and the difference between them. Note that none of them are used as a rate limiter (ie implements `LimiterInterface`)
I would like to be clear that a `RateLimiterFactory` is used to create an object implementing `LimiterInterface`.
Commits
-------
8be261b300 [RateLimiter] Rename RateLimiter to RateLimiterFactory