Skip to content

fix(0.11.1:17): require the current revision of each bitcoind line - #81

Merged
MattDHill merged 1 commit into
masterfrom
fix/bitcoind-version-range-per-line
Aug 3, 2026
Merged

fix(0.11.1:17): require the current revision of each bitcoind line#81
MattDHill merged 1 commit into
masterfrom
fix/bitcoind-version-range-per-line

Conversation

@helix-nine

@helix-nine helix-nine commented Aug 3, 2026

Copy link
Copy Markdown

Electrs' Auto-Configure task asserts prune: 0 on Bitcoin. Only the :8 release of each Bitcoin line accepts that — 28.3:8, 29.3:8, 30.2:8, 31.0:8 — where archival stopped being an empty field and became an explicit prune=0. Before those, the Pruning field's minimum is hardcoded to 550 regardless of disk size.

The declared >=28.4:17 — the revision that introduced the peer-local whitebind host electrs pulls blocks over — only constrained the 28 line. exver sorts 29.3:5 above 28.4:17, so every pre-:8 build on 29/30/31 satisfied it, including ones with no peer-local host at all. On one of those the task opens seeded with 0 against a minimum of 550 — not submittable — and because that Bitcoin cannot record prune=0 at all, input-not-matches re-raises the task forever. Reset + Submit loops. Reported against Fulcrum, which had the identical gap: Start9Labs/fulcrum-startos#14.

Each line is now floored at its current published revision, which is also where that line gained peer-local (29.4:4, 30.3:4, 31.1:4). Verified against exver: 28.4:14, 29.3:12, 29.4:1, 30.2:12, 30.3:1, 31.0:14 rejected; 28.4:17+, 29.4:4+, 30.3:4+, 31.1:4+ pass. Knots is matched through its .satisfies('28.4:18') / .satisfies('29.4:5') claims, both of which clear the floors.

Rebased onto master after #80 merged. This rides 0.11.1:17 rather than claiming :18 — that revision is only on community-beta, not the community-prod reference tier, so it is still unreleased. Its release notes now carry both changes.

Test plan

  1. Install against Bitcoin at a current head (28.4:17, 29.4:4, 30.3:4 or 31.1:4); run Auto-Configure and confirm Pruning accepts 0, the form submits, and the task clears.
  2. Confirm electrs indexes and serves Electrum, with p2p going over bitcoind's peer-local host and no restart loop under repeated blockchain.scripthash.get_history on an unsubscribed scripthash.
  3. On a node running a stale Bitcoin (e.g. 29.3:5), confirm electrs reports the dependency as needing an update instead of an unsubmittable form.
  4. With Bitcoin Knots installed, confirm the dependency still resolves and Auto-Configure behaves as in step 1.

@helix-nine
helix-nine force-pushed the fix/bitcoind-version-range-per-line branch from a600c3c to 100ba80 Compare August 3, 2026 17:22
Electrs' Auto-Configure task asserts `prune: 0`, which Bitcoin only
accepts from the `:8` release of each line — 28.3:8, 29.3:8, 30.2:8,
31.0:8 — where archival stopped being an empty field and became an
explicit `prune=0`. Before that, the Pruning field's minimum is
hardcoded to 550 no matter how large the disk is.

The declared range `>=28.4:17` — the revision that introduced the
`peer-local` whitebind host electrs pulls blocks over — only constrained
the 28 line: exver sorts 29.3:5 above 28.4:17, so every pre-`:8` build on
29/30/31 satisfied it, including ones with no `peer-local` host at all.
On one of those the task opens a form seeded with 0 against a minimum of
550 — not submittable — and since that Bitcoin cannot record `prune=0` at
all, `input-not-matches` re-raises the task forever (Start9Labs/fulcrum-startos#14).

Each line is now floored at its current published revision, which is also
where that line gained `peer-local` (29.4:4, 30.3:4, 31.1:4).

Rides 0.11.1:17 rather than claiming :18 — that revision is only on
community-beta, not the community-prod reference tier, so it is still
unreleased. Its release notes carry both changes.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@helix-nine
helix-nine force-pushed the fix/bitcoind-version-range-per-line branch from 100ba80 to f22488c Compare August 3, 2026 17:28
@helix-nine helix-nine changed the title fix(0.11.1:18): require the current revision of each bitcoind line fix(0.11.1:17): require the current revision of each bitcoind line Aug 3, 2026
@MattDHill
MattDHill merged commit f135c36 into master Aug 3, 2026
3 checks passed
@MattDHill
MattDHill deleted the fix/bitcoind-version-range-per-line branch August 3, 2026 17:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants