-
Notifications
You must be signed in to change notification settings - Fork 403
Closed
Description
Create a new major (beta) release
Summary
This release includes the first beta version of bdk_wallet
with a stable 1.0.0 API. The changes in this version include reworked wallet peristence, changeset, and construction, optional user provided RNG, custom tx sorting, and use of merkle proofs in bdk_electrum.
Commit
Changelog
- fix(wallet)!: Simplify
SignOptions
and improve finalization logic. fix(wallet)!: SimplifySignOptions
and improve finalization logic #1476 - feat(wallet): Allow user provided RNG, make rand an optional dependency. feat(wallet): Allow user provided RNG, make rand an optional dependency #1395
- refactor(wallet): Use Psbt::sighash_ecdsa for computing sighashes. refactor(wallet): Use Psbt::sighash_ecdsa for computing sighashes #1424
- refactor(wallet)!: Use
Weight
type instead ofusize
. refactor(wallet)!: UseWeight
type instead ofusize
#1468 - refactor(wallet): Remove usage of
blockdata::
from bitcoin paths. refactor(wallet): Remove usage ofblockdata::
from bitcoin paths #1490 - refactor(chain): calculate DescriptorId as the sha256 hash of spk at index 0. refactor(chain): calculate DescriptorId as the sha256 hash of spk at index 0 #1486
- refactor(chain)!: Change tx_last_seen to
Option<u64>
. refactor(chain)!: Change tx_last_seen toOption<u64>
#1416 - refactor(wallet)!: Add support for custom sorting and deprecate BIP69. refactor(wallet)!: Add support for custom sorting and deprecate BIP69 #1487
- refactor(chain)!: Create module
indexer
. refactor(chain)!: Create moduleindexer
#1493 - chore(chain)!: Rename
Append
toMerge
. chore(chain)!: RenameAppend
toMerge
#1502 - refactor(wallet)!: Simplify public_descriptor(), remove redundant function. refactor(wallet)!: Simplify public_descriptor(), remove redundant function #1503
- ci: pin cc dependency version to build with rust 1.63. ci: pin cc dependency version to build with rust 1.63 #1505
- feat(electrum)!: Update
bdk_electrum
to use merkle proofs. feat(electrum)!: Updatebdk_electrum
to use merkle proofs #1489 - refactor(wallet)!: rework persistence, changeset, and construction. refactor(wallet)!: rework persistence, changeset, and construction #1514
- refactor(chain)!: Update KeychainTxOutIndex methods to use owned K and ScriptBuf. refactor(chain)!: Update KeychainTxOutIndex methods to use owned K and ScriptBuf #1506
Checklist
Release numbering must follow Semantic Versioning. These steps assume the current master
branch development version is 1.0.0-alpha.13.
On the day of the feature freeze
Change the master
branch to the 1.0.0-beta.1 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.1
. - 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.1
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.1 bdk_chain to 0.17.0 bdk_bitcoind_rpc to 0.13.0 bdk_electrum to 0.16.0 bdk_esplora to 0.16.0 bdk_file_store to 0.14.0 bdk_testenv to 0.7.0 bdk_hwi to 0.4.0
- Bump the modified crates versions in their
- Create PR and merge the
release/bump_dev_1.0.0-beta.1
branch tomaster
. Bump bdk version to 1.0.0-beta.1 #1522- Title PR "Bump bdk_wallet version to 1.0.0-beta.1".
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.1
- The first line of the tag message should be "Release 1.0.0-beta.1".
- 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_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.1
. - 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 🎉
nondiremanuel, storopoli, jaoleal and oleonardolima
Metadata
Metadata
Assignees
Labels
releaseRelease related issue or PRRelease related issue or PR
Type
Projects
Status
Done