NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #1584 most downloaded on Packagist
This package uses daterangepciker library to filter date by a range or predefined date ranges (Today , Yesterday ...etc)
Last release 1 months ago
18 Aug 2026
Release timing varies
gaps range from 8 days to 5 months
Rarely documented
notes for 9 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
82 releases · first in 2023
Fixed — date filters silently dropped rows when a display timezone was set
getSystemTimezone() returned FilamentTimezone::get(). That is Filament's display timezone — core reads it for date-time columns, entries and pickers, and it falls back to config('app.timezone') when unset. The timezone a column is stored in is config('app.timezone'), which is what Eloquent writes with.
While nobody calls FilamentTimezone::set() the two resolve to the same value and nothing is wrong. The moment somebody sets it — the documented way to show local times over UTC storage — the conversion in apply() became a no-op: input and system resolved to the same zone, so the parsed dates kept their local offset, and Laravel binds them with format(), which does not convert. Local wall-clock then reached the query against UTC data.
Measured on a UTC column with the display set to Asia/Riyadh, filtering a single day:
bindings 2026-08-18 00:00:00 / 2026-08-18 23:59:59 (+03 wall-clock)
row stored 2026-08-17 22:00:00 (01:00 that morning in Riyadh)
returned excluded
Every row falling in the first hours of a local day was filed under the day before — silently, which is the worst way for a date filter to be wrong.
getTimezone() now defaults to FilamentTimezone::get() — the zone the dates on screen are written in.getSystemTimezone() now returns config('app.timezone') — the zone the column is stored in.This matches what Filament's own DateTimePicker does.
No action needed, and nothing changes for you unless you call FilamentTimezone::set(). When it is unset it returns config('app.timezone'), so both getters resolve exactly as before.
FilamentTimezone |
5.0.6 | 5.0.7 |
|---|---|---|
| unset (default) | input=UTC, storage=UTC | identical |
Asia/Riyadh, UTC column |
input=Riyadh, storage=Riyadh — wrong | input=Riyadh, storage=UTC — correct |
New systemTimezone() setter, for a column genuinely stored outside the application timezone:
DateRangeFilter::make('created_at')->systemTimezone('Asia/Riyadh');Covered by tests/TimezoneSeparationTest.php — five tests, four of which fail without the fix.
One column per quarter.
Bump shell-quote from 1.8.3 to 1.8.4 in the npm_and_yarn group across 1 directory by @dependabot [bot] in #242
Full Changelog: 5.0.5...5.0.6
Nothing published for this version
Month picker manual input stability
This patch release completes the editable month picker work and fixes the input-mask crash found while testing the demo environment.
01/22 in monthPicker()->singleCalendar()->allowInput()->format('m/Y') no longer causes a maximum call stack error.monthPicker()->singleCalendar()->allowInput()->format('m/Y')npm test: 116 passednpm run build: passed, rebuilt dist assetscomposer test: 148 passedphp -l workbench/app/Filament/Pages/DemoPage.php: passedFix month picker year input rendering.
Fix month picker year input rendering.
Verification:
Patch release for month picker editing and keyboard handling fixes.
Patch release for month picker editing and keyboard handling fixes.
minYear, maxYear, minDate, and maxDate configuration.showDropdowns() day picker behavior remains unchanged.dist assets are included.npm test: 4 test files passed, 114 tests passed.npm run build: completed successfully and regenerated dist assets.composer test: 148 tests passed, 213 assertions.Bump dependabot/fetch-metadata from 2.5.0 to 3.0.0 by @dependabot [bot] in #232
Full Changelog: 5.0.0...5.0.1
This is a major release with breaking changes. The entire frontend has been rebuilt from scratch for better performance, smaller bundle size, and seam…
A ground-up rewrite replacing jQuery & Moment.js with a native Alpine.js component powered by Day.js.
This is a major release with breaking changes. The entire frontend has been rebuilt from scratch for better performance, smaller bundle size, and seamless Filament v4/v5 integration.
@floating-ui/dom for robust dropdown placement that handles scroll, resize, and viewport edges automatically.->monthPicker() for selecting month ranges->yearPicker() for selecting year ranges->allowInput() enables typed date entry with format-aware masking->teleport() (enabled by default) moves the dropdown to <body>, solving z-index issues in modals and slide-overs->dualState('start_field', 'end_field') syncs to two separate Livewire properties->format('Y-m-d') uses PHP Carbon tokens. The package auto-converts to Day.js tokens for the frontend.ar, cs, da, de, el, es, fa, fr, he, hu, id, it, ko, ku, lt, lv, nb, nl, pl, pt, pt-br, ro, ru, sk, sl, tr, uk, uz, vi, zh-cn, zh-twasync init(). Locales are bundled, eliminating runtime import latency.==/!= replaced with ===/!== across the codebase.| Removed | Replaced By |
|---|---|
jquery |
Alpine.js (bundled with Filament) |
moment / moment-timezone |
dayjs ^1.11 |
daterangepicker (jQuery plugin) |
Native Alpine.js component |
- ->displayFormat('DD/MM/YYYY') // Day.js tokens (still works, deprecated)
+ ->format('d/m/Y') // PHP Carbon tokens (recommended)These methods still work but will be removed in a future version:
| Deprecated | Use Instead |
|---|---|
->displayFormat('DD/MM/YYYY') |
->format('d/m/Y') |
->setTimePickerOption(true) |
->timePicker() |
->setTimePickerIncrementOption(15) |
->timePickerIncrement(15) |
->setTimePicker24HourOption(true) |
->timePicker24() |
->setTimePickerSecondOption(true) |
->timePickerSecond() |
->setAutoApplyOption(true) |
->autoApply() |
Filament\Support\Facades\FilamentTimezone for system timezonecomposer require malzariey/filament-daterangepicker-filter:^5.0If you were manually including jQuery or Moment.js for this package, remove them — they're no longer needed.
// Before (v4)
DateRangePicker::make('range')->displayFormat('DD/MM/YYYY');
// After (v5) — use PHP Carbon tokens
DateRangePicker::make('range')->format('d/m/Y');// Month picker
DateRangePicker::make('month_range')->monthPicker();
// Year picker
DateRangePicker::make('year_range')->yearPicker();
// Manual input with masking
DateRangePicker::make('range')->allowInput();
// Dual state (sync to two separate properties)
DateRangePicker::make('range')->dualState('start_date', 'end_date');| Requirement | Version |
|---|---|
| PHP | ^8.1 |
| Laravel | ^10.0 | ^11.0 | ^12.0 | ^13.0 |
| Filament | ^4.0 | ^5.0 |
| Package | Version | Purpose |
|---|---|---|
dayjs |
^1.11 | Date manipulation |
@floating-ui/dom |
^1.6 | Dropdown positioning |
imask |
^7.6 | Input masking |
Thanks to all contributors who helped shape this release:
Full Changelog: 4.0.9...5.0.0
refactor: Filament timezone as default timezone by @ahmed-rashad-alnaggar in #227
Full Changelog: 4.0.8...4.0.9
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →