This correcting release contains a lot of stability improvements for Hangfire.SqlServer, especially for SQL Azure Database environments. Processing is now more predictable even in Basic pricing tier, there is a special harness application that’s running 24/7 to ensure everything is fine. Some problems related to I18N, authorisation and continuations were also fixed.
- 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.Alloption 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
- 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 – Different timeout issues after making performance optimisations.
- Fixed – SQL timeouts while getting a connection, when using default settings and ≥ 8 CPU cores.
ExpirationManageris bloated by
SqlErrorinstances, when there are a lot of messages from server.
Fixed – Counters query returned inconsistent results during
Performance – Added missing
NOLOCKhint for monitoring queries when using SqlServer-based queues.
ExpirationManageris forced to use index seek operations for cascade deletions.
CountersAggregatornow uses clustered index scan to issue less logical reads.
- Performance – Paging queries in dashboard now use CTEs to utilize less logical reads.