- How do I install Lapiv in a Laravel application?
- Install it with Composer using the package name juliomotol/lapiv. Laravel package discovery should register the service provider automatically, and you can publish any configuration if the package provides it. Confirm the package's PHP and Laravel version constraints before adding it to production.
- Which Laravel versions does Lapiv support?
- Version 3.2.0 explicitly adds support for Laravel 11.x. The release notes do not state whether Laravel 9.x and 10.x remain supported, so check the composer.json constraints and CI test matrix for the exact support window. If you are on Laravel 10 or earlier, this release provides little functional incentive unless you are planning an upgrade.
- How does Lapiv resolve the API version from a request?
- Lapiv resolves API versions from incoming requests at the routing or middleware layer, which lets it select the appropriate versioned routes and controllers. The exact resolution mechanism depends on the package configuration, such as headers, URL segments, or route prefixes. Confirm the behavior in the package documentation, especially if you use an API gateway that rewrites headers.
- Can Lapiv help manage breaking API changes without breaking existing clients?
- Yes. Lapiv is designed to organize versioned routes and controllers so you can introduce a new API version while keeping older versions available. Existing clients continue using their existing version until they migrate, while new clients can target the latest version. This still requires disciplined route organization, version negotiation tests, and a clear deprecation policy.
- Is v3.2.0 a breaking change from v3.1.0?
- No. Version 3.2.0 is documented as a narrow compatibility release that adds Laravel 11.x support, with no breaking changes or deprecations indicated. It appears intended as a drop-in update for teams moving to Laravel 11. You should still validate it in a branch and run your API contract tests before rolling it out.
- How do I test Lapiv version resolution in my Laravel app?
- Write feature tests that send requests with supported, unsupported, and missing API version indicators, then assert the correct routes, controllers, and status codes are used. Include tests for fallback or default version behavior and for error responses when a version is unsupported. Also run the same tests with route and config caching enabled in a staging-like environment.
- Does Lapiv work with Laravel route and config caching?
- Route-versioning packages often interact with Laravel's route caching, so you should validate version resolution after running route:cache and config:cache. The release notes for v3.2.0 do not mention caching changes, so test this explicitly in staging. Check the package documentation for any known caveats about cached routes or middleware ordering.
- What are the alternatives to Lapiv for Laravel API versioning?
- Alternatives include building custom route groups and prefixes, writing middleware that negotiates versions from headers, or using another Laravel API versioning package. Lapiv is a good fit when you want an in-framework convention rather than custom route grouping and fallback logic. Evaluate whether it replaces or duplicates any existing custom versioning layer before adopting it.
- Is Lapiv actively maintained and production-ready?
- Version 3.2.0 is a compatibility update, but the release notes do not describe the project's long-term support policy or maintenance cadence beyond that. For production use, review recent releases, issue activity, and whether the CI test matrix covers your Laravel and PHP versions. Pin the package version and monitor updates rather than assuming continuous maintenance.
- Does Lapiv support Laravel 10 or only Laravel 11?
- Version 3.2.0 explicitly adds Laravel 11.x support, but the notes do not confirm whether Laravel 9.x and 10.x remain supported. Check the package's composer.json constraints and test matrix for the definitive answer. Teams on Laravel 10 should treat v3.2.0 as part of a Laravel 11 upgrade path rather than a feature upgrade.