This PR was submitted for the 5.x branch but it was squashed and merged into the 5.1 branch instead.
Discussion
----------
[CI] Fixed build on AppVeyor
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? |
| New feature? |
| Deprecations? |
| Tickets |
| License | MIT
| Doc PR |
CI fails on AppVeyor with:
> There was 1 error:
>1) Symfony\Bridge\PhpUnit\Tests\DeprecationErrorHandler\ConfigurationTest::testBaselineFileWriteError
unlink(C:\Users\appveyor\AppData\Local\Temp\1\sf-38AF.tmp): Permission denied
>C:\projects\symfony\src\Symfony\Bridge\PhpUnit\Tests\DeprecationErrorHandler\ConfigurationTest.php:404
ERRORS!
We dont need to fail the tests if we cannot remove a file on `tearDown()`
Commits
-------
0c08432a3d [CI] Fixed build on AppVeyor
This PR was merged into the 4.4 branch.
Discussion
----------
Remove content-type check on toArray methods
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | /
| License | MIT
| Doc PR | /
Sometime the server provides a generic content type `text/plain` and prevent people using the `toArray` method. (ie. AWS metadata endpoint).
This PR removes the check on the content-type.
People trying to json_decode something else will ends with a `JsonException` anyway.
Commits
-------
1c8fff18f9 Remove content-type check on toArray methods
This PR was merged into the 3.4 branch.
Discussion
----------
Remove "version" from composer.json files, use "branch-version" instead
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Waiting for confirmation from @Seldaek or @naderman
Commits
-------
f9ed6940fd Remove "version" from composer.json files, use "branch-version" instead
* 4.4:
[DI] fix dumping env vars
[HttpClient] skip executing the multi handle when it's freed already
[HttpClient] fix using freed curl resource at destruct time
[HttpClient] shutdown verbose output from curl at destruction
fix warning for preloading TranslatorTrait class
[Typography] Remove unneeded description comments
This PR was merged into the 4.4 branch.
Discussion
----------
[DI] fix dumping env vars
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Forgotten in #35029
For 4.4 to reduce merge conflicts (it doesn't allow the new chars in 4.4 anyway, #35029 is still needed)
Commits
-------
746a8d1a09 [DI] fix dumping env vars
This PR was merged into the 5.1 branch.
Discussion
----------
[TwigBridge] Fix preload hint and remove "unlinked class class@anonymous" warning
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38197
| License | MIT
| Doc PR | n/a
This should fix the preload warning mentioned in https://github.com/symfony/symfony/issues/38197 by applying the fix as suggested by @nicolas-grekas:
```
PHP Warning: Can't preload unlinked class class@anonymous: Unknown trait Symfony\\Contracts\\Translation\\TranslatorTrait in /var/www/html/vendor/symfony/twig-bridge/Extension/TranslationExtension.php on line 50
```
Commits
-------
0f167f6ed4 fix warning for preloading TranslatorTrait class
This PR was merged into the 4.4 branch.
Discussion
----------
[HttpClient] fix reading the body after a ClientException
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
#38508 wasn't enough to fix the issue.
Commits
-------
0159a39709 [HttpClient] fix reading the body after a ClientException
This PR was submitted for the 5.x branch but it was merged into the 3.4 branch instead.
Discussion
----------
[Typography] Fix SerializerAwareInterface description
| Q | A
| ------------- | ---
| Branch? | 5.x<!-- see below -->
| Bug fix? | no
| New feature? | no
| Deprecations? |no
| Tickets | -
| License | MIT
Removed some unneeded comments in Serializer / Normalizer / Encoder directory
Commits
-------
48e6976ac8 [Typography] Remove unneeded description comments
* 4.4:
Disable the PhpUnit bridge when testing it
[PropertyInfo] Support for the mixed type.
Don't unset the inflate resource on close as it might still be needed
[HttpClient] Fix CurlHttpClient memory leak
[Form] Add Bosnian (bs) validators translation
[Form] Add missing Serbian (latn & cyrl) validators translation
[Cache] skip igbinary < 3.1.6
[Ldap] Bypass the use of `ldap_control_paged_result` on PHP >= 7.3
[Form] [Validator] added pt_BR translations
Estonian update
[PhpUnitBridge] fix running parallel tests with phpunit 9
[VarDumper] fix truncating big arrays
* 3.4:
Disable the PhpUnit bridge when testing it
[PropertyInfo] Support for the mixed type.
[Form] Add Bosnian (bs) validators translation
[Form] Add missing Serbian (latn & cyrl) validators translation
[Form] [Validator] added pt_BR translations
Estonian update
[PhpUnitBridge] fix running parallel tests with phpunit 9
[VarDumper] fix truncating big arrays
This PR was merged into the 4.4 branch.
Discussion
----------
[HttpClient] Content doesn't get decoded when fetched from an exception
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
My previous PR #38493 created a new bug, the content doesn't get decoded when fetched from an exception because the inflate resource gets unset:
```php
<?php
use Symfony\Component\HttpClient\CurlHttpClient;
use Symfony\Contracts\HttpClient\Exception\ClientExceptionInterface;
include __DIR__.'/symfony/vendor/autoload.php';
$client = new CurlHttpClient();
try {
$client->request('GET', 'http://example.com/404');
} catch (ClientExceptionInterface $exception) {
echo $exception->getResponse()->getContent(false);
}
```
I've removed the part where the resource gets unset since it still might be used at some point.
The test is implementation independent so I believe it should go in contracts, please correct me if I wrong. Also, I was unable to find a way to do the test without adding a new endpoint this time, any suggestions would be appreciated.
Commits
-------
8fa4f85013 Don't unset the inflate resource on close as it might still be needed
This PR was merged into the 3.4 branch.
Discussion
----------
[PropertyInfo] Support for the mixed type
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | N/A
| License | MIT
| Doc PR | N/A
In php 8, `mixed` is [a valid type declaration](https://wiki.php.net/rfc/mixed_type_v2).
Running the following script on php 8…
```
use Symfony\Component\PropertyInfo\Extractor\ReflectionExtractor;
class MyClass
{
public function getA(): mixed {}
}
$reflection = new ReflectionExtractor();
$reflection->getTypes(MyClass::class, 'a');
```
… causes a fatal error:
```
PHP Fatal error: Uncaught InvalidArgumentException: "mixed" is not a valid PHP type. in /path/to/symfony/src/Symfony/Component/PropertyInfo/Type.php:70
```
This PR should fix the issue.
Commits
-------
1a3b538e16 [PropertyInfo] Support for the mixed type.