From 08f10bcd53ddccfc4d29afe27fcbdfdb5d7fe712 Mon Sep 17 00:00:00 2001
From: Dario Anongba Varela
Date: Mon, 16 Mar 2026 16:31:38 +0000
Subject: [PATCH 1/3] chore(release): prepare v0.3.0
- Bump version in Cargo.toml to 0.3.0
- Finalize CHANGELOG.md with release date 2026-03-16
- Fix dependency version numbers to match actual Cargo.toml values
- Add Transaction::to_bytes/from_bytes to changelog
---
CHANGELOG.md | 17 ++++++++++++-----
Cargo.toml | 2 +-
2 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ae3e934..451d1b1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
+## [0.3.0] - 2026-03-16
+
### Added
- Expand TxBuilder API ([#21](https://github.com/bitcoindevkit/bdk-wasm/issues/21)):
@@ -24,10 +26,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- `Wallet::insert_txout` for providing external TxOut values for fee calculation ([#21](https://github.com/bitcoindevkit/bdk-wasm/issues/21))
- `BuildFeeBumpError` variants: `TransactionNotFound`, `TransactionConfirmed`, `IrreplaceableTransaction`, `FeeRateUnavailable`, `InvalidOutputIndex`
- `WalletEvent` type and `Wallet::apply_update_events` for reacting to wallet state changes ([#19](https://github.com/bitcoindevkit/bdk-wasm/issues/19))
+- `Transaction::to_bytes` and `Transaction::from_bytes` for consensus serialization ([#38](https://github.com/bitcoindevkit/bdk-wasm/issues/38), [#39](https://github.com/bitcoindevkit/bdk-wasm/pull/39)). Enables BDK ↔ LDK interop (e.g. channel funding transactions)
- Upgrade BDK to 2.3.0 with new API wrappers ([#14](https://github.com/bitcoindevkit/bdk-wasm/pull/14)):
- `Wallet::create_from_two_path_descriptor` (BIP-389 multipath descriptors)
- `TxBuilder::exclude_unconfirmed` and `TxBuilder::exclude_below_confirmations`
-- Dust check methods on `Amount` and `Script` ([#13](https://github.com/bitcoindevkit/bdk-wasm/pull/13))
+- Dust check methods ([#13](https://github.com/bitcoindevkit/bdk-wasm/pull/13)):
+ - `Amount::is_dust(script)` — check whether an amount is below the dust limit for a given script
+ - `ScriptBuf::minimal_non_dust()` — returns the minimum non-dust amount for a script
+ - `ScriptBuf::minimal_non_dust_custom(dust_relay_fee)` — same with a custom dust relay fee rate
- Regtest integration test environment with Docker Compose and Esplora ([#26](https://github.com/bitcoindevkit/bdk-wasm/pull/26))
- `CLAUDE.md` with agent instructions and project conventions ([#14](https://github.com/bitcoindevkit/bdk-wasm/pull/14))
@@ -45,13 +51,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- `bdk_wallet` 2.0.0 → 2.3.0
- `bdk_esplora` 0.22.0 → 0.22.1
-- `wasm-bindgen` 0.2.100 → 0.2.113
+- `wasm-bindgen` 0.2.100 → 0.2.114
- `bitcoin` 0.32.6 → 0.32.8
- `anyhow` 1.0.98 → 1.0.102
- `serde` 1.0.219 → 1.0.228
-- `web-sys` 0.3.77 → 0.3.90
+- `web-sys` 0.3.77 → 0.3.91
- `getrandom` 0.2.16 → 0.2.17
-- `wasm-bindgen-test` 0.3.50 → 0.3.63
+- `wasm-bindgen-test` 0.3.50 → 0.3.64
- CI: `actions/checkout` v4.3.1 → v6.0.2, `actions/setup-node` v4.4.0 → v6.2.0, `actions/cache` v4 → v5.0.3
- CI: `dtolnay/rust-toolchain` v1, `Swatinem/rust-cache` v2.8.2 (unchanged), `actionlint` 1.7.11
- All CI actions SHA-pinned with version comments (including `publish-release.yml`)
@@ -77,5 +83,6 @@ Initial release under the [bitcoindevkit](https://github.com/bitcoindevkit) orga
- CODEOWNERS file
- Automated npm publishing for `@bitcoindevkit/bdk-wallet-web` and `@bitcoindevkit/bdk-wallet-node`
-[Unreleased]: https://github.com/bitcoindevkit/bdk-wasm/compare/v0.2.0...HEAD
+[Unreleased]: https://github.com/bitcoindevkit/bdk-wasm/compare/v0.3.0...HEAD
+[0.3.0]: https://github.com/bitcoindevkit/bdk-wasm/compare/v0.2.0...v0.3.0
[0.2.0]: https://github.com/bitcoindevkit/bdk-wasm/releases/tag/v0.2.0
diff --git a/Cargo.toml b/Cargo.toml
index 855df5a..774b9fe 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "bitcoindevkit"
-version = "0.2.0"
+version = "0.3.0"
repository = "https://github.com/bitcoindevkit/bdk-wasm"
description = "A modern, lightweight, descriptor-based wallet library in WebAssembly for browsers and Node"
keywords = ["bitcoin", "descriptor", "wasm", "browser", "node"]
From d1294b4cd4d8d1c57184da04a9788d6797678fc8 Mon Sep 17 00:00:00 2001
From: Dario Anongba Varela
Date: Mon, 16 Mar 2026 16:34:08 +0000
Subject: [PATCH 2/3] docs: fix README badges and install commands for scoped
npm packages
- Update npm badge URLs from unscoped bdk-wallet-web/node to @bitcoindevkit/bdk-wallet-web/node
- Fix installation commands to use scoped package names
- Update Rust version badge from 1.73.0 to 1.83.0 (matches rust-version in Cargo.toml)
- Fix LICENSE link from master to main branch
---
README.md | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/README.md b/README.md
index 5e38dc2..00407bf 100644
--- a/README.md
+++ b/README.md
@@ -8,10 +8,10 @@
-
-
-
-
+
+
+
+
@@ -42,13 +42,13 @@ For a lightweight library providing stateless utility functions, see [`bitcoinjs
### Browser/Web
```sh
-yarn add bdk-wallet-web
+yarn add @bitcoindevkit/bdk-wallet-web
```
### Node.js
```sh
-yarn add bdk-wallet-node
+yarn add @bitcoindevkit/bdk-wallet-node
```
## Notes on WASM Specific Considerations
From d77d6fa0067a502f28ef22cc9e7623d5c9f38745 Mon Sep 17 00:00:00 2001
From: Dario Anongba Varela
Date: Mon, 16 Mar 2026 17:43:52 +0100
Subject: [PATCH 3/3] release: lock file
---
Cargo.lock | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Cargo.lock b/Cargo.lock
index 2756b8e..6144b64 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -207,7 +207,7 @@ dependencies = [
[[package]]
name = "bitcoindevkit"
-version = "0.2.0"
+version = "0.3.0"
dependencies = [
"anyhow",
"bdk_esplora",