github quartznet/quartznet v3.18.2

8 hours ago

Quartz.NET 3.18.2 is a maintenance release that stabilizes the dashboard introduced in 3.18.0, fixes several scheduling correctness bugs, and speeds up cron next-fire-time computation. It is a drop-in upgrade from earlier 3.18.x releases — no breaking changes and no database schema migrations.

Highlights

  • Type-load failures no longer stall the whole scheduler — a trigger or job whose type failed to load could throw inside AcquireNextTrigger and block acquisition of every other trigger. The faulting trigger is now isolated so the rest keep firing. (#3108)
  • "Reschedule next" misfire policies no longer fire immediately — after a misfire, the reschedule-next policies could fire once right away instead of waiting for the next scheduled time. (#3100)
  • Named-scheduler JSON config is honored — schedules defined under the root Quartz configuration section were not loaded for named schedulers. (#3113)
  • Dashboard fixes — authorization policy no longer leaks to host-app endpoints (#3067); static assets and a custom DashboardPath work under a fail-closed FallbackPolicy, and the Blazor circuit is allowed anonymous access under the same policy (#3098, #3120); trigger and calendar JSON deserialization is fixed (#3102); and JobDataMap and SimpleSchedule trigger details now display correctly (#3132).
  • MySQL FORCE INDEX fix — schema-qualified table prefixes produced a malformed FORCE INDEX hint. (#3086)
  • Faster cron scheduling — cron next-fire-time computation gains a bitmask fast path and avoids needless DateTimeOffset churn in the hot loop. (#3126, #3129)
  • Smaller enhancements — health-check tags can now be passed to AddQuartzServer (#3112), and new public helpers make plugin configuration extensible (#3104).

What's Changed

  • Fix dashboard authorization policy leaking to host app endpoints (#3066) by @lahma in #3067
  • Fix malformed MySQL FORCE INDEX hint with schema-qualified table prefix by @lahma in #3086
  • Fix dashboard FallbackPolicy asset blocking, honor custom DashboardPath, document Blazor integration (3.x) by @lahma in #3098
  • Fix reschedule-next misfire policies firing immediately after misfire (#3096) by @lahma in #3100
  • Fix dashboard trigger and calendar JSON deserialization (#3094) by @lahma in #3102
  • Fix type-load exceptions in AcquireNextTrigger blocking all other triggers by @lahma with @Copilot in #3108
  • Fix JSON schedule config not loaded for named schedulers using root Quartz section (#3106) by @lahma in #3113
  • Allow passing health check tags to AddQuartzServer by @lahma in #3112
  • Strip 3.x branch docs to NuGet package READMEs only (#3116) by @lahma in #3119
  • Allow the dashboard Blazor circuit anonymous access under a fail-closed FallbackPolicy (#3117) by @lahma in #3120
  • Add public plugin configuration extensibility helpers (3.x) by @lahma in #3104
  • Speed up cron next-fire-time computation with a bitmask fast path by @lahma in #3126
  • Reduce DateTimeOffset churn in the cron next-fire-time loop (3.x) by @lahma in #3129
  • Fix dashboard JobDataMap and SimpleSchedule trigger display (3.x) by @lahma in #3132

Full Changelog: v3.18.1...v3.18.2

Don't miss a new quartznet release

NewReleases is sending notifications on new releases.