Release Notes
Hangfire.Core
- Added – Job continuations, please see new
BackgroundJob.ContinueWith
methods. - Added – Time zone support for recurring jobs using
TimeZoneInfo
class. - Added – Single place for global configuration, please see
GlobalConfiguration
class. - Added – Made configurable the 'Back to Site' path in the dashboard (by @ysasaki1985).
- Added – Ability to plug in custom dashboard pages and modify navigation.
- Added – Ability to add custom metrics to the Home page in Dashboard.
- Added – Test coverage badge from Coveralls application.
- Added – Dedicated page for retrying jobs to distinguish them from other scheduled jobs.
- Added – Show expiration time on Job Details page.
- Added – More methods for build-in storage through
JobStorageConnection
andJobStorageTransaction
classes. - Added – Paging support for Recurring Jobs page.
- Added – New OWIN's
IAppBuilder
extension methods:UseHangfireDashboard
andUseHangfireServer
. - Changed – New look and feel for Dashboard. New navigation, less colors, more accents.
- Changed – Determine job type of a current object when
MethodCallExpression
hasObject
property set. - Changed – Making Product Version and File Version on the dll match the Assembly Version (by @fire-eagle).
- Changed – Use different log level for exceptions occured within automatic retry wrapper.
- Fixed – Recurring Page throws exception from CronExpressionDescriptor library.
Hangfire.SqlServer
- Added – Make the expiration check interval configurable (by @travisblakeney).
- Changed – Use read committed or parent transaction isolation level instead of
serializable
. - Changed – Automatically aggregate records in
Hangfire.Counter
table. - Changed – Add indexes to prevent blocking rows by Expiration Manager.
- Changed – Remove the
with tablock
hint from the expiration cleanup (by @travisblakeney).
Hangfire.SqlServer.Msmq
- Changed – Speed up
GetCount
method with native implementation. - Fixed – Incorrect order of fetching when multiple queues used.
Hangfire.RabbitMQ
- Added – Allow a URI to be used for
RabbitMQConnectionConfiguration
(by @dennyferra).