Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github May 20, 2025

Bumps cuyz/valinor from 1.14.4 to 1.16.1.

Release notes

Sourced from cuyz/valinor's releases.

1.16.1

Bug Fixes

  • Handle mapping of argument of type object with names shared (771696)

1.16.0

Features

  • Add support for scalar type (eaebe1)
  • Handle flattened values when mapping to a single object argument (6ca0ee)

1.15.0

Notable changes

Normalizer compilation

A new compilation step for the normalizer has been implemented, which aims to bring huge performance gains when normalizing any value. It works by adding a static analysis pass to the process, which will recursively analyse how the normalizer should perform for every value it can meet. This process results in a native PHP code entry, that can then be cached for further usage.

This compilation cache feature is automatically enabled when adding the cache in the mapper builder. This should be transparent for most users, but as this is a major change in the code (see [Pull Request #500]), some bugs may have slipped through. If you encounter such issues that look related to this change, [please open an issue] and we will try to fix it as soon as possible.

[!NOTE] My goal remains to provide users of this library with the best possible experience. To that end, motivational messages and financial support are greatly appreciated. If you use this library and find it useful, please consider [sponsoring the project on GitHub] 🤗

The development of this feature took nearly two years, mainly due to limited spare time to work on it. I hope you enjoy this feature as much as I enjoyed building it!

On a side note, the next major project will be adding a compiled cache entry feature for mappers, similar to how it was implemented for normalizers. Stay tuned…

[Pull Request #500]: CuyZ/Valinor#500 [please open an issue]: https://github.com/CuyZ/Valinor/issues/new [sponsoring the project on GitHub]: https://github.com/CuyZ/Valinor?sponsor=1

Features

  • Introduce compiled normalizer cache (a4b2a7)

Bug Fixes

  • Accept an object implementing an interface without infer setting (edd488)
  • Handle self-referential types in object constructors (dc7b6a)
  • Properly handle interface with no implementation in union type (f3f98d)
  • Properly match class-string type with no subtype (c8fe90)

Other

  • Add methods to fetch native types (7213eb)
  • Improve integer value type match algorithm (048a48)
  • Update default error message for invalid value for union type (d1ab6a)
Commits
  • acbda7f release: version 1.16.1
  • 771696a fix: handle mapping of argument of type object with names shared
  • adc7789 release: version 1.16.0
  • 6ca0ee7 feat: handle flattened values when mapping to a single object argument
  • eaebe13 feat: add support for scalar type
  • 86d0413 qa: fix integration tests with cache with latest PHPUnit changes
  • c03a368 qa: add files to .gitattributes
  • c3cb63a release: version 1.15.0
  • dc7b6a8 fix: handle self-referential types in object constructors
  • edd4884 fix: accept an object implementing an interface without infer setting
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [cuyz/valinor](https://github.com/CuyZ/Valinor) from 1.14.4 to 1.16.1.
- [Release notes](https://github.com/CuyZ/Valinor/releases)
- [Changelog](https://github.com/CuyZ/Valinor/blob/master/.changelog)
- [Commits](CuyZ/Valinor@1.14.4...1.16.1)

---
updated-dependencies:
- dependency-name: cuyz/valinor
  dependency-version: 1.16.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Update/Change dependencies php Pull requests that update Php code labels May 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Update/Change dependencies php Pull requests that update Php code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant