Repository navigation
Merge release 2.1.0 into 3.0.x - #230
Merged
Merged
Conversation
Properties can be assigned to groups with the new Groups attribute and selected or excluded per call via the groups and ignored_groups context keys. Filtering applies to extract and hydrate and is passed on to nested objects.
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
| datasource | package | from | to | | ----------- | ---------------------- | ------ | ------ | | github-tags | shivammathur/setup-php | 2.37.2 | 2.40.0 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…-2.0.x_rnicmz5Z # Conflicts: # src/Metadata/ClassMetadata.php # src/Metadata/PropertyMetadata.php # tests/Unit/Metadata/ClassMetadataTest.php
…icmz5Z Merge release 1.24.3 into 2.0.x
The pull request comment shows one markdown table per benchmark class with the base time, the current time and the difference, instead of the raw console output in a collapsed block. phpbench runs 5 iterations with opcache enabled and the JIT disabled, and asserts that no benchmark gets more than 25% slower than the base. The job fails after the comment was written if one does. The single object benchmarks run 1000 revs, the 1,000,000 object benchmarks are removed, they took most of the time and measure the same per object as the 1000 object benchmarks. HydratorBench and HydratorWithCryptographyBench were copies of the StackHydrator benchmarks and are removed, HydratorWithLazyBench is renamed to StackHydratorWithLazyBench.
Show the benchmark results as markdown tables and fail on regressions
Adds a concurrency group to the CI workflows, so a new push to a pull request or branch cancels the runs still going for the previous commit instead of letting them finish for nothing. It uses the same group the app repositories already have (github.workflow plus head_ref || ref), so pull requests and branches never cancel each other. Release, notify and docs deploy workflows are left as they are.
Cancel outdated CI runs
Follow-up to the concurrency groups added in the last pull request. They used the workflow name plus the branch name, which lets two workflows with the same name cancel each other on the same branch, and two fork pull requests with the same branch name (e.g. patch-1) cancel each other. github.workflow_ref is the workflow file plus the ref (refs/pull/<number>/merge for pull requests) and has neither problem.
Use workflow_ref for the concurrency groups
Add groups extension
…3.0.x_u28RGMLm The groups extension is left out of 3.0.x for now. It filtered the metadata before passing it on in the stack, which the mapper chain of 3.0 no longer allows, so it needs a different approach there. The generated benchmarks follow the benchmark changes of 2.1.x: 1000 revs for the single object benchmarks and no 1,000,000 object benchmarks.
Author
|
Hello 👋 Here are the most recent benchmark results, compared against GeneratedHydrator
StackHydrator
StackHydratorWithLazy
StackHydratorWithCryptography
GeneratedHydratorWithCryptography
This comment gets updated every time a new commit comes in. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release Notes for 2.1.0
Feature release (minor)
2.1.0
enhancement
211: Add groups extension thanks to @DavidBadura
206: add skippable middleware feature thanks to @DavidBadura
210: fix: Update StackHydratorTest to counter timeout mutation thanks to @sanmai
documentation,enhancement