Releases: dolittle/Runtime
Release v9.4.0
Summary
Projections are now supported within the SDK (from V23), and runs on top of standard event handlers with no need for special support in the runtime. This replaces the need for the projections feature in the runtime.
Updated dependencies for Proto.Actor, Grpc, OTEL etc.
Removed
- Runtime Projections.
Release v9.3.3
Summary
Fixes an issue where the runtime could use large amounts of memory when reprocessing. Also tuned the pipeline to use slightly less memory overall.
Fixed
- Ensured that the stream processor subscriptions do not request loading additional events unless the pipeline has < 2 un-acknowledged batches.
Release v9.3.2
Summary
The runtime performs some housekeeping tasks when starting after being upgraded from an older version. Since the runtime has a compatibility layer supporting the older database formats, it is possible to process and commit events while the migration is being performed.
This changes the behavior from 9.3.1, where the runtime would wait for the migrations to complete before starting.
Changed
- Allow migrations to be performed in the background
- Parallelized migrations.
Release v9.3.1
Summary
Fixes and improvements to EventHorizon.
- Fixed incorrect subscription state mapping
- Removed unused metadata from public streams
Fixed
- Fixes a bug in eventhorizon state, where it incorrectly stored EventLogSequence in the position field.
Release v9.3.0
Summary
Improved structure of version migrations, and added a migration for runtime V6 EventSource IDs (which were UUIDs). This eliminates the need for the V6 compatibility mode, and this has been removed as well.
This means that upgrading from older versions of the runtime should now be painless, as the runtime migrates the existing database on startup if present.
Added
- Runtime V6 migrations
- Migration of scoped streams (EventHorizon etc)
- Migration metadata (to avoid running if previously migrated)
Removed
- V6 / V7 compatibility settings.
Release v9.2.2
Summary
This release optimizes how events are stored in MongoDB, by only including relevant metadata for the events. This means that only events produced by aggregates will store aggregate metadata, and event horizon metadata is excluded for normal events.
In addition, this adds metrics to stream subscriptions showing how many events are streamed / buffered directly from commits, and how many are done as catch-up events via the database.
Added
- Metric
dolittle_customer_runtime_events_store_streamed_events_total
- Metric
dolittle_customer_runtime_events_store_catchup_events_total
Removed
- For non-aggregate events: Removed
Aggregate
object from MongoDB - For non-EventHorizon events: Removed
EventhorizonMetadata
object from MongoDB
Release v9.2.1
Summary
This release focuses on limiting maximum memory usage, while at the same time trying to stream committed events directly from memory. Each handler will now more intelligently flow from catchup / streaming mode and back based on event handler backpressure.
Fixed
- Removed ability for event processors that are processing slower than events are coming in to grow in memory in an unbounded way.
Release v9.2.0
Summary
Changed MongoDB configuration to support srv connection strings. This allows the runtime to use any cloud hosted MongoDB services, such as Atlas.
This is backwards compatible with old connection format, and does not require changing config for existing deployments.
In addition to this, internal dependencies have been upgraded as well.
Added
- "connectionString" configuration for MongoDB
Release v9.1.2
Summary
Bugfix release for the Management API (CLI).
Fixed
- Fixed bug in eventhandlers API caused by incorrect dependency passed to service
- Fixed missing response when invoking reprocessing of specific eventhandlers.
Release v9.1.1
Summary
Fixes issue where an EventHorizon event could be skipped by race condition between tenants.
Fixed
- Removed incorrectly ignored exception in EventHorizon.
- Classify write conflict as duplicate key.