Releases: HangfireIO/Hangfire
Releases · HangfireIO/Hangfire
1.7.21
Release Notes
Hangfire.Core
- Changed – Upgrade jQuery from 2.1.4 to 2.2.4 in Dashboard UI.
- Changed – Upgrade Bootstrap from 3.3.5 to 3.3.7 in Dashboard UI.
- Changed – Upgrade Moment.js to 2.29.1 in Dashboard UI.
- Project – Update RazorGenerator.MsBuild package from 2.4.7 to version 2.5.0.
- Project – Update 7-Zip.CommandLine package from 9.20.0 to version 18.1.0.
Hangfire.SqlServer
- Fixed – Ensure connection is disposed immediately when exception is thrown during lock release.
- Fixed – "A network-related or instance-specific error" when using
DisableConcurrentExecution
for long-running jobs.
1.8.0-beta1
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
.
1.7.20
Release Notes
Please see https://www.hangfire.io/blog/2021/03/19/hangfire-1.7.20.html for details, manual changes required to fix potential problems when using Hangfire.SqlServer as a job storage for those who already migrated to Schema 6 and 7. This problem will be also fixed in a new migration in Hangfire 1.8.0.
Hangfire.Core
- Added – Norwegian translations (PR #1794 by @khellang).
- Fixed – Correction on brazilian portuguese translations (PR #1828 by @Prestini).
- Fixed – Changing time zone of recurring job without changing cron expression causes immediate execution.
Hangfire.SqlServer
- Fixed –
Schema 6
migration now fixes problem that prevents 2,147,483,648th job from being enqueued.
Hangfire.NetCore and Hangfire.AspNetCore
1.7.19
Release Notes
Hangfire.Core
- Added – German (Deutsch) Dashboard UI localization (PR #1772 by @d-oit).
- Added –
IGlobalConfiguration.UseMaxArgumentSizeToRender
method to avoid "VALUE TOO BIG" messages. - Changed – Remove "readonly" keyword from the
JobMethodCallRenderer.MaxArgumentToRenderSize
field to support .NET 5.0. - Fixed – Race condition in
AspNetShutdownDetector
leads toNullReferenceException
(PR #1786 by @jr01). - Fixed – Avoid ArgumentException: Item has already been added when preserving an original exception.
- Project – Add repository link to nuspec files (PR #1749 by @jeremyhayes).
Hangfire.SqlServer
- Fixed – Return
null
instead of throwing FormatException when job id can't be parsed. - Project – Run the entire Hangfire.SqlServer test suite against the new Microsoft.Data.SqlClient package.
1.7.18
1.7.17
1.7.16
1.7.15
Release Notes
Hangfire.Core
- Added –
IGlobalConfiguration.UseMaxLinesInExceptionDetails
option to cap the size of stack traces. - Changed – Only the first 100 lines of a stack trace will be preserved now by default in Failed state.
- Fixed – Don't let exceptions with huge stack traces take up too much storage space.
Hangfire.SqlServer
- Fixed – Avoid deadlocks when using the
SetJobParameter
method without introducing issues for older schemas. - Fixed – Remove duplicate sorting in the
SqlServerMonitoringApi.GetJobs
method which is used by a lot of queries.
1.7.14
Release Notes
Hangfire.SqlServer
- Changed – Use better queries for jobs with 3 and 4 parameters, this is a common case.
- Fixed – Duplicate entries in the
JobParameters
table after upgrading to version 1.7.13. - Fixed – Extensive retries on a method that has a retry attribute after upgrading to 1.7.13.
- Fixed – "ArgumentException: An item with the same key has already been added. Key: RetryCount" in
SqlServerMonitoringApi
.
1.7.13
Release Notes
Hangfire.Core
- Added – Catalan translation for Dashboard UI (based on Spanish translation, by @agausachs).
- Added – Support for configuring recommended serializer settings via callback (by @Yaevh).
- Fixed – Use correct wording for job parameters in Job Details page, add it to resources.
- Fixed – Don't push negative points to the realtime graph in dashboard.
- Fixed – Don't depend on history collection type returned from Storage API.
- Project – Execute tests one by one to ensure exit code isn't being lost (by @willchis).
Hangfire.SqlServer
- Added –
UseIgnoreDupKeyOption
for SQL Server storage configuration (changes to [Set] and [Hash] tables required). - Fixed – Don't truncate too long keys silently, throw exceptions instead.
- Fixed – Add missing null checks for methods in the
SqlServerWriteOnlyTransaction
class. - Fixed – Change
holdlock
hint toxlock
inmerge
statements in transaction to prevent deadlocks. - Fixed – Don't rethrow "Lock request time out period exceeded" exceptions from expiration manager.
- Fixed – Increase [Server].[Id] column's length to 200 for new installations.