rekalogika/mapper
Rekalogika Mapper is a PHP object mapper for converting objects, arrays, and collections using attribute-driven mapping rules. It handles nested and circular references, simplifies DTO and API resource transformations, and reduces boilerplate in Laravel and Symfony applications.
symfony/property-info or type-info 8.x requires an interface change planned for the next major. So v3.0.0 is explicitly an interim stop. Any plan that assumes one migration should be revised to assume two within a short window — budget the second one now rather than discovering it mid-quarter.xxh64 → xxh128 hashing change can alter generated-mapper cache keys. This is a deploy-runbook decision (cache clear/warm on release), not a product decision, but it must be in the rollout plan.Consider it when:
Look elsewhere (or stay put) when:
laravel/framework's Symfony constraints. Verify with a real composer update in a scratch branch before committing; this is the single most likely blocker.symfony/property-info or type-info 8.x today. v3.0.0 pins property-info to 7.x; the 8.x path requires an interface change deferred to the next major. If that's a hard requirement, this release does not satisfy it.To executives: This is a maintenance release of an object-mapping library, not a product change. It buys us forward compatibility with the newest framework version and includes performance work, at the cost of dropping support for the oldest framework version. The material point is timing and effort: the maintainers have already announced a follow-up major release that will change an interface, so the honest framing is "two upgrades in the near term, not one." Recommend approving the work as scheduled technical-debt paydown with a known second installment, not as a one-off.
To engineering: v3.0.0 allows Symfony 8.x except symfony/property-info, which stays pinned to 7.x; full 8.x support for property-info/type-info requires an interface change deferred to the next major. Symfony 6.x support is dropped. Also note the xxh64 → xxh128 change, which may invalidate generated-mapper caches — plan a cache clear/warm on deploy. Required actions: run a resolution check against our actual Laravel/Symfony constraint set, update the CI version matrix, confirm no Symfony 6-only transitive constraints, and re-run the mapper test suite plus a smoke test on a hot path.
To the business, one line: Low feature value, moderate risk, real forward-compatibility value — approve the upgrade in a scheduled window, verify dependency resolution first, and pre-book capacity for the follow-up major.
How can I help you explore Laravel packages today?