Releases: mt89vein/Sstv.DomainExceptions
Releases · mt89vein/Sstv.DomainExceptions
Release list
4.3.0
[4.3.0] - 2026-06-21
Added
ErrorCodeRegistry- to aggregate error codes and call graphs from multiple assemblies and provides traversal to collect all error codes for any entry-point methodMethodCallGraphalways emitted (even if empty) so consumer code can safely reference the field. Does not include calls toSystem.*andMicrosoft.*namespaces (BCL has no error codes)ExcludeFromErrorCodeAnalysisAttributeto exclude class/method from error code analysis (respected by both method analysis and call graph)
Full Changelog: 4.2.0...4.3.0
4.2.0
Added
CollectErrorCodesAttribute.Typesproperty to filter error code declarations by type, reducing false positives
Full Changelog: 4.1.0...4.2.0
4.1.0
No breaking changes here expected.
[4.1.0] - 2026-06-21
- source gen class refactored
- faster BFS algo used instead of loops
- added readme with supported features
- interface method calls also supported if we can find implementations compilation (merged all error codes)
- incremental source gen with cache - method changes do not recalculate all the methods (only changed)
Full Changelog: 4.0.0...4.1.0
4.0.0 - ErrorCodeMethodCollector added, .NET 10 upgraded
This release contains breaking change (.NET 10 supported only)
[4.0.0] - 2026-06-20
- upgrades library to .NET 10
- adds new opt-in source generator to collect all error codes from call stack of the methods, which can be used to add possible error codes to swagger
Full Changelog: 3.1.0...4.0.0
3.1.0
[3.1.0] - 2025-04-02
Added
- Added Microsoft.CodeAnalysis.PublicApiAnalyzers to control shipped API
- Allow to filter additional data from domain exception that will be added to ProblemDetails. Specify DomainExceptionSettings.AdditionalDataResponseIncludingFilter.
Fixed
- DetailedMessage from DomainException not passed to ProblemDetails response
Backport bug fixes and features from 3.1.0 to 2.3.0
[2.4.0] - 2025-04-02
Added
- Allow to filter additional data from domain exception that will be added to ProblemDetails. Specify DomainExceptionSettings.AdditionalDataResponseIncludingFilter.
Fixed
- DetailedMessage from DomainException not passed to ProblemDetails response
Error criticality level support
Changes:
- CriticalityLevel added to [ErrorDescription], also added to metric label, logs, api response. So you can use it to differ codes by its error criticality level.
BREAKING CHANGES:
- Dropped field "IsObsolete" on [ErrorDescription]
- ErrorCodesMeter now accept ErrorDescription and instance of error, instead of DomainException. This helps to use not only exceptions, but also Result pattern.
- error_codes_total metric now have level label from error code
- DomainExceptionSettings.OnExceptionCreated replaced by DomainExceptionSettings.OnErrorCreated callback
Upgrade to .NET 9 and error criticality level support
Changes:
- Update to .NET 9
- CriticalityLevel added to [ErrorDescription], also added to metric label, logs, api response. So you can use it to differ codes by its error criticality level.
- DomainException that generated by source generators now uses FrozenDictionary for internal error codes cache
BREAKING CHANGES:
- Serilog dependency upgraded to 4.1.0
- OpenTelemetry.Api dependency upgraded to 1.10.0
- No more replace Microsoft.AspNetCore.Http.DefaultProblemDetailsWriter by Rfc7231ProblemDetailsWriter. Bug dotnet/aspnetcore#52577 was fixed
- Dropped support of any .NET lower than .NET 9
- Dropped field "IsObsolete" on [ErrorDescription]
- ErrorCodesMeter now accept ErrorDescription and instance of error, instead of DomainException. This helps to use not only exceptions, but also Result pattern.
- error_codes_total metric now has level label from error code
- DomainExceptionSettings.OnExceptionCreated replaced by DomainExceptionSettings.OnErrorCreated callback
Add ProblemDetails support
fix: OnExceptionCreated as Multicast delegate
2.1.1