Closed
Description
Create a new major (beta) release
Summary
The primary user facing changes are re-enabling single descriptor wallets and renaming LoadParams methods to be more explict. Wallet persistence was also simplified and blockchain clients no longer depend on bdk_chain.
Commit
Changelog
- ci: pin tokio to 1.38.1 to support MSRV 1.63. ci: pin tokio to 1.38.1 to support MSRV 1.63 #1524
- fix: typos. fix: typos #1529
- chore: fix clippy lints. chore: fix clippy lints #1530
- bdk_wallet: Don't reimplement descriptor checksum, use the one from rust-miniscript. bdk_wallet: Don't reimplement descriptor checksum, use the one from rust-miniscript #1523
- Remove crate-renaming. Remove crate-renaming #1544
- example: Update
example_cli
and retire old nursery crates. example: Updateexample_cli
and retire old nursery crates #1495 - feat(testenv): Add method
new_with_config
. feat(testenv): Add methodnew_with_config
#1545 - test(electrum): Test sync in reorg and no-reorg situations. test(electrum): Test sync in reorg and no-reorg situations #1535
- Add documentation for Electrum's full_scan/sync. Add documentation for Electrum's full_scan/sync #1494
- Enable selecting use-rustls-ring feature on electrum client. Enable selecting use-rustls-ring feature on electrum client #1491
- [wallet] Enable support for single descriptor wallets. [wallet] Enable support for single descriptor wallets #1533
- Allow opting out of getting
LocalChain
updates withFullScanRequest
/SyncRequest
structures. Allow opting out of gettingLocalChain
updates withFullScanRequest
/SyncRequest
structures #1478 - Use explicit names for wallet builder methods that validate rather than set. Use explicit names for wallet builder methods that validate rather than set #1537
- fix(example_cli): add bitcoin and rand dependencies. fix(example_cli): add bitcoin and rand dependencies #1549
- Simplify wallet persistence. Simplify wallet persistence #1547
- Derive
Clone
onAddressInfo
. DeriveClone
onAddressInfo
#1560 - fix(wallet)!: make
LoadParams
implicitly satisfySend
. #/1562 - ci: add cron-update-rust.yml. ci: add cron-update-rust.yml #1564
- Introduce
tx_graph::Update
and simplifyTxGraph
update logic. Introducetx_graph::Update
and simplifyTxGraph
update logic #1568 - Introduce
bdk_core
. Introducebdk_core
#1569
Checklist
Release numbering must follow Semantic Versioning. These steps assume the current master
branch development version is 1.0.0-beta.1.
On the day of the feature freeze
Change the master
branch to the 1.0.0-beta.2 version:
- Ensure all alpha milestone issues and PRs closed, archive them on the project board.
- Switch to the
master
branch. - Create a new PR branch called
release/bump_dev_1.0.0_beta.2
. - Create a "draft" release page and release notes comparing master commmit with prior tag
v1.0.0-beta.1
- Bump the
bump_dev_1.0.0_beta.2
branch to the next development version.- Bump the modified crates versions in their
Cargo.toml
files. [update this list with only changed crates]- bdk_chain
- bdk_bitcoind_rpc
- bdk_electrum
- bdk_esplora
- bdk_file_store
- bdk_testenv
- bdk_wallet
- bdk_hwi
- The commit message should be: [update this list with only changed crates]
Bump bdk version to 1.0.0-beta.2 bdk_chain to 0.18.0 bdk_bitcoind_rpc to 0.14.0 bdk_electrum to 0.17.0 bdk_esplora to 0.17.0 bdk_file_store to 0.15.0 bdk_testenv to 0.8.0 bdk_hwi to 0.5.0
- Bump the modified crates versions in their
- Create PR and merge the
release/bump_dev_1.0.0-beta.2
branch tomaster
. Bump bdk version to 1.0.0-beta.2 #1572- Title PR "Bump bdk_wallet version to 1.0.0-beta.2".
On the day of the release
Tag and publish new release:
- Add a tag to the
HEAD
commit in themaster
branch.- The tag name should be
v1.0.0-beta.2
- The first line of the tag message should be "Release 1.0.0-beta.2".
- In the body of the tag message put a copy of the Summary and Changelog for the release.
- Make sure the tag is signed, for extra safety use the explicit
--sign
flag.
- The tag name should be
- Wait for the CI to finish one last time.
- Push the new tag to the
bitcoindevkit/bdk
repo. - Publish all the updated crates to crates.io. [update this list with only changed crates]
- bdk_core
- bdk_chain
- bdk_testenv
- bdk_bitcoind_rpc
- bdk_electrum
- bdk_esplora
- bdk_file_store
- bdk_wallet
- bdk_hwi
- Create the release on GitHub.
- Go to "tags", click on the dots on the right and select "Create Release".
- Set the title to
Release 1.0.0-beta.2
. - In the release notes body put the Summary and Changelog.
- Use the "+ Auto-generate release notes" button to add details from included PRs.
- Until we reach a final
1.0.0
release check the "Pre-release" box.
- Make sure the new release shows up on crates.io and that the docs are built correctly on docs.rs.
- Announce the release, using the Summary, on Discord, Twitter and Nostr.
- Celebrate 🎉
Metadata
Metadata
Assignees
Type
Projects
Status