Skip to content

Bump go.sia.tech/coreutils from 0.23.5 to 0.24.0 in the all-dependencies group - #336

Merged
ChrisSchinnerl merged 3 commits into
masterfrom
dependabot/go_modules/all-dependencies-df3b061fc4
Aug 10, 2026
Merged

Bump go.sia.tech/coreutils from 0.23.5 to 0.24.0 in the all-dependencies group#336
ChrisSchinnerl merged 3 commits into
masterfrom
dependabot/go_modules/all-dependencies-df3b061fc4

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 10, 2026

Copy link
Copy Markdown
Contributor

Bumps the all-dependencies group with 1 update: go.sia.tech/coreutils.

Updates go.sia.tech/coreutils from 0.23.5 to 0.24.0

Release notes

Sourced from go.sia.tech/coreutils's releases.

0.24.0 (2026-08-04)

Breaking Changes

Support concurrent chain.Manager reads via MVCC snapshots

The Manager previously serialized all of its methods -- including read-only ones -- with a single mutex, so heavy read load (e.g. from the syncer or subscribers) contended with block processing. The Manager now follows an MVCC scheme: writes accumulate in the Store's "scratchpad" -- which includes the tip state -- and are committed by Flush, at which point they become visible to "snapshots": self-contained, read-only captures of the committed state. Read-only Manager methods operate on snapshots, so they proceed concurrently with each other and with block processing, and never stall writers. bbolt supports snapshots natively via read-only transactions; MemDB now implements them with pin-aware copy-on-flush generations (CacheDB delegates to its underlying DB).

This is a breaking change for implementors and consumers of the chain.DB and chain.Store interfaces:

  • Store is now Snapshot() (StoreSnapshot, func()) + Scratchpad() StoreScratchpad. StoreSnapshot carries the read methods plus TipState; StoreScratchpad embeds it and adds the write methods and Flush, with ApplyBlock/RevertBlock updating the scratchpad's tip. Implementations may flush autonomously between operations (e.g. to bound the size or age of the accumulated writes), handling errors internally; the Manager explicitly calls Flush to publish the new tip after processing blocks, before notifying OnReorg listeners.
  • DB mirrors Store: Snapshot() (DBSnapshot, release func()) + Scratchpad() DBScratchpad. The scratchpad carries Bucket/CreateBucket/Flush/Cancel and must not flush autonomously; snapshots are read-only and remain valid until released, even across concurrent Flushes. A single DBBucket interface serves both sides; its Put/Delete methods may return errors on read-only (snapshot) buckets.
  • NewManager no longer takes a consensus.State parameter, and NewDBStore/NewDBStoreAtCheckpoint no longer return one; the tip state is provided by the Store itself (via a snapshot's or scratchpad's TipState).
  • Reads reflect committed state. Pruned blocks remain visible to read-only methods until the next commit, and blocks added to non-best chains remain invisible to them until the next commit. Blocks that extend the best chain are always committed before AddBlocks returns and before OnReorg listeners fire, so subscribers observe the tip they are notified of.

Fixes

  • reject nonunique txid txes from mempool
  • Use max of chain height and price table height when storing sectors.
Changelog

Sourced from go.sia.tech/coreutils's changelog.

0.24.0 (2026-08-04)

Breaking Changes

Support concurrent chain.Manager reads via MVCC snapshots

The Manager previously serialized all of its methods -- including read-only ones -- with a single mutex, so heavy read load (e.g. from the syncer or subscribers) contended with block processing. The Manager now follows an MVCC scheme: writes accumulate in the Store's "scratchpad" -- which includes the tip state -- and are committed by Flush, at which point they become visible to "snapshots": self-contained, read-only captures of the committed state. Read-only Manager methods operate on snapshots, so they proceed concurrently with each other and with block processing, and never stall writers. bbolt supports snapshots natively via read-only transactions; MemDB now implements them with pin-aware copy-on-flush generations (CacheDB delegates to its underlying DB).

This is a breaking change for implementors and consumers of the chain.DB and chain.Store interfaces:

  • Store is now Snapshot() (StoreSnapshot, func()) + Scratchpad() StoreScratchpad. StoreSnapshot carries the read methods plus TipState; StoreScratchpad embeds it and adds the write methods and Flush, with ApplyBlock/RevertBlock updating the scratchpad's tip. Implementations may flush autonomously between operations (e.g. to bound the size or age of the accumulated writes), handling errors internally; the Manager explicitly calls Flush to publish the new tip after processing blocks, before notifying OnReorg listeners.
  • DB mirrors Store: Snapshot() (DBSnapshot, release func()) + Scratchpad() DBScratchpad. The scratchpad carries Bucket/CreateBucket/Flush/Cancel and must not flush autonomously; snapshots are read-only and remain valid until released, even across concurrent Flushes. A single DBBucket interface serves both sides; its Put/Delete methods may return errors on read-only (snapshot) buckets.
  • NewManager no longer takes a consensus.State parameter, and NewDBStore/NewDBStoreAtCheckpoint no longer return one; the tip state is provided by the Store itself (via a snapshot's or scratchpad's TipState).
  • Reads reflect committed state. Pruned blocks remain visible to read-only methods until the next commit, and blocks added to non-best chains remain invisible to them until the next commit. Blocks that extend the best chain are always committed before AddBlocks returns and before OnReorg listeners fire, so subscribers observe the tip they are notified of.

Fixes

  • reject nonunique txid txes from mempool
  • Use max of chain height and price table height when storing sectors.
Commits
  • cb3e753 Merge pull request #463 from SiaFoundation/release
  • 12fe7cc chore: prepare release 0.24.0
  • 4b4ff13 Merge pull request #450 from SiaFoundation/snapshot
  • d53a68f bump webtransport-go
  • ac51a5a build(deps): bump github.com/quic-go/quic-go from 0.60.0 to 0.61.0
  • dd358f3 Merge origin/master into snapshot and resolve conflicts
  • 5c25232 Merge pull request #462 from SiaFoundation/matt/reject-nonunique-txes
  • 214c8cd Apply suggestions from code review
  • 112b5ef address comments
  • 30c80b9 chain: Fix MemDB Iter not observing unflushed writes
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

Bumps the all-dependencies group with 1 update: [go.sia.tech/coreutils](https://github.com/SiaFoundation/coreutils).


Updates `go.sia.tech/coreutils` from 0.23.5 to 0.24.0
- [Release notes](https://github.com/SiaFoundation/coreutils/releases)
- [Changelog](https://github.com/SiaFoundation/coreutils/blob/master/CHANGELOG.md)
- [Commits](SiaFoundation/coreutils@v0.23.5...v0.24.0)

---
updated-dependencies:
- dependency-name: go.sia.tech/coreutils
  dependency-version: 0.24.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file go Pull requests that update go code labels Aug 10, 2026

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

Claude Code Review is paused for this repository. To reconnect it, an admin of this repository's GitHub organization (or the account owner, for personal repositories) who can also manage your Claude organization's Code Review settings needs to re-link GitHub in Code Review settings. This is a one-time step.

Tip: disable this comment in your organization's Code Review settings.

@socket-security

socket-security Bot commented Aug 10, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedgo.sia.tech/​coreutils@​v0.23.5 ⏵ v0.24.098 +1100100100100

View full report

@ChrisSchinnerl
ChrisSchinnerl merged commit 2187770 into master Aug 10, 2026
11 checks passed
@ChrisSchinnerl
ChrisSchinnerl deleted the dependabot/go_modules/all-dependencies-df3b061fc4 branch August 10, 2026 12:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file go Pull requests that update go code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant