Skip to content

Merge release 1.24.3 into 2.0.x - #221

Merged
DanielBadura merged 3 commits into
2.0.xfrom
1.24.x-merge-up-into-2.0.x_rnicmz5Z
Oct 9, 2026
Merged

DanielBadura merged 3 commits into
2.0.xfrom
1.24.x-merge-up-into-2.0.x_rnicmz5Z

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown

Release Notes for 1.24.3

1.24.x bugfix release (patch)

1.24.3

  • Total issues resolved: 0
  • Total pull requests resolved: 1
  • Total contributors: 1

bug

The PSR-6 and PSR-16 metadata factories used the class name as cache key.
Class names contain a backslash, which is a reserved character in PSR-6 and
PSR-16, so the factories failed with any compliant cache like symfony/cache.
The class name is now hashed and prefixed, and a cache hit is only accepted
if the cached metadata really belongs to the requested class.

Unserialized metadata also missed some values, so metadata loaded from a
cache failed as soon as they were accessed: the class name of the class
metadata, and the property name, type and personal data fallback callable
of the property metadata.
Fix cache keys of the metadata factories
…-2.0.x_rnicmz5Z

# Conflicts:
#	src/Metadata/ClassMetadata.php
#	src/Metadata/PropertyMetadata.php
#	tests/Unit/Metadata/ClassMetadataTest.php
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown
Author

Hello 👋

here is the most recent benchmark result:

StackHydratorBench
==================

+-------------------------------+------------------+------------------+-----------------+------------+
|                               | time (kde mode)                     | memory                       |
+-------------------------------+------------------+------------------+-----------------+------------+
| subject                       | Tag: <current>   | Tag: base        | Tag: <current>  | Tag: base  |
+-------------------------------+------------------+------------------+-----------------+------------+
| benchHydrate1Object ()        | 2.800μs (±0.00%) | 3.000μs (±0.00%) | 2.771mb         | 3.254mb    |
| benchExtract1Object ()        | 3.000μs (±0.00%) | 3.000μs (±0.00%) | 2.771mb         | 3.254mb    |
| benchHydrate1000Objects ()    | 2.269ms (±0.00%) | 2.345ms (±0.00%) | 2.946mb         | 3.339mb    |
| benchExtract1000Objects ()    | 1.989ms (±0.00%) | 2.138ms (±0.00%) | 2.874mb         | 3.338mb    |
| benchHydrate1000000Objects () | 1.117s (±0.00%)  | 1.121s (±0.00%)  | 2.946mb         | 3.339mb    |
| benchExtract1000000Objects () | 1.135s (±0.00%)  | 1.154s (±0.00%)  | 2.875mb         | 2.875mb    |
+-------------------------------+------------------+------------------+-----------------+------------+

HydratorWithLazyBench
=====================

+------------------------------------------+--------------------+--------------------+-----------------+------------+
|                                          | time (kde mode)                         | memory                       |
+------------------------------------------+--------------------+--------------------+-----------------+------------+
| subject                                  | Tag: <current>     | Tag: base          | Tag: <current>  | Tag: base  |
+------------------------------------------+--------------------+--------------------+-----------------+------------+
| benchHydrate1Object ()                   | 0.800μs (±0.00%)   | 1.000μs (±0.00%)   | 2.771mb         | 2.771mb    |
| benchHydrate1ObjectTriggerInit ()        | 3.400μs (±0.00%)   | 3.400μs (±0.00%)   | 2.771mb         | 2.771mb    |
| benchHydrate1000Objects ()               | 389.000μs (±0.00%) | 382.333μs (±0.00%) | 2.815mb         | 2.815mb    |
| benchHydrate1000ObjectsTriggerInit ()    | 2.792ms (±0.00%)   | 2.816ms (±0.00%)   | 2.863mb         | 2.863mb    |
| benchHydrate1000000Objects ()            | 229.237ms (±0.00%) | 231.467ms (±0.00%) | 2.815mb         | 2.815mb    |
| benchHydrate1000000ObjectsTriggerInit () | 1.621s (±0.00%)    | 1.630s (±0.00%)    | 2.863mb         | 2.863mb    |
+------------------------------------------+--------------------+--------------------+-----------------+------------+

StackHydratorWithCryptographyBench
==================================

+-------------------------------+-------------------+-------------------+-----------------+------------+
|                               | time (kde mode)                       | memory                       |
+-------------------------------+-------------------+-------------------+-----------------+------------+
| subject                       | Tag: <current>    | Tag: base         | Tag: <current>  | Tag: base  |
+-------------------------------+-------------------+-------------------+-----------------+------------+
| benchHydrate1Object ()        | 7.200μs (±0.00%)  | 6.600μs (±0.00%)  | 2.843mb         | 2.843mb    |
| benchExtract1Object ()        | 15.400μs (±0.00%) | 15.400μs (±0.00%) | 2.843mb         | 2.843mb    |
| benchHydrate1000Objects ()    | 3.765ms (±0.00%)  | 3.849ms (±0.00%)  | 3.092mb         | 3.092mb    |
| benchExtract1000Objects ()    | 8.067ms (±0.00%)  | 8.013ms (±0.00%)  | 3.197mb         | 3.197mb    |
| benchHydrate1000000Objects () | 1.931s (±0.00%)   | 1.935s (±0.00%)   | 3.092mb         | 3.092mb    |
| benchExtract1000000Objects () | 5.761s (±0.00%)   | 5.828s (±0.00%)   | 3.197mb         | 3.197mb    |
+-------------------------------+-------------------+-------------------+-----------------+------------+

HydratorBench
=============

+-------------------------------+------------------+------------------+-----------------+------------+
|                               | time (kde mode)                     | memory                       |
+-------------------------------+------------------+------------------+-----------------+------------+
| subject                       | Tag: <current>   | Tag: base        | Tag: <current>  | Tag: base  |
+-------------------------------+------------------+------------------+-----------------+------------+
| benchHydrate1Object ()        | 2.600μs (±0.00%) | 2.800μs (±0.00%) | 2.771mb         | 2.771mb    |
| benchExtract1Object ()        | 3.000μs (±0.00%) | 3.000μs (±0.00%) | 2.771mb         | 2.771mb    |
| benchHydrate1000Objects ()    | 2.255ms (±0.00%) | 2.246ms (±0.00%) | 2.946mb         | 2.946mb    |
| benchExtract1000Objects ()    | 2.022ms (±0.00%) | 2.060ms (±0.00%) | 2.874mb         | 2.874mb    |
| benchHydrate1000000Objects () | 1.132s (±0.00%)  | 1.129s (±0.00%)  | 2.946mb         | 2.946mb    |
| benchExtract1000000Objects () | 1.133s (±0.00%)  | 1.159s (±0.00%)  | 2.874mb         | 2.874mb    |
+-------------------------------+------------------+------------------+-----------------+------------+

HydratorWithCryptographyBench
=============================

+-------------------------------+-------------------+-------------------+-----------------+------------+
|                               | time (kde mode)                       | memory                       |
+-------------------------------+-------------------+-------------------+-----------------+------------+
| subject                       | Tag: <current>    | Tag: base         | Tag: <current>  | Tag: base  |
+-------------------------------+-------------------+-------------------+-----------------+------------+
| benchHydrate1Object ()        | 7.000μs (±0.00%)  | 6.600μs (±0.00%)  | 2.843mb         | 2.843mb    |
| benchExtract1Object ()        | 17.400μs (±0.00%) | 15.000μs (±0.00%) | 2.843mb         | 2.843mb    |
| benchHydrate1000Objects ()    | 3.725ms (±0.00%)  | 3.792ms (±0.00%)  | 3.092mb         | 3.092mb    |
| benchExtract1000Objects ()    | 7.947ms (±0.00%)  | 8.064ms (±0.00%)  | 3.197mb         | 3.197mb    |
| benchHydrate1000000Objects () | 1.929s (±0.00%)   | 1.929s (±0.00%)   | 3.092mb         | 3.092mb    |
| benchExtract1000000Objects () | 5.740s (±0.00%)   | 5.665s (±0.00%)   | 3.197mb         | 3.197mb    |
+-------------------------------+-------------------+-------------------+-----------------+------------+

This comment gets update everytime a new commit comes in!

@DanielBadura
DanielBadura merged commit 9d6b805 into 2.0.x Oct 9, 2026
15 of 16 checks passed
@DanielBadura
DanielBadura deleted the 1.24.x-merge-up-into-2.0.x_rnicmz5Z branch October 9, 2026 11:56
@DanielBadura DanielBadura added this to the 2.0.3 milestone Oct 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant