Skip to content

Release v16.2.0

Choose a tag to compare

@github-actions github-actions released this 17 Jul 07:45
7a53fd4

Changed

  • [PII] values are now protected with hybrid AES-256-GCM envelope encryption (a fresh per-value data key wrapped by the per-subject RSA key) instead of raw RSA. Values written by earlier versions continue to decrypt transparently.

Fixed

  • [PII] values longer than ~245 bytes (long free-text fields, images) no longer throw a CryptographicException at append time — arbitrary-length PII now encrypts and decrypts.
  • A root-level [Join] whose source stream key type differs from the read model's key (for example a string organization number joined onto a Guid-keyed root) no longer permanently freezes the observer partition with an "Unrecognized Guid format" error, and no longer materializes a phantom root document keyed by the join value; the join backfills when the real entity row appears.
  • IReadModels.GetInstanceById now returns null for an unseeded reducer-backed read model instead of throwing, matching projection-backed read models — so a reactor's nullable pre-check no longer throws and freezes the partition.
  • EventScenario (in Cratis.Chronicle.Testing) now short-circuits a multi-event Events(...) append on the first rejected event, returning that failed AppendResult instead of continuing and masking the rejection with a later event's success.