diff --git a/.github/workflows/cont_integration.yml b/.github/workflows/cont_integration.yml
index 09087a001..235d4d20f 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 f548bc81f..d8a354619 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 902b82364..ccb18a201 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 32df4862d..0f9e2b505 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 c2a74189c..bff336551 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@
-
+