Hangfire 1.6.30
Prefix ReservedSee the version list below for details.
dotnet add package Hangfire --version 1.6.30
NuGet\Install-Package Hangfire -Version 1.6.30
<PackageReference Include="Hangfire" Version="1.6.30" />
paket add Hangfire --version 1.6.30
#r "nuget: Hangfire, 1.6.30"
// Install Hangfire as a Cake Addin #addin nuget:?package=Hangfire&version=1.6.30 // Install Hangfire as a Cake Tool #tool nuget:?package=Hangfire&version=1.6.30
An easy and reliable way to perform fire-and-forget, delayed and recurring long-running, short-running, CPU or I/O intensive tasks inside ASP.NET application. No Windows Service / Task Scheduler required. Even ASP.NET is not required.
Backed by Redis, SQL Server, SQL Azure or MSMQ. This is a .NET alternative to Sidekiq, Resque and Celery.
https://www.hangfire.io/
Learn more about Target Frameworks and .NET Standard.
-
.NETFramework 4.5
- Hangfire.Core (= 1.6.30)
- Hangfire.SqlServer (= 1.6.30)
- Microsoft.Owin.Host.SystemWeb (>= 3.0.0)
-
.NETStandard 1.3
- Hangfire.AspNetCore (= 1.6.30)
- Hangfire.Core (= 1.6.30)
- Hangfire.SqlServer (= 1.6.30)
NuGet packages (201)
Showing the top 5 NuGet packages that depend on Hangfire:
Package | Downloads |
---|---|
VirtoCommerce.Platform.Hangfire
Virto Commerce is a flexible B2B ecommerce solution that offers powerful tools for enterprise business users. https://virtocommerce.com |
|
N3O.Umbraco.Scheduler
TODO |
|
ImmediaC.SimpleCms
ASP.NET Core based CMS |
|
ComplianceAuditSystems.AcabimCommonServices
Package Description |
|
Bnsights.Mvc
Bnsights.Mvc is RAD Helper DLL for MVC Projects in Bnsights DMCC. Also known as Bnsights Business Solutions Framework (BBSF). |
GitHub repositories (26)
Showing the top 5 popular GitHub repositories that depend on Hangfire:
Repository | Stars |
---|---|
elsa-workflows/elsa-core
A .NET workflows library
|
|
Kareadita/Kavita
Kavita is a fast, feature rich, cross platform reading server. Built with the goal of being a full solution for all your reading needs. Setup your own server and share your reading collection with your friends and family.
|
|
fullstackhero/dotnet-starter-kit
Production Grade Cloud-Ready .NET 8 Starter Kit (Web API + Blazor Client) with Multitenancy Support, and Clean/Modular Architecture that saves roughly 200+ Development Hours! All Batteries Included.
|
|
fullstackhero/blazor-starter-kit
Clean Architecture Template for Blazor WebAssembly Built with MudBlazor Components.
|
|
dotnetcore/osharp
OSharp是一个基于.Net6.0的快速开发框架,框架对 AspNetCore 的配置、依赖注入、日志、缓存、实体框架、Mvc(WebApi)、身份认证、功能权限、数据权限等模块进行更高一级的自动化封装,并规范了一套业务实现的代码结构与操作流程,使 .Net 框架更易于应用到实际项目开发中。
|
Version | Downloads | Last updated |
---|---|---|
1.8.15 | 123,458 | 10/23/2024 |
1.8.14 | 1,649,475 | 6/11/2024 |
1.8.12 | 1,271,150 | 4/3/2024 |
1.8.11 | 681,218 | 2/23/2024 |
1.8.10 | 239,140 | 2/12/2024 |
1.8.9 | 438,122 | 1/24/2024 |
1.8.7 | 446,590 | 12/29/2023 |
1.8.6 | 1,313,314 | 10/18/2023 |
1.8.5 | 1,174,891 | 8/11/2023 |
1.8.4 | 248,136 | 7/27/2023 |
1.8.3 | 576,127 | 6/27/2023 |
1.8.2 | 604,741 | 5/26/2023 |
1.8.1 | 172,146 | 5/18/2023 |
1.8.0 | 404,807 | 4/28/2023 |
1.7.37 | 56,816 | 4/8/2024 |
1.7.36 | 165,747 | 6/29/2023 |
1.7.35 | 28,446 | 5/18/2023 |
1.7.34 | 622,114 | 3/30/2023 |
1.7.33 | 1,262,636 | 1/31/2023 |
1.7.32 | 1,384,551 | 11/21/2022 |
1.7.31 | 2,278,216 | 8/19/2022 |
1.7.30 | 1,562,320 | 6/10/2022 |
1.7.29 | 344,826 | 5/23/2022 |
1.7.28 | 3,568,092 | 12/18/2021 |
1.7.27 | 1,043,812 | 11/3/2021 |
1.7.26 | 153,354 | 10/27/2021 |
1.7.25 | 1,214,905 | 8/30/2021 |
1.7.24 | 1,250,638 | 6/28/2021 |
1.7.23 | 700,046 | 5/28/2021 |
1.7.22 | 883,394 | 4/13/2021 |
1.7.21 | 15,222 | 4/12/2021 |
1.7.20 | 409,241 | 3/19/2021 |
1.7.19 | 1,444,200 | 1/15/2021 |
1.7.18 | 1,107,971 | 11/20/2020 |
1.7.17 | 583,820 | 10/20/2020 |
1.7.16 | 130,020 | 10/14/2020 |
1.7.15 | 77,819 | 10/8/2020 |
1.7.14 | 577,112 | 9/24/2020 |
1.7.13 | 149,485 | 9/15/2020 |
1.7.12 | 843,481 | 7/24/2020 |
1.7.11 | 2,482,577 | 4/15/2020 |
1.7.10 | 291,482 | 4/2/2020 |
1.7.9 | 2,282,316 | 1/20/2020 |
1.7.8 | 755,595 | 12/5/2019 |
1.7.7 | 841,449 | 10/22/2019 |
1.7.6 | 1,513,866 | 8/5/2019 |
1.7.5 | 337,124 | 7/18/2019 |
1.7.4 | 339,083 | 6/28/2019 |
1.7.3 | 660,037 | 5/23/2019 |
1.7.2 | 440,495 | 4/29/2019 |
1.7.1 | 414,677 | 4/16/2019 |
1.7.0 | 359,073 | 3/29/2019 |
1.6.30 | 36,733 | 4/29/2021 |
1.6.29 | 59,148 | 4/15/2020 |
1.6.28 | 79,683 | 1/14/2020 |
1.6.27 | 61,904 | 6/27/2019 |
1.6.26 | 75,789 | 5/23/2019 |
1.6.25 | 22,470 | 4/9/2019 |
1.6.24 | 125,272 | 3/27/2019 |
1.6.23 | 210,313 | 3/13/2019 |
1.6.22 | 668,233 | 1/25/2019 |
1.6.21 | 1,141,649 | 11/1/2018 |
1.6.20 | 1,141,903 | 7/31/2018 |
1.6.19 | 1,292,749 | 4/6/2018 |
1.6.18 | 27,928 | 4/5/2018 |
1.6.17 | 1,587,716 | 9/19/2017 |
1.6.16 | 167,484 | 9/2/2017 |
1.6.15 | 247,860 | 8/8/2017 |
1.6.14 | 317,017 | 6/16/2017 |
1.6.13 | 66,706 | 6/7/2017 |
1.6.12 | 571,131 | 3/22/2017 |
1.6.11 | 42,008 | 3/14/2017 |
1.6.10 | 11,979 | 3/13/2017 |
1.6.9 | 50,683 | 3/2/2017 |
1.6.8 | 377,212 | 12/21/2016 |
1.6.7 | 197,034 | 11/25/2016 |
1.6.6 | 183,700 | 10/13/2016 |
1.6.5 | 102,722 | 9/24/2016 |
1.6.4 | 82,081 | 8/30/2016 |
1.6.3 | 40,997 | 8/19/2016 |
1.6.2 | 51,276 | 8/5/2016 |
1.6.1 | 60,155 | 7/27/2016 |
1.6.0 | 43,186 | 7/15/2016 |
1.5.9 | 153,496 | 7/11/2016 |
1.5.8 | 55,144 | 6/17/2016 |
1.5.7 | 22,957 | 5/30/2016 |
1.5.6 | 62,459 | 4/22/2016 |
1.5.5 | 21,354 | 4/14/2016 |
1.5.4 | 50,038 | 3/22/2016 |
1.5.3 | 308,348 | 11/6/2015 |
1.5.2 | 27,418 | 10/15/2015 |
1.5.1 | 7,037 | 10/14/2015 |
1.5.0 | 55,925 | 10/1/2015 |
1.4.7 | 6,671 | 10/1/2015 |
1.4.6 | 27,629 | 8/29/2015 |
1.4.5 | 36,872 | 7/24/2015 |
1.4.4 | 5,998 | 7/23/2015 |
1.4.3 | 63,648 | 5/27/2015 |
1.4.2 | 14,047 | 5/6/2015 |
1.4.1 | 36,855 | 4/14/2015 |
1.3.4 | 60,479 | 2/4/2015 |
1.3.3 | 9,123 | 1/28/2015 |
1.3.2 | 6,395 | 1/27/2015 |
1.3.1 | 11,731 | 1/13/2015 |
1.3.0 | 12,315 | 12/10/2014 |
1.2.2 | 14,350 | 11/24/2014 |
1.2.1 | 5,952 | 11/22/2014 |
1.2.0 | 8,997 | 11/17/2014 |
1.1.1 | 27,255 | 9/5/2014 |
1.1.0 | 7,244 | 9/3/2014 |
1.0.2 | 9,907 | 7/1/2014 |
1.0.1 | 6,140 | 6/30/2014 |
1.0.0 | 6,313 | 6/30/2014 |
0.9.1 | 6,346 | 6/12/2014 |
0.9.0 | 4,698 | 6/7/2014 |
0.8.3 | 5,078 | 5/23/2014 |
0.8.2 | 4,655 | 5/21/2014 |
0.8.1 | 4,808 | 5/17/2014 |
0.8.0 | 6,471 | 5/2/2014 |
0.7.5 | 5,764 | 4/10/2014 |
0.7.4 | 4,896 | 4/7/2014 |
0.7.3 | 4,582 | 4/4/2014 |
0.7.2 | 4,870 | 4/4/2014 |
0.7.1 | 5,351 | 4/1/2014 |
0.7.0 | 5,076 | 3/22/2014 |
0.6.2 | 3,352 | 1/28/2014 |
0.6.1 | 3,313 | 1/27/2014 |
0.6.0 | 3,377 | 1/27/2014 |
0.5.2 | 3,336 | 11/19/2013 |
0.5.1 | 3,361 | 11/12/2013 |
0.5.0 | 4,809 | 11/10/2013 |
https://www.hangfire.io/blog/
1.6.30
Hangfire.Core
Backported from 1.7.19:
• Fixed – Race condition in `AspNetShutdownDetector` leads to `NullReferenceException` (by @jr01).
Hangfire.SqlServer
Backported from 1.7.21:
• Fixed – Ensure connection is released when exception is thrown when during lock release.
• Fixed – "A network-related or instance-specific error" when using `DisableConcurrentExecution` for long-running jobs.
1.6.29
Hangfire.Core
Backported from 1.7:
• Added – Add built-in support for reliable shutdown detection of ASP.NET apps.
• Changed – Internal feature to perform state changes without calling any filters.
• Fixed – Let workers to ignore any state change filters when all previous attempts to call them failed.
• Fixed – Don't let `DelayedJobScheduler` to stall the pipeline when state filters throw an exception.
• Fixed – `JobLoadException` when new methods deployed, caused by overlapped recycles in ASP.NET applications.
• Fixed – Configuration changes aren't taken into account, caused by overlapped recycles in ASP.NET.
• Fixed – Zombie servers shown on the "Servers" page that aren't stopped automatically unless app pool is recycled.
• Fixed – Add another check before removing non-existing jobs from delayed jobs to avoid race conditions.
1.6.28
Hangfire.Core
Backported from 1.7:
• Fixed – `CultureInfo.InvariantCulture` is now restored properly in background jobs.
• Fixed – Use `LazyThreadSafetyMode.PublicationOnly` to avoid caching "JobStorage.Current is null" exceptions.
Hangfire.SqlServer
Backported from 1.7:
• Fixed – Don't leak a `DbConnection` instance when an exception occurs while trying to open it.
1.6.27
Hangfire.SqlServer
Backported from 1.7:
• Fixed – Cannot resolve the collation conflict in `CountersAggregator`.
• Fixed – Set `SqlParameter` types explicitly to not to duplicate query plans and and avoid conversion issues.
1.6.26
Hangfire.Core
• SECURITY – Use `HtmlEncode` in all remaining places in Dashboard UI to prevent XSS attacks.
1.6.25
Hangfire.Core
• Fixed – Buggy `CancellationToken` consumers now can't cause memory leaks related to token registrations.
1.6.24
Hangfire.Core
• Fixed – `PreserveCulture` filter logs a message instead of throwing an error when it can't find the culture.
• Fixed – Uninitialized continuation shouldn't cause exception when completing an antecedent job.
Hangfire.SqlServer
• Fixed – Validate `JobExpirationCheckInterval` option to avoid exceptions in runtime (by @carlowahlstedt).
• Fixed – Don't throw an exception, when current schema version is higher than expected.
1.6.23
Hangfire.Core
• Added – Slow log to see warning messages when filters or queries take more than 1 minute.
• Fixed – Catching `DistributedLockTimeoutException` based on resource name in schedulers (by @bogdandanielb).
• Fixed – Serilog context property name does not follow Serilog convention (by @pobiega).
• Fixed – Add more guards against `NullReferenceException` on Recurring Jobs page.
• Fixed – Don't handle recurring jobs created by newer version of Hangfire.
Hangfire.AspNetCore
• Fixed – Could not load type `Microsoft.***.FormattedLogValues` in ASP.NET Core 3.0.
Hangfire.SqlServer
• Fixed – Make `GetRangeFromSet` to be forward compatible with the 1.7.0 schema.
• Fixed – Changed some SQL queries to not to cause index scans when using 1.7.0 schema.
1.6.22
Hangfire.Core
• Added – Ability to use custom type resolvers to modify the type de-serialization logic.
• Fixed – `JobLoadException` when processing jobs in .NET Framework, which were created in .NET Core.
• Fixed – `JobLoadException` when jobs reside in a signed assembly and a new version is deployed.
• Fixed – Don't produce extra logging message when there's an exception in a worker.
• Fixed – Ensure form values are properly returned when there are different versions of Microsoft.Owin (by @DC-jc).
• Fixed – Dashboard fails with 404 "Not Found" error if there's a trailing slash for some reason.
Hangfire.SqlServer
• Added – Connection factory overload for the `SqlServerStorage` class (by @chinwobble).
• Fixed – Inability to use package with Azure's managed service identity (by using a connection factory).
1.6.21
Hangfire.Core
• Fixed – High CPU usage and long response time when accessing Failed jobs page with Linux stack traces.
• Fixed – RecurringJobScheduler may block server shutdown and cause distributed lock to be abandoned.
Hangfire.SqlServer
• Fixed – Change locking scheme in the `Connection.SetRangeInHash` method to avoid deadlocks.
Hangfire.AspNetCore
• Fixed – Null-based implementation of the `IAntiforgery` interface doesn't lead to an exception.
1.6.20
Hangfire.Core
• SECURITY – Add "robots" meta tag to ensure browser don't index dashboard pages.
• SECURITY – Add support for antiforgery validation to prevent CSRF attacks (requires configuration).
• Fixed – Perform state change retries using a fresh connection when job's distributed lock may be abandoned.
• Fixed – Disallow transitions to the Failed state on retries that bypass all the filters.
• Fixed – Remove possible rare CPU spikes due to the use of `CancellationToken.WaitHandle`.
• Fixed – Avoid resolving types and methods for logging in static constructors that may lead to process shutdown.
• Fixed – Prevent Recurring jobs dashboard from throwing `NullReferenceException` (by @mattkwiecien).
• Fixed – Replace wall clocks with monotonic ones when calculating local timeouts.
• Fixed – Change logger initialization to be deterministic and predictable by using instance fields.
• Fixed – Make `_currentLogProvider` field access to use volatile reads/writes.
• Fixed – Typo in `NotSupportedException`'s message (by @benrick).
• Fixed – Typo on the Failed jobs page (by @gareth-evans).
Hangfire.SqlServer
• Fixed – Remove the synthetic limitation to support Azure SQL Management instance (by @TimSQL).
Hangfire.AspNetCore
• SECURITY – Use ASP.NET Core's built-in antiforgery validation to prevent CSRF attacks.
1.6.19
Hangfire.Core
• Fixed – NullReferenceException in JobMethodCallRenderer regression appeared in 1.6.18.
Hangfire.SqlServer
• Fixed – "String or binary data would be truncated" exception when state reason is too long.
• Fixed – Command handling in batch mode now stops after the first error due to "XACT_ABORT ON".
• Fixed – Make SqlCommandBatch disposable to dispose all the commands.
1.6.18
Hangfire.Core
• Added – Add on option to remove the storage connection string from the footer (by @sandorfr).
• Added – Add Dashboard UI Resource zh-TW (by @crablin).
• Fixed – OutOfMemoryException in dashboard when arguments are too big.
• Fixed – DisplayNameAttribute doesn't work when using dashboard in .NET Core.
• Fixed – Update rickshaw css to match the js version (by @pieceofsummer).
• Fixed – Bad exception when Job.FromExpression fails to resolve method for explicit interface implementations (by @f00).
• Fixed – Missing intValue-values in "/stats" endpoint (by @pieceofsummer).
• Fixed – Logging doesn't work with log4net integration in .NET Core (by @evollu).
• Fixed – Fix nuspec pointing to version of Newtonsoft.Json that does not exist (by @mvestergaard)
• Fixed – Server start time has a bad tooltip position (by @pieceofsummer).
• Fixed – Prevent connection string from blowing mobile page layout (by @pieceofsummer).
• Fixed – Number of recurring jobs per page is now correct (by @pieceofsummer).
• Project – Get rid of all the compile-time warnings (by @liakamp).
• Project – More details for build instructions for the project (by @kristofferjalen).
• Project – Unable to build project with space in folder path (by @stefanviberg).
Hangfire.AspNetCore
• Added – More Hangfire-related services are now registered in an IoC container (by @pieceofsummer).
• Fixed – Queue parameter is ignored in .NET Core when creating a job (by @pieceofsummer).
• Fixed – Fix issue with configuration block not called on .NET Core (by @pieceofsummer).
Hangfire.SqlServer
• Fixed – Rare deadlocks in SQL Server caused by the SetRangeInHash command.
1.6.17
Hangfire.SqlServer
• Added – `SqlServerStorageOptions.CommandBatchMaxTimeout` parameter to enable batching in transactions.
• Fixed – Timeout exceptions when there are a lot of large concurrent transactions by using the new batching method.
• Fixed – Distributed locks are safe now even in very unreliable networks and after network blips.
• Performance – Greatly decreased the number of connections required to process background jobs.
• Performance – Significantly decrease the number of roundtrips required to commit a transaction.
1.6.16
Hangfire.Core
• Fixed – Unexpected `DateTime` and `DateTime?` serialization issues in background job arguments (by @plaisted).
• Fixed – `DistributedLockTimeoutException` in some background processes now logged with "DEBUG" level instead of "ERROR".
• Fixed – `ElmahLogProvider` to show errors when using SQL log (by @francnuec).
• Fixed – Last execution field isn't shown on recurring jobs page, when background job has already expired.
• Fixed – `Hangfire.SqlServer` assembly doesn't include version in the `netstandard` target.
Hangfire.SqlServer
• Fixed – Lower the number of requests, when trying to acquire a distributed lock.
• Fixed – Problems with continuations and batch continuations, when using existing `SqlConnection` instance.
• Fixed – Distributed locks were silently released, when passing explicit closed connection to a storage.
• Fixed – `KeyNotFoundException` errors on various dashboard pages don't appear anymore (by @benjymous).
• Fixed – "Cannot release the application lock because it is not currently held" exceptions, when connection was closed.
• Fixed – Allow to use zero timeout for SQL Server-based distributed locks.
1.6.15
Hangfire.SqlServer
• Fixed – Timeout exceptions that's caused by SQL Server's thread pool starvation, caused by sp_getapplock.
• Fixed – Antecedent background job is constantly failing, when its continuation hasn't been fully created.
1.6.14
Hangfire.SqlServer
• Added – `SqlServerStorageOptions.SlidingInvisibilityTimeout` to fetch jobs without using transaction.
• Fixed – Transaction log is full due to 'ACTIVE_TRANSACTION' by enabling to use new non-transactional fetch.
• Fixed – `SqlServerJobQueueMonitoringApi` can't cause READ UNCOMMITTED isolation level to leak on SQL Server 2012 or earlier.
• Fixed – Add missing `SqlServerStorage(DbConnection, SqlServerStorageOptions)` constructor.
1.6.13
Hangfire.Core
• Fixed – Continuation is fired on a wrong queue, when parent job is finished before the creation.
• Fixed – Impossible to intercept failed state transition before `AutomaticRetryAttribute`.
• Fixed – Fixed translation in Chinese localization on home page (by @JustinChia).
• Fixed – Don't throw `NullReferenceException`, when state has changed during query on Processing page.
• Fixed – `CreateBatchFailedException`, when batch creation takes longer than 1 hour.
Hangfire.AspNetCore
• Fixed – Types are resolved using the `GetServiceOrCreateInstance` method (by @Tsabo).
Hangfire.SqlServer
• Fixed – Don't hide errors occurred while running SQL migrations.
• Fixed – `KeyNotFoundException` when accessing Deleted Jobs page in Dashboard.
• Fixed – `SqlServerDistributedLock` leaks connections, when lock acquisition is failed.
1.6.12
Hangfire.Core
• Fixed – Buggy state filters may cause background job to be infinitely retried.
• Fixed – Transient exception during Processing-Succeeded state transition may cause unexpected retry.
1.6.11
Hangfire.Core
• Fixed – `NullReferenceException` in dashboard when OWIN's or ASP.NET Core's `User` is `null`.
• Fixed – Regression related to missing CSS and JS resources in dashboard appeared in 1.6.10.
1.6.10
Hangfire.Core
• Fixed – Duplicate job continuations aren't added anymore, when outer transaction has failed.
• Fixed – Existing duplicate continuations don't lead to `ArgumentException`: the same key already added.
• Fixed – Replace inline script, because it may violate the Content Security Policy (by @Beczka).
• Fixed – Don't skip records in RecurringJobsPage (by @reaction1989).
1.6.9
Hangfire.SqlServer
• Fixed – `TimeoutException` on large arguments or large batches via `SqlServerOptions.CommandTimeout`.
1.6.8
Hangfire.Core
• Fixed – `Cron.MonthInterval` now returns correct CRON expression.
• Fixed – Throw `NotSupportedException` early, when arguments contain delegate or expression.
• Fixed – Connection and distributed lock kept longer than necessary in `RecurringJobScheduler`.
• Fixed – Use local date/times everywhere in Dashboard UI.
• Fixed – Call chart update only when it exists in Dashboard UI to prevent JavaScript errors.
• Fixed – Scheduled column title is now displaying correctly in Dashboard UI.
• Fixed – Typo "Nexts jobs" should be "Next jobs" in Dashboard UI (by @danielabbatt).
Hangfire.SqlServer
• Fixed – Use `long` where possible instead of `int` for background job identifiers, full support will be in 1.7.0.
1.6.7
Hangfire.Core
• Fixed – ArgumentException when using complex arguments in generic methods like "IList<T>" (by @aidmsu).
• Fixed – Generic arrays like "T[]" aren't supported in background job arguments (by @aidmsu).
• Fixed – Wrong choice of the overload when multiple methods match the given arguments (by @aidmsu).
• Fixed – Null values for arguments when there are errors during the JSON deserialization.
• Fixed – Window resize cause errors and uncontrolled growth of event and poll listeners (by @Yarmonov).
• Fixed – HtmlHelper.ToHumanDuration incorrectly formats fractional seconds (by @pieceofsummer).
• Fixed – Exception in Dashboard UI when CRON expression is null by an accident (by @aidmsu).
• Fixed – Error in Dashboard UI when rendering an array that contains a null element (by @djfoz).
• Fixed – Inconsistent constructors' accessibility for different context classes (by @pieceofsummer).
• Fixed – Decrease the max default workers count to "20" in tests (by patrykpiotrmarek).
• Fixed – Inconsistent EOL characters in some files of a project (by @aidmsu).
• Fixed – Make Queue name accessible from RecurringJobDto (by @swordfish6975).
Hangfire.SqlServer
• Fixed – Validation added to avoid "An invalid application lock time-out" exceptions (by t0mburton).
Hangfire.AspNetCore
• Fixed – Parameterless AspNetCoreJobActivator.BeginScope method now returns a correct instance (by @pieceofsummer).
1.6.6
Hangfire.Core
• Fixed – Hangfire.Core, Hangfire.SqlServer and Hangfire.SqlServer.Msmq marked as CLS-compliant.
• Fixed – Generic methods cause ArgumentNullException when scoped variable is used in expression.
Hangfire.SqlServer
• Fixed – SqlServerJobQueue class doesn't use obsolete InvisibilityTimeout parameter anymore.
1.6.5
Hangfire.Core
• Added – Chinese language to Dashboard UI (by @andy-zhouyou).
• Changed – Default upper limit of worker number is 20.
• Changed – Default value for DashboardJobListLimit is now 10000.
• Fixed – Deserialization exception in continuations, when TypeNameHandling.All option is used (by @MaksimSimkin).
• Fixed – I18N is not working, because there are no localized resources in NuGet packages.
• Fixed – Infinite redirect loops, when authenticated, but not authorized user accesses Dashboard UI.
• Fixed – "The type ... exists in both..." issue when building Hangfire, related to Newtonsoft.Json.
• Fixed – Use the given type's method, when scope variable is passed to a job expression.
• Fixed – Very rare resource leaks detected by Coverity Scan.
Hangfire.SqlServer
• Fixed – Different timeout issues after making performance optimizations.
• Fixed – SQL timeouts while getting a connection, when using default settings and >= 8 CPU cores.
• Fixed – ExpirationManager is bloated by SqlError instances, when there are a lot of messages from server.
• Fixed – Counters query returned inconsistent results during CountersAggregator executions.
• Performance – Added missing NOLOCK hint for monitoring queries when using SqlServer-based queues.
• Performance – ExpirationManager is forced to use index seek operations for cascade deletions.
• Performance – CountersAggregator now uses clustered index scan to issue less logical reads.
• Performance – Paging queries in dashboard now use CTEs to utilize less logical reads.
1.6.4
Hangfire.SqlServer
• Fixed – `SqlConnection` object leaks when using nested distributed locks (in batches and continuations).
1.6.3
Hangfire.Core
• Fixed – Add missing `RecurringJob.AddOrUpdate` method overloads to prevent CS4014 warnings.
• Fixed – `ToGenericTypeString` method now handles types with no namespace correctly.
Hangfire.SqlServer
• Fixed – Prevent `ExpirationManager`'s command from timing out, when there are a lot of records.
• Fixed – `CountersAggregator` issue introduced in 1.6.2, that causes slow record aggregation.
• Fixed – Add `XLOCK` hint for `CountersAggregator` query to prevent deadlocks on lock escalation.
Hangfire.SqlServer.Msmq
• Fixed – Prevent MSMQ transactions from timing out after 1 minute of processing.
1.6.2
Hangfire.Core
• Changed – Recurring job page displays now raw cron strings, descriptions are in tooltips.
• Fixed – Return non-highlighted stack trace, when parsing takes too long, instead of throwing an exception.
• Fixed – Dashboard UI works correctly again, when IE 11 is in the Compatibility Mode.
• Fixed – Long method names now don't push tables out of the boundaries now.
Hangfire.SqlServer
• Changed – `JobExpirationCheckInterval` property value now defaults to 30 minutes.
• Fixed – Excessive blocking when expiring records in `State` and `JobParameters` tables.
• Fixed – Migration script `Install.sql` was deadlocked by itself, leading to errors on startup.
Hangfire.SqlServer.Msmq
• Fixed – Public MSMQ queue paths are parsed correctly now, when determining the queue length.
1.6.1
Hangfire.Core
• Added – Automatic unit tests execution for .NET Core on Windows, Linux and OS X using AppVeyor and Travis CI.
• Fixed – `DateTime` deserialization issues on .NET Core platform.
• Fixed – Fixed UI command behaviour, buttons can only be pressed once per command (by @mahoneyj2).
• Fixed – `TypeInitializationException` when using Serilog appeared in version 1.6.0.
• Fixed – Cron format strings for intervals are specified correctly now (by @stevetsang).
• Fixed – `NullReference` on Job Details page when background job has null value for `IEnumerable` argument.
• Fixed – Don't skip symbols when publishing NuGet packages.
• Fixed – Use GUID identifier when can't determine the host name.
Hangfire.AspNetCore
• Fixed – Add missing `GetHttpContext` extension method for the .NET Core platform.
1.6.0
Hangfire.Core
• Added – .NET Core support for Hangfire.Core and Hangfire.SqlServer packages (`netstandard1.3` target).
• Added – Ability to create jobs based on async methods, they are awaited by a worker (by @tuespetre).
• Added – Access to background job context from the `JobActivator.BeginScope` method.
• Added – Add LatencyTimeoutAttribute To delete jobs if timeout is exceeded (by @Excommunicated).
• Added – Ability to change statistics polling interval in dashboard (by @tristal).
• Added – Non-blocking `BackgroundJobServer.SendStop` method, that requests for a shutdown.
• Added – `BackgroundJobServerOptions.ServerName` option is back.
• Added – `IDashboardAuthorizationFilter` interface that makes `IAuthorizationFilter` obsolete.
• Added – Show background job continuations on Job Details page.
• Added – Multilanguage support in Dashboard via resource files (by @Elph).
• Added – Spanish localization for the Dashboard UI (by @Elph).
• Added – Enable backtracking from background job to recurrent job (by @teodimache).
• Added – Cron expressions for regular intervals for the `Cron` class (by @geirsagberg).
• Added – `IRecurringJobManager` interface for the `RecurringJobManager` class (by @arnoldasgudas).
• Added – Abstractions for Dashboard UI to decouple it from OWIN.
• Changed – Make the realtime/history graph to use localized dates on hover (by @Elph).
• Changed – Make graph tooltip also localized using data-attributes (by @Elph).
• Changed – Dashboard metric's title now contains the ResourceKey instead the title (by @Elph).
• Changed – Job Details page was redesigned to be more clean with less colors.
• Changed – Update jQuery to 2.1.4 and rickshaw.js to 1.5.1.
• Changed – Update NCrontab to 3.1.0.
• Changed – Update CronExpressionDescriptor to 1.17.
• Fixed – `ToGenericTypeString` method now supports nested classes (by @patrykpiotrmarek).
• Fixed – Dashboard Errors in Chrome and IE - Cannot read property 'removeChild' of null.
• Fixed – /hangfire/js outputs (unintended) UTF-8 BOM.
Hangfire.AspNetCore
• Added – Deep integration with ASP.NET Core via Hangfire.AspNetCore package.
Hangfire.SqlServer
• Added – .NET Core support for Hangfire.Core and Hangfire.SqlServer packages (`netstandard1.3` target).
• Added – Zero latency processing when client and server reside in the same process (by @bgurmendi).
• Changed – `SqlServerStorage` class constructor now takes `DbConnection` instances (by @tystol).
• Changed – `SqlServerObjectsInstaller` class is public now (by @vbfox).
• Changed – Update Dapper to 1.50.1 version.
• Fixed – Drop constraints on Server.Id prior to altering it to avoid conflicts.
Hangfire.SqlServer.Msmq
• Fixed – Package now depends on the latest Hangfire.SqlServer instead of version 1.2.2.