This PR was merged into the 4.4 branch.
Discussion
----------
[Contracts] add branch-aliases for dev-main
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
symfony/contracts is still using a "main" branch so we need to alias it for composer to know which version this maps to.
Commits
-------
969f3c217b [Contracts] add branch-aliases for dev-main
This PR was merged into the 4.4 branch.
Discussion
----------
[Cache] Make Redis initializers static
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes .. or maybe?
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
I am on very thin ice now. I saw a comment on similar code here: https://github.com/symfony/symfony/pull/38563#discussion_r504600024
These anonymous functions in the cache component could also be made static to avoid being connected to the object using the Redis trait.
Feel free to correct me if this does not make much sense.
Commits
-------
ad8de57b91 [Cache] Make Redis initializers static
This PR was merged into the 4.4 branch.
Discussion
----------
[Lock] Reset Key lifetime time before we acquire it
| Q | A
| ------------- | ---
| Branch? | 5.1 (maybe lower, I'll check)
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38541
| License | MIT
| Doc PR | n/a
Im out on somewhat deep water now. I am pretty sure we should reset the Key lifetime every time we acquire it. Without it it will me tricky to re-use a lock. (As pointed out by #38541)
@jderusse can you confirm.
Commits
-------
55ad70225a [Lock] Reset Key lifetime time before we acquire it
This PR was merged into the 4.4 branch.
Discussion
----------
Fix tests typo
| 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 #... <!-- 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 -->
While working on PSR 16 cache tests, I found this small glitch in the mocked `isHit` method
Commits
-------
047ce05f6b Fix tests typo
This PR was merged into the 3.4 branch.
Discussion
----------
[CI] Silence errors when remove file/dir on test tearDown()
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? |
| Deprecations? |
| Tickets |
| License | MIT
| Doc PR |
Requested in #38556
Commits
-------
efef41faa1 [CI] Silence errors when remove file/dir on test tearDown()
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
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 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
* 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.
This PR was squashed before being merged into the 3.4 branch.
Discussion
----------
[Form] Add missing Serbian (latn & cyrl) validators translation
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| License | MIT
Commits
-------
80bcd0ee20 [Form] Add missing Serbian (latn & cyrl) validators translation
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[Ldap] Bypass the use of `ldap_control_paged_result` on PHP >= 7.3
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38352
| License | MIT
| Doc PR |
As stated on #38352 [ldap_control_paged_result](https://www.php.net/manual/en/function.ldap-control-paged-result.php) and [ldap_control_paged_result_response](https://www.php.net/manual/en/function.ldap-control-paged-result-response.php) have been deprecated since PHP 7.4 and will be removed on PHP 8.0.
With this fix, Query uses serverctrls to handle LDAP results pagination.
Since `serverctrls` where introduced in PHP 7.3 and they are the only way to circumvent the usage of `ldap_control_paged_result`, I've added a new Query class implementation which uses `serverctrls` to control pagination.
To do so I've also had to update the LDAP Adapter in order to use the new class if PHP version 7.3 or greater are found
Commits
-------
d332b30526 [Ldap] Bypass the use of `ldap_control_paged_result` on PHP >= 7.3