Skip to content

Releases: dolittle/DotNET.SDK

Release v22.1.0

18 Sep 12:22
c1b2d40

Choose a tag to compare

Summary

Adds support for new features from runtime V9.1. This includes the ability to configure event handlers to start from the latest events instead of the beginning (startFrom), as well as being able to limit the handler to events produced within a specific timeframe. (startFromTimestamp, stopAtTimestamp)

In addition this release comes with new analyzers for event handlers, making sure that incorrect use of the handlers should be a compile time issue instead of a runtime one.

Added

  • EventHandlerAttribute: startFrom (Earliest / Latest)
  • EventHandlerAttribute: startFromTimestamp - Overrides startFrom if set, ensures the handlers starts on the first event after the given timestamp. It can be in the future.
  • EventHandlerAttribute: stopAtTimestamp - If set, the event handler will stop processing when it reaches events newer than this timestamp.
  • Additional Roslyn analyzers, to ensure correct use of EventHandlers / aggregates

Release v22.0.5

07 Sep 08:47
6daa85a

Choose a tag to compare

Summary

This solves for timing issues with VERY large aggregates. Normally this will not be necessary, but if aggregates are very long and take a long time to rehydrate, this will let them still work correctly. In addition, added DefaultAggregatePerformTimeout which can be set globally to time out perform requests if they are extremely slow.

Added

  • DefaultAggregatePerformTimeout

Removed

  • Duplicate tracing of event handlers

Release v22.0.4

28 Aug 12:57
87aef57

Choose a tag to compare

Summary

Added analyzer to guard against bugs where new events are produced in an On method. These should only update the internal state of the aggregate, not produce new events.

Added

  • Check against Apply used in aggregate On methods

Release v22.0.3

15 Aug 07:21
d9edbdd

Choose a tag to compare

Summary

Reduces some overhead by reducing duplicate tracing of event handling. Fixed an issue where both the client and actor would wrap the exception in AggregateRootOperationFailed

Changed

  • Removed duplicate event traces (avoid tracing HandleEventRequest).

Fixed

  • Avoids wrapping AggregateRootOperationFailed in an AggregateRootOperationFailed.

Release v22.0.2

08 Aug 11:17
533b53f

Choose a tag to compare

Summary

Simplify usage of AggregateRootTests<T>, no longer requiring the user to provide the callback to create the aggregate instance.

Added

  • Allow AggregateRootTests to be used without providing callback to instantiate aggregate instance

Release v22.0.1

08 Aug 09:07
b8fd6dd

Choose a tag to compare

Summary

Minor Dolittle.SDK.Testing improvements

Added

  • Added ability to access the events being asserted on in EventValueAssertion<T>.

Fixed

  • Fixed an issue with EventSourceId not being set during testing when using aggregate roots with default constructor.

Release v22.0.0

22 Jun 08:16
1db6476

Choose a tag to compare

Summary

Major SDK release supporting runtime V9.0.0. In addition to V9 having major performance improvements, this allows the user to also enable concurrent processing with partitioned event handlers.

Added

Changed

  • Improved eventhandler disconnect procedure

Prerelease v22.0.0-arkenstone.1

21 Jun 08:05
e785178

Choose a tag to compare

Pre-release

Added

  • Graceful disconnect protocol support
  • Graceful disconnects implemented for eventhandlers

Prerelease v22.0.0-arkenstone.0

12 Jun 13:37
a4a1480

Choose a tag to compare

Pre-release

Summary

Added concurrency support for eventhandlers.
Adds OpenTelemetry metrics to the SDK, enabled by default when OTEL is configured.

Added Metrics

  • AspNetCore metrics
  • Dotnet runtime metrics
  • Global metrics for Dolittle SDK for events committed, events processed/failed & aggregate events read / rehydrated.

Breaking changes

  • This will not work with runtimes older than V9

Release v21.0.1

08 Jun 11:32
48bd63c

Choose a tag to compare

Summary

Removed retries against aggregate actors. Added new test classes for Aggregates.

Added

  • Additional helpers / assertions for testing aggregate roots

Fixed

  • Removed potential retries on Aggregate.Perform, which could occur when response times are greater than the set retry timeout.