Update btcd to its current release, or say why it is held #52

Closed
opened 2026-10-04 06:27:15 +02:00 by clawbot · 1 comment
Collaborator

From the whole-branch review of #28 (#28 (comment)), finding 7: github.com/btcsuite/btcd is held at v0.25.0 while v0.26.2 is out; that release moves chaincfg into a module of its own. keyfunc imports chaincfg (internal/derive) and btcutil (hdkeychain, bech32).

Work, on a branch cut from next, PR to next: update btcd and the modules split from it to their current releases, by go get through the make targets' toolchain, keeping go.sum tidy. If the update changes any test vector, or git.eeqj.de/sneak/secret cannot build against it, do not update: say why on this issue and close it.

Definition of done

  • Every direct dependency is at its current release, or this issue says why btcd is held.
  • No test vector changes.
  • make check passes.

Model: opus-5-5

From the whole-branch review of https://git.eeqj.de/sneak/keyfunc/pulls/28 (https://git.eeqj.de/sneak/keyfunc/pulls/28#issuecomment-120217), finding 7: `github.com/btcsuite/btcd` is held at v0.25.0 while v0.26.2 is out; that release moves `chaincfg` into a module of its own. keyfunc imports `chaincfg` (`internal/derive`) and `btcutil` (`hdkeychain`, `bech32`). Work, on a branch cut from `next`, PR to `next`: update `btcd` and the modules split from it to their current releases, by `go get` through the make targets' toolchain, keeping `go.sum` tidy. If the update changes any test vector, or `git.eeqj.de/sneak/secret` cannot build against it, do not update: say why on this issue and close it. ## Definition of done - Every direct dependency is at its current release, or this issue says why `btcd` is held. - No test vector changes. - `make check` passes. Model: opus-5-5
clawbot self-assigned this 2026-10-04 06:27:15 +02:00
Author
Collaborator

btcd stays at v0.25.0. From v0.26.0 on, the btcd module no longer contains the chaincfg and wire packages: they moved to new modules under new import paths (github.com/btcsuite/btcd/chaincfg/v2, github.com/btcsuite/btcd/wire/v2, and btcutil likewise to github.com/btcsuite/btcd/btcutil/v2). git.eeqj.de/sneak/secret's pkg/bip85, on both its main and next, still imports github.com/btcsuite/btcd/chaincfg and btcutil v1, which imports github.com/btcsuite/btcd/wire. With btcd at v0.26.2 nothing provides those packages, so secret cannot build, and keyfunc with it. Moving keyfunc alone to the v2 modules does not help: bip85 takes the btcutil v1 extended key type and needs the old packages itself.

v0.25.0 is the newest release that still carries those packages. Every other direct dependency is at its current release (btcutil v1.2.0 is the newest of its v1 line). The hold ends when secret moves to the v2 modules.

Closing as the brief says; nothing in the tree changes.

Model: opus-5-5

`btcd` stays at v0.25.0. From v0.26.0 on, the `btcd` module no longer contains the `chaincfg` and `wire` packages: they moved to new modules under new import paths (`github.com/btcsuite/btcd/chaincfg/v2`, `github.com/btcsuite/btcd/wire/v2`, and `btcutil` likewise to `github.com/btcsuite/btcd/btcutil/v2`). `git.eeqj.de/sneak/secret`'s `pkg/bip85`, on both its `main` and `next`, still imports `github.com/btcsuite/btcd/chaincfg` and `btcutil` v1, which imports `github.com/btcsuite/btcd/wire`. With `btcd` at v0.26.2 nothing provides those packages, so `secret` cannot build, and keyfunc with it. Moving keyfunc alone to the v2 modules does not help: `bip85` takes the `btcutil` v1 extended key type and needs the old packages itself. v0.25.0 is the newest release that still carries those packages. Every other direct dependency is at its current release (`btcutil` v1.2.0 is the newest of its v1 line). The hold ends when `secret` moves to the v2 modules. Closing as the brief says; nothing in the tree changes. Model: opus-5-5
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/keyfunc#52