reiterus/mcx-info-symfony
reiterus/mcx-info-symfony is a Symfony package for integrating MCX information into your applications. It offers a straightforward way to expose MCX-related data and is lightweight to configure for Symfony developers who need quick MCX info access.
Architecture fit: The package remains a standard Composer-installed Laravel library, so it slots into the existing service-provider/config-publish model without architectural change. The v3.0.0 signal is not a feature expansion but a platform-floor raise: the package now requires PHP 8.1 as a minimum. That is architecturally neutral for the package itself, but it is a hard constraint propagated into every application that depends on it.
Integration feasibility: Feasible wherever the host application already runs PHP 8.1+. Any Laravel service still on PHP 7.4 or 8.0 cannot install v3.0.0 and will be pinned to v2.x, meaning we will operate a split-version estate until those services are upgraded. Because Laravel 10 requires PHP 8.1 and Laravel 9 supports 8.1, adopting v3.0.0 effectively aligns us with Laravel 9 (on PHP 8.1) or Laravel 10+.
Technical risk: Moderate, concentrated in three areas. (1) Semver major bump — a major version on a platform-only change strongly implies other breaking changes exist in the same release (removed/renamed APIs, dropped deprecated methods, signature or config changes) that the one-line note does not disclose; we must treat the changelog as incomplete until proven otherwise. (2) Runtime deprecations — moving to PHP 8.1 surfaces deprecation notices and behaviour changes in the host app (nullable-to-non-nullable internal params, ${var} string interpolation deprecation in 8.2+, float-to-int implicit conversion warnings, return-type mismatches). Risk lands on our application code and other packages, not on this one. (3) Lifecycle risk — PHP 8.1 reached end of security support in December 2025, so a release that establishes 8.1 as its floor is already lagging. We should plan to run 8.2/8.3 and confirm the package supports them, rather than standardising on 8.1.
Key questions:
php, illuminate/*, and laravel/framework? Which Laravel majors are supported (9, 10, 11, 12)?Stack fit: Requires PHP ≥ 8.1 and, by implication, Laravel 9+. Confirm the exact composer.json constraints before planning; if the package caps at Laravel 10 while our roadmap targets Laravel 11/12, that is a blocking gap to resolve with the maintainer or a fork.
Migration path: Treat this as a coordinated PHP upgrade, not a package bump.
php — the package cannot move alone. composer why-not php 8.1 per repo gives the true blocker list.config/, service provider bindings, and public API surface against v2.x; grep our codebase for every symbol we consume.Compatibility: Two-axis matrix required — PHP version × Laravel version × package major. Pin v2.x explicitly in composer.json for any service that cannot move yet ("vendor/package": "^2.0"), otherwise a routine composer update will attempt the major jump and fail the build noisily at best, or silently pull an incompatible transitive set at worst. Ensure composer.lock is committed everywhere so the floor cannot drift.
Sequencing:
Maintenance: Low ongoing effort for the package itself; the burden is the platform upgrade it forces. Expect the estate to run two package majors concurrently for one to two quarters, which doubles the surface area for security patching and complicates "is this version affected?" incident triage. Budget recurring time for PHP minor-version currency — if we standardise on 8.1 we will be doing this exercise again within the year.
Support: The maintainer's support posture for v2.x is the critical unknown. If v2.x goes unmaintained immediately, every un-migrated service carries unpatched-CVE exposure and we inherit a fork obligation. Escalate to a named owner and get a written support window.
Scaling: No expected runtime scaling impact — a PHP floor raise does not change request throughput, queue behaviour, or memory profile. Indirect effects to watch: PHP 8.1+ JIT and preloading behaviour can shift performance characteristics, and the upgrade may pull in newer transitive dependencies that do. Re-baseline latency/error SLOs on the canary rather than assuming parity.
Failure modes:
Ramp-up: Low-to-moderate for engineers who already know Laravel; near-zero learning curve for the package API, which is largely unchanged in concept. The real cost is environment work — image rebuilds, CI matrix expansion, developer local environment parity (Herd/Docker/Valet all need PHP 8.1+), and QA regression cycles on every migrated service. Allocate roughly 1–3 engineer-days per service for small apps, materially more for services with heavy package coupling or older test suites. Publish a short internal runbook (pin v2, upgrade PHP, fix deprecations, bump to v3, verify) so migration is repeatable rather than bespoke each time.
Recommendation: Approve adoption of v3.0.0 as the target state, but gate rollout on obtaining the complete v3.0.0 changelog and upstream support commitments. Do not target PHP 8.1 as the runtime standard — standardise on 8.2/8.3 and confirm the package's tested versions before committing the estate.
How can I help you explore Laravel packages today?