Core components for Hangfire (background job system for ASP.NET applications).
See the version list below for details.
Install-Package HangFire.Core -Version 1.6.27
dotnet add package HangFire.Core --version 1.6.27
<PackageReference Include="HangFire.Core" Version="1.6.27" />
paket add HangFire.Core --version 1.6.27
• SECURITY – Use `HtmlEncode` in all remaining places in Dashboard UI to prevent XSS attacks.
• Fixed – Buggy `CancellationToken` consumers now can't cause memory leaks related to token registrations.
• 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.
• 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.
• 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.
• 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.
• 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).
• Fixed – NullReferenceException in JobMethodCallRenderer regression appeared in 1.6.18.
• 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).
• 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.
• 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.
• Fixed – Buggy state filters may cause background job to be infinitely retried.
• Fixed – Transient exception during Processing-Succeeded state transition may cause unexpected retry.
• 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.
• 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).
• 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 – Scheduled column title is now displaying correctly in Dashboard UI.
• Fixed – Typo "Nexts jobs" should be "Next jobs" in Dashboard UI (by @danielabbatt).
• 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).
• 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.
• 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.
• Fixed – Add missing `RecurringJob.AddOrUpdate` method overloads to prevent CS4014 warnings.
• Fixed – `ToGenericTypeString` method now handles types with no namespace correctly.
• 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.
• 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.
• 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.
NuGet packages (225)
Showing the top 5 NuGet packages that depend on HangFire.Core:
SQL Server 2008+ (including Express), SQL Server LocalDB and SQL Azure storage support for Hangfire (background job system for ASP.NET applications).
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/
ASP.NET Core support for Hangfire (background job system for ASP.NET applications).
A memory storage for Hangfire
Autofac IoC Container support for Hangfire (background job system for ASP.NET applications).
GitHub repositories (20)
Showing the top 5 popular GitHub repositories that depend on HangFire.Core:
ASP.NET Boilerplate - Web Application Framework
Distributed Application Framework for .NET
Enterprise HealthChecks for ASP.NET Core Diagnostics Package
Async/await first CQRS+ES and DDD framework for .NET
This repo contains the code for allReady, an open-source solution focused on increasing awareness, efficiency and impact of preparedness campaigns as they are delivered by humanitarian and disaster response organizations in local communities.