Hangfire.SqlServer 1.8.22

SQL Server 2008+ (including Express), SQL Server LocalDB and SQL Azure storage support for Hangfire, a background job framework for .NET applications.

No packages depend on Hangfire.SqlServer.

Release notes are available in our blog https://www.hangfire.io/blog/ Please see https://docs.hangfire.io/en/latest/upgrade-guides/upgrading-to-hangfire-1.8.html to learn how to upgrade.

1.8.22 • Fixed – InvalidCastException when creating a background job with Schema 5 (regression from 1.8.15). • Project – Replace the netcoreapp3.1 target with the net8.0 one in tests.

1.8.21 • Added – SqlServerStorageOptions.DisableTransactionScope option for .NET Framework targets. • Project – Port Monitoring API tests from the Hangfire.InMemory storage for better coverage. • Project – Run tests for different targets in parallel with different databases.

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

1.8.17 • Fixed – InvalidCastException while fetching a job with older schemas regression from 1.8.16.

1.8.16 • Changed – Use vanilla ADO.NET when fetching a job in the SqlServerJobQueue implementation. • Fixed – SqlException: Must declare the scalar variable "@key" in delayed and recurring job schedulers. • Fixed – Decrease the LockTimeout time when calling the sp_getapplock procedure to 1 second for less blocking. • 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 • 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 and 1.8.14 • 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.8.12 • Fixed – Populate InvocationData and LoadException properties in JobDetails method results.

1.8.10 • Changed – Bump Dapper for the netstandard2.0 platform to version 2.1.28. • Changed – Bump Dapper for net451 and netstandard1.3 platforms to version 1.60.6. • Project – Enable NuGet package and DLL signing with a company certificate. • Project – Require NuGet package signature validation on restore for dependencies. • Project – Add HangfireIO as a package owner.

1.8.9 • Project – Enable full source link support with embedded symbols and repository-based sources. • Project – Enable repeatable package restore using a lock file. • Project – Run unit tests against the net6.0 platform.

1.8.7 • Changed – Avoid throwing an exception when a connection string has duplicate property names. • Project – Disable tests for netcoreapp1.0 and netcoreapp2.1 targets since they aren't supported in AppVeyor. • Project – Add a net6.0 target for unit tests instead of the removed ones. • Project – Modernise projects and build environments to use the newest features.

1.8.6 • Fixed – Exception in Dashboard UI when schema version is not present in a database. • Fixed – DbCommand resource leak when releasing a lock detected by static analysis. • Fixed – Don't add SQL Server-related metrics multiple times in Dashboard UI.

1.8.5 • Fixed – "Query processor could not produce a query plan" when removing expired counters in Schema 5.

1.8.2 • Fixed – InvalidOperationException with new dashboard metrics when a database has multiple data/log files.

1.8.1 • Fixed – Blocked workers regression since 1.7.33 when using multiple servers inside a process. • Fixed – Target schema version is less than the current schema version error. • Fixed – Implement database metrics without the need for additional permissions. • Fixed – Use the forceseek table hint whenever possible to avoid performance drops.

1.8.0 • Breaking – Prioritise Microsoft.Data.SqlClient package over System.Data.SqlClient one. • Breaking – Dropped the NET45 platform target in favor of the NET451 target to support Visual Studio 2022. • Added – Schema 8 migration with fixed JobQueue.Id column to use the bigint type. • Added – Schema 9 migration that creates an index for the State.CreatedAt column. • Added – Automatic client package detection based on available types, preferring System.Data.SqlClient (by @0xced). • Added – SqlServerStorageOptions.DbProviderFactory option to use a custom provider factory. • Added – Clean up of old state entries of a non-finished job when InactiveStateExpirationTimeout is set. • Added – TryAutoDetectSchemaDependentOptions option to automatically enable options based on the schema. • Added – Optional experimental transactional acknowledge for SQL Server (UseTransactionalAcknowledge option). • Added – Implement the Connection.GetUtcDateTime feature to make work the new changes in schedulers. • Added – SqlServerStorage.SchemaVersion metric for Dashboard UI. • Added – DefaultQueueProvider option to specify a custom default queue provider. • Changed – Remove dependency on System.Data.SqlClient for Hangfire.SqlServer (by @0xced). • Changed – Set default value for the QueuePollInterval option to TimeSpan.Zero. • Changed – Polling delay when QueuePollInterval is set to zero now defaults to 200 ms. • Changed – Sliding invisibility timeout-based fetching method is now used by default with a 5-minute timeout. • Changed – Use command batching by default with a 5-minute maximum timeout. • Changed – Enable the UseRecommendedIsolationLevel option by default. • Changed – GetJobData now populates the JobData.ParametersSnapshot property to avoid additional roundtrips. • Changed – Display scheduled and processing jobs in ascending order in Dashboard UI. • Changed – Implement the Transaction.AcquireDistributedLock feature. • Changed – Implement the GetSetCount.Limited feature. • Changed – Implement the GetSetContains feature. • Changed – Bump the internal version of Dapper to 2.0.123. • Changed – Enable common metrics for SQL Server storage to be shown by default. • Changed – Enable the Monitoring.AwaitingJobs feature for SQL storage. • Deprecated – UsePageLocksOnDequeue option is now obsolete and doesn't affect anything.

.NET Framework 4.5.1

.NET Standard 1.3

.NET Standard 2.0

Version Downloads Last updated
1.8.22 1 2025-11-24
1.8.21 0 2025-08-12
1.8.20 0 2025-05-16
1.8.19 0 2025-05-16
1.8.18 0 2025-02-17
1.8.17 0 2024-12-03
1.8.16 0 2024-11-27
1.8.15 0 2024-10-23
1.8.14 0 2024-06-11
1.8.12 0 2024-04-03
1.8.11 0 2024-02-23
1.8.10 0 2024-02-12
1.8.9 0 2024-01-24
1.8.7 0 2023-12-29
1.8.6 0 2023-10-18
1.8.5 0 2023-08-11
1.8.4 0 2023-07-27
1.8.3 0 2023-06-27
1.8.2 0 2023-05-26
1.8.1 0 2023-05-18
1.8.0 0 2023-04-28
1.7.37 0 2024-04-08
1.7.36 0 2023-06-29
1.7.35 0 2023-05-18
1.7.34 0 2023-03-30
1.7.33 0 2023-01-31
1.7.32 0 2022-11-21
1.7.31 0 2022-08-19
1.7.30 0 2022-06-10
1.7.29 0 2022-05-23
1.7.28 0 2021-12-18
1.7.27 0 2021-11-03
1.7.26 0 2021-10-27
1.7.25 0 2021-08-30
1.7.24 0 2021-06-28
1.7.23 0 2021-05-28
1.7.22 0 2021-04-13
1.7.21 0 2021-04-12
1.7.20 0 2021-03-19
1.7.19 0 2021-01-15
1.7.18 0 2020-11-20
1.7.17 0 2020-10-20
1.7.16 0 2020-10-14
1.7.15 0 2020-10-08
1.7.14 0 2020-09-24
1.7.13 0 2020-09-15
1.7.12 0 2020-07-24
1.7.11 0 2020-04-15
1.7.10 0 2020-04-02
1.7.9 0 2020-01-20
1.7.8 0 2019-12-05
1.7.7 0 2019-10-22
1.7.6 0 2019-08-05
1.7.5 0 2019-07-18
1.7.4 0 2019-06-28
1.7.3 0 2019-05-23
1.7.2 0 2019-04-29
1.7.1 0 2019-04-16
1.7.0 0 2019-03-29
1.6.30 0 2021-04-29
1.6.29 0 2020-04-15
1.6.28 0 2020-01-14
1.6.27 0 2019-06-27
1.6.26 0 2019-05-23
1.6.25 0 2019-04-09
1.6.24 0 2019-03-27
1.6.23 0 2019-03-13
1.6.22 0 2019-01-25
1.6.21 0 2018-11-01
1.6.20 0 2018-07-31
1.6.19 0 2018-04-06
1.6.18 0 2018-04-05
1.6.17 0 2017-09-19
1.6.16 0 2017-09-02
1.6.15 0 2017-08-08
1.6.14 0 2017-06-16
1.6.13 0 2017-06-07
1.6.12 0 2017-03-22
1.6.11 0 2017-03-14
1.6.10 0 2017-03-13
1.6.9 0 2017-03-02
1.6.8 0 2016-12-21
1.6.7 0 2016-11-25
1.6.6 0 2016-10-13
1.6.5 0 2016-09-24
1.6.4 0 2016-08-30
1.6.3 0 2016-08-19
1.6.2 0 2016-08-05
1.6.1 0 2016-07-27
1.6.0 0 2016-07-15
1.5.9 0 2016-07-11
1.5.8 0 2016-06-17
1.5.7 0 2016-05-30
1.5.6 0 2016-04-22
1.5.5 0 2016-04-14
1.5.4 0 2016-03-22
1.5.3 0 2015-11-06
1.5.2 0 2015-10-15
1.5.1 0 2015-10-14
1.5.0 0 2015-10-01
1.4.7 0 2015-10-01
1.4.6 0 2015-08-29
1.4.5 0 2015-07-24
1.4.4 0 2015-07-23
1.4.3 0 2015-05-27
1.4.2 0 2015-05-06
1.4.1 0 2015-04-14
1.3.4 0 2015-02-04
1.3.3 0 2015-01-28
1.3.2 0 2015-01-27
1.3.1 0 2015-01-13
1.3.0 0 2014-12-10
1.2.2 0 2014-11-24
1.2.1 0 2014-11-22
1.2.0 0 2014-11-17
1.1.1 0 2014-09-05
1.1.0 0 2014-09-03
1.0.2 0 2014-07-01
1.0.1 0 2014-06-30
1.0.0 0 2014-06-30
0.9.1 0 2014-06-12
0.9.0 0 2014-06-07
0.8.3 0 2014-05-23
0.8.2 0 2014-05-21
0.8.1 0 2014-05-17
0.8.0 0 2014-05-02
0.7.5 0 2014-04-10
0.7.4 0 2014-04-07
0.7.3 0 2014-04-04
0.7.1 0 2014-04-01
0.7.0 0 2014-03-22