Skip to content

2.21.0

Choose a tag to compare

@github-actions github-actions released this 11 Aug 05:52
· 42 commits to main since this release

Nothing is deleted just because this device can't read it

Your settings travel between your devices, and your devices don't all update on the same day. This release is about what happens in that gap: a device that meets something it doesn't understand now keeps it, instead of quietly deleting it and telling everyone else to do the same.

You don't have to do anything after updating. Two things are worth knowing, and they're at the bottom.

Fixed

  • An item you sat out on one device could come back. Stop syncing → On this device was stored in the shared settings, keyed by an identity that never leaves the machine it belongs to — so the first time another device's settings arrived, your choice was erased and the item reappeared in To apply. It now lives on the device that made the choice, where nothing can overwrite it. This was a real data loss introduced in 2.20.0; if an item you sat out has come back, set it again and it will stay.
  • An older device no longer strips a newer one's bookkeeping. The store's record of what was captured, and when, was rebuilt from a fixed list of fields every time it was read — so a device on an older version silently dropped anything a newer version had written, then published the loss to the store. It is now carried through untouched.
  • A rule this version doesn't recognise is left alone. A Runs-on choice written by a newer version used to be deleted on sight and the deletion shared with every device. It is now ignored where it's used and left exactly as found.
  • A device without BRAT no longer empties the shared beta list for the devices that do have it.

Added

  • Settings from a newer version are refused, not reset. A device that opens settings written by a version it doesn't understand says so plainly, changes nothing, and declines every action that would write — instead of starting fresh and overwriting your setup at the next save. The same is true of a store written by a newer version: Capture, Apply, Pull and Push all decline rather than overwrite what they can't read. The check happens before anything is written, not after.
  • "The store has newer settings" now answers by content. Each item records its own capture time and a fingerprint of what was stored, so the prompt reflects what actually differs rather than which clock ran last — and a fleet where some devices have updated and some haven't stops producing hints for changes that were never made.

Changed

  • Settings added inside a nested option now fall back to their default when an older document is loaded, instead of arriving empty.

Two things worth knowing

  • If you used Stop syncing → On this device before this release, check it. The bug above may already have erased it. Setting it again is all it takes.
  • This choice now lives on the device, not in your synced settings — so it isn't part of a backup, and a device you reinstall or replace will need it set again. Everything else is unchanged.

Node suite at 1394 tests.