Skip to content

4.0.24

Choose a tag to compare

@github-actions github-actions released this 07 May 02:05
· 240 commits to master since this release

ChangeTree.delete: fix encodeAll dropping sibling fields after undefined assignment to a @view() field

Thanks to @Gabixel for the follow-up report after 4.0.22.

On a Schema with both @view() and non-@view() fields, assigning
undefined to the @view() field evicted an unrelated sibling from
allChanges. Incremental clients were fine; a fresh client joining via
encodeAll() saw the sibling field silently missing.

delete() was picking its target changeset by filteredChanges !== undefined
instead of mirroring change()'s per-field isFiltered test, so the
matching deleteOperationAtIndex ran on the wrong side and its
"find last operation" fallback removed a neighbor. Now symmetric with
change() across both the *Changes and *allChanges pairs.