Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Data Mapper Symfony Bundle Laravel Package

wundii/data-mapper-symfony-bundle

Symfony bundle that integrates the wundii data mapper into your application, providing service container configuration, autowiring, and attribute-based mapping so you can convert arrays and objects into typed DTOs with minimal setup.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Assessment basis. This is an initial assessment. The only change under review is release 1.1.0: "Symfony 8.0 support." No repository metadata, dependency manifest, or prior assessment was supplied, so the conclusions below are scoped to what a Symfony-major constraint widening implies and should be validated against the package's composer.json and CI configuration before any commitment.

Architecture fit. The change is a compatibility-surface expansion, not a feature or architectural change. For a Laravel package this almost certainly means one or more of: direct symfony/* dependencies (console, http-foundation, process, finder, var-dumper, translation, mime) had their constraints widened from ^6|^7 to ^6|^7|^8, or a transitive dependency chain was unblocked. Nothing here changes the package's own API, service provider registration, configuration surface, or publishing behaviour. Architectural risk is therefore low; the change is additive by intent.

Integration feasibility. Mechanically trivial: a composer update on a host application that resolves into the new constraint. The real gate is environment-driven, not code-driven:

  • PHP floor. Symfony 8.0 requires PHP 8.4+. If 1.1.0 supports Symfony 8 and retains Symfony 6/7 support, the package's own PHP constraint must remain permissive (e.g. ^8.2) with Symfony 8 resolution only occurring on PHP 8.4+ hosts. If the package instead raised its PHP floor, that is a materially different release and should have been called out in the notes.
  • Laravel coupling. Current Laravel releases pin Symfony 7.x components. Symfony 8 support in this package is therefore either forward-looking (tested against unreleased or imminent Laravel versions) or only reachable in non-Laravel/framework-agnostic usage. Neither is wrong, but the release note alone does not distinguish the two.
  • Removed APIs. Symfony majors remove previously deprecated APIs. If the package touched anything deprecated in 7.x, a widening of the constraint without a corresponding code change would compile but fail at runtime on Symfony 8 hosts.

Technical risk. Low-to-moderate, concentrated in three places:

Risk Severity Rationale
Untested constraint widening Moderate Widening composer.json without a CI job actually running Symfony 8 produces a green build that proves nothing.
Silent behavioural drift Moderate Symfony minor/major changes to HTTP foundation, mime detection, or process handling are behavioural, not API-breaking; test suites that assert on outputs may not catch them.
Downstream resolution conflicts Low Consumers on Symfony 8 previously could not install the package; the change only removes a blocker.
Support-matrix sprawl Low Every additional supported major multiplies the combination count the maintainer must defend.

Key questions for the maintainer.

  1. Does CI include a job that installs Symfony 8 and runs the full suite, or was the constraint widened and left to resolve?
  2. Is the package's PHP constraint unchanged, and if it moved, to what?
  3. Which Laravel versions are claimed compatible alongside Symfony 8, and were those combinations exercised?
  4. Are symfony/* constraints permissive (^7.0 || ^8.0) or pinned per major?
  5. Is 1.1.0 a drop-in upgrade from 1.0.x with no deprecations or removals?
  6. What is the stated support window for Symfony 6 now that 8 is in scope — is 6.x still tested or merely still allowed?

Integration Approach

Stack fit. The package sits in the library layer of a Laravel application and is consumed via Composer. Symfony 8 support is invisible to application code: no configuration keys, migrations, service bindings, or published assets change. The integration story is a dependency-resolution story, not an application-code story.

Migration path.

  • From 1.0.x on an existing stack (Symfony 6/7, PHP < 8.4): update the constraint, run composer update <vendor>/<package>, expect no resolution change and no code change. Effectively a no-op upgrade with a lower-risk profile than a patch that touches runtime code.
  • From 1.0.x on a Symfony 8 / PHP 8.4 host: this is the actual unlock. Previously blocked at resolution; now installable. Treat as a new integration and test accordingly rather than as a version bump.
  • Greenfield: declare the package normally; Composer selects the highest compatible Symfony major.

Compatibility. The critical check is the resolved matrix in the host application's composer.lock, not the package's own claims. Confirm that composer why symfony/http-foundation still resolves to the major the host's Laravel version expects, and that adding this package did not force a framework-wide Symfony bump. A package that permits Symfony 8 but is installed alongside a Laravel that requires Symfony 7 will simply resolve to 7 — correct, but worth confirming rather than assuming.

Sequencing.

  1. Read the diff of composer.json between 1.0.x and 1.1.0; confirm the change is constraint-only and that no require minimum moved.
  2. Upgrade in a development branch on the current stack first. This validates that the widening did not accidentally force a newer Symfony on existing installs.
  3. If Symfony 8 is the actual target, stand up a separate branch or image on PHP 8.4 + Symfony 8 and run the package's integration paths — queue workers, console commands, HTTP calls — not just unit tests.
  4. Promote to staging, then production. There is no data migration or rollback ceremony to plan; the rollback is a constraint revert.
  5. Re-check on the next Laravel major, when Symfony 8 becomes the default rather than an option — that is when this release stops being free and starts being load-bearing.

Operational Impact

Maintenance. The maintainer's burden rises modestly and permanently: three Symfony majors in the supported range means the CI matrix roughly triples, and each new Symfony patch release must be validated across all of them. The team's exposure is indirect — you inherit the consequence of a matrix that is either maintained or quietly narrowed later.

Support. The important operational question is not whether Symfony 8 works today, but what happens when Symfony 6 leaves security support. A permissive constraint can leave a package advertising support for a major that no longer receives upstream fixes, which shifts risk to the consumer to notice. Pin expectations in writing: which Laravel majors and Symfony majors are supported, and until when.

Scaling. No effect. This release changes no runtime path, adds no I/O, no queries, no allocations. Capacity, latency, and throughput characteristics are unchanged from 1.0.x.

Failure modes to watch.

  • Resolution deadlock during unrelated upgrades. A widened constraint changes what Composer may select during a routine composer update, potentially pulling Symfony 8 into an application that was not prepared for it. Mitigate with a committed lockfile and deliberate, reviewed updates.
  • Runtime-only failures on Symfony 8. Deprecated-then-removed APIs surface at execution, not install. Fatal errors in console commands or HTTP handling are the plausible shape.
  • Behavioural drift in foundation components. Header normalisation, mime handling, or process invocation differences can change outputs without changing signatures. Assertions that pin exact output catch this; assertions that check types do not.
  • CI blind spots. A green build with no Symfony 8 job is the most likely failure and the hardest to see from outside.

Ramp-up. Negligible for application developers — nothing new to learn, no new API, no configuration. For whoever owns dependency hygiene, the required knowledge is narrow but real: how to read the package's constraint diff, how to inspect the resolved Symfony version in the lockfile, and how to run the suite against a second Symfony major. Budget under half a day to verify and document, plus a recurring line item at each Laravel and Symfony major.

Recommendation. Adopt 1.1.0. It is additive, carries no API or behavioural contract change for existing consumers, and removes a hard blocker for teams on PHP 8.4. Treat the Symfony 8 claim as unverified until you confirm a CI job exercises it, and separately confirm that the package's PHP floor was not silently raised — the release note's single line does not answer that, and it is the one detail that could turn a no-op upgrade into a stack-wide constraint change.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator