Under the hoodTier: how much it should matter to you
2Useful: my rating, 1 to 5
1Signal: worth watching, 1 to 5
CheckpointsArea: what it touches
ImprovementsKind: in v2.1.248,
ImprovementsSection of the release
What
Files copied into a snapshot are now checked to make sure they did not change during the copy: contents are hashed with sha256 while being read, and file size and nanosecond mtime/ctime are compared before and after. A mismatch marks the file as changed rather than recording a torn copy.
Details
The recorded identity of a copy moved from millisecond ctime to nanosecond ctime plus an identity value.
Refusals carry a momentary flag separating transient causes (unreadable parent directory, unclassified system error) from permanent ones.
The old "changed while being read" refusal is gone; such a file is now returned as changed instead.
Case-insensitive or Unicode-normalization collisions between two changed paths are refused with their own message.
Optional before-open and after-read hooks were added to the staging options.
Evidence
collides with another changed path that differs only in case or normalization
Strings lifted out of the shipped bundle, so the claim above can be checked against them.