croustibat/filament-jobs-monitor
Background Jobs monitoring like Horizon for all drivers for FilamentPHP
v4.5.0
375K downloads/mo
#4702 most downloaded on Packagist
ultraviolettes/filament-jobs-monitor
What this package is like to depend on
Last release 1 months ago
01 Jul 2026
Release timing varies
gaps range from 1 weeks to 9 months
Some releases are documented
notes for 20 of 39 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
39 releases · first in 2023
20 releases in the last 12 months
see the full history below
Release timeline
39 releases · May 2023 to Jul 2026Releases
latest 39-
v4.5.001 Jul 2026Release notes
Open source →Highlights
- Sentry-style Failures page — failed jobs grouped by signature (exception + job + normalised message), with a stats overview, per-group 7-day sparklines, Open/Resolved/All tabs, a stack-trace detail slide-over, and resolve/reopen/retry actions. (#119)
php artisan filament-jobs-monitor:prune— a dedicated command to pruneQueueMonitorrecords directly, since Laravel'smodel:pruneonly auto-discovers models underapp/Models. (@luiseduardobraschi — #120)- Tenant ID discovery for queued events/listeners, with a configurable
tenancy.payload_key. (@zerdotre — #115) - PHP 8.5 support. (@BjornKraft — #123)
Fixed
- Stats widget now works on SQLite and MySQL — the execution-time aggregates were only computed correctly on PostgreSQL and returned
0on SQLite. (@mokhosh — #55) - N+1 queries removed from the stats widget. (@webard — #121)
prunable()no longer crashes when pruning is disabled. (#120)- Removed a duplicate
sub_navigation_positionconfig key. (@DanielFatkic — #118)
CI
Full changelog: v4.4.1...v4.5.0
Thanks to everyone who reported issues and contributed to this release! 🙏
Release notes
Open source →Added
- Sentry-style Failures page: failed jobs are grouped by signature (exception class + job class + normalised message), with a stats overview, per-group 7-day sparklines, Open/Resolved/All tabs, a stack-trace detail slide-over, and actions to resolve/reopen/retry a whole group. Requires the new
add_failures_to_filament-jobs-monitor_tablemigration; if it isn't run the plugin keeps working and simply skips grouping. (#119) - Dedicated pruning command
php artisan filament-jobs-monitor:prune: prunes the package'sQueueMonitorrecords directly, since Laravel'smodel:pruneonly auto-discovers models underapp/Models. (@luiseduardobraschi — #120) - Tenant ID discovery for queued events/listeners: tenant detection now also covers
CallQueuedListener, with a configurabletenancy.payload_key(defaulttenant_id). (@zerdotre — #115) - PHP 8.5 support: added to the Composer constraint, with a Carbon deprecation fixed. (@BjornKraft — #123)
Fixed
- Stats widget on SQLite/MySQL: the execution-time aggregates (total/average) now convert datetimes to epoch seconds per driver (
strftimeon SQLite,UNIX_TIMESTAMPon MySQL/MariaDB,EXTRACT(EPOCH …)on PostgreSQL) instead of a raw datetime subtraction that returned0on SQLite. (@mokhosh — #55) - N+1 queries in the stats widget: the per-day counters now run a single query and group in memory, which is also portable across database drivers. (@webard — #121)
prunable()crash when pruning is disabled: it returnedfalse, which brokepruneAll()(Call to a member function when() on false); it now returns a query that matches nothing (safe no-op). (#120)- Duplicate config key: removed the duplicated
sub_navigation_positionentry. (@DanielFatkic — #118)
CI
- Add a
run-testsworkflow running Pest on PHP 8.4 and 8.5. (#125) - Bump
actions/checkoutfrom 6 to 7. (#122)
-
v4.4.120 Apr 2026Release notes
Open source →What's Changed
Fixed
- Details action modal crash: Fixed
Attempt to read property "exception_message" on nullwhen clicking the "Details" action onQueueMonitorResource. The closure parameter was renamed from$queueMonitorto$recordto match Filament 5 conventions. (@danielebarbaro — #111)
CI
- Bump
dependabot/fetch-metadatafrom3.0.0to3.1.0(#112) - Fix Dependabot auto-merge workflow: replace
--auto --mergewith--squash
Full Changelog: v4.4.0...v4.4.1
Release notes
Open source →Fixed
- Details action modal crash: Fixed
Attempt to read property "exception_message" on nullerror when clicking the "Details" action onQueueMonitorResource. The closure parameter was renamed from$queueMonitorto$recordto match Filament 5 conventions. (@danielebarbaro — #111)
CI
- Bump
dependabot/fetch-metadatafrom3.0.0to3.1.0(#112) - Fix Dependabot auto-merge workflow: replace
--auto --mergewith--squashto work without the auto-merge repository setting
- Details action modal crash: Fixed
-
v4.4.013 Apr 2026Release notes
Open source →What's new
Added
int|stringtenant ID support —scopeForTenant()now accepts both integer and string tenant IDs, enabling compatibility with packages liketenancyforlaravelthat use string-based UUIDs. The PHP payload serialization query has been updated fromi:123;format tos:3:"123";format. (@zerdotre — #106)- Clear all logs button — New "Clear all logs" header action in the queue monitor table, protected by a confirmation modal before truncating all records. (@zerdotre — #106)
- Tenant ID column — The
tenant_idcolumn is now visible in the table when multi-tenancy is enabled in the config.
Changed
- Migration stub:
tenant_idcolumn type changed fromunsignedBigIntegertostring(with index). This only affects new installations.
⚠️ Note for existing multi-tenant users
If you were using integer-based tenant IDs, the serialization format in
scopeForTenant()has changed:Before After i:123;(PHP int)s:3:"123";(PHP string)New jobs dispatched after upgrading will use the string format. Existing records in
queue_monitorsare not modified. If you need to query historical records, create a data migration or keep your$tenantIdtyped asint.
Contributors
A big thank you to @zerdotre for contributing both features in this release! 🙌
Full Changelog: https://github.com/ultraviolettes/filament-jobs-monitor/blob/main/CHANGELOG.md
Release notes
Open source →Added
int|stringtenant ID support:scopeForTenant()now accepts both integer and string tenant IDs, enabling compatibility with packages liketenancyforlaravelthat use string-based UUIDs as tenant identifiers. The PHP payload serialization query has been updated accordingly. (@zerdotre — #106)- Clear logs button: New "Clear all logs" header action in the queue monitor table, with a confirmation modal before truncating all records. (@zerdotre — #106)
- Tenant ID column visibility: The
tenant_idcolumn is now visible in the table when multi-tenancy is enabled in the config.
Changed
- Migration stub:
tenant_idcolumn type changed fromunsignedBigIntegertostring(with index). This only affects new installations — existing users who need this change should create a new migration to alter the column type.
Note for existing multi-tenant users: If you were using integer-based tenant IDs, the serialization format used in
scopeForTenant()has changed from PHP integer format (i:123;) to PHP string format (s:3:"123";). Existing records in thequeue_monitorstable are not affected, but new jobs dispatched with string-typed$tenantIdwill be stored and queried using the string format. -
v4.3.110 Apr 2026Release notes
Open source →Bug Fix
- Fix:
getModel()should return class-string, not class instance (#107 by @webard)- Fixes #108:
Class "[]" not founderror after upgrading from v4.2 to v4.3 resolve(QueueMonitor::class)returned an object instance instead of a class name string- Changed to
resolve(QueueMonitor::class)::classto correctly return the FQCN
- Fixes #108:
Upgrade
composer update croustibat/filament-jobs-monitor
- Fix:
-
v4.3.003 Apr 2026Release notes
Open source →What's New
Features
- Resolvable Model — The
QueueMonitormodel can now be replaced with a custom implementation via Laravel's container. Simply bind your own model in aServiceProvider. (thanks @webard — #102) - Polish Translation — Complete Polish language support. (thanks @webard — #101)
Maintenance
- Dependency Update — Bumped
dependabot/fetch-metadatafrom 2.5.0 to 3.0.0. (#103)
Version Compatibility
Version FilamentPHP PHP 1.* 2.* 8.1 2.* 3.* >= 8.1 3.* 4.* >= 8.1 4.* 5.* >= 8.2 Full Changelog
- Resolvable Model — The
-
v4.2.017 Mar 2026Release notes
Open source →What's New
This release brings all community contributions from v3.3.0 to the Filament v5 branch.
Features
- Multi-Tenancy Support — Full multi-tenant support with automatic tenant scoping, configurable tenant model/column, and CLI/queue safety guards. Disabled by default for backward compatibility. (inspired by @danharper83 — #99)
- Configurable Database Connection — Use a dedicated database connection for job monitoring via
config('filament-jobs-monitor.connection'). Supports both explicit queries and implicit model queries. (inspired by @zerdotre — #95) - Laravel 13 Compatibility — Added
illuminate/contracts: ^13.0support. (thanks @laravel-shift — #98) - Enum NavigationGroup Support —
UnitEnumcan now be used for the navigation group, aligning with Filament's native PHP 8.1 enum support. (thanks @blackshadev — #96) - Complete German Translation — All 61 translation keys with idiomatic German terms. (thanks @Arne1303 — #97)
Version Compatibility
Version FilamentPHP PHP 1.* 2.* 8.1 2.* 3.* >= 8.1 3.* 4.* >= 8.1 4.* 5.* >= 8.2 Full Changelog
-
v4.1.220 Jan 2026Release notes
Open source →Documentation
- Updated README screenshots for Filament v5 dark theme
- New screenshots showing:
- Job list with stats overview
- Retry All Failed button
- Progress bar visualization
Full Changelog: v4.1.1...v4.1.2
-
v4.1.120 Jan 2026Release notes
Open source →Bug Fix
- Fix Action class imports for Filament v4/v5 compatibility
- Changed from
Filament\Tables\ActionstoFilament\Actionsnamespace
Full Changelog: v4.1.0...v4.1.1
-
v4.1.020 Jan 2026Release notes
Open source →What's New
Advanced Retry Features
- Bulk Retry: Select multiple failed jobs and retry them all at once
- Retry All Failed: One-click button to retry all failed jobs
- Delayed Retry: Schedule retries for later with optional delay field (in minutes)
- RetryFailedJobJob: New job class for handling scheduled retries
Translations
All features include English and French translations.
Full Changelog: v4.0.0...v4.1.0
-
v4.0.020 Jan 2026Nothing published for this version
-
v3.3.016 Mar 2026Release notes
Open source →What's New
🌍 German Translation Update (PR #97)
- Complete German translation with all 61 keys (full parity with English)
- More idiomatic translations (Jobs → Hintergrundprozesse, Queue → Warteschlange, Exception → Ausnahme)
- Thanks to @Arne1303
🧭 Enum Navigation Group Support (PR #96)
- Added
UnitEnumsupport for navigation group (PHP 8.1+) - Aligned with native Filament enum support for
NavigationGroup - Thanks to @blackshadev
🚀 Laravel 13 Compatibility (PR #98)
- Added
^13.0toilluminate/contractsconstraint - Package now supports Laravel 10, 11, 12, and 13
- Thanks to @laravel-shift
🔌 Configurable Database Connection (PR #95)
- New
connectionconfig key infilament-jobs-monitor.php - Supports dedicated database connections for job monitoring
- Fallback to default connection when not configured (
null) - Thanks to @zerdotre
🏢 Multi-Tenancy Support (PR #99)
- Tenant-aware job monitoring with Filament's built-in tenancy
- New
tenancyconfig section (enabled, model, column) - Automatic tenant scoping on
QueueMonitor,FailedJob, andQueueJobmodels - Protected against CLI/queue contexts (safe
Filament::getTenant()usage) - Includes migration stub for
tenant_idcolumn - Disabled by default — fully backward compatible
- Thanks to @danharper83
Technical Notes
- Added test infrastructure (Pest + Orchestra Testbench)
- 8 tests covering multi-tenancy functionality
Full Changelog: 3.2.0...v3.3.0
-
3.2.026 Dec 2025Nothing published for this version
-
3.1.323 Dec 2025Nothing published for this version
-
3.1.223 Dec 2025Nothing published for this version
-
3.1.122 Dec 2025Nothing published for this version
-
3.1.022 Dec 2025Nothing published for this version
-
3.0.321 Dec 2025Nothing published for this version
-
3.0.221 Dec 2025Nothing published for this version
-
3.0.101 Dec 2025Nothing published for this version
-
3.0.011 Nov 2025Release notes
Open source →Breaking Changes
This release adds support for Filament v4, which includes several breaking changes from Filament v3. Please see UPGRADE.md for a complete migration guide.
- Filament v4 Compatibility: Updated minimum Filament version requirement from
^3.0to^4.0 - Form/Schema API: Changed
form(Form $form)method signature toform(Schema $schema)following Filament v4 conventions - Action Namespace: Moved action imports from
Filament\Tables\ActionstoFilament\Actionsnamespace - Page Actions: Renamed
getActions()togetHeaderActions()in ListRecords pages (visibility changed from public to protected) - Widget Methods: Renamed
getCards()togetStats()in StatsOverviewWidget classes
Added
- Added
HasNavigationtrait to resources for better navigation handling - Added
sub_navigation_positionconfiguration option to customize sub-navigation placement (Top or Sidebar) - Added comprehensive UPGRADE.md migration guide
Changed
- Updated all imports to use Filament v4 namespace structure
- Updated README with version 3.x compatibility information
- Enhanced configuration file with additional options and documentation
- Filament v4 Compatibility: Updated minimum Filament version requirement from
-
2.6.228 May 2025Nothing published for this version
-
2.6.121 Mar 2025Nothing published for this version
-
2.6.021 Mar 2025Nothing published for this version
-
2.5.004 Jul 2024Nothing published for this version
-
2.4.029 Mar 2024Nothing published for this version
-
2.3.026 Mar 2024 -
2.2.015 Feb 2024 -
2.1.007 Dec 2023 -
2.0.013 Sep 2023Release notes
Open source →- Add support for Filament v3
- Implement a configurable panel plugin class
- Make table columns sortable
- Add a configurable navigation menu resource sort order
- Add a toggle to show a job count badge in the navigation menu
- Add a configuration option to customize the QueueMonitorResource model
- Split the resource label into singular and plural
-
1.4.009 Aug 2023Release notes
Open source →- Fix : apply sortable to Table (not Forms)
- Apply sortable on all columns
- Added getNavigationSort to Resource and config, and changed getNavigationGroup to work in default installation of package.
-
1.3.115 Jul 2023Nothing published for this version
-
1.3.015 Jul 2023Release notes
Open source →- Jobs are sorted by started date from the most recent to the oldest
- New language file for spanish
https://github.com/croustibat/filament-jobs-monitor/releases/tag/1.3.0 Thanks to the contributors <3
-
1.2.029 Jun 2023Release notes
Open source →https://github.com/croustibat/filament-jobs-monitor/releases/tag/1.2.0 Thanks to the contributors <3
-
1.1.013 Jun 2023Release notes
Open source →- Thanks to @cntabana there's now a config file to enable/disable the navigation menu
-
1.0.429 May 2023Nothing published for this version
-
1.0.329 May 2023Nothing published for this version
-
1.0.229 May 2023Nothing published for this version
-
1.0.129 May 2023Nothing published for this version
-
1.0.029 May 2023Release notes
Open source →- Initial release : this FilamentPHP plugin contains files to monitor queue jobs. It is compatible with all drivers.