Releases: dolittle/Runtime
Release v8.9.5
Bugfix release
Fixes an issue with potential race conditions in EventHorizon consumers, processing from multiple tenants against the same target tenant
Release v9.1.0
Summary
This release adds support for a more fine grained control over event handlers. It adds the ability to migrate away from older eventhandlers by setting an end timestamp, or use specific handlers for a particular point in time.
This applies to when the event was produced, not when the handler is being run.
You can also make it so new eventhandlers only process events "from now on", by starting from the latest events.
Added
- Support for defining when event handlers should initially start from (Either from the latest events, or from the beginning)
- Support for configuring event handlers to just process a delineated set of events by time. Both start timestamp and end timestamps are supported
Release v9.0.2
Summary
Performance focused upgrade with the following improvements:
Aggregates
Changed aggregate indexes to only index events produces by aggregates (partial indexes). Also included version to ensure aggregate queries do not need to drop down to collection scans.
Also optimized aggregate queries, and ensured they do not include event horizon metadata, which is not used in the aggregate.
Event Subscriptions
Rewritten event subscriptions to optimize throughput and memory usage
- Optimized catchup subscriptions
- Optimized real-time event streaming
EventHandlers
- Ensured clean shutdown by ensuring event processing is finished before the eventstore terminates. This allows all current handlers to complete even if they need to publish new events.
Release v9.0.1
Summary
Stream processor improvements
Changed
- Reduced event log batches in-flight per subscription, reducing memory usage.
Fixed
- Fixed edge case where processor would not retry old events before new events were present
- Minor fixes in stream processor state bootstrapping which affected logging.
Release v9.0.0
Summary
Major upgrade of the runtime, focusing on performance and ease of use.
Does away with written streams for eventhandlers, and changes it to stream directly from the eventlog. Perfomance is roughly 2X the latest V8 releases, even without enabling concurrency.
It also does away with several limitations around changing existing eventhandlers, and will no longer validate that the new event set matches the old one.
Added
- Concurrency support for eventhandlers
Changed
- Event handler CLI will now use eventlog stream position instead of the eventhandler stream position.
- Internal libraries have been updated, improving runtime performance.
Fixed
- Both the runtime and SDK will now always disconnect cleanly, and wait until all current processing is completed.
Removed
- Limitations around changing consumed event handler event types after the fact
- Embeddings
- Eventhandler streams
- Public filter validation (improves startup time for producers)
Prerelease v9.0.0-hadhafang.11
Added
- Tenant validation when consuming without active consent
Removed
- Public filter validation. This will improve startup time for services which act as eventhorizon producers.
Prerelease v9.0.0-hadhafang.10
Summary
Adds shutdown hooks to active eventhandlers, ensuring that there are no requests in-flight when the runtime stops.
Prerelease v9.0.0-hadhafang.9
Summary
Adds graceful disconnects for event handlers. This ensures that the system waits for the current handlers to complete before completing shutdowns / disconnects.
Also adresses some minor internal fixes.
Changed
- Updated projections to accommodate newer MongoDB drivers.
- Rewritten event handlers to support graceful disconnects from the client.
Fixed
- Resolved an issue in eventlogstream-subscriptions, ensuring correct subscription cancellation.
Prerelease v9.0.0-hadhafang.8
Summary
Rewritten GetEventLogPosition which maps from legacy stream positions to the event log sequence. Will now retrieve the correct offset from the stream used in V8.
Also changed the logic to get the next stream position to use the last element instead of the count.
Continuing from a specific stream position will now use the eventlog position for the processor instead of the stream position.
Release v8.9.4
Summary
Added the ability to not require producer consent when consuming from event horizon.
To disable required consent, use the following configuration for the producer runtime: DOLITTLE__RUNTIME__EVENTHORIZON__REQUIRECONSENT=false
This will then pass NoConsent (empty guid) as a valid consent for the consumer, and allow it to consume as normal.