Skip to content

Releases: mt89vein/Sstv.DomainExceptions

4.3.0

Choose a tag to compare

@mt89vein mt89vein released this 22 Jun 18:14

[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 method
  • MethodCallGraph always emitted (even if empty) so consumer code can safely reference the field. Does not include calls to System.* and Microsoft.* namespaces (BCL has no error codes)
  • ExcludeFromErrorCodeAnalysisAttribute to 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

Choose a tag to compare

@mt89vein mt89vein released this 22 Jun 05:52

Added

  • CollectErrorCodesAttribute.Types property to filter error code declarations by type, reducing false positives

Full Changelog: 4.1.0...4.2.0

4.1.0

Choose a tag to compare

@mt89vein mt89vein released this 20 Jun 19:43
7e3abff

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

Choose a tag to compare

@mt89vein mt89vein released this 20 Jun 14:51

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

Choose a tag to compare

@mt89vein mt89vein released this 02 Apr 18:36
15a3225

[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

Choose a tag to compare

@mt89vein mt89vein released this 02 Apr 18:31

[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

Choose a tag to compare

@mt89vein mt89vein released this 06 Dec 17:30

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

Choose a tag to compare

@mt89vein mt89vein released this 05 Dec 20:49

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

Choose a tag to compare

@mt89vein mt89vein released this 18 Feb 13:04
2.2.0

fix: OnExceptionCreated as Multicast delegate

Choose a tag to compare

@mt89vein mt89vein released this 14 Feb 08:08
2.1.1