Release v16.2.1
Summary
An optional (nullable) read-model property that never received its source event now reads back as null instead of a type-default sentinel. Previously a value such as DateTimeOffset? CompletedAt, mapped from an event that had not yet fired, materialized at rest as 0001-01-01 (DateTimeOffset.MinValue) — forcing consumers to defensively treat MinValue as "not set yet". The same affected every nullable known value type (int?, Guid?, bool?, DateOnly?, …). They now project as null/absent, so "has this been set?" is a plain null check.
Fixed
- An unset optional (nullable) scalar on a read model now materializes as
null/absent instead of a type-default sentinel — e.g. aDateTimeOffset?no longer reads back as0001-01-01when its source event never fired, and anint?no longer reads back as0.