krilo89/jsonapi-rql-finder-bundle
A Symfony bundle that plugs RQL (Resource Query Language) filtering into JSON:API finder workflows, translating query strings into Doctrine queries so clients can filter, sort, and paginate resources through clean, standardized URLs.
Architecture fit
...-bundle, README reference to paknahad/jsonapi-bundle) still indicate a Symfony bundle, not a Laravel package. It occupies the query-translation layer between an HTTP request and the persistence layer: it takes an RQL expression and produces a Doctrine query/finder result for the parent JSON:API bundle's resource pipeline.laravel-json-api, cloudcreativity/json-api) use service providers, Eloquent scopes, and their own filter/sort handling — none of which this bundle targets. Adopting it in Laravel would mean forking and re-hosting the RQL parsing logic behind Eloquent, not installing it.paknahad/jsonapi-bundle, fit is good and the integration surface is small — likely a bundle registration plus a service definition wiring the finder into the existing finder interface.Krilo89/jsonapi-rql-finder-bundle, not the paknahad namespace the earlier assessment referenced. Before anything else, confirm whether this is a repo transfer, a rename, or an independent fork, and which Composer package name the 3.0.x line ships under. If the vendor name changed, existing composer.json constraints referencing the old name will silently stop receiving updates.Integration feasibility
paknahad/jsonapi-bundle dependency. That package is itself low-activity, which compounds risk — we would be inheriting a two-link chain of thinly maintained libraries. Verify the parent bundle is compatible with the 3.0.x line of this package; a major-version bump on the child is a plausible signal that the parent pin moved too.filter[...], sort, include, page, and sparse fieldsets; RQL is a separate dialect (comparison operators, logical composition). Adopting it means generic JSON:API clients and generated SDKs will not speak our filter syntax, and we take on client-side documentation and tooling work.Technical risk
develop -> master merge with no changelog, no described fixes, and no compatibility statement tells us nothing about what was actually repaired or tested.3.0.1...3.0.2 and to read the 3.0.0 tag/CHANGELOG before assuming backward compatibility.composer audit and SOC2-style vendor review. Expect to write an exception or a fork justification regardless of the 3.0.2 release.Key questions
Krilo89/jsonapi-rql-finder-bundle a transfer, a rename, or a fork of the paknahad project? What is the Composer package name, and does it declare a replace/provide for the old one?paknahad/jsonapi-bundle, and is that package actively maintained and compatible with this 3.0.x line? If not, this bundle has no home.composer.json constraints against our runtime rather than assuming the 2022-era constraints still hold.filter[] convention, RQL, or both? Which do our API consumers actually need?Stack fit
paknahad/jsonapi-bundle's finder abstraction. Version 3.x may have moved these floors — validate before relying on the earlier characterization.Migration path
composer require, register the bundle in bundles.php, configure, and point the resource finder at it. Days, not weeks — but now add a version-selection step: confirm whether we take 3.0.2 or pin to the version previously assessed, and record why.Acme\JsonApiRql) under MIT, add our own tests, and treat it as first-party code. Budget 1–2 engineer-weeks including a parameterization and operator-allowlist review.QueryTranslator interface, not on this package directly. That keeps a future swap to the spec-native filter[] approach to a single adapter, and insulates us from vendor-name churn.Compatibility
3.0.1...3.0.2 and read the 3.0.0 release before any spike. A silent major bump is the single most likely source of surprise in this release.composer.json constraints against our PHP and Symfony versions; do not assume the pre-2022-release constraints carried forward.paknahad/jsonapi-bundle → its own Doctrine/Symfony constraints. Pin transitive versions explicitly rather than floating.Sequencing
Maintenance
Support
Scaling
Failure modes
Krilo89 namespace is a fork rather than a transfer — duplicate packages and diverging histories are a real operational trap. Resolve before writing a composer.json line.filter[] per the spec and fail. Document the dialect explicitly or provide a compatibility shim.paknahad/jsonapi-bundle is abandoned mid-project; the fork boundary should extend to it if we go deep.Ramp-up
TPM verdict: the abandonment finding is downgraded — 3.0.2 proves the project has a pulse — but the release changes nothing about the underlying decision. It ships no documented features, fixes, or compatibility claims, so it neither reduces the integration risk nor the injection-surface concerns. Adopt only if we are already on Symfony with paknahad/jsonapi-bundle; in that case it remains a cheap, contained win provided we vendor it and pin the exact release. In any Laravel context — or any context where we have not yet committed to that JSON:API bundle — the correct decision is still to port the RQL concept rather than the package, and to prefer spec-native filter[] semantics unless a specific client requires RQL. Before any spike, spend half a day resolving the Krilo89 provenance question and the 2.x→3.0 changelog gap; that is the only new work this release creates.
How can I help you explore Laravel packages today?