v2.1.0
Features
- Added read-only mode for the UI and API by @MrEarle #1468
- Updated the UI with a responsive design
- Added persistent dark mode with light and system theme options
- Added a browser favicon by @rolfws #1502
- Improved task search with boolean operators and field filters
- Preserved task-table preferences across visits by @fretman92 #1333
- Added TLS support for Redis Sentinel by @cyberjunk #1327
- Added AMQPS support for RabbitMQ connections by @borland667
- Updated and auto-provisioned the Grafana dashboard
Performance and reliability
- Moved blocking broker and control operations off the I/O loop
- Made Redis queue inspection asynchronous and pipelined
- Prevented duplicate worker inspections
- Fixed broker connection leaks #1490
- Purged stale offline-worker Prometheus metrics #1128
- Persisted dashboard counters across restarts #787
- Improved handling of missing custom configuration files
Bug fixes
- Fixed Redis SSL configurations #1177
- Fixed percent-encoded IPv6 broker addresses #1220
- Stopped exposing broker alternate URLs in worker statistics #1512
- Fixed broker page rendering when queue inspection fails by @alexei #1501
- Fixed autoscaling response interpolation by @funkyrailroad #1427
- Improved GitHub OAuth errors when email access is unavailable by @bysiber #1486
- Prevented authentication failures while rendering error pages #1268, #1499
- Fixed task search for non-string values #1401
- Fixed task state filters to require the state prefix by @AleksaMCode #1516
- Fixed worker names in timeout and rate-limit error responses by @phanky1 #1506
- Fixed startup banner output when using a dynamic port #1449
- Fixed worker active-task totals when counts are null by @M4RC0Sx #1511
- Fixed undefined worker pool grow and shrink values by @daydaychen #1324
Documentation
- Documented custom authentication providers #1344
- Fixed the GitLab authentication handler name by @Saluev #1325
- Fixed the persistent database CLI example by @hatamiarash7 #1326
- Fixed the Grafana example URL by @NiclasvanEyk #1345
- Fixed the nginx reverse-proxy example by @titovanton
- Added the GitHub repository link to the documentation by @PamelaM
- Fixed the documented database filename by @WilliamDEdwards #1494
- Fixed the documented max tasks default by @masahiro331 #1415
- Clarified task API options #1269
Compatibility and packaging
- Added Python 3.13 and 3.14 support; Python 3.10+ is now required #1439
- Added Python 3.12 support and package classification by @foarsitter #1334
- Removed obsolete Python versions from CI and tox by @auvipy #1442
- Added Celery 5.6 CI coverage
- Updated the tox compatibility matrix by @auvipy #1451, #1452
- Raised the minimum Tornado version to 6.5.7 #1439
- Upgraded OpenSSL in the Docker image by @matheusnascgomes #1483
- Added Dependabot management for GitHub Actions by @cclauss #1383
- Improved CI linting reliability by @Nusnus #1445
- Updated .gitignore to exclude local Python version files by @Nusnus #1444
- Ran unit tests before lint checks by @auvipy #1447
- Removed the obsolete Travis CI configuration by @auvipy
- Enabled API access in the Docker Compose demo
Full changelog: v2.0.1...v2.1.0