behzadsp/nova-attach-many
Nova Attach Many provides a Laravel Nova field for managing many-to-many relationships directly from resource forms. Attach and detach related records through a simple, user-friendly interface, simplifying pivot management without leaving the Nova admin panel.
The 2.2.0 release changes the package’s PHP requirement to 8.1. This is a compatibility-significant change rather than a feature release, and it should be treated as a potential breaking change for any application or CI pipeline still running PHP 8.0 or earlier.
Architecture fit: The requirement aligns with modern Laravel baselines — Laravel 9 supports PHP 8.0–8.2, Laravel 10 requires PHP 8.1+, and Laravel 11 requires PHP 8.2+. A PHP 8.1 floor is therefore reasonable for a package targeting current Laravel versions, but it narrows the addressable install base and excludes older Laravel/PHP combinations.
Integration feasibility: Integration is straightforward for teams already on PHP 8.1+ and a compatible Laravel version. The main checks are Composer platform constraints, transitive dependency compatibility, and whether the package’s own code now relies on PHP 8.1-only syntax or behavior. The release note alone does not confirm whether only composer.json changed or whether source-level changes accompanied the constraint bump.
Technical risk: Moderate. Risks include:
<8.1.Key questions:
Stack fit: Best suited to Laravel 9/10/11 applications running PHP 8.1 or newer. Teams on Laravel 8 or PHP 8.0 should not adopt 2.2.0 without first upgrading the runtime.
Migration path:
composer why-not / dependency resolution checks before updating the package.Compatibility: Verify the package’s composer.json platform constraints, Laravel version constraints, and any transitive packages. Confirm that PHP 8.1 deprecations and stricter typing do not affect existing application integrations.
Sequencing: Upgrade PHP runtime first, then Laravel dependencies if needed, then the package. Avoid combining the PHP upgrade and package upgrade in a single production release where possible; stage them to isolate failures.
Maintenance: The PHP 8.1 floor reduces legacy support overhead and simplifies the test matrix, but it also means the package no longer serves PHP 8.0 consumers. Teams must track PHP 8.1’s lifecycle — security support ends December 2025 — and plan for PHP 8.2/8.3 before then.
Support: Expect support questions from users on older PHP versions encountering Composer resolution errors. Documentation and the package README should clearly state the PHP 8.1 minimum and supported Laravel versions.
Scaling: No direct scaling impact. PHP 8.1 may bring modest runtime performance improvements, but the package’s operational footprint is unchanged.
Failure modes:
composer install/update failing on PHP <8.1.--ignore-platform-reqs.Ramp-up: Low for teams already on PHP 8.1+. Teams on older runtimes face a runtime upgrade project rather than a package-specific learning curve. Brief review of PHP 8.1 features and deprecations is advisable for maintainers.
How can I help you explore Laravel packages today?