Releases: HangfireIO/Hangfire.InMemory
Releases · HangfireIO/Hangfire.InMemory
0.10.3
0.10.2
Release Notes
- Changed – Refactor command dispatching to make it more simple and less allocating.
- Changed – Straightforward locking implementation with more unit tests.
- Fixed –
InvalidOperationException
"Wrong level" when trying to release a lock (regression from 0.10.1). - Fixed – "An item with the same key has already been added" on the Awaiting Jobs page (regression from 0.10.0).
0.10.1
Release Notes
- Changed – Roll back a breaking change in 0.10.0 for the
InMemoryStorageOptions
class. - Changed – Increase the default eviction interval to 5 seconds.
- Changed – More efficient storage of state history records.
- Changed – Implement fast path for the
FetchNextJob
method. - Fixed – More robust entry eviction implementation.
- Fixed – Graceful dispatcher shutdown without additional waiting.
- Project – Faster build pipeline on AppVeyor after migration to modern Powershell 7+.
0.10.0
Release Notes
- Breaking –
InMemoryStorageOptions
class instances are now immutable after initialization. - Added – Support long-based job identifiers through the
InMemoryStorageOptions.IdType
property. - Added – Expose the
InMemoryStorageOptions.CommandTimeout
option to control the command timeouts. - Changed – Significantly improve query dispatching pipeline in terms of speed and allocations.
- Changed – More compact representation of jobs and their parameters.
- Changed – Optimise the
GetFirstByLowestScoreFromSet
query when the number of items is huge. - Changed – Better concurrency handling implementation for the collection of locks.
0.9.0
Release Notes
- Added – Implement the disposable pattern for the
InMemoryStorage
class. - Changed – Use more compact representation of job parameters and state data.
- Changed – Move to
SortedDictionary
andLinkedList
to avoid using Large Object Heap. - Changed –
TimeSpan.Zero
value forMaxExpirationTime
now causes immediate entry eviction. - Fixed – Ensure near-zero max expiration limit can't lead to uninitialized job eviction.
- Deprecated –
DisableJobSerialization
option is now obsolete, serialization is always enabled.
0.8.1
Release Notes
- Fixed – Incorrect validation in the
MaxStateHistoryLength
setter (by @DPschichholz).
0.8.0
Release Notes
- Project – Sign NuGet package and .NET assemblies on build with a company's own certificate.
- Project – Require package signature validation when restoring dependencies.
- Project – Add HangfireIO as an owner for the NuGet package.
- Project – Add readme file and icon to the NuGet package.
- Project – Fix Git repository URL in the NuGet package metadata.
0.7.0
Release Notes
- Added –
InMemoryStorageOptions.MaxExpirationTime
option to control the maximum expiration time. - Changed – The default value for maximum expiration time is 2 hours now, not days.
- Fixed – Populate
ParametersSnapshot
andInvocationData
properties inIMonitoringApi.JobDetails
. - Fixed – The "Awaiting Jobs" page now includes the state name of an antecedent background job.
- Fixed – The "Scheduled Jobs" page now has correct identifiers for jobs with explicit queues defined.
- Fixed – Unify job ordering in Monitoring API to be the same as in other storages.
- Project – Enable source link support with embedded symbols for simplified debugging.
- Project – Refactored internals and added even more unit tests.
- Project – Enable NuGet package restore with lock file and locked mode.
- Project – Project and Release Notes URLs in the NuGet package now point to the repository.
- Project – Enable tests running on the
net6.0
platform and Ubuntu on AppVeyor.
0.6.0
Release Notes
- Added –
InMemoryStorageOptions.MaxStateHistoryLength
option to control state entries. - Changed – Always use monotonic clock when working with time.
- Changed – Release distributed locks when their connection is disposed.
- Changed – Pass dispatcher fault exceptions to a caller thread.
- Project – Refactor internal types to have a cleaner project structure and avoid mistakes.
- Project – Enable static analysis by the Microsoft.CodeAnalysis.NetAnalyzers package.
- Project – Enable portable PDBs for the .NET Framework 4.5.1 platform.