Release Notes
Hangfire.Core
- Added – Display deleted jobs in the Realtime and History graphs when supported by storage.
- Added –
DeletedState
now have the persistedException
property. - Added –
JobContinuationOptions.OnlyOnDeletedState
to create continuations after a failure. - Added –
Exception
job parameter is passed to continuation whenUseResultsInContinuations
method is used. - Added –
FromExceptionAttribute
to deal with an antecedent exception in a background job continuation. - Added – Allow to filter exception types in
AutomaticRetryAttribute
by using the newOnlyOn
property. - Added –
IBackgroundProcess.UseBackgroundPool
now allows to pass thread configuration logic. - Added –
IGlobalConfiguration.UseJobDetailsRenderer
method for custom renderers. - Added –
BackgroundJobServerOptions.WorkerThreadConfigurationAction
option - Added – Allow to pass custom data to
ApplyStateContext
andElectStateContext
instances. - Added – Preserve custom data dictionary between the entire filter chain.
- Added – Fetch "Retries" metric with other statistics when supported by storage
- Added –
IGlobalConfiguration.UseDashboardMetrics
extension method to pass multiple metrics at once. - Added – State renderer for the
DeletedState
to display its new exception property. - Added – Virtual
JobStorage.GetReadOnlyConnection
method intended to returnJobStorageConnection
for replicas. - Added – Virtual
JobStorage.HasFeature
method for querying optional features. - Added – Optional
GetSetCount
andGetUtcDateTime
methods for theJobStorageConnection
class. - Added – Optional
AcquireDistributedLock
andRemoveFromQueue
methods for theJobStorageTransaction
class. - Added – Support for transactional acknowledge using new storage method for better handling some data loss scenarios.
- Added –
Factory
,StateMachine
andPerformer
properties to context classes to avoid injecting services. - Added – Allow to pass transaction to background job state changer when new methods implemented.
- Added – Optional
ParametersSnapshot
property forBackgroundJob
andJobData
classes to minimize roundtrips in future. - Changed – Use the
AttemptsExceededAction.Delete
option by default in the global automatic retry filter. - Changed – Move job to the
DeletedState
instead ofSucceededState
when its invocation was canceled by a filter. - Changed –
FromParameterAttribute
-based logic now always overwrites arguments, even with non-null values. - Changed – Improved display of real-time chart with more accents on failed and deleted jobs.
- Changed – Ignore some members when serializing a
JobFilterAttribute
instance to decrease size - Changed –
ServerHeartbeatProcess
now usesThreadPriority.AboveNormal
to prioritize heartbeats.
Hangfire.SqlServer
- Added – Recommended Schema 8 migration with fixed
JobQueue.Id
column to usebigint
type. - Added –
SqlServerStorageOptions.PreferMicrosoftDataSqlClient
option to use the corresponding package. - Added –
SqlServerStorage.SchemaVersion
metric for Dashboard UI. - Added – Implement optional experimental transactional acknowledge for SQL Server (
UseTransactionalAcknowledge
option). - Changed – Sliding invisibility timeout-based fetching method is now used by default with 5 minute timeout.
- Fixed – Ensure connection is released when exception is thrown when during lock release.
Hangfire.NetCore and Hangfire.AspNetCore
- Added –
IApplicationBuilder.UseHangfireServer
that accepts custom factory forIBackgroundProcessingServer
.