Skip to content

Commit b779398

Browse files
committed
Merge #360: Release tracking PR: Bump all three crates to v0.9.0
94d107a Bump version numbers (Tobin C. Harding) bfc61ad types: Update readme (Tobin C. Harding) Pull request description: First update the readme in `types` then do the release patch. Bump for all three crates, `corepc-types`, `corepc-client`, and `corepc-node`. ACKs for top commit: jamillambert: ACK 94d107a Tree-SHA512: d92460ab5b5f702d9f6be9830bf112236f28c4e5e92b930e0395be88b0f1cc09a636941b9746297ce2b03e9f6f87595bf0f8e129fdd5ad038dff71765b636ca5
2 parents c296669 + 94d107a commit b779398

File tree

10 files changed

+62
-30
lines changed

10 files changed

+62
-30
lines changed

Cargo-minimal.lock

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
153153

154154
[[package]]
155155
name = "corepc-client"
156-
version = "0.8.0"
156+
version = "0.9.0"
157157
dependencies = [
158158
"bitcoin",
159159
"corepc-types",
@@ -165,7 +165,7 @@ dependencies = [
165165

166166
[[package]]
167167
name = "corepc-node"
168-
version = "0.8.0"
168+
version = "0.9.0"
169169
dependencies = [
170170
"anyhow",
171171
"bitcoin_hashes",
@@ -183,7 +183,7 @@ dependencies = [
183183

184184
[[package]]
185185
name = "corepc-types"
186-
version = "0.8.0"
186+
version = "0.9.0"
187187
dependencies = [
188188
"bitcoin",
189189
"serde",

Cargo-recent.lock

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
153153

154154
[[package]]
155155
name = "corepc-client"
156-
version = "0.8.0"
156+
version = "0.9.0"
157157
dependencies = [
158158
"bitcoin",
159159
"corepc-types",
@@ -165,7 +165,7 @@ dependencies = [
165165

166166
[[package]]
167167
name = "corepc-node"
168-
version = "0.8.0"
168+
version = "0.9.0"
169169
dependencies = [
170170
"anyhow",
171171
"bitcoin_hashes",
@@ -183,7 +183,7 @@ dependencies = [
183183

184184
[[package]]
185185
name = "corepc-types"
186-
version = "0.8.0"
186+
version = "0.9.0"
187187
dependencies = [
188188
"bitcoin",
189189
"serde",

client/CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
# 0.9.0 2025-09-11
2+
3+
Add support for all the new methods added as part of the `types v0.9.0`
4+
release - that means **all** of the documented Core RPC methods.
5+
6+
- Implement all remaining non-hidden RPC methods.
7+
- Integration test all methods (excl. two that have open issues).
8+
- Add support for Core `v28.2` [#279](https://github.com/rust-bitcoin/corepc/pull/279)
9+
110
# 0.8.0 2025-05-21
211

312
- Add support for Bitcoin Core 29.0 [#131](https://github.com/rust-bitcoin/corepc/pull/131)

client/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "corepc-client"
3-
version = "0.8.0"
3+
version = "0.9.0"
44
authors = ["Tobin C. Harding <me@tobin.cc>", "Jamil Lambert <Jamil.Lambert@proton.me>"]
55
license = "CC0-1.0"
66
repository = "https://github.com/rust-bitcoin/corepc"
@@ -22,7 +22,7 @@ client-sync = ["jsonrpc"]
2222

2323
[dependencies]
2424
bitcoin = { version = "0.32.0", default-features = false, features = ["std", "serde"] }
25-
types = { package = "corepc-types", version = "0.8.0", default-features = false, features = ["std"] }
25+
types = { package = "corepc-types", version = "0.9.0", default-features = false, features = ["std"] }
2626
log = "0.4"
2727
serde = { version = "1.0.103", default-features = false, features = [ "derive", "alloc" ] }
2828
serde_json = { version = "1.0.117" }

integration_test/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ TODO = [] # This is a dirty hack while writing the tests.
5656

5757
[dependencies]
5858
bitcoin = { version = "0.32.0", default-features = false, features = ["std", "serde"] }
59-
node = { package = "corepc-node", version = "0.8.0", default-features = false }
59+
node = { package = "corepc-node", version = "0.9.0", default-features = false }
6060
rand = "0.8.5"
6161
env_logger = "0.9.0"
6262

node/CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
# 0.9.0 2025-09-11
2+
3+
The `types v0.9.0` release adds support for **all** remaining documented
4+
Core RPC methods. These are then pickup up in the update of `client`.
5+
6+
- Update to use the new `client v0.9.0`.
7+
- Fix race condition in node start up [#213](https://github.com/rust-bitcoin/corepc/pull/213)
8+
- Fix build on macOS. Only codesign bitcoind if necessary [#309](https://github.com/rust-bitcoin/corepc/pull/309)
9+
- Add support for Core `v28.2` [#279](https://github.com/rust-bitcoin/corepc/pull/279)
10+
111
# 0.8.0 2025-05-21
212

313
- Add support for Bitcoin Core 29.0 [#131](https://github.com/rust-bitcoin/corepc/pull/131)

node/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "corepc-node"
3-
version = "0.8.0"
3+
version = "0.9.0"
44
authors = ["Riccardo Casatta <riccardo@casatta.it>", "Tobin C. Harding <me@tobin.cc>"]
55
license = "MIT"
66
repository = "https://github.com/rust-bitcoin/corepc"
@@ -13,7 +13,7 @@ rust-version = "1.63.0"
1313
exclude = ["tests", "contrib"]
1414

1515
[dependencies]
16-
corepc-client = { version = "0.8.0", features = ["client-sync"] }
16+
corepc-client = { version = "0.9.0", features = ["client-sync"] }
1717
log = { version = "0.4", default-features = false }
1818
which = { version = "3.1.1", default-features = false }
1919
anyhow = { version = "1.0.66", default-features = false, features = ["std"] }

types/CHANGELOG.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
# 0.9.0 2025-09-11
2+
3+
This release is massive, it delivers support for **all** documented Core RPC
4+
methods. It also adds integration testing for all the new ones and many that
5+
were previously untested.
6+
7+
Props to Jamil Lambert for grinding this out.
8+
9+
There are a set of undocumented methods that we will be adding support
10+
for also shortly, stay tuned.
11+
12+
- Implement all remaining non-hidden RPC methods.
13+
- Integration test all methods (excl. two that have open issues).
14+
- Add support for Core `v28.2` [#279](https://github.com/rust-bitcoin/corepc/pull/279)
15+
116
# 0.8.0 2025-05-21
217

318
- doc: update docs for now explicit download feature flag [#177](https://github.com/rust-bitcoin/corepc/pull/177)

types/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "corepc-types"
3-
version = "0.8.0"
3+
version = "0.9.0"
44
authors = ["Tobin C. Harding <me@tobin.cc>", "Jamil Lambert <Jamil.Lambert@proton.me>"]
55
license = "CC0-1.0"
66
repository = "https://github.com/rust-bitcoin/corepc"

types/README.md

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,33 @@
11
# Bitcoin Core JSON-RPC types
22

3-
This crate provides data types return by Bitcoin Core's JSON-RPC API. Each type is specific to the
3+
This crate provides data types returned by Bitcoin Core's JSON-RPC API. Each type is specific to the
44
version of Core e.g., if you run the `getblockchaininfo` method against a Bitcoin Core v28 instance
55
you will get back the data described by `types::v28::GetBlockChainInfo`. In a similar fashion any
66
method `corerpcmethod` will return type `CoreRpcMethod` - snake-case as is conventional in Rust.
77

8-
## Status
8+
The version specific structs _do not_ use types from `rust-bitcoin`. For any type that can be
9+
represented using types from `rust-bitcoin` we provide a version non-specific type in
10+
`model::CoreRpcMethod` and an `into_model()` method on the version specific type.
911

10-
This crate is Work In Progress - not all methods for all Core versions are done yet. The single
11-
source of truth (SSOT) for a methods status can be found in the version specific module e.g.,
12-
`types/src/v17/mod.rs`. The HTML version can be found online and has nice drop down menus.
12+
The crate supports **all** documented Core RPC methods.
1313

14-
See for example: https://docs.rs/corepc-types/0.5.0/corepc_types/v18/index.html
14+
(Note there are a bunch of undocumented methods that are not yet supported, coming soon.)
1515

16-
### As of `v0.5.0`
16+
## Known issues
1717

18-
- All types to support `rust-miniscript` exist for Core versions 17-28 inclusive.
19-
- Support for Core Versions v17 and v18 is more fully fleshed out.
20-
- Nice docs and `verify` tool for v17 and v18 only.
18+
The types include docs from Core however the docs used are from the _first_ Core version in which
19+
the method appeared. As an example, this means if you look at docs for v29 `createwallet` you will
20+
see docs that originate in Core v17 so may or may not be stale. We hope to fix this at some stage.
21+
For accurate documentation of the method you are best to run `bitcoin-cli help createwallet` against
22+
a Core node of the desired version.
2123

2224
### Testing and Verification
2325

24-
In order to prove the data structures we do integration testing in `integration_test`. The tests are
25-
version specific e.g., `cargo test --features=0_18_1`. In CI we test against all supported versions.
26-
If you are using this crate in CI you may want to imitate the job structure. See the `Integration`
27-
job in `.github/workflows/rust.yaml`.
26+
Each type is integration tested, however only typically with a single test. We hope to improve
27+
test coverage by using test vectors taken from Core source code ... at some stage.
2828

29-
In order to back up method status our claims we provide the `verify` tool that parses the SSOT and
30-
checks the claims. Run it using `verify v17` (also `verify all`).
31-
32-
The tool only currently verifies the `v17` and `v18` modules.
29+
If you experience any issues please let us know, we have done our best but this crate needs battle
30+
testing in the wild.
3331

3432
## Minimum Supported Rust Version (MSRV)
3533

0 commit comments

Comments
 (0)