github HangfireIO/Hangfire v1.7.0-beta1
1.7.0-beta1

latest releases: v1.7.37, v1.8.12, v1.8.11...
pre-release6 years ago

Release Notes

This is a preview of the next release that contains important changes in a lot of subsystems. A completely new background processing engine introduced with support for both synchronous and asynchronous processes while using the same model. While processing is still not asynchronous, because storage methods aren't, it's a great step forward.

After dealing with a lot of daylight saving time transition issues, we've decided to build a completely new library to work with cron expression. So the Cronos project was born contains first-class support for time zones and knows about all the subtleties.

And last but not least, it contains major upgrades to the Hangfire.SqlServer package with the new optimized schema with much fewer indexes, and identity columns upgraded to the bigint type for those, who processed 2,147,483,647 background jobs.

Hangfire.Core

  • Added – Entry point for custom job naming strategies available for dashboard (PR #660 by @pieceofsummer).
  • AddedJobDisplayNameAttribute class for displaying jobs in dashboard, available on .NET Core (PR #993 by @pieceofsummer).
  • Added – Support async jobs returning ValueTask<T> and other await-compatible types (PR #974 by @pieceofsummer).
  • Added – Support for asynchronous background processes, opens the road toward async storage (PR #1082, #150).
  • Added – Circuit breaker pattern for background processes to reduce the logging pressure (PR #1082).
  • Added – Processing server is now able to detect it was expired, and restart itself with the new id (PR #1082).
  • Added – Ability to use custom delays for automatic retries of a background job (PR #931).
  • AddedThreadAbortException and ThreadInterruptedException handling to keep the background process running (PR #1082).
  • Added – Support for complex Cron expressions, including the L, W, # characters (PR #853, #494).
  • AddedJobActivator.BeginScope method overload with the full PerformContext (PR #995 by @jeroenvervaeke, #828).
  • Added – Support for read-only view for dashboard (PR #934 by @mikechamberlain, #423, #758).
  • Added – Storage property to control the job expiration time (PR #913 by @rsilvanet).
  • Changed – Decrease the size of serialized payloads and remove version information (PR #891).
  • Fixed – Server disappears from the list, but still performing the background processing (#796, #1123).
  • Fixed – Logging is too aggressive on transient errors (#542).
  • Fixed – Daylight saving time transitions now handled perfectly in recurring jobs thanks to Cronos (#567).
  • Fixed – Confusing Cron scheduling, when both day-of-week and day-of-month fields set (#979).

Hangfire.SqlServer

  • Added – Callback method to allow to open the database with impersonation (PR #907 by @BjoernHund).
  • Changed – Identity columns either converted to the bigint type, or entirely removed (PR #898).
  • Changed – Clustered indexes were organized according to the access patterns of their tables (PR #898).
  • Changed – Most of secondary indexes were either removed or made filtered (PR #898).
  • Fixed – Background processing stops when identity columns exceed the Int32.MaxValue (#749).
  • Fixed – Slowdown of scheduled jobs due to the missing index on the Set table (#844).

Don't miss a new Hangfire release

NewReleases is sending notifications on new releases.