Hangfire.Pro 2.3.2
Batches and continuations for Hangfire.
No packages depend on Hangfire.Pro.
https://www.hangfire.io/blog/ 2.3.2
- Fixed – Possible external state changes for jobs in batch continuations should not lead to stuck batches.
2.3.1
- Fixed – Add missing overloads for the
ContinueBatchWithmethod to support async jobs fornetstandardtargets.
2.3.0
- Added – It is possible to use
OnlyOnCompletedStateandOnlyOnDeletedStateoptions for batch continuations. - Added – Make it possible to specify multiple
BatchContinuationOptionsfor batch-to-batch continuations. - Added – Allow to specify multiple
BatchContinuationOptionsfor batch-to-job continuations. - Added – Allow to use multiple
JobContinuationOptionsvalues for job-to-batch continuations. - Added – Show job continuations on the "Batch Details" page in Dashboard UI.
- Changed –
BatchContinuationOptionsenum is now decorated with theFlagsAttributeattribute.
2.2.3
- Changed – Order of the
BatchSupportfilter was changed from 2000 to 950 to fire earlier thanContinuationsSupport. - Fixed – Continuations hanging in the
Awaitingstate when antecedent background job belong to a canceled batch.
2.2.2
- Added – Allow to configure maximum number of entries for final state lists.
- Fixed – Use LazyThreadSafetyMode.PublicationOnly to avoid caching "JobStorage.Current is null" exceptions.
- Fixed – JsonSerializationException: Unable to find a constructor to use for type Hangfire.Batches.AwaitingBatchState.
2.2.1
- Fixed – Occasional timeout exceptions when attaching nested batch continuations.
2.2.0
- Added – Separate target for .NET Standard 2.0 to reduce the number of dependencies.
- Added –
ContinueJobWithandContinueBatchWithmethods to replaceAwaitXXXones and match Hangfire 1.7. - Fixed – Avoid constant exception in some corner cases related to batch and job continuations.
2.1.2
- Fixed – Leaks in the
Settable when cancelling a batch that has continuations for its jobs. - Fixed – Continuation stuck in a non-initialized state, when parent batch of antecedent item is canceled.
2.1.1
- Fixed – Possible race condition in the
UseBatchesmethod that may lead to the 'Batches are not initialized' exception.
2.1.0
- Added – Full support for job and batch continuations in nested batches.
- Fixed – Continuations now work properly, when antecedent job/batch and continuation have the same batch.
2.0.1
- Fixed – Background job or batch may appear in different sets at the same time, preventing a batch from completion.
2.0.0
- Added – .NET Core support via the
netstandard1.3target. - Added – Ability to change batch expiration time using the
UseBatchesmethod. - Added – Support for nested batches, whose completion is required for parent ones.
- Added – Ability to add a batch continuation for job and job continuation for batch.
- Added – Possibility to attach jobs and batches to an already existing batch.
- Added – Support for lazy cancellation of a batch, without iterating through all the jobs.
1.4.10
- Fixed – Throw an exception, when can't change the state of a continuation.
- Fixed – Fix race condition that leads to forever waiting batch continuations.
1.4.9
- Fixed – CreatedAt timestamps for statese now written just before serializing.
- Fixed – Regression in 1.4.8, final state is now shown correctly in dashboard.
1.4.8
- Fixed – Batches were hanging indefinitely in a started state, when using continuations for finished jobs.
- Fixed – Batches are always created in a correct state, even if its jobs were already finished.
- Fixed – "continuation" set key now correctly expiring, when parent batch already finished.
- Fixed – Don't serialize immutable properties of a batch state.
- Fixed – Add more descriptive messages for continuation state change reasons.
- Fixed – Do not expire empty "pending" and "processing" sets on final state transitions.
1.4.6
- Changed – Remove redundant distributed lock acquisition, when executing continuations.
- Fixed – Increase batch lock timeouts when adding a batch continuation.
- Fixed – Batches are now controlling expiration time of their background jobs.
- Fixed – Increase batch filter's order value to disallow custom job filters to override job expiration time.
1.4.4
- Fixed – Background jobs of a batch continuation may expire before the continuation fires.
1.4.3
- Fixed – "Could not find type Hangfire.Batches.BatchAwaitingState" exception (full fix).
1.4.1
- Fixed – "Could not find type Hangfire.Batches.BatchAwaitingState" exception (fixed partly).
1.4.0
- Added – Ability to pass custom IJobFilterProvider for batched jobs.
- Changed – Hangfire.Pro now requires Hangfire.Core 1.5.0.
- Changed – Throw an exception when Configuration.UseBatches method wasn't called.
- Changed – Several internal classed made internal, they were public by mistake.
- Changed – Removed unnecessary distributed lock acquiring.
- Fixed – BatchJobSupportAttribute is now apply state filter to prevent races related to filter order.
1.3.2
- Fixed – Distributed lock TimeoutException with batches when using SQL Server.
1.3.1
- Changed – Optimized
BatchJobSupportattribute to use less commands in a transaction. - Fixed – Race condition when background jobs disappear from batch continuations.
- Fixed – Parent batch URL for a continuation in the Batch Details page now works correctly.
.NET Framework 4.5
- Hangfire.Core (>= 1.5.0)
.NET Standard 1.3
- NETStandard.Library (>= 1.6.0)
- Hangfire.Core (>= 1.6.0)
.NET Standard 2.0
- Hangfire.Core (>= 1.6.0)
| Version | Downloads | Last updated |
|---|---|---|
| 3.0.5 | 7 | 4/23/2026 |
| 3.0.4 | 8 | 2/19/2026 |
| 3.0.3 | 3 | 2/19/2026 |
| 3.0.2 | 3 | 2/19/2026 |
| 3.0.1 | 3 | 2/19/2026 |
| 3.0.0 | 4 | 2/19/2026 |
| 3.0.0-beta2 | 3 | 2/19/2026 |
| 3.0.0-beta1 | 4 | 2/19/2026 |
| 2.3.5 | 3 | 2/19/2026 |
| 2.3.4 | 4 | 2/19/2026 |
| 2.3.3 | 4 | 2/19/2026 |
| 2.3.2 | 3 | 2/19/2026 |
| 2.3.1 | 3 | 2/19/2026 |
| 2.3.0 | 3 | 2/19/2026 |
| 2.3.0-beta2 | 3 | 2/19/2026 |
| 2.3.0-beta1 | 3 | 2/19/2026 |
| 2.2.4 | 4 | 2/19/2026 |
| 2.2.3 | 3 | 2/19/2026 |
| 2.2.2 | 4 | 2/19/2026 |
| 2.2.1 | 4 | 2/17/2026 |
| 2.2.0 | 4 | 2/19/2026 |
| 2.1.2 | 4 | 2/19/2026 |
| 2.1.1 | 4 | 2/19/2026 |
| 2.1.0 | 4 | 2/19/2026 |
| 2.0.1 | 5 | 2/19/2026 |
| 2.0.0 | 5 | 2/19/2026 |
| 2.0.0-beta2 | 5 | 2/19/2026 |
| 2.0.0-beta1 | 6 | 2/19/2026 |
| 1.5.0-alpha2 | 6 | 2/19/2026 |
| 1.5.0-alpha1 | 3 | 2/19/2026 |
| 1.4.10 | 5 | 2/19/2026 |
| 1.4.9 | 3 | 2/19/2026 |
| 1.4.8 | 3 | 2/19/2026 |
| 1.4.7 | 3 | 2/19/2026 |
| 1.4.6 | 4 | 2/19/2026 |
| 1.4.5 | 3 | 2/19/2026 |
| 1.4.4 | 3 | 2/19/2026 |
| 1.4.3 | 3 | 2/19/2026 |
| 1.4.2 | 4 | 2/19/2026 |
| 1.4.1 | 3 | 2/19/2026 |
| 1.4.0 | 4 | 2/19/2026 |
| 1.4.0-beta3 | 3 | 2/19/2026 |
| 1.4.0-beta2 | 3 | 2/19/2026 |
| 1.4.0-beta1 | 3 | 2/19/2026 |
| 1.3.2 | 3 | 2/19/2026 |
| 1.3.1 | 3 | 2/19/2026 |
| 1.3.0 | 3 | 2/19/2026 |
| 1.2.2 | 3 | 2/19/2026 |
| 1.2.1 | 3 | 2/19/2026 |
| 1.2.0 | 3 | 2/19/2026 |