Hangfire.Core 1.7.3

The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org. Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Hangfire.Core --version 1.7.3
NuGet\Install-Package Hangfire.Core -Version 1.7.3
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Hangfire.Core" Version="1.7.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Hangfire.Core --version 1.7.3
#r "nuget: Hangfire.Core, 1.7.3"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Hangfire.Core as a Cake Addin
#addin nuget:?package=Hangfire.Core&version=1.7.3

// Install Hangfire.Core as a Cake Tool
#tool nuget:?package=Hangfire.Core&version=1.7.3

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 applications. 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/

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp1.0 was computed.  netcoreapp1.1 was computed.  netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard1.3 is compatible.  netstandard1.4 was computed.  netstandard1.5 was computed.  netstandard1.6 was computed.  netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net45 is compatible.  net451 was computed.  net452 was computed.  net46 is compatible.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen30 was computed.  tizen40 was computed.  tizen60 was computed. 
Universal Windows Platform uap was computed.  uap10.0 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (417)

Showing the top 5 NuGet packages that depend on Hangfire.Core:

Package Downloads
Hangfire.SqlServer The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

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

Hangfire The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

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 applications. 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/

Hangfire.MemoryStorage

A memory storage for Hangfire

Hangfire.PostgreSql

PostgreSql storage implementation for Hangfire (background job system for ASP.NET and aspnet core applications).

Hangfire.Console

Job console for Hangfire

GitHub repositories (40)

Showing the top 5 popular GitHub repositories that depend on Hangfire.Core:

Repository Stars
aspnetboilerplate/aspnetboilerplate
ASP.NET Boilerplate - Web Application Framework
MassTransit/MassTransit
Distributed Application Framework for .NET
Xabaril/AspNetCore.Diagnostics.HealthChecks
Enterprise HealthChecks for ASP.NET Core Diagnostics Package
fullstackhero/blazor-starter-kit
Clean Architecture Template for Blazor WebAssembly Built with MudBlazor Components.
eventflow/EventFlow
Async/await first CQRS+ES and DDD framework for .NET
Version Downloads Last updated
1.8.11 423,806 2/23/2024
1.8.10 269,811 2/12/2024
1.8.9 464,826 1/24/2024
1.8.7 681,763 12/29/2023
1.8.6 2,034,409 10/18/2023
1.8.5 2,200,659 8/11/2023
1.8.4 638,950 7/27/2023
1.8.3 1,103,969 6/27/2023
1.8.2 1,441,869 5/26/2023
1.8.1 370,100 5/18/2023
1.8.0 2,399,072 4/28/2023
1.7.36 255,128 6/29/2023
1.7.35 751,585 5/18/2023
1.7.34 1,499,851 3/30/2023
1.7.33 2,957,386 1/31/2023
1.7.32 3,180,581 11/21/2022
1.7.31 5,390,296 8/19/2022
1.7.30 3,573,481 6/10/2022
1.7.29 1,303,979 5/23/2022
1.7.28 10,282,422 12/18/2021
1.7.27 4,767,612 11/3/2021
1.7.26 422,338 10/27/2021
1.7.25 3,346,552 8/30/2021
1.7.24 3,209,360 6/28/2021
1.7.23 1,532,872 5/28/2021
1.7.22 2,490,832 4/13/2021
1.7.21 51,334 4/12/2021
1.7.20 1,142,156 3/19/2021
1.7.19 4,403,748 1/15/2021
1.7.18 4,406,904 11/20/2020
1.7.17 2,253,468 10/20/2020
1.7.16 398,672 10/14/2020
1.7.15 314,395 10/8/2020
1.7.14 854,180 9/24/2020
1.7.13 508,314 9/15/2020
1.7.12 2,077,594 7/24/2020
1.7.11 7,171,633 4/15/2020
1.7.10 1,161,391 4/2/2020
1.7.9 10,759,594 1/20/2020
1.7.8 2,028,318 12/5/2019
1.7.7 2,040,830 10/22/2019
1.7.6 4,626,615 8/5/2019
1.7.5 554,678 7/18/2019
1.7.4 669,945 6/28/2019
1.7.3 1,986,319 5/23/2019
1.7.2 2,037,398 4/29/2019
1.7.1 715,275 4/16/2019
1.7.0 3,083,962 3/29/2019
1.6.30 43,875 4/29/2021
1.6.29 91,694 4/15/2020
1.6.28 96,781 1/14/2020
1.6.27 81,491 6/27/2019
1.6.26 111,004 5/23/2019
1.6.25 50,022 4/9/2019
1.6.24 167,218 3/27/2019
1.6.23 323,242 3/13/2019
1.6.22 1,318,753 1/25/2019
1.6.21 4,346,801 11/1/2018
1.6.20 3,164,448 7/31/2018
1.6.19 1,881,029 4/6/2018
1.6.18 48,321 4/5/2018
1.6.17 3,225,965 9/19/2017
1.6.16 538,555 9/2/2017
1.6.15 460,216 8/8/2017
1.6.14 779,766 6/16/2017
1.6.13 119,801 6/7/2017
1.6.12 1,422,259 3/22/2017
1.6.11 55,758 3/14/2017
1.6.10 53,698 3/13/2017
1.6.9 98,381 3/2/2017
1.6.8 508,910 12/21/2016
1.6.7 292,966 11/25/2016
1.6.6 401,939 10/13/2016
1.6.5 184,404 9/24/2016
1.6.4 126,245 8/30/2016
1.6.3 191,577 8/19/2016
1.6.2 91,930 8/5/2016
1.6.1 2,299,970 7/27/2016
1.6.0 10,830,071 7/15/2016
1.5.9 319,341 7/11/2016
1.5.8 69,431 6/17/2016
1.5.7 46,356 5/30/2016
1.5.6 133,824 4/22/2016
1.5.5 32,598 4/14/2016
1.5.4 71,966 3/22/2016
1.5.3 538,475 11/6/2015
1.5.2 82,884 10/15/2015
1.5.1 10,218 10/14/2015
1.5.0 649,186 10/1/2015
1.4.7 10,278 10/1/2015
1.4.6 62,630 8/29/2015
1.4.5 58,912 7/24/2015
1.4.4 9,002 7/23/2015
1.4.3 98,797 5/27/2015
1.4.2 26,548 5/6/2015
1.4.1 52,793 4/14/2015
1.3.4 90,886 2/4/2015
1.3.3 12,870 1/28/2015
1.3.2 9,456 1/27/2015
1.3.1 15,483 1/13/2015
1.3.0 17,189 12/10/2014
1.2.2 17,669 11/24/2014
1.2.1 8,514 11/22/2014
1.2.0 11,551 11/17/2014
1.1.1 202,324 9/5/2014
1.1.0 11,207 9/3/2014
1.0.2 13,500 7/1/2014
1.0.1 38,246 6/30/2014
1.0.0 9,619 6/30/2014
0.9.1 10,696 6/12/2014
0.9.0 8,708 6/7/2014
0.8.3 9,574 5/23/2014
0.8.2 8,776 5/21/2014
0.8.1 10,446 5/17/2014
0.8.0 9,346 5/2/2014
0.7.5 9,866 4/10/2014
0.7.4 8,253 4/7/2014
0.7.3 8,104 4/4/2014
0.7.1 8,524 4/1/2014
0.7.0 13,279 3/22/2014
0.6.2 5,043 1/28/2014
0.6.1 4,930 1/27/2014
0.5.2 4,991 11/19/2013
0.5.1 4,988 11/12/2013
0.5.0 5,627 11/10/2013

https://www.hangfire.io/blog/

Please see https://docs.hangfire.io/en/latest/upgrade-guides/upgrading-to-hangfire-1.7.html to learn how to upgrade from 1.6.X.

1.7.3

• SECURITY – Use `HtmlEncode` in all remaining places in Dashboard UI to prevent XSS attacks.

• Added – Added Dutch language, and updated missing translation on "Servers" page (by @r-win).
• Added – `Cron.Never` method for adding manual recurring jobs that never fire (by @michaltalaga).
• Fixed – Add missing `AddOrUpdate` extension methods for the `IRecurringJobManager` interface.
• Deprecated – Unused `HtmlHelper.FormatProperties` method is now obsolete.

1.7.2
• Added – `DashboardOptions.TimeZoneResolver` property to handle custom time zone resolvers in Dashboard UI.
• Fixed – `RecurringJob.AddOrUpdate` method is now able to update a broken recurring job.
• Fixed – Recurring job scheduler now properly handles recurring jobs whose job method or time zone is wrong.
• Fixed – Don't throw an exception on Recurring Jobs page when time zone can't be resolved.

1.7.1
• Added – `DashboardOptions.IgnoreAntiforgeryToken` property to disable token validation in Dashboard UI.
• Added – Display hints regarding server status on Servers page in Dashboard UI.
• Added – Highlight recurring jobs with no next execution in Dashboard UI.
• Added – Show actual error in Dashboard UI when recurring job has an invalid Cron expression.
• Fixed – `InvalidOperationException` when `AllowSynchronousIO` option isn't set in ASP.NET Core 3.0.
• Fixed – Set `NextExecution` value to `null` when existing recurring job has an invalid Cron expression.
• Fixed – Make dashboard charts to be more culture-specific to use correct time format.
• Fixed – Obsolete `UseSerializationSettings` comment now contains correct method name (by @PaitoAnderson).
• Project – `resx` files now re-generated automatically when building a project.

1.7.0
• Added – Full .NET Core 2.0 support by explicitly targeting .NET Standard 2.0.
• Added – `IGlobalConfiguration.SetDataCompatibilityLevel` to enable rolling upgrades from version 1.6.
• Added – `IGlobalConfiguration.UseRecommendedSerializerSettings` method for new installations.
• Added – Assemblies now loaded automatically when resolving a type when using default type resolver.
• Added – Custom `TaskScheduler` can now be specified in `BackgroundJobServerOptions` for workers.
• Added – `IdempotentCompletionAttribute` filter to enforce strict order for continuations.
• Added – `IBackgroundJobClient.ContinueJobWith` methods to replace `ContinueWith` ones in future for clarity.
• Added – `JobStorage.LinearizableReads` virtual property to avoid unnecessary waits in state changer.
• Added – Allow async methods to run their continuations on worker thread by disabling `TaskScheduler`.
• Added – Multi-stage shutdown to wait for graceful completion before starting to abort jobs.
• Added – Asynchronous checks for job cancellation, `IJobCancellationToken` can be replaced with `CancellationToken` (by @pieceofsummer).
• Added – Possibility to create millions of recurring jobs without stressing the scheduler.
• Added – Second-based recurring jobs are fully supported now with 6-part cron expressions.
• Added – Support for custom `TimeZoneInfo` resolvers in recurring jobs for interoperability purposes.
• Added – Package now explicitly targets .NET Standard 2.0, and .NET Framework 4.6 target added as well.
• Added – Type roundtrip support between .NET Core and .NET Framework for most common types.
• Added – Allow to specify queue names based on job arguments with `QueueAttribute` via patterns.
• Added – `PerformContext.Storage` property to allow server filters to spawn connections.
• Added – `GetFirstByLowestScoreFromSet` connection method overload that returns multiple items (by @cdschneider).
• Added – Entry point for custom job naming strategies available for dashboard (by @pieceofsummer).
• Added – `JobDisplayNameAttribute` class for displaying jobs in dashboard, available on .NET Core (by @pieceofsummer).
• Added – Support for async jobs returning ValueTask<T> (by @pieceofsummer).
• Added – Support for asynchronous background processes, opens the road toward async storage.
• Added – Circuit breaker pattern for background processes to reduce the logging pressure.
• Added – Processing server is now able to detect it was expired, and restart itself with the new id.
• Added – Ability to use custom delays for automatic retries of a background job.
• Added – `ThreadAbortException` and `ThreadInterruptedException` handling to keep the background process running.
• Added – Support for complex Cron expressions, including the `L`, `W`, `#` characters.
• Added – `JobActivator.BeginScope` method overload with the full `PerformContext` (by @jeroenvervaeke).
• Added – Support for read-only view for dashboard (by @mikechamberlain).
• Added – Storage property to control the job expiration time (by @rsilvanet).
• Added – Decrease the size of serialized type payloads and remove version information.
• Changed – Make `TaskScheduler.Default` the default scheduler for async jobs to avoid breaking changes.
• Changed – Split serializer setting to Internal and User scopes to isolate them (Version_170 Switch).
• Changed – Don't allow to affect internal serialization even by `JsonConvert.DefaultSettings` (Version_170 Switch).
• Changed – Share the same type binder between Hangfire itself and Newtonsoft.Json (Version_170 Switch).
• Changed – Use more compact representation of dates when using `SerializeDateTime` (Version_170 Switch).
• Changed – Stop using special case for `DateTime` argument serialization (Version_170 Switch).
• Changed – Don't serialize unused `AwaitingState.Expiration` field (Version_170 Switch).
• Changed – Specify parameter type when serializing arguments to allow using `TypeNameHandling.Auto` option.
• Changed – Use case sensitive search when resolving a type as by default in .NET.
• Changed – Make `SucceededState` constructor public to allow state serialization.
• Changed – Add `IBackgroundJobFactory.StateMachine` property (breaking change for low level API).
• Changed – Replace Rickshaw with Chart.js to have beautiful charts with less headache.
• Changed – `DelayedJobScheduler` is able to use the new storage method to query multiple jobs at once.
• Changed – `RecurringJobScheduler` now uses index-based checks to fetch only those jobs that should be scheduled.
• Fixed – Worker now logs an error, when all the state change attempts failed due to an exception.
• Fixed – Don't serialize arguments multiple times when showing job details in dashboard.
• Fixed – `DateTimeOffset` conversion error when it was serialized with `TypeConverter`.
• Fixed – Remove duplicate of argument deserialization code for obsolete `Job` class methods.
• Fixed – Decorate all the exceptions with the `SerializableAttribute`.
• Fixed – `ArgumentNullException` when job class contains method with non-resolvable generic arguments.
• Fixed – "Failed to initialize CoreCLR" error, by removing reference to `Microsoft.NETCore.Portable.Compatibility`.
• Fixed – Possible race conditions in `RecurringJobScheduler` that may lead to job duplicates.
• Fixed – Configuration inconsistency introduced in 1.6.18 leading to issues with custom `JobActivator`.
• Fixed – Triggering the recurring task doesn't update its last execution time.
• Fixed – Recurring job which don't have next execution (intentionally or not) don't cause exception.
• Fixed – Dashboard recurring jobs sorting is random (now it's based on next execution time).
• Fixed – Performance problems with huge amount of recurring jobs.
• Fixed – `NextExecution` field of a recurring job has delay in value getting set.
• Fixed – Dashboard graphs have improper sizing.
• Fixed – Server disappears from the list, but still performing the background processing.
• Fixed – Logging is too aggressive on transient errors.
• Fixed – Daylight saving time transitions now handled perfectly in recurring jobs thanks to Cronos.
• Fixed – Confusing Cron scheduling, when both day-of-week and day-of-month fields set.
• Project – Add `DataCompatibilityRangeFact` and `DataCompatibilityRangeTheory` classes for compatibility checks.
• Project – Reduce test execution time by removing unnecessary waits.