Skip to content

Releases: HangfireIO/Hangfire

1.8.20

16 May 10:52
v1.8.20
4456419
Compare
Choose a tag to compare

Release Notes

Hangfire.Core

  • Fixed – Glyphicons from Bootstrap are not displaying after upgrading to version 1.8.19.

1.8.19

16 May 03:36
v1.8.19
8953c96
Compare
Choose a tag to compare

Release Notes

Hangfire.Core

  • Changed – Update Bootstrap to the custom version of 3.4.2 to avoid false alerts on unused features.
  • Fixed – Typos in Portuguese translation (by @VianaArthur).
  • Fixed – Unnecessary recurring job update transaction when nothing is changed after an error.

Hangfire.SqlServer

  • Fixed – Sliding invisibility timeout isn't prolonged in lightweight servers, causing jobs to be restarted.

1.8.18

17 Feb 03:03
v1.8.18
0d3d895
Compare
Choose a tag to compare

Release Notes

Hangfire.Core

  • AddedDashboardOptions.ServerPossiblyAbortedThreshold to configure a custom threshold for "possibly aborted" warnings.
  • Fixed – Expired jobs are still shown on the "Retries" page in some cases.
  • Fixed – Issues with CultureInfo-related differences after upgrading to 1.8.15–1.8.17.
  • Fixed – Don't leak AsyncLocal values from synchronous background job methods.
  • Fixed – Don't throw an exception when passing the Job.Args property to the Job class' constructor.
  • Project – Make the lock file usable for both .NET 8.0 and .NET 9.0 builds.
  • Project – Make code generation for cshtml files working on newer platforms.

Hangfire.AspNetCore

  • Fixed – Swallow possible ObjectDisposedException in the StopAsync method.
  • Fixed – Avoid NullReferenceException when LocalIpAddress or RemoteIpAddress is null.

1.8.17

03 Dec 11:19
v1.8.17
65a6e61
Compare
Choose a tag to compare

Release Notes

Hangfire.SqlServer

  • FixedInvalidCastException while fetching a job with older schemas regression from 1.8.16.

1.8.16

27 Nov 04:02
v1.8.16
0e9ea33
Compare
Choose a tag to compare

Release Notes

Hangfire.Core

  • Changed – Include fewer stack frames in exceptions come from IServerFilter implementations.
  • Changed – Don't include file information in the ExceptionDetails property of a FailedState instance.
  • Changed – Switch back to CancellationEvent usage instead of CancellationToken.WaitHandle.
  • Fixed – Don't commit external transaction in the BackgroundJobStateChanger implementation.
  • Fixed – Use safe default serializer settings for Newtonsoft.Json 12.X and below.
  • Project – Fix builds for the net451 platform when using .NET 9.0.
  • Project – Significantly reduce execution time of unit tests in the RecurringJobSchedulerFacts class.
  • Project – Bump Microsoft.CodeAnalysis.NetAnalyzers package to version 9.0.0.

Hangfire.SqlServer

  • Changed – Use vanilla ADO.NET when fetching a job in the SqlServerJobQueue implementation.
  • Changed – Decrease the LockTimeout time when calling the sp_getapplock procedure to 1 second for less blocking.
  • Fixed – SqlException: Must declare the scalar variable "key" in delayed and recurring job schedulers.
  • Project – Disable parallel tests execution when building under .NET 9.0.
  • Project – Run tests over the latest Microsoft.Data.SqlClient package and the net6.0 platform.
  • Project – Reduce execution time of integration tests.
  • Project – Disable PoolBlockingPeriod setting on AppVeyor to handle transient test failures.

1.8.15

23 Oct 06:18
v1.8.15
b841265
Compare
Choose a tag to compare

Release Notes

Hangfire.Core

  • Added – New AutomaticRetryAttribute.ExceptOn property to skip retries for specific exceptions.
  • Changed – Refactor filters pipeline to use less LINQ magic and fewer allocations.
  • Changed – Use GetCultureInfo instead of creating an instance in the CaptureCultureAttribute filter.
  • Changed – Cache some immutable data to avoid extra allocations.
  • Fixed – Improve loopback address detection (by @meziantou).
  • Fixed – Reformulate misleading error messages regarding retry timings (by @RGFuaWVs).
  • Fixed – Problem with missing localizations in the previous version.
  • Fixed – Don't hide exception details on Failed Jobs page when the exception message is empty.
  • Fixed – Problems with the first restore when using the build.bat command.
  • Fixed – Better display of canceled recurring jobs in dashboard.
  • Fixed – Less overall allocations with using static delegates and struct-based iterators.
  • Fixed – Improve precision of some diagnostic messages in the wait protection logic.
  • Fixed – Make all private and internal classes sealed to improve code consistency.
  • Fixed – Less overall pressure on garbage collector.

Hangfire.SqlServer

  • Changed – Use query template caching based on schema name to avoid excessive string allocations.
  • Changed – Use static callbacks almost anywhere to avoid unnecessary delegate allocations.
  • Changed – Use QuerySingle* or ReadSingle* where possible to avoid allocating lists.
  • Changed – Unify DbCommand and DbParameter creation logic to improve code consistency.

1.8.13 & 1.8.14

11 Jun 06:53
v1.8.14
51647c2
Compare
Choose a tag to compare

Release Notes

Hangfire.Core

  • Changed – Partial cache for serialization and deserialization in InvocationData to produce less strings.
  • Changed – Add caching for default type serializer and resolver.
  • Changed – Don't let JobFilter-related logic to show up in profilers.
  • Changed – Modify IProfiler to be less allocatey for diagnostic purposes that almost never run.
  • Changed – Prefer using CancellationToken.WaitHandle again, since early .NET Core days are gone.
  • Changed – Fewer allocations when working with IStateHandler collections in a state machine.
  • Fixed – Redirect the "System.Private.Xml.Linq" assembly to the "System.Xml.Linq" one for better interoperability.
  • Fixed – Don't throw KeyNotFoundException when recurring job is malformed.
  • Fixed – Proper relative path calculation in UrlHelper.To for OWIN-based Dashboard UI (by @LordJZ).
  • Fixed – Typo in the Turkish localization file (by @ismkdc).
  • Project – Switch to a modern PowerShell 7+ to speed up SignPath installation on AppVeyor.

Hangfire.SqlServer

  • Changed – Limit polling queries when queues are empty with a semaphore for all configurations.
  • Changed – Use per-queue signaling for same-process workers, instead of having a global signal.
  • Fixed – Don't silently truncate queue names, throw an exception instead.
  • Project – Decrease delays in SQL Server-related tests to complete them faster.

1.7.37

08 Apr 06:44
v1.7.37
ffba2e8
Compare
Choose a tag to compare

Release Notes

  • Fixed – Recurring job is scheduled to the past after recovering from error with AddOrUpdate (backported).
  • FixedAddOrUpdate triggers execution of a recurring job, even if its next execution is in the future (backported).
  • Fixed – Send heartbeats until full background processing server shutdown (backported).

1.8.12

03 Apr 11:34
v1.8.12
ead95d1
Compare
Choose a tag to compare

Release Notes

Hangfire.Core

  • AddedMaxDegreeOfParallelismForSchedulers experimental server option if supported by storage.
  • Added – Experimental support for parallel execution of the delayed job scheduler.
  • Added – Experimental support for parallel execution of the recurring job scheduler.
  • Fixed – Recurring job is scheduled to the past after recovering from error with AddOrUpdate.
  • FixedAddOrUpdate triggers execution of a recurring job, even if its next execution is in the future.
  • Fixed – Two very minor errors in the Swedish localization file (by @Uglack).

Hangfire.SqlServer

  • Fixed – Populate InvocationData and LoadException properties in JobDetails method results.

1.8.11

23 Feb 12:41
v1.8.11
11b9b2d
Compare
Choose a tag to compare

Release Notes

Hangfire.Core

  • Changed – Add icons and fix metadata for NuGet packages.
  • Changed – Bump ILRepack to version 2.0.27 to avoid problems with internalizing.
  • Fixed – "Type exists in both Cronos and Hangfire.Core" exception.