Skip to content

build(deps): Bump cuyz/valinor from 2.3.2 to 2.4.0 - #17506

Merged
nickvergessen merged 1 commit into
mainfrom
dependabot/composer/cuyz/valinor-2.4.0
Mar 30, 2026
Merged

build(deps): Bump cuyz/valinor from 2.3.2 to 2.4.0#17506
nickvergessen merged 1 commit into
mainfrom
dependabot/composer/cuyz/valinor-2.4.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Mar 28, 2026

Copy link
Copy Markdown
Contributor

Bumps cuyz/valinor from 2.3.2 to 2.4.0.

Release notes

Sourced from cuyz/valinor's releases.

2.4.0

Notable changes

This release brings a whole set of new features to the library:

Enjoy! 🎉


HTTP request mapping support

This library now provides a way to map an HTTP request to controller action parameters or object properties. Parameters can be mapped from route, query and body values.

Three attributes are available to explicitly bind a parameter to a single source, ensuring the value is never resolved from the wrong source:

  • #[FromRoute] — for parameters extracted from the URL path by router
  • #[FromQuery] — for query string parameters
  • #[FromBody] — for request body values

Those attributes can be omitted entirely if the parameter is not bound to a specific source, in which case a collision error is raised if the same key is found in more than one source.

This gives controllers a clean, type-safe signature without coupling to a framework's request object, while benefiting from the library's validation and error handling.

Normal mapping rules apply there: parameters are required unless they have a default value.

Route and query parameter values coming from an HTTP request are typically strings. The mapper automatically handles scalar value casting for these parameters: a string "42" will be properly mapped to an int parameter.

Mapping a request using attributes

Consider an API that lists articles for a given author. The author identifier comes from the URL path, while filtering and pagination come from the query string.

use CuyZ\Valinor\Mapper\Http\FromQuery;
use CuyZ\Valinor\Mapper\Http\FromRoute;
use CuyZ\Valinor\Mapper\Http\HttpRequest;
use CuyZ\Valinor\MapperBuilder;
final class ListArticles
{
/**
* GET /api/authors/{authorId}/articles?status=X&page=X&limit=X
*
* @​param non-empty-string $page
* @​param positive-int $page
* @​param int<10, 100> $limit
</tr></table>

... (truncated)

Commits
  • 3b0afa3 release: version 2.4.0
  • 385f0ce feat: add HTTP request mapping support
  • 498dcfc fix: disallow duplicate converted keys
  • 51e7d1c qa: use Rector's configuration builder and PHP 8.2 preset
  • 13f06d2 fix: handle concurrent cache directory race condition
  • 7241a60 fix: allow mapping a single value to a list type
  • a92bd34 feat: add mapper configurators to convert keys to camelCase/snake_case
  • 0be7dcd feat: add mapper configurators to restrict keys cases
  • 49dd0a2 feat: add configurator support for mapper and normalizer builders
  • 67a6b4b chore(deps): update mkdocs dependencies
  • 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 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 2.3.2 to 2.4.0.
- [Release notes](https://github.com/CuyZ/Valinor/releases)
- [Commits](CuyZ/Valinor@2.3.2...2.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file php labels Mar 28, 2026
@nickvergessen
nickvergessen merged commit 9005b1a into main Mar 30, 2026
97 of 99 checks passed
@nickvergessen
nickvergessen deleted the dependabot/composer/cuyz/valinor-2.4.0 branch March 30, 2026 17:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file php

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant