cooper/filament-dcat-filters
A Filament plugin that adds DCAT-aware filters to your admin panels, making it easy to browse and narrow down data catalogs by metadata fields such as themes, formats, publishers, and access rights.
date-mode range filters against datetime columns previously emitted to <= '2024-01-15', silently dropping every record after midnight on the end date. Any product surface backed by date-range filtering — admin dashboards, exports, invoicing periods, activity reports — was under-reporting the final day. That is a decision-grade defect, not cosmetic polish.23:59:59 at every call site.from > to auto-swap means the UI no longer needs to defend against inverted ranges, removing a validation rule from the product spec and a class of user-facing errors.Adopt when:
datetime/timestamp columns where "end date" must mean the full day.Look elsewhere or proceed cautiously when:
00:00:00/23:59:59, which is correct for a single application timezone but will not resolve "the user's local day" for a globally distributed user base. Confirm storage timezone and app timezone alignment before relying on it.23:59:59 excludes 23:59:59.500. If you have high-frequency data, this boundary is not fully closed.whereBetween) or extremely custom (complex boolean filter trees, faceted search) — the abstraction may cost more than it saves.Note: this is the first assessment on record; the package's scope is inferred from the release notes (RangeFilter, dateColumn(), indicator queries, toTimestamp()), so treat the above as a provisional adoption view pending a full API review.
To executives: We are evaluating a Laravel package that handles date-range filtering and summary reporting. Its latest release fixes a bug where reports silently omitted the final day of any selected date range — the kind of defect that produces wrong numbers in a board deck without throwing an error. The fix is small, covered by new automated tests (suite now at 1,119 tests), and non-breaking, so there is no migration cost or delivery risk. Recommendation: adopt for reporting surfaces and rely on the vendor for boundary handling rather than building it ourselves.
To engineering: Treat v2.1.2 as the minimum viable version for any date-range feature — earlier versions have a real off-by-one-day defect on datetime columns in date mode, affecting both dateColumn() queries/indicators and the toTimestamp() path. The upgrade is additive and low-risk: boundaries now normalize to 00:00:00/23:59:59 and inverted ranges auto-swap, so remove any client-side 23:59:59 patching and range-order validation you added as workarounds. Two known constraints to design around: boundaries are fixed to application timezone (not per-user), and the 23:59:59 ceiling drops sub-second records — raise both if we take on multi-region users or high-frequency event data.
How can I help you explore Laravel packages today?