- update all references to previous 1.63.0 MSRV.
- update the rust-version to 1.85.0.
- update the CI to not exclude bdk_electrum anymore.
- update the ci/pin-msrv.sh to 1.85.0.
rust:
- version: ${{ needs.prepare.outputs.rust_version }}
clippy: true
- - version: 1.63.0 # Overall MSRV
- - version: 1.75.0 # Specific MSRV for `bdk_electrum`
+ - version: 1.85.0 # Overall MSRV
features:
- --no-default-features --features miniscript/no-std,bdk_chain/hashbrown
- --all-features
profile: minimal
- name: Rust Cache
uses: Swatinem/rust-cache@v2.7.8
- - name: Pin dependencies for 1.75
- if: matrix.rust.version == '1.75.0'
- run: |
- cargo update -p home --precise "0.5.9"
- cargo update -p native-tls --precise "0.2.13"
- cargo update -p idna_adapter --precise "1.1.0"
- cargo update -p base64ct --precise "1.6.0"
- cargo update -p minreq --precise "2.13.2"
- cargo update -p rayon --precise "1.10.0"
- cargo update -p rayon-core --precise "1.12.1"
- cargo update -p time --precise "0.3.41"
- name: Pin dependencies for MSRV
- if: matrix.rust.version == '1.63.0'
+ if: matrix.rust.version == '1.85.0'
run: ./ci/pin-msrv.sh
- name: Build + Test
env:
MATRIX_RUST_VERSION: ${{ matrix.rust.version }}
run: |
- if [ $MATRIX_RUST_VERSION = '1.63.0' ]; then
- cargo build --workspace --exclude 'example_*' --exclude 'bdk_electrum' ${{ matrix.features }}
- cargo test --workspace --exclude 'example_*' --exclude 'bdk_electrum' ${{ matrix.features }}
- else
cargo build --workspace --exclude 'example_*' ${{ matrix.features }}
cargo test --workspace --exclude 'example_*' ${{ matrix.features }}
- fi
check-no-std:
needs: prepare
When refactoring, structure your PR to make it easy to review and don't
hesitate to split it into multiple small, focused PRs.
-The Minimum Supported Rust Version is **1.63.0** (enforced by our CI).
+The Minimum Supported Rust Version is **1.85.0** (enforced by our CI).
Commits should cover both the issue fixed and the solution's rationale.
These [guidelines](https://chris.beams.io/posts/git-commit/) should be kept in mind. Commit messages follow the ["Conventional Commits 1.0.0"](https://www.conventionalcommits.org/en/v1.0.0/) to make commit histories easier to read by humans and automated tools. All commits must be [GPG signed](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits).
<a href="https://github.com/bitcoindevkit/bdk/blob/master/LICENSE"><img alt="MIT or Apache-2.0 Licensed" src="https://img.shields.io/badge/license-MIT%2FApache--2.0-blue.svg"/></a>
<a href="https://github.com/bitcoindevkit/bdk/actions?query=workflow%3ACI"><img alt="CI Status" src="https://github.com/bitcoindevkit/bdk/workflows/CI/badge.svg"></a>
<a href="https://coveralls.io/github/bitcoindevkit/bdk?branch=master"><img src="https://coveralls.io/repos/github/bitcoindevkit/bdk/badge.svg?branch=master"/></a>
- <a href="https://blog.rust-lang.org/2022/08/11/Rust-1.63.0.html"><img alt="Rustc Version 1.63.0+" src="https://img.shields.io/badge/rustc-1.63.0%2B-lightgrey.svg"/></a>
+ <a href="https://blog.rust-lang.org/2025/02/20/Rust-1.85.0/"><img alt="Rustc Version 1.85.0+" src="https://img.shields.io/badge/rustc-1.85.0%2B-lightgrey.svg"/></a>
<a href="https://discord.gg/d7NkDKm"><img alt="Chat on Discord" src="https://img.shields.io/discord/753336465005608961?logo=discord"></a>
</p>
## Minimum Supported Rust Version (MSRV)
-The following BDK crates maintains a MSRV of 1.63.0. To build these crates with the MSRV of 1.63.0 you will need to pin dependencies by running the [`pin-msrv.sh`](./ci/pin-msrv.sh) script.
+The following BDK crates maintains a MSRV of 1.85.0. To build these crates with the MSRV of 1.85.0 you will need to pin dependencies by running the [`pin-msrv.sh`](./ci/pin-msrv.sh) script.
- `bdk_core`
- `bdk_chain`
- `bdk_bitcoind_rpc`
- `bdk_esplora`
- `bdk_file_store`
-
-The MSRV of the `bdk_electrum` crate is 1.75.0.
+- `bdk_electrum`
## Just
# To pin deps, switch toolchain to MSRV and execute the below updates
# cargo clean
-# rustup override set 1.63.0
-
-cargo update -p zstd-sys --precise "2.0.8+zstd.1.5.5"
-cargo update -p time --precise "0.3.20"
-cargo update -p home --precise "0.5.5"
-cargo update -p proptest --precise "1.2.0"
-cargo update -p url --precise "2.5.0"
-cargo update -p tokio --precise "1.38.1"
-cargo update -p reqwest --precise "0.12.4"
-cargo update -p security-framework-sys --precise "2.11.1"
-cargo update -p csv --precise "1.3.0"
-cargo update -p unicode-width --precise "0.1.13"
-cargo update -p native-tls --precise "0.2.13"
-cargo update -p flate2 --precise "1.0.35"
-cargo update -p bzip2-sys --precise "0.1.12"
-cargo update -p ring --precise "0.17.12"
-cargo update -p once_cell --precise "1.20.3"
-cargo update -p base64ct --precise "1.6.0"
-cargo update -p minreq --precise "2.13.2"
-cargo update -p tracing-core --precise "0.1.33"
-cargo update -p webpki-roots@1.0.3 --precise "1.0.1"
-cargo update -p rayon --precise "1.10.0"
-cargo update -p rayon-core --precise "1.12.1"
-cargo update -p socket2@0.6.0 --precise "0.5.10"
+# rustup override set 1.85.0
-msrv="1.63.0"
+msrv="1.85.0"
name = "bdk_bitcoind_rpc"
version = "0.22.0"
edition = "2021"
-rust-version = "1.63"
+rust-version = "1.85.0"
homepage = "https://bitcoindevkit.org"
repository = "https://github.com/bitcoindevkit/bdk"
documentation = "https://docs.rs/bdk_bitcoind_rpc"
name = "bdk_chain"
version = "0.23.2"
edition = "2021"
-rust-version = "1.63"
+rust-version = "1.85.0"
homepage = "https://bitcoindevkit.org"
repository = "https://github.com/bitcoindevkit/bdk"
documentation = "https://docs.rs/bdk_chain"
name = "bdk_core"
version = "0.6.2"
edition = "2021"
-rust-version = "1.63"
+rust-version = "1.85.0"
homepage = "https://bitcoindevkit.org"
repository = "https://github.com/bitcoindevkit/bdk"
documentation = "https://docs.rs/bdk_core"
name = "bdk_electrum"
version = "0.23.2"
edition = "2021"
+rust-version = "1.85.0"
homepage = "https://bitcoindevkit.org"
repository = "https://github.com/bitcoindevkit/bdk"
documentation = "https://docs.rs/bdk_electrum"
name = "bdk_esplora"
version = "0.22.1"
edition = "2021"
+rust-version = "1.85.0"
homepage = "https://bitcoindevkit.org"
repository = "https://github.com/bitcoindevkit/bdk"
documentation = "https://docs.rs/bdk_esplora"
name = "bdk_file_store"
version = "0.22.0"
edition = "2021"
+rust-version = "1.85.0"
license = "MIT OR Apache-2.0"
repository = "https://github.com/bitcoindevkit/bdk"
documentation = "https://docs.rs/bdk_file_store"
name = "bdk_testenv"
version = "0.13.1"
edition = "2021"
-rust-version = "1.63"
+rust-version = "1.85.0"
homepage = "https://bitcoindevkit.org"
repository = "https://github.com/bitcoindevkit/bdk"
documentation = "https://docs.rs/bdk_testenv"