Skip to content

Releases: HangfireIO/Hangfire

1.7.21

12 Apr 14:07
Compare
Choose a tag to compare

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

19 Mar 14:46
Compare
Choose a tag to compare
1.8.0-beta1 Pre-release
Pre-release

Release Notes

Hangfire.Core

  • Added – Display deleted jobs in the Realtime and History graphs when supported by storage.
  • AddedDeletedState now have the persisted Exception property.
  • AddedJobContinuationOptions.OnlyOnDeletedState to create continuations after a failure.
  • AddedException job parameter is passed to continuation when UseResultsInContinuations method is used.
  • AddedFromExceptionAttribute to deal with an antecedent exception in a background job continuation.
  • Added – Allow to filter exception types in AutomaticRetryAttribute by using the new OnlyOn property.
  • AddedIBackgroundProcess.UseBackgroundPool now allows to pass thread configuration logic.
  • AddedIGlobalConfiguration.UseJobDetailsRenderer method for custom renderers.
  • AddedBackgroundJobServerOptions.WorkerThreadConfigurationAction option
  • Added – Allow to pass custom data to ApplyStateContext and ElectStateContext instances.
  • Added – Preserve custom data dictionary between the entire filter chain.
  • Added – Fetch "Retries" metric with other statistics when supported by storage
  • AddedIGlobalConfiguration.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 return JobStorageConnection for replicas.
  • Added – Virtual JobStorage.HasFeature method for querying optional features.
  • Added – Optional GetSetCount and GetUtcDateTime methods for the JobStorageConnection class.
  • Added – Optional AcquireDistributedLock and RemoveFromQueue methods for the JobStorageTransaction class.
  • Added – Support for transactional acknowledge using new storage method for better handling some data loss scenarios.
  • AddedFactory, StateMachine and Performer 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 for BackgroundJob and JobData 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 of SucceededState when its invocation was canceled by a filter.
  • ChangedFromParameterAttribute-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
  • ChangedServerHeartbeatProcess now uses ThreadPriority.AboveNormal to prioritize heartbeats.

Hangfire.SqlServer

  • Added – Recommended Schema 8 migration with fixed JobQueue.Id column to use bigint type.
  • AddedSqlServerStorageOptions.PreferMicrosoftDataSqlClient option to use the corresponding package.
  • AddedSqlServerStorage.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

  • AddedIApplicationBuilder.UseHangfireServer that accepts custom factory for IBackgroundProcessingServer.

1.7.20

19 Mar 14:08
Compare
Choose a tag to compare

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

  • FixedSchema 6 migration now fixes problem that prevents 2,147,483,648th job from being enqueued.

Hangfire.NetCore and Hangfire.AspNetCore

  • Added – An overload for AddHangfireServer utilizing IServiceProvider (PR #1800 by @penenkel).
  • AddedIBackgroundJobClientFactory and IRecurringJobManagerFactory interfaces to fix the following bug.
  • Fixed – Dashboard UI is unable to 'requeue' job on other then default JobStorage.

1.7.19

15 Jan 12:30
Compare
Choose a tag to compare

Release Notes

Hangfire.Core

  • Added – German (Deutsch) Dashboard UI localization (PR #1772 by @d-oit).
  • AddedIGlobalConfiguration.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 to NullReferenceException (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

20 Nov 16:32
Compare
Choose a tag to compare

Release Notes

Hangfire.SqlServer

  • AddedSqlServerStorageOptions.DeleteExpiredBatchSize option to remove more expired records in a single pass.
  • Fixed – Don't throw from SqlServerStorage.ToString method when using custom factory or existing connection.

1.7.17

20 Oct 15:02
Compare
Choose a tag to compare

Release Notes

Hangfire.SqlServer

  • Fixed – SqlException "Incorrect syntax near 'throw'" after upgrading to 1.7.15 when using SQL Server 2008 or 2008R2.

1.7.16

14 Oct 12:49
Compare
Choose a tag to compare

Release Notes

Hangfire.SqlServer

  • Fixed – Blocking problems when using multiple storages with the same queue names in the same process (appeared in 1.7.9).

1.7.15

08 Oct 08:42
Compare
Choose a tag to compare

Release Notes

Hangfire.Core

  • AddedIGlobalConfiguration.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

24 Sep 12:07
Compare
Choose a tag to compare

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

15 Sep 13:24
Compare
Choose a tag to compare

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

  • AddedUseIgnoreDupKeyOption 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 to xlock in merge 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.