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.
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.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 
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 optimisations.
 - Fixed – SQL timeouts while getting a connection, when using default settings and ≥ 8 CPU cores.
 - 
Fixed – 
ExpirationManageris bloated bySqlErrorinstances, when there are a lot of messages from server. - 
Fixed – Counters query returned inconsistent results during 
CountersAggregatorexecutions. - 
Performance – Added missing 
NOLOCKhint for monitoring queries when using SqlServer-based queues. - 
Performance – 
ExpirationManageris forced to use index seek operations for cascade deletions. - 
Performance – 
CountersAggregatornow uses clustered index scan to issue less logical reads. - Performance – Paging queries in dashboard now use CTEs to utilize less logical reads.
 
		by