Skip to content

v1.5.0

Choose a tag to compare

@github-actions github-actions released this 01 Jun 03:19
· 135 commits to main since this release
v1.5.0
v1.5.0 Audit-Readiness & Multi-Script Finish

Delivered: Closes the v1.4 follow-throughs (production sign bodies for
P2TR + P2SH-P2WPKH, accurate fees for mixed-script rounds), readies the
codebase for external security audit (charter, audit.toml refresh,
structurally-bounded RSA SecretKey lifetime), and lands the release-
readiness P0s (SECURITY.md, CHANGELOG.md, CI release-smoke gate,
Dockerfile ARG-based digest pinning scaffold).

Key accomplishments:
- Production BIP-322 sign bodies for P2TR (Schnorr keypath) and
  P2SH-P2WPKH (BIP-143) shipped in shared::bip322; test-only escape
  hatches (sign_simple_test_only + per-script sign_for_tests) deleted;
  shared::bip322 public surface shrunk to exactly 9 symbols with
  V1.4-CRIT-01 dispatcher-only invariant load-bearing at the type
  level (Phase 19 — BIP322-05, BIP322-06, BIP322-07).
- Per-script BIP-141 vbyte table (P2WPKH 68/31, P2TR 58/43 round-UP,
  P2SH-P2WPKH 91/32) replaces the legacy P2WPKH-only constants;
  ParticipantInput.script_type plumbed through dispatch_ownership_proof
  → UtxoDetails → RegisteredInput; v1.4 P2WPKH-only fee_share == 266
  byte-equality preserved (Phase 20 — FEE-01, FEE-02, FEE-03).
- External audit charter at docs/AUDIT-CHARTER.md (574 LOC, 8 H2
  sections) shipped. RSA SecretKey lifetime tightened from prose to
  Rust type signature: Option<RsaBlindSigner> on RoundStateInner, SOLE
  FSM chokepoint at state.rs:202, grep-verified (Phase 21 — AUDIT-01,
  AUDIT-02, AUDIT-03).
- SECURITY.md + CHANGELOG.md at repo root with responsible-disclosure
  contact, supply-chain status callout, and Keep-a-Changelog entries
  v1.0 → v1.5 (post-archive polish — quick task 260531-thw).
- CI release-smoke gate: release.yml + docker.yml check jobs now run
  cargo test --workspace --all-targets under BLINDJOIN_REQUIRE_BITCOIND=1
  via a composite install-bitcoind action; rehearsal-verified via
  workflow_dispatch on 2026-06-01 (run 26731267747, check passed in
  9m12s, build job skipped per the publish gate). Dockerfile bases
  pinnable via CARGO_CHEF_REF + DEBIAN_REF build args; bitcoind image
  in compose bumped from 27 → 30 to match .bitcoind-version 30.2.
  Quick tasks 260531-thw + 260531-ubf.

Tag is SSH-signed (ed25519 fingerprint SHA256:ECOieW3GHCOg3kfntXX1FP1Fg2KOTKkkf9tMEOypsVQ,
registered as a GitHub Signing Key on @johnzilla).

See .planning/MILESTONES.md and CHANGELOG.md for full details.