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

Laravel Api Query Handler Laravel Package

luciano-jr/laravel-api-query-handler

Laravel API Query Handler parses and applies API query parameters in your Laravel apps—filtering, sorting, pagination, and relationship includes—so you can build flexible, consistent endpoints without repeating request-handling logic in every controller.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Summary: No substantive basis exists for a full evaluation — the package identity, source repository, dependency footprint, and prior assessment are all absent from the available data. The only signal is release 1.0.5, which is a single-line patch addressing config key naming. That is a narrow but non-trivial signal for a Laravel package, because config keys are part of the public contract once a consumer publishes the config file.

Architecture fit (provisional): The package follows the conventional Laravel package shape implied by the release note — a publishable config file, a service provider that merges defaults, and configuration-driven behavior. That is the standard, low-friction pattern and fits a typical Laravel application or modular monolith without architectural contention. It is not a fit for consumers that avoid publishable config (e.g. strict twelve-factor deployments that manage all configuration via environment variables only), unless the package supports env-var binding for every key. This cannot be confirmed from the release note.

Integration feasibility: Likely composer require plus php artisan vendor:publish --tag=config. The practical integration cost is low; the practical verification cost is not, because 1.0.5 renames fields in a config file. Any consumer who has already published the config, or who has hardcoded the old key names in a deployment manifest or .env file, must be checked individually.

Technical risk:

Risk Severity Rationale
Config key rename shipped in a patch release Medium Renaming config field names is a breaking change for any consumer with a published config file or cached config. Shipping it under 1.0.5 rather than 1.1.0 implies either (a) the old names were never functional — a pure bug fix — or (b) semver is not being applied rigorously. Which one it is determines the real exposure.
Published-config drift Medium Laravel's vendor:publish does not overwrite existing files. Consumers who published at 1.0.4 keep the old keys and the package may silently fall back to defaults on the new keys, producing behavior that differs from documentation with no error.
Config cache staleness Low–Medium php artisan config:cache must be re-run on deploy; stale caches will hold old keys. Standard operational hygiene, but a common source of "works locally, broken in prod."
Unverifiable baseline High With no repository, changelog history, or test coverage data, no confidence claim can be made about the package's overall stability. This release does not resolve that gap.

Key questions for the maintainer:

  1. Were the pre-1.0.5 key names ever functional? If yes, this is a breaking change and should be documented as such (and ideally released as 1.1.0 with a deprecation shim accepting both keys).
  2. Is there a mapping table of old key → new key? A one-line changelog entry is not sufficient for consumers to remediate.
  3. Does the package read only from config(), or also directly from env()? Direct env() calls outside config files break under config:cache and would compound the rename risk.
  4. Is there an upgrade guide, and does the README config example match the new key names?
  5. What is the test suite's coverage of the config surface — specifically, is there a test asserting the shipped config file's keys match those read by the code? A test of that shape is the durable fix for this class of bug recurring.

Integration Approach

Stack fit: Standard Laravel package integration — Composer autoload, package discovery via extra.laravel.providers, publishable config and (likely) migrations or routes. Compatible with Laravel's package auto-discovery, so no manual config/app.php registration is expected. Confirm the supported Laravel/PHP version matrix before adoption; a 1.0.x line with a config-shape bug suggests early maturity, so pinning to a tested minor is prudent.

Migration path: Treat 1.0.5 as a clean-install target, not an in-place upgrade, unless the maintainer confirms the old keys were non-functional.

  • Greenfield: install 1.0.4 → 1.0.5 is a non-event; publish config after upgrading and validate against the README.
  • Existing install with published config: do not run a blind composer update. Sequence: (1) diff the package's config/*.php against the published copy to enumerate renamed keys, (2) update the application's published config and any .env/secrets-manager entries, (3) php artisan config:clear && php artisan config:cache, (4) smoke-test the feature the package backs, (5) retain a rollback pin to 1.0.4.

Compatibility: Config key renames are backward-incompatible for the published-config surface even when the package code is otherwise unchanged. Class-level and container-binding compatibility are unaffected. No evidence of PHP or Laravel version constraint changes in this release.

Sequencing:

  1. Obtain the changelog and confirm the old→new key mapping (blocking — do not proceed without it).
  2. Establish a pinned baseline in a staging environment.
  3. Enumerate published-config and env-var dependencies across all consuming services (this is an inventory task, not a code task).
  4. Remediate config in staging; run the full suite plus a feature-level smoke test.
  5. Roll to production with config-cache rebuild as an explicit deploy step.
  6. Add a CI guard that diffs published config keys against the package's shipped config on every dependency bump.

Operational Impact

Maintenance: Low ongoing code maintenance, but this release shifts cost onto consumers: the package's config surface is now known to change names. Budget for a config-key audit on each dependency bump rather than assuming patch releases are inert. Recommend Renovate/Dependabot with patch auto-merge disabled for this package until the maintainer demonstrates semver discipline across two or three releases.

Support: Expect a short burst of support tickets if any consumer upgrades without republishing config — the symptom will be "package silently ignored my settings," which is expensive to diagnose because it fails soft rather than loudly. Pre-empt with an internal note and a named owner for the upgrade. Vendor support responsiveness is unknown and should be assessed before this becomes load-bearing.

Scaling: Config-key renames do not affect runtime scaling characteristics. The scaling-relevant unknown is whether the package holds state or performs I/O per request — unevaluable from this release. If it is stateless and config-driven, horizontal scaling is unaffected.

Failure modes:

  • Silent config fallback — highest likelihood: old key present, new key absent, package uses its default, no error raised. Mitigate with an explicit assertion in the app's boot or test suite that the resolved config values match expectations.
  • Config-cache staleness — stale compiled config after deploy; mitigated by an unconditional config:cache in the deploy pipeline.
  • Published-file divergence — app's published config drifts from the package's shipped config across versions; mitigated by the CI diff guard above.
  • Rollback asymmetry — rolling back the package while leaving the new config keys in place produces the same silent-fallback failure in reverse; the rollback runbook must revert config and code together.

Ramp-up: Low. Any Laravel-fluent engineer can integrate this in under an hour; the config-key remediation for an existing install is a half-day of inventory and verification. The real ramp-up constraint is organizational, not technical — a single owner must be accountable for keeping published config in sync, otherwise this failure mode recurs at every version bump. Given the thin evidence base, recommend a time-boxed spike in a non-production service to validate the maintainer's documentation and config contract before committing the package to a production path.

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.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package