jeroen-g/autowire
jeroen-g/autowire is a Laravel package that automates dependency injection by resolving and wiring class dependencies, reducing manual container boilerplate. It keeps controllers and services clean and makes Laravel code easier to maintain.
This is a major-version release (3.0.0) with a clear breaking-change signal: support for EOL PHP and Laravel versions is removed. That is the dominant evaluation factor. The additive items — WithCachedAutowire for faster tests, Laravel 13 support, and a Laravel Boost skill — improve developer experience and forward compatibility but do not offset the upgrade risk for applications on older runtimes.
Architecture fit: The package remains a Laravel-ecosystem package installed via Composer. The new test trait fits naturally into Laravel test suites using PHPUnit/Pest, and the Boost skill fits teams adopting Laravel’s AI-assisted development tooling. Neither addition changes the package’s core architectural role; they extend its developer-tooling value.
Integration feasibility: Feasible for applications already on supported PHP and Laravel versions. The main constraint is the new support floor: teams on EOL PHP or older Laravel releases cannot adopt 3.0.0 without first upgrading the runtime and framework. Because the release explicitly removes EOL support, this is expected SemVer-major behavior, but it requires an explicit compatibility audit before rollout.
Technical risk: Moderate. The breaking risk is concentrated in version constraints, not necessarily in API changes. The release notes do not describe removed APIs, renamed methods, or behavioural changes beyond dropped platform support. That is good, but it is also a gap: TPMs should not assume “only support dropped” without checking the package’s upgrade guide and diff. The WithCachedAutowire trait introduces a smaller but real risk around test isolation and state leakage if caching interacts poorly with tests that rely on fresh container state. The Boost skill is additive and likely opt-in, but it introduces a new dependency/tooling surface that should be validated separately from application runtime concerns.
Key questions:
3.0.0?2.x?WithCachedAutowire preserve test isolation, and are there documented caveats for tests that mutate container bindings?3.x, and will 2.x receive security fixes?Stack fit: Best fit is Laravel applications on currently supported PHP and Laravel versions, particularly teams investing in test-suite performance and AI-assisted development workflows. Poor fit for legacy applications pinned to EOL PHP or older Laravel releases.
Migration path: Treat this as a platform-upgrade release, not a drop-in dependency bump. First inventory applications and their PHP/Laravel versions. For applications on EOL platforms, either upgrade PHP and Laravel before adopting 3.0.0, or remain on the latest 2.x release if it is still supported. For applications already on supported versions, upgrade the package and run the full test suite before enabling WithCachedAutowire broadly.
Compatibility: Validate Composer constraints against the application’s PHP version, Laravel version, and test tooling. Confirm that Laravel 13 support is relevant to the target application; if the application is not on Laravel 13, this is a forward-looking benefit rather than an immediate driver. The Boost skill should be treated as a separate compatibility check because it may depend on Laravel Boost being present and configured.
Sequencing:
3.0.0.3.0.0 in a non-production branch.WithCachedAutowire on a subset of tests and measure speed versus flakiness.Maintenance: The support surface is reduced and aligned with current Laravel/PHP versions, which is healthy long term. The trade-off is that teams on older platforms now carry an upgrade project. Maintenance ownership should include tracking the package’s support matrix and planning future major upgrades alongside Laravel upgrades.
Support: Expect increased support questions during the transition, especially from teams that discover their Laravel or PHP version is no longer supported. Publish internal guidance on the supported versions and the 2.x versus 3.x decision. The Boost skill may require separate onboarding material because it touches developer tooling rather than application runtime.
Scaling: WithCachedAutowire is the most directly scalable improvement: faster tests reduce CI time and developer feedback latency as test suites grow. The benefit scales with test-suite size, but only if the trait is safe for the team’s testing patterns. The Boost skill scales developer productivity if the team already uses Laravel Boost; otherwise it adds tooling overhead without immediate value.
Failure modes: The primary failure mode is attempting to install 3.0.0 on an unsupported PHP/Laravel combination and hitting Composer resolution failures or runtime incompatibility. A secondary failure mode is flaky or order-dependent tests after enabling cached autowiring. A third is tooling drift if the Boost skill is adopted without pinning compatible versions. There is also a planning failure mode: assuming this is a low-risk minor upgrade because the release notes are short.
Ramp-up: Low for existing users on supported versions — the release is mostly additive plus a support-floor change. Moderate for teams upgrading PHP/Laravel as part of adoption. The Boost skill has a separate, likely moderate ramp-up depending on the team’s familiarity with Laravel Boost and AI-assisted workflows. Overall, the package is approachable, but the major-version boundary should be respected in planning and CI.
How can I help you explore Laravel packages today?