You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Changed
Child-only FromEventProperty events now leave the root read model uninitialized on MongoDB, PostgreSQL, SQLite and SQL Server until a root event arrives. Replay rebuilds child-only roots without root initial values; values already materialized are not removed in place. Existing SQL rows are treated as initialized on upgrade to preserve their values, including legitimate nulls; replay them to adopt the new placeholder behavior. (part of #4436)
Fixed
Events that change no read-model property, including propertyless events handled by class-level [FromEvent<T>], now create the instance in immediate projections, decision reads, passive GetInstanceById, projection preview, ReadModelScenario and DecisionReadsForTesting, matching materialized projections. (#4434)
A root event now persists missing initial values when it initializes a placeholder on MongoDB, PostgreSQL, SQLite and SQL Server, including read models with protected fields, while preserving existing children. On MongoDB this also applies to existing uninitialized placeholders from other child-only events, and initialization is visible to subsequent events during catch-up and replay before bulk writes finish. (part of #4436)
Root derivative events that a child also handles now create an initialized root with its initial values. Deferred children no longer resolve against an uninitialized placeholder. (#4436)
Read-model queries no longer return the internal __initialized property unless the read model explicitly declares it. (part of #4436)
SQL read-model upgrades tolerate concurrent kernel migrations and inserts from older kernels during rolling upgrades. (part of #4436)