---
title: Release digest for week of 2026-06-22 to 2026-06-29
---

## Added
- **Arc** ([Release v20.48.0](https://github.com/Cratis/Arc/releases/tag/v20.48.0)): Command scenario tests can seed the read model state a command observes from events — `Given.ForEventSource(id).Events(...)` materializes any read model the command injects for that source through its own reducer or projection, with no read model type named.
- **Arc** ([Release v20.48.0](https://github.com/Cratis/Arc/releases/tag/v20.48.0)): Command scenario tests can pin a read model instance directly for a command with `Given.ForEventSource(id).ReadModel(instance)`.
- **Arc** ([Release v20.47.1](https://github.com/Cratis/Arc/releases/tag/v20.47.1)): Read models with `JsonObject` properties can now be persisted and queried through Arc.MongoDB without falling back to broken dictionary serialization.

## Changed
- No updates

## Fixed
- **Chronicle** ([Release v15.35.8](https://github.com/Cratis/Chronicle/releases/tag/v15.35.8)): `ReadModelScenario` now reflects a root-level removal: a class-level `[RemovedWith]` (and `[ClearWith]` on a `[Nested]`) makes `Instance` resolve to `null` instead of returning the stale pre-removal state.
- **Chronicle** ([Release v15.35.8](https://github.com/Cratis/Chronicle/releases/tag/v15.35.8)): `ReadModelScenario` now seeds reducer-backed read models with the provided initial state instead of always starting the reducer from `null`.
- **Chronicle** ([Release v15.35.8](https://github.com/Cratis/Chronicle/releases/tag/v15.35.8)): `ReadModelScenario` now surfaces a failing reducer (throwing `ReducerFailed`) instead of returning the reducer's partial state as a successful result.
- **Chronicle** ([Release v15.35.8](https://github.com/Cratis/Chronicle/releases/tag/v15.35.8)): `ReadModelScenario` now assigns increasing per-event sequence numbers to a reducer's `EventContext` instead of the first sequence number for every event.
- **Chronicle** ([Release v15.35.7](https://github.com/Cratis/Chronicle/releases/tag/v15.35.7)): Read models with a `[PII]` member inside a `[ChildrenFrom]` / list child collection no longer stop projecting after a child is added and a later event changes an unrelated field.
- **Chronicle** ([Release v15.35.7](https://github.com/Cratis/Chronicle/releases/tag/v15.35.7)): Reducer read models with `[PII]` applied to a whole list nested in a child collection no longer fail to release their stored state on subsequent reduces.
- **Chronicle** ([Release v15.35.7](https://github.com/Cratis/Chronicle/releases/tag/v15.35.7)): Observable (live) read-model queries no longer occasionally miss updates when the projection changeset notifier is deactivated between a client subscribing and the next change.
- **Chronicle** ([Release v15.35.6](https://github.com/Cratis/Chronicle/releases/tag/v15.35.6)): Reading or releasing a read model whose `[ChildrenFrom]` / list child elements carry `[PII]` no longer fails with `Failed to release compliance metadata for property '...'` (`FormatException`).
- **Chronicle** ([Release v15.35.5](https://github.com/Cratis/Chronicle/releases/tag/v15.35.5)): SQLite-backed Chronicle no longer stalls under concurrent writes. Connections now use WAL journaling and a busy timeout, so simultaneous appends and projection/observer writes from multiple grains wait for the write lock instead of failing immediately with `SQLITE_BUSY` and stalling observer catch-up. Durability is preserved.
- **Chronicle** ([Release v15.35.4](https://github.com/Cratis/Chronicle/releases/tag/v15.35.4)): Fix DeclarativeCodeGenerator to properly handle well-known expressions in RemovedWith code generation
- **Chronicle** ([Release v15.35.3](https://github.com/Cratis/Chronicle/releases/tag/v15.35.3)): Fixed projections that set a complex read model property and encrypt a nested PII concept so storage sinks receive non-conflicting property changes.

## Removed
- No updates

## Security
- **Chronicle** ([Release v15.35.6](https://github.com/Cratis/Chronicle/releases/tag/v15.35.6)): `[PII]` values inside read-model child collections and lists are now encrypted at rest, matching the encryption already applied to scalar PII properties — previously they were persisted in plaintext.
- **Chronicle** ([Release v15.35.2](https://github.com/Cratis/Chronicle/releases/tag/v15.35.2)): `[PII]` values inside arrays and lists are now encrypted at rest per element — scalar concept lists (for example `IReadOnlyList<Email>`) and `[PII]` members of objects held in a list. Previously the compliance manager only descended into nested objects, so list-valued PII was never visited and was persisted in the clear.

## Deprecated
- No updates
