From v5.0.0 onwards, the changelog can be found at: https://github.com/skwasjer/Correlate/releases
- Added .NET 6 target framework
- (breaking) Dropped .NET 5.0 support (non-LTS)
- (breaking) Removed .NET Framework 4.6 and .NET Standard below 2.0.
- (breaking) Removed
CorrelationManager
obsoleted constructors. - (breaking) Removed obsolete
CorrelateRequests
overload accepting anIConfiguration
parameter.
- Added .NET 5 target framework
- Deprecated
CorrelateRequests
extension acceptingIConfiguration
instance.
- Added .NET Standard 2.1 support (for .NET Core 3.x, with newer Microsoft.* dependencies)
- Updated API contracts with non-nullable ref types
- Fix several potential NRE's in extension methods that were not guarded with ANE's.
- Fixed threading issue for child contexts, where child could inherit from wrong parent.
- (breaking) It is no longer a requirement for logging or diagnostics to be enabled, Correlate now just works regardless. This now allows integrations to be less dependent on the log provider (
ILoggerFactory
/ILogger
) and makes unit testing easier (Microsoft.Extensions.Logging.Abstractions.NullLogger<T>
can now be used). Note however, that for production environments,ILoggerFactory
is still required, in order for theCorrelationId
property to be added to each log event. - (breaking) Reworked
CorrelationManager
. It now has synchronous support for codebases that do not support asynchronous code. Also added overloadsFunc<T>
andFunc<Task<T>>
allowing the return of values. New interfacesICorrelationManager
andIAsyncCorrelationManager
are introduced for better separation, DI and unit testing. ReworkedOnException
delegate to be type safe and allowing a return value to be provided, if needed. - Middleware no longer calls internal method in other assembly, but now uses the new and public
IAsyncCorrelationManager
making it more resilient to version discrepancies.
- Fixes starting nested context overwriting parent. Only create new context if correlation id differs. Keep track of nested contexts using stack, and restore the parent context when the nested (child) context completes.
- Added .NET Standard 1.3 and .NET 4.6 support
- Added ctors to
CorrelationManager
that acceptICorrelationContextAccessor
. Old ctors are obsolete.
- Remove dependency constraints.
- Added ability to handle exception in correlation context scope.
- Middleware request header is now optional.
- Fix: potential async/await deadlock.
- Changed lifetime of manager to transient.
- DiagnosticListener is now an optional dependency.
- Ensure correlation context is disposed.
- Fix for logging a line without parameter.
- Fix namespaces
- General improvements
- Initial