fix(deps): update dependencies - #59
Merged
Merged
Conversation
Contributor
Author
ℹ️ Artifact update noticeFile name: go.modIn order to perform the update(s) described in the table above, Renovate ran the
Details:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v0.37.0→v0.39.0v0.298.0→v0.300.0Release Notes
go-crdt/crdt (github.com/go-crdt/crdt)
v0.39.0Compare Source
ErrUnknownFormat— a snapshot this build has no reader for is now told apart from bytes that are damaged.Before, a snapshot written by a newer build read back as
crdt: malformed encoding. That is what you would say about corruption. It is not corruption, and the person holding it needs a different thing: a snapshot travels — ingo-crdt/collaba joining client callsLoadCompositeon one the server sends it — so the ordinary way to meet this is a peer running a newer build, and the answer is to upgrade rather than to go hunting for damaged data.v0.38.0 made that likely enough to be worth naming: its notes say to upgrade clients before servers, and this is what a deployment that did not sounds like.
It wraps rather than replaces
These bytes are malformed as far as this build is concerned, so a caller that only ever asked that question goes on getting the same answer —
errors.Is(err, ErrMalformed)still holds, and every existing test asserting it passes unchanged. What is new is being able to ask the narrower question.Reported by all four loaders:
Load,LoadList,LoadMap,LoadComposite. A test pins that the distinction actually distinguishes — truncated bytes must not come back as an unknown format, or it would be a rename.v0.38.0: — snapshot format version 8Compare Source
A snapshot travels. In
go-crdt/collab, a joining client callscrdt.LoadCompositeon a snapshot the server sends it (client.go:190), andno reader before this release knows version 8. There is no negotiation to
fall back on — a reader either knows the version byte or refuses the bytes.
Upgrade clients before servers, or both together.
Every snapshot version this package has published has had this property, and
versions 1–6 still load here, so an old snapshot opens in a new build. It is
worth saying out loud this time because much of the fleet is several releases
behind: a server on v0.38.0 will lock out a client on v0.31.0.
An encoding per column
Every column is now a sequence of groups — a run is a count and a value,
everything else a literal stretch — and the single column of interleaved deletion
fields is split into four columns each holding one kind of number.
On the
automerge-papertrace:The three columns #88 was filed
about —
clocks, run sites and deletion sites, each holding one distinctvalue and costing 71 924 bytes between them — now cost twelve bytes.
Deletion gaps go 50 286 → 1 483, spans 50 297 → 3 048, sequence steps
55 828 → 17 975.
The grouping threshold was measured rather than chosen: 2 → 266 270,
3 → 259 840, 4 → 259 808, 6 → 261 016.
What was deliberately left out, with the number
A deflated column encoding is understood and never written — the order
OpSupersededshipped in (#83).Flipping it is one constant. It was measured first:
It halves a raw snapshot and costs 25 bytes to any caller that already
compresses — and
gitstore(through git's zlib) andpgstore(throughPostgres's TOAST) already do. It would also cost the promise that the same state
is the same bytes, which most of the test suite depends on.
Also in this release
Documentation, measurement and tests only:
docs/performance.mdnow reports compressed as wellas raw, because it was comparing one format that compresses its text
internally (diamond-types LZ4s content over 20 bytes) against five that do not,
under one heading.
rule that no superseded run may cover one.
Version 7 is reserved, not used: the purge branch defines it, and giving one
version byte two meanings is the failure the numbering exists to prevent.
go-widgets/toolkit (github.com/go-widgets/toolkit)
v0.300.0Compare Source
v0.299.0Compare Source
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate CLI.