filament-uno/json-request-bundle
Simplify JSON request handling in Laravel and Filament with a ready-made request bundle. Standardize validation, parsing, and structured responses so your app's JSON APIs and Filament workflows stay consistent, maintainable, and easy to extend.
Primary decision: build vs. buy for JSON request handling — unchanged by v1.0.0. This package sits in the "JSON payload → validated, typed request object" slot, between an inbound API call and domain code. The v1.0.0 release does not resolve the buy/build question in the package's favor; if anything it sharpens the answer.
SymfonyBundles/JsonRequest bundle at commit fa0e3d2. There is no feature work, no dependency refresh, no stated framework-compatibility matrix, and no maintained backlog. Treat it as unavailable for roadmap planning.1.0.0 implies namespace/structural breaks with zero upgrade path documented, and it re-bases the code onto a second unmaintained upstream. A dependency whose provenance is now split across two dormant repositories is harder to own, not easier.Adoption criteria — this package still fails all of the non-negotiable ones:
| Criterion | Bar | This package |
|---|---|---|
| Actively maintained | Release within ~12 months with substantive commits, dependency refreshes, and issue triage | ❌ v1.0.0 is a single-commit rebase of an external bundle; no evidence of ongoing maintenance |
| Ownership clarity | Named maintainer; responsive channel | ❌ Provenance split across two dormant upstreams; no triage path evidenced |
| Ecosystem validation | Non-trivial dependents/stars; third-party usage | ❌ No dependents or stars to indicate production use |
| Framework compatibility | Declared support for your Laravel/PHP version | ❌ No compatibility matrix published with v1.0.0; Symfony-bundle lineage means Laravel integration is unproven |
| Upgrade path | Changelog + migration notes for major versions | ❌ 1.0.0 shipped with no changelog or migration guidance |
| License/provenance | Permissive and traceable to source | ⚠️ MIT claimed, but derivative of SymfonyBundles/JsonRequest — original attribution/license terms must be verified before any copy-paste reuse |
When to consider it at all: only as reference material — reading the source to sanity-check your own design for request validation and DTO mapping. Non-production, non-installed, no Composer entry.
When to look elsewhere (i.e., essentially always):
FormRequest + expectsJson() for validation; a maintained DTO package (e.g. spatie/laravel-data) for typed hydration; or a thin in-house request-object base class. Run this same criteria table against those before committing.Decision rule going forward: archived, single-maintainer, or sub-10-dependent packages are auto-reject for production dependencies unless a named internal owner and a written fork strategy exist. Refinement from this release: a version bump with no changelog is not evidence of maintenance. Judge packages on commit activity and support responsiveness, not on tag recency. This package is the clean example to socialize that rule.
For executives (30 seconds): A third-party PHP package we evaluated for handling JSON API requests published a new "1.0.0" release. On inspection it contains no new features — it simply re-imports code from an older, also-abandoned package. The dependency is still unmaintained, still has no users in the ecosystem, and still receives no security patches. Recommendation: do not adopt; remove it if it is already in the codebase. We can cover the same need with a small internal component or a maintained alternative — days of effort, not weeks — and keep an unpatched dependency out of our attack surface.
For engineering leads: v1.0.0 is a single-commit rebase onto SymfonyBundles/JsonRequest@fa0e3d2 — no changelog, no migration notes, no compatibility matrix, no dependency refresh. It introduces a breaking major version on an unmaintained package, which is worse for us than no release at all: it invites an "upgrade" that buys us nothing. Also verify upstream license/attribution before lifting any code. If currently installed, keep the removal ticket and expect Composer conflicts on Laravel 10+. Replacement path: FormRequest for validation plus a maintained DTO package or a thin internal request-object class.
Bottom line: high-confidence reject, unchanged. A release is not a revival; the maintenance and support risk is the same as before, now with an unadvertised breaking change on top.
How can I help you explore Laravel packages today?