Skip to content

Add initial support for Bitcoin Core v31#598

Open
tcharding wants to merge 7 commits into
rust-bitcoin:masterfrom
tcharding:push-xxtnqtoqxumu
Open

Add initial support for Bitcoin Core v31#598
tcharding wants to merge 7 commits into
rust-bitcoin:masterfrom
tcharding:push-xxtnqtoqxumu

Conversation

@tcharding
Copy link
Copy Markdown
Member

@tcharding tcharding commented May 21, 2026

First do a bunch of cleanups. Then add initial support.

We include types for the three new methods but they are untested. All failing tests, typically caused by changed fields, are feature gated out and marked as TODO. These can be tackled at a later date because downstream is waiting for this and don't need full support immediately.

ref: #599

@tcharding
Copy link
Copy Markdown
Member Author

Props to @xyzconstant and @0xB10C for pushing me to do this.

I believe we can release this and then chip away at fixing the methods that were changed. Would that fix your use case lads?

@tcharding
Copy link
Copy Markdown
Member Author

Supersedes #586 and #596

@tcharding tcharding force-pushed the push-xxtnqtoqxumu branch 2 times, most recently from 1eaa872 to d10ec71 Compare May 21, 2026 02:38
@tcharding
Copy link
Copy Markdown
Member Author

I reset the author of final patch to remove you @xyzconstant, I did use the shasums from you PR but that is all. Is that ok or do you want Co-authored-by?

@tcharding tcharding force-pushed the push-xxtnqtoqxumu branch from d10ec71 to bc93a1e Compare May 21, 2026 02:45
@tcharding
Copy link
Copy Markdown
Member Author

If this is good can you push up a release tracking PR @jamillambert for corepc-types, corepc-client, and bitcoind. In the changelog of types we should explicitly point out that the support is limited.

tcharding added 7 commits May 21, 2026 13:30
The version features are weird in this crate, later Core versions
enable earlier ones. So we can simplify the 'all-features' feature
gating to just check for the earlies `0_17_2` with no change of
functionality.
The features on this crate are non-typical. Improve the docs and put
the `latest` feature right below `default`.
This is buggy, I couldn't come up with a way to catch this in case we
do it again another time when we add a later Core version.
A few problems being fixed here:

- We once committed to supporting all point releases for the latest 3
  versions of Core. During 88ddaf1 it looks like this was changed to
  4 and I missed this in review (or I don't remember it).
- We want to add support for the latest version of Core (v31)

Cut back early point releases to only be for the latest 2 versions,
then when we add support for v31 it will be back to 3. Leave
docs/comments saying 'three'.
The wallet migration bug was present in both v30.0 and v30.1 but we
continue to have a `30_0` feature - this is wrong, remove it.
`v30_and_below` is currently all versions, this feature gate is
incorrect - remove it.
Props to xyzconstant and 0xB10C for pushing me to do this.

Add initial support for Bitcoin Core v31

We include types for the three new methods but they are untested. All
failing tests, typically caused by changed fields, are feature gated
out and marked as `TODO`. These can be tackled at a later date because
downstream is waiting for this and don't need full support immediately.
@tcharding tcharding force-pushed the push-xxtnqtoqxumu branch from bc93a1e to 1fdcf93 Compare May 21, 2026 03:30
@tcharding
Copy link
Copy Markdown
Member Author

Rebaesed on master after merge of #591

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant