Releases: HangfireIO/Hangfire
Releases · HangfireIO/Hangfire
1.7.30
Release Notes
- Fixed – Don't consider
SecurityException
as a non-catchable one. - Fixed – Replace timer with a dedicated thread in
AspNetShutdownDetector
to avoid depending on thread pool. - Fixed – Better ASP.NET shutdown detection with yet another check based on internal state.
- Fixed – Decrease
AspNetShutdownDetector
's check intervals to detect shutdowns earlier. - Fixed – Don't wait for server stop on AppDomain unloads when hosting in IIS to avoid delaying them.
1.7.29
Release Notes
Hangfire.Core
- Added –
RecurringJobManager.TriggerExecution
method that returns identifier of a created job. - Added –
GetRecurringJobIds
extension method forJobStorageConnection
that returns only identifiers. - Added –
DashboardMetric.Url
property to make it possible for metrics on the Overview page to be clickable (by @twinmind). - Changed – Bump Moment.js version to 2.29.3 in Dashboard UI (by @Westat-Transportation).
- Fixed – Deserialization issues with
DateOnly
andTimeOnly
in .NET 6.0 or other new types in CoreLib. - Fixed – Don't even try to catch unsafe exceptions like
OutOfMemoryException
orStackOverflowException
. - Fixed – Add non-breaking space between Server Id and Status glyph on the Servers page.
- Fixed – Problems with internal wait implementation shouldn't cause high CPU issues now, added protection and logging.
- Fixed – Wait can't be performed now on a signaled
ManualResetEvent
instance inBackgroundExecution
.
Hangfire.SqlServer
- Fixed – Command batching is now fully working for the Microsoft.Data.SqlClient package (by @0xced).
1.7.28
Release Notes
Hangfire.Core
- Fixed – Reduce the number of attempts in
BackgroundJobStateChanger
to avoid infinite loops. - Fixed – Typos in German translation (by @saxx).
- Fixed – Translations in Turkish translation (by @can-zengin).
Hangfire.SqlServer
- Fixed – Possibly fixed CPU consumption problems and high amounts of fetching queries after deploys to IIS.
- Fixed – No more than a single long-polling query is allowed per storage instance when using sub-second polling.
- Fixed – Don't depend on thread pool when sending heartbeats for active jobs to avoid problems when it's starved.
1.8.0-beta4
Release Notes
Hangfire.Core
- Added – Dark mode support for Dashboard UI configurable with the
UseDarkModeSupportForDashboard
method. - Added – Allow to add custom JavaScript and CSS files to the Dashboard UI via the
DashboardRoutes
class. - Added – Ability to use custom formattable resource identifiers for the
DisableConcurrentExecutionAttribute
. - Changed – Increase the default value for the
BackgroundJobServerOptions.StopTimeout
to 500 ms.
Hangfire.SqlServer
- Added –
TryAutoDetectSchemaDependentOptions
option to automatically enable options based on schema. - Changed –
GetJobData
now populatesJobData.ParametersSnapshot
property to avoid additional round-trips. - Changed – Polling delay when
QueuePollInterval
is set to zero now defaults to 200 ms. - Deprecated –
UsePageLocksOnDequeue
option is now obsolete and doesn't affect anything.
1.7.27
Release Notes
Hangfire.Core
- Added – Turkish language support for the Dashboard UI (by @csarigul).
- Fixed – Trigger button in the Dashboard UI doesn't respect a custom time zone resolver.
- Fixed – Dispatchers stopped when unable to add the ExecutionId data for an exception instance.
- Fixed – Safari's zoom feature breaks the Dashboard UI (by @oguzhantopcu).
- Fixed – Some typos in XML documentation comments (by @GitHubPang).
1.7.26
Security Patch
This security patch fixes a regression appeared in the previous version 1.7.25 that makes Dashboard UI available for remote requests in the default configuration, e.g. when no authentication filter specified. Please note that when custom authentication filter is defined as recommended in the documentation, everything works as expected, but upgrade is recommended in any case. Please read the GHSA-7rq6-7gv8-c37h security advisory for details.
- CVE ID
- CVE-2021-41238
- Affected Packages
- Hangfire.Core = 1.7.25 (only)
- Affected Platforms
- All, including .NET Core, .NET Framework, Mono of any version
Hangfire.Core
- Security – Fix "Dashboard UI accessible from outside by default since 1.7.25" regression.
1.7.25
Release Notes
Hangfire.Core
- Changed – Upgrade Bootstrap from 3.3.7 to version 3.4.1 in Dashboard UI.
- Changed – Upgrade Chart.js from 2.7.3 to version 2.9.4 in Dashboard UI.
- Changed – Upgrade jQuery from 2.2.4 to version 3.6.0 in Dashboard UI.
- Fixed – Check background job existence before adding a continuation id to job parameters.
- Fixed – Incorrect validation for the
HeartbeatInterval
option (by @GitHubPang). - Fixed – Use better stacking for succeeded/failed charts in the Dashboard UI.
- Fixed – Move explicit styles to CSS to fix possible CSP errors in Dashboard UI.
- Fixed – Reset default sync auth filter when async one is specified in Dashboard UI.
Hangfire.SqlServer
- Fixed – Avoid any blocked rows when removing inactive servers from the
Server
table.
Hangfire.NetCore and Hangfire.AspNetCore
- Added – More overloads for the
AddHangfireServer
extension method in .NET Core. - Deprecated –
UseHangfireServer
method for targets whereAddHangfireServer
one is available.
1.8.0-beta3
Release Notes
Hangfire.Core
- Added – Introduce the
Job.Queue
property, so jobs now can have their own queue specified. - Added – Method overloads to create recurring jobs directly with a custom default queue.
- Added – Method overloads to create background jobs directly with a custom default queue.
- Added –
IBackgroundJobClient.Create
method overloads with the newqueue
parameter. - Added – Experimental
JobStorageConnection.SetContains
method. - Added – Pass
ServerId
toFailedState
instances to simplify the debugging on different servers. - Changed – Dashboard UI now have full-width layout to display more data (by @danillewin).
- Changed – Query time from storage in recurring and delayed schedulers when supported by storage.
- Changed – Speedup delayed jobs when custom default queue is specified by avoiding extra state transition.
- Changed – Display scheduled job count when enqueued count is zero on the main metric.
- Changed – Don't display queue name in state transition list when it's the
default
one. - Changed – Re-implement
TaskExtensions.WaitOneAsync
only with theRegisterWaitForSingleObject
method. - Changed – Expose state data dictionaries in list DTOs when supported by storage.
- Changed – Make it possible to display methods of non-loaded jobs in Dashboard UI when supported by storage.
- Fixed – Check job details for the
null
value before passing it to renderers (regression). - Deprecated –
AddOrUpdate
overloads with optional params defined in theRecurringJobManagerExtensions
class. - Deprecated –
AddOrUpdate
overloads with optional parameters defined in theRecurringJob
class. - Deprecated –
AddOrUpdate
method overloads with norecurringJobId
parameter. - Deprecated –
RecurringJobOptions.QueueName
property, new methods should be used instead.
Hangfire.SqlServer
- Added – Implement the
Connection.GetUtcDateTime
feature to make work new changes in schedulers. - Changed – Display scheduled and processing jobs in the ascending order in Dashboard UI.
1.7.24
Hangfire.Core
- Added – Support for async auth methods via the
DashboardOptions.AsyncAuthorization
property (#1803 by @rosenbjerg). - Fixed – Error alert in Dashboard UI is now correctly shown when sidebar is present (#1869 by @danillewin).
- Fixed – Reference an empty favicon in Dashboard UI to prevent backend 404s (#1885 by @dan2468).
- Fixed – Back-to-site link text in Dashboard UI is now hidden on small screens (#1887 by @danillewin).
- Fixed – Avoid memory leak in the
AppBuilderExtensions
class (#1878 by @LordJZ). - Fixed – Make the
TypeHelper
class public instead of internal to use it outside.
Hangfire.SqlServer
- Changed – Don't use the
readcommittedlock
table hint when not required. - Project – Stop using
TransactionScope
class in tests, re-create database instead. - Project – Make it possible to run SQL Server tests on Mono on Linux.
Hangfire.AspNetCore
- Added – Support for async auth methods via the
DashboardOptions.AsyncAuthorization
property (#1803 by @rosenbjerg). - Added – Authorization policy support via the new
MapHangfireDashboardWithAuthorizationPolicy
method (#1663 by @dasiths).
1.7.23
Release Notes
Hangfire.Core
- Added –
JobId
property toJobPerformanceException
for error logging purposes (by @Plasma). - Fixed –
JsonSerializationException
when usingIdempotentCompletionAttribute
. - Fixed – Unreported yet corner case related to daylight time transition by upgrading Cronos to 0.7.1 (by @aidmsu).
- Fixed – Dashboard issue: recurring job table doesn't handle very long cron strings.
- Fixed – Add missing argument-is-null check for the
DeserializePayload
method. - Project – Replace deprecated
PerformContext
ctor usage to avoid alerts in SonarQube (by @kumaheiyama). - Project – Avoid possible
NullReferenceException
in tests to fix alerts in Fortify analyser. - Project – Release connections properly in tests to fix alerts in Fortify analyser.
Hangfire.SqlServer
- Fixed –
NotImplementedException
inTransaction.EnlistPromotableSinglePhase
when running on Mono.