diff --git a/.github/workflows/cont_integration.yml b/.github/workflows/cont_integration.yml index 09087a001b..235d4d20ff 100644 --- a/.github/workflows/cont_integration.yml +++ b/.github/workflows/cont_integration.yml @@ -11,7 +11,7 @@ jobs: matrix: rust: - 1.56.0 # STABLE - - 1.46.0 # MSRV + - 1.51.0 # MSRV features: - default - minimal diff --git a/CHANGELOG.md b/CHANGELOG.md index f548bc81fc..d8a3546190 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +- New minimum supported rust version is 1.51.0 to support `resolver = "2"` ## [v0.12.0] - [v0.11.0] diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 902b82364f..ccb18a201a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -46,7 +46,7 @@ Every new feature should be covered by functional tests where possible. When refactoring, structure your PR to make it easy to review and don't hesitate to split it into multiple small, focused PRs. -The Minimal Supported Rust Version is 1.46 (enforced by our CI). +The Minimal Supported Rust Version is 1.51 (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. diff --git a/Cargo.toml b/Cargo.toml index 32df4862d8..0f9e2b5056 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,6 +10,7 @@ description = "A modern, lightweight, descriptor-based wallet library" keywords = ["bitcoin", "wallet", "descriptor", "psbt"] readme = "README.md" license = "MIT OR Apache-2.0" +resolver = "2" [dependencies] bdk-macros = "^0.6" @@ -24,9 +25,9 @@ rand = "^0.7" sled = { version = "0.34", optional = true } electrum-client = { version = "0.8", optional = true } rusqlite = { version = "0.25.3", optional = true } -ahash = { version = "=0.7.4", optional = true } +ahash = { version = "0.7", optional = true } reqwest = { version = "0.11", optional = true, features = ["json"] } -ureq = { version = "~2.2.0", features = ["json"], optional = true } +ureq = { version = "2.1", features = ["json"], optional = true } futures = { version = "0.3", optional = true } async-trait = { version = "0.1", optional = true } rocksdb = { version = "0.14", default-features = false, features = ["snappy"], optional = true } @@ -34,13 +35,7 @@ cc = { version = ">=1.0.64", optional = true } socks = { version = "0.3", optional = true } lazy_static = { version = "1.4", optional = true } -# the latest 0.8 version of tiny-bip39 depends on zeroize_derive 1.2 which has MSRV 1.51 and our -# MSRV is 1.46, to fix this until we update our MSRV or replace the tiny-bip39 -# dependency https://github.com/bitcoindevkit/bdk/issues/399 we can only use an older version -tiny-bip39 = { version = "< 0.8", optional = true } -# backtrace > 0.3.61 includes object v0.27 which doesn't compile on 1.46. this is used by -# tiny-bip39 -backtrace = { version = "=0.3.61", optional = true } +tiny-bip39 = { version = "0.8", optional = true } bitcoinconsensus = { version = "0.19.0-3", optional = true } @@ -65,7 +60,7 @@ sqlite = ["rusqlite", "ahash"] compact_filters = ["rocksdb", "socks", "lazy_static", "cc"] key-value-db = ["sled"] all-keys = ["keys-bip39"] -keys-bip39 = ["tiny-bip39", "backtrace"] +keys-bip39 = ["tiny-bip39"] rpc = ["core-rpc"] # We currently provide mulitple implementations of `Blockchain`, all are diff --git a/README.md b/README.md index c2a74189c3..bff3365513 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ CI Status API Docs - Rustc Version 1.46+ + Rustc Version 1.51+ Chat on Discord