This PR was squashed before being merged into the 3.4 branch (closes#32485).
Discussion
----------
[Validator] Added support for validation of giga values
As described in issue #32479
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | just tested on my presta and it works. if further tests are necessary, it would be great if someone could help!
| Fixed tickets | #32479
| License | MIT
| Doc PR |
The validation(function normalizeBinaryFormat) in symfony/src/Symfony/Component/Validator/Constraints/File.php doesn't work with gigabyte values in php.ini.
In the PHP documentation it says "PHP allows shortcuts for byte values, including K (kilo), M (mega) and G (giga). " so in my opinion these values should work.
Thanks to @kijamve for the fix.
Commits
-------
969f2c4a81 [Validator] Added support for validation of giga values
This PR was merged into the 4.3 branch.
Discussion
----------
[Messenger] pass transport name to factory
| Q | A
| ------------- | ---
| Branch? | 4.3
| Bug fix? | no
| New feature? | yes
| BC breaks? | no <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass? | yes <!-- please add some, will be required by reviewers -->
| Fixed tickets | #32526
| License | MIT
| Doc PR |
It's technically a new feature but so tiny I'd be happy to have it in 4.3
Commits
-------
59926c8b59 [Messenger] pass transport name to factory
This PR was merged into the 4.3 branch.
Discussion
----------
[Messenger] Fix UnrecoverableExceptionInterface handling
| Q | A
| ------------- | ---
| Branch? | 4.3
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #32325
| License | MIT
| Doc PR | no
Fixed the handling of UnrecoverableExceptionInterface-Exceptions like suggested in [the issue thread](https://github.com/symfony/symfony/issues/32325#issuecomment-509351321).
Commits
-------
49bb7435f1 [Messenger] fixed UnrecoverableExceptionInterface handling in Worker (fixes#32325)
This PR was merged into the 4.3 branch.
Discussion
----------
Properly handle optional tag attributes for !tagged_iterator
| Q | A
| ------------- | ---
| Branch? | 4.3
| Bug fix? | yes
| New feature? | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks? | no <!-- see https://symfony.com/bc -->
| Deprecations? |no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass? | yes <!-- please add some, will be required by reviewers -->
| Fixed tickets | #32603
| License | MIT
| Doc PR | —
Properly handles all optional array keys when using `!tagged_iterator` in YAML service definitions.
This fixes a regression and adds a test case preventing it from coming up again
Commits
-------
d1c6580192 Properly handle optional tag attributes for !tagged_iterator
This PR was merged into the 4.3 branch.
Discussion
----------
[Mime] rename Headers::getAll() to all()
| Q | A
| ------------- | ---
| Branch? | 4.3
| Bug fix? | yes
| New feature? | no
| BC breaks? | yes
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
For consistency with HttpFoundation.
On 4.3 to cut spreading the previous name asap.
Allowed because the component is experimental.
Commits
-------
9252e75923 [Mime] rename Headers::getAll() to all()
This PR was merged into the 4.3 branch.
Discussion
----------
[HttpClient] fix debug output added to stderr at shutdown
| Q | A
| ------------- | ---
| Branch? | 4.3
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
When PHP is shutting down, the verbose output of curl can end up being added to stderr.
This prevents it.
Commits
-------
0f1bca406d [HttpClient] fix debug output added to stderr at shutdown
* 4.2: (23 commits)
fix cs
Use mocks before replacing the error handler
[Config] Do not use absolute path when computing the vendor freshness
Bump minimum version of symfony/phpunit-bridge
Container*::getServiceIds() should return an array of string
[Config][ReflectionClassResource] Use ternary instead of null coaelscing operator
[Validator] Add missing Russian and Ukrainian translations
[Translation] Use HTTPS and fix a url
[Config] Fix for signatures of typed properties
[Validator] Add missing Hungarian translations
[Validator] Add Lithuanian translation for Range validator
Add HTTPS to a URL
sync translation files
PHPDoc fixes
Add notInRange translation
Add danish translation for Range validator
Add german translation for Range validator
Update validators.es.xlf
[Validator] Add missing en and fr translation ids from 4.4
[Debug][DebugClassLoader] Don't check class if the included file don't exist
...
* 3.4: (23 commits)
fix cs
Use mocks before replacing the error handler
[Config] Do not use absolute path when computing the vendor freshness
Bump minimum version of symfony/phpunit-bridge
Container*::getServiceIds() should return an array of string
[Config][ReflectionClassResource] Use ternary instead of null coaelscing operator
[Validator] Add missing Russian and Ukrainian translations
[Translation] Use HTTPS and fix a url
[Config] Fix for signatures of typed properties
[Validator] Add missing Hungarian translations
[Validator] Add Lithuanian translation for Range validator
Add HTTPS to a URL
sync translation files
PHPDoc fixes
Add notInRange translation
Add danish translation for Range validator
Add german translation for Range validator
Update validators.es.xlf
[Validator] Add missing en and fr translation ids from 4.4
[Debug][DebugClassLoader] Don't check class if the included file don't exist
...
This PR was merged into the 3.4 branch.
Discussion
----------
Bump minimum version of symfony/phpunit-bridge
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Before those versions, PHPUnit was downloaded directly on github (on `https://github.com/sebastianbergmann/phpunit/archive/$PHPUNIT_VERSION.zip`), not installed with composer.
However, this behavior is not working (anymore ?) because https://github.com/sebastianbergmann/phpunit/archive/6.5.zip is a 404 (`Warning: fopen(https://github.com/sebastianbergmann/phpunit/archive/6.5.zip): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found`).
When installing lowest dependencies to run tests in local, you encounter this problem and you cannot launch the tests unless you set the `SYMFONY_PHPUNIT_VERSION` to `6.5.14`. But IMHO, it should work by default.
Commits
-------
04e0f3c575 Bump minimum version of symfony/phpunit-bridge
This PR was merged into the 3.4 branch.
Discussion
----------
[Serializer] XmlEncoder: don't cast padded strings
| Q | A
| ------------- | ---
| Branch? | 3.4 <!-- see below -->
| Bug fix? | yes
| New feature? | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks? | no <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass? | yes <!-- please add some, will be required by reviewers -->
| Fixed tickets | https://github.com/symfony/symfony/pull/23122#discussion_r121886667 <!-- #-prefixed issue number(s), if any -->
| License | MIT
| Doc PR | N/A
This was a suggestion of @nicolas-grekas in #23122. Which seems to have been forgotten.
But shouldn't we also avoid casting something like `.18`, `+18`, `-18`?
Commits
-------
c1bfaa1de4 [Serializer] XmlEncoder: don't cast padded strings
This PR was merged into the 3.4 branch.
Discussion
----------
[Config] Do not use absolute path when computing the vendor freshness
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
When one uses Docker with a different mounting point between CLI & FPM,
the cache keeps regenerating because the ComposerResource class see a
different path for each SAPI. For example `/home/app/app/vendor` vs
`/var/www/app/vendor`.
So if you hit FPM, then the CLI, then FPM, each time a new cache is
generated. So the application is quite slow in dev env. And for people
on MacOSX (with docker) is a big pain! And obvisouly, this never
stabilizes !
This occurs a lot when you have a worker, that crash and reboot in the
background, and you browse the web interface. Or when you have something
that hit your API every X secondes, and you are working on a worker.
Commits
-------
2d2e2742c8 [Config] Do not use absolute path when computing the vendor freshness
This PR was merged into the 3.4 branch.
Discussion
----------
[Debug] Use mocks before replacing the error handler
| Q | A
| ------------- | ---
| Branch? | 3.4,
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
We want the bridge to mute the php 7.4 deprecations triggered when building mocks.
Commits
-------
f6e0b01f7c Use mocks before replacing the error handler
When one uses Docker with a different mounting point between CLI & FPM,
the cache keeps regenerating because the ComposerResource class see a
different path for each SAPI. For example `/home/app/app/vendor` vs
`/var/www/app/vendor`.
So if you hit FPM, then the CLI, then FPM, each time a new cache is
generated. So the application is quite slow in dev env. And for people
on MacOSX (with docker) is a big pain! And obvisouly, this never
stabilizes !
This occurs a lot when you have a worker, that crash and reboot in the
background, and you browse the web interface. Or when you have something
that hit your API every X secondes, and you are working on a worker.
This PR was merged into the 3.4 branch.
Discussion
----------
Container*::getServiceIds() should return strings
| Q | A
| ------------- | ---
| Branch? | 4.3
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | o
| Tests pass? | yes
| Fixed tickets | #32549
| License | MIT
Cast services ids to string in `Container*::getServiceIds()`
Commits
-------
9c88caad31 Container*::getServiceIds() should return an array of string
This PR was merged into the 3.4 branch.
Discussion
----------
[Config][ReflectionClassResource] Use ternary instead of null coalescing operator
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
`??` cannot be on 3.4, tests are failing because of this.
Commits
-------
4db953f40c [Config][ReflectionClassResource] Use ternary instead of null coaelscing operator
This PR was merged into the 3.4 branch.
Discussion
----------
[Validator] Update Spanish translation for Range validator
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | Part of #31503
| License | MIT
| Doc PR | -
Commits
-------
b5a96409b7 Update validators.es.xlf
This PR was merged into the 3.4 branch.
Discussion
----------
[Validator] Add missing Russian and Ukrainian translations
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
~~Some of this translations could be missing in 4.2 also, but [support of Symfony 4.2](https://symfony.com/roadmap/4.2) ends in two weeks, so I think nobody cares about missing translations in it.~~
@peter-gribanov , @vudaltsov , @insidestyles, @stfalcon please, check also provided translations
Commits
-------
fae418f7cb [Validator] Add missing Russian and Ukrainian translations
This PR was submitted for the 4.4 branch but it was merged into the 4.3 branch instead (closes#32553).
Discussion
----------
[Mailer] Allow register mailer configuration in xml format
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
This looks like bugfix but also similar to new feature. I can switch branch to 4.3 if needed.
Commits
-------
2f3b47a9e4 [Mailer] Allow register mailer configuration in xml format
This PR was merged into the 4.3 branch.
Discussion
----------
Adding missing event_dispatcher wiring for messenger.middleware.send_message
| Q | A
| ------------- | ---
| Branch? | 4.3
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #32375
| License | MIT
| Doc PR | not needed
This was probably my bad when I added this hook point (it's not used anywhere in the core). Also reported on Slack :).
Cheers!
Commits
-------
90d1b059fd Adding missing event_dispatcher wiring for messenger.middleware.send_message
This PR was merged into the 3.4 branch.
Discussion
----------
[Debug][DebugClassLoader] Don't check class if the included file doesn't exist
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Follow up to https://github.com/symfony/symfony/pull/32500.
If the included file doesn't exist, we need to return or the execution continues (if warnings are not thrown as exceptions) and then an invalid exception is thrown when the class is checked.
For example : "The autoloader expected class "App\Foo\Bar" to be defined in file "/var/www/html/vendor/composer/../../src/Foo/Bar.php". The file was found but the class was not in it, the class name or namespace probably has a typo".
Commits
-------
0185527297 [Debug][DebugClassLoader] Don't check class if the included file don't exist
This PR was squashed before being merged into the 3.4 branch (closes#32536).
Discussion
----------
[Translation] Use HTTPS and fix a url
| Q | A
| ------------- | ---
| Branch? | 3.4 <!-- see below -->
| Bug fix? | no
| New feature? | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks? | no <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass? | yes <!-- please add some, will be required by reviewers -->
| 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/roadmap):
- 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 4.4.
- Legacy code removals go to the master branch.
-->
Commits
-------
e346ee6888 [Translation] Use HTTPS and fix a url
This PR was submitted for the 4.3 branch but it was squashed and merged into the 3.4 branch instead (closes#32466).
Discussion
----------
[Config] Fix for signatures of typed properties
| Q | A
| ------------- | ---
| Branch? | 4.3
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #32465
| License | MIT
| Doc PR | -
Also see the issue description, when using public typed properties ([new in PHP7.4](https://wiki.php.net/rfc/typed_properties_v2)) like this:
```
namespace App;
class Foo {
public int $bar;
}
```
will cause `$defaults['bar']` not to be set in Symfony/Component/Config/Resource/ReflectionClassResource.php::139.
This is because `$bar` doesn't have a default value, but does have a type hint, meaning it's default value is not `null` but undefined. This causes an 'undefined index' error when clearing the cache through `bin/console cache:clear` when running PHP7.4.
The default value is used here for the class signature, having `null` should be appropriate for all cases.
Commits
-------
bad2a2c87a [Config] Fix for signatures of typed properties