This PR was merged into the 5.2 branch.
Discussion
----------
[DoctrineBridge] add missing `@experimental` annotation on Uid generators
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Forgotten when we created the classes.
Needed since I plan to remove all the `UuidV*` generators. They're useless and a more flexible approach based on https://github.com/doctrine/DoctrineBundle/pull/1284 is coming.
Commits
-------
e380102590 [DoctrineBridge] add missing `@experimental` annotation on Uid generators
This PR was merged into the 5.3-dev branch.
Discussion
----------
Remove some leftover @experimental annotations
| Q | A
| ------------- | ---
| Branch? | 5.x <!-- see below -->
| Bug fix? | no
| New feature? | yes <!-- 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
-------
315d62e661 Remove some leftover @experimental annotations
This PR was merged into the 5.3-dev branch.
Discussion
----------
[Uid] Add RFC4122 UUID namespaces as constants
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | yes
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Discussed with @tgalopin
Will play well with #39507
Commits
-------
4e73aeb169 [Uid] Add RFC4122 UUID namespaces as constants
This PR was merged into the 5.3-dev branch.
Discussion
----------
[Uid] Replace getTime() with getDateTime()
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | yes
| Deprecations? | no
| Tickets | https://github.com/symfony/symfony/pull/39507#pullrequestreview-575491827
| License | MIT
| Doc PR | -
Getting a `\DateTimeImmutable` has two benefits: easier to use and no float precision problems.
There is however one drawback for UUIDs: we *technically* loose some precision in the output because datetimes do not handle nanoseconds (only microseconds) and uuid timestamps increment every 100 nanoseconds (0.1 microseconds). However, this is theoretical since the increment is only there to generate more entropy. Also, if an end user really want the precision, he can still do the conversion him/herself from the raw data. Finally, because of some rounding problems with floats even on 64b platforms, precision is *actually* won most of the time thanks to the datetime.
The idea is to also accept `\DateTimeInterface` as input in `UuidFactory` and `UlidFactory` (see https://github.com/symfony/symfony/pull/39507) btw.
The breaking change is allowed because the component is experimental.
Commits
-------
360c900acf [Uid] Replace getTime() with getDateTime()
This PR was merged into the 4.4 branch.
Discussion
----------
[Serializer] Prevent access to private properties without getters
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
When upgrading `symfony/serializer` from `v5.2.1` to `v5.2.2`, the serializer starts throwing exceptions because it cannot access some private properties that don't have a getter. This looks related to #38900.
Commits
-------
f0409b403f [Serializer] Prevent access to private properties without getters
This PR was merged into the 5.2 branch.
Discussion
----------
[Uid] Fix time to float conversion
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
On 32b systems, when the timestamp is before the UNIX epoch, the result is currently shifted by 1. Inverting all the bits is not enough, we need to add 1. I guess https://en.wikipedia.org/wiki/Two%27s_complement is relevant here?
Alternative:
```php
$time = -1 * self::toBase(self::add($time ^ "\xff\xff\xff\xff\xff\xff\xff\xff", "\x00\x00\x00\x00\x00\x00\x00\x01"), self::BASE10);
```
Commits
-------
9680a27246 [Uid] Fix time to float conversion
This PR was merged into the 5.2 branch.
Discussion
----------
[Mailer] Fix SES test
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
When using the native (deprecated) Transport, we used the `SES` AWS endoint, but the new version that rely on async-aws uses `SESV2`. The former uses XML, but the new one use JSON.
Since https://github.com/async-aws/aws/pull/933 `async-aws` is stricter on reponses parsing, and now is not able to parse an XML response when the endpoint expect JSON.
This PR fixes the tests to be compliant with AWS SESV2 protocol
Commits
-------
2176ff6550 Fix SES test
* 5.2:
Replace "branch-version" by "versions" in composer.json
Bump Symfony version to 5.2.3
Update VERSION for 5.2.2
Update CHANGELOG for 5.2.2
Bump Symfony version to 4.4.20
Update VERSION for 4.4.19
Update CONTRIBUTORS for 4.4.19
Update CHANGELOG for 4.4.19
Use import instead of FQCN
* 4.4:
Replace "branch-version" by "versions" in composer.json
Bump Symfony version to 4.4.20
Update VERSION for 4.4.19
Update CONTRIBUTORS for 4.4.19
Update CHANGELOG for 4.4.19
This PR was merged into the 4.4 branch.
Discussion
----------
Replace "branch-version" by "versions" in composer.json
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Accommodates for https://github.com/composer/composer/pull/9637
Commits
-------
b40e71f096 Replace "branch-version" by "versions" in composer.json
This PR was merged into the 5.1 branch.
Discussion
----------
Use import instead of FQCN
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | ---
| License | MIT
| Doc PR | ---
Commits
-------
b2fee7a8a2 Use import instead of FQCN