Skip to content

v5.7.1

Choose a tag to compare

@github-actions github-actions released this 17 Oct 19:44
· 283 commits to main since this release
6b7e945

Nuthatch 5.7.1 stops a quiet table's last rows from being held back from the mirror indefinitely, and
moves the sealing rule into a crate a browser tab can build. There is no storage migration.

A quiet table's tail is published within about three hours

A table's last segment of under 1,000 rows is provisional: the table's next seal rewrites it, so
publish sync holds it back. A table that gains rows slowly, or has stopped, stayed under that for good,
so its newest rows never reached the mirror: on the DeFi Pulse nest, eth_usd__answer_updated held
back eleven (#2084). A provisional tail is now final once its oldest row is three hours of
chain time older than the newest row of any seal of the nest (#2087). The file and its hash
are unchanged, and the next publish sync uploads it. An archived nest, which seals nothing more,
still keeps its tails until nuthatch publish finalise.

A nest on 5.7.1 can therefore seal a different set of segments from the same blocks than one on
5.7.0 did, from the first seal after the upgrade. Everything sealed before it is left as it is.

Sealing and decoding as their own crates

The cut rule, the table floors, the segment bytes and log decoding move into nuthatch-seal and
nuthatch-decode, both checked for wasm32 in CI, so the nest in a tab (RFC-0065) seals with the
node's own code rather than a copy (#2086, #2089, #2090). The move changes no output: a native
backfill and the moved code wrote the same 25 segment hashes over blocks 26,204,001 to 26,212,452.

Compatibility and upgrade

Replace the binary and restart. A 5.7.0 store is used as it is.