-
Notifications
You must be signed in to change notification settings - Fork 418
Closed
Description
Summary
In this release of bdk_wallet 1.2.0 The TxBuilder::add_recipient function now accepts anything that implements Into<ScriptBuf>. The wallet considers a coinbase output eligible for selection if it will mature in the next block. Wallets persisted with a rusqlite::Connection are checked to be thread-safe. The bdk_chain dependency is updated to version 0.21.1, plus a number of internal cleanups.
Commit
Changelog
- Fix off-by-one error checking coinbase maturity in optional UTxOs by @nymius in Fix off-by-one error checking coinbase maturity in optional UTxOs #1830
- bdk_electrum: Handle negative heights properly by @evanlinjin in
bdk_electrum: Handle negative heights properly #1837 - wallet: Bump bitcoin dependency to v0.32.4 by @stevenroose in wallet: Bump bitcoin dependency to v0.32.4 #1853
- bdk_wallet: Pin bdk_chain version to latest release by @evanlinjin in
bdk_wallet: Pinbdk_chainversion to latest release #1860 - Make full-scan/sync flow easier to reason about. by @evanlinjin in Make full-scan/sync flow easier to reason about. #1838
- Refactor/use iterators to preselect utxos by @nymius in Refactor/use iterators to preselect utxos #1798
- Refactor file store by @nymius in Refactor file store #1684
- docs: update CONTRIBUTING.md with section for new contributors by @notmandatory in docs: update CONTRIBUTING.md with section for new contributors #1871
- fix(examples): make regtest default on wallet_example_rpc by @luisschwab in fix(examples): make regtest default on wallet_example_rpc #1872
- chore(examples): make change descriptor optional on example_wallet_rpc by @luisschwab in chore(examples): make change descriptor optional on example_wallet_rpc #1865
- Generalize add_recipient to accept Address by @rustaceanrob in Generalize
add_recipientto acceptAddress#1841 - doc: remove 1.0 roadmap stuff and fix broken links from README by @luisschwab in doc: remove 1.0 roadmap stuff and fix broken links from README #1882
- doc: remove persist crate from README by @luisschwab in doc: remove persist crate from README #1884
- fix(wallet): allow PersistedWallet to be Send + Sync by @notmandatory in fix(wallet): allow PersistedWallet to be Send + Sync #1874
- Introduce evicted-at/last-evicted timestamps by @evanlinjin in Introduce
evicted-at/last-evictedtimestamps #1839 - example_cli: add feerate option to psbt new cmd by @ValuedMammal in example_cli: add feerate option to psbt new cmd #1840
- chore: bump miniscript to 12.3.1 by @LagginTimes in chore: bump
miniscriptto12.3.1#1924
Checklist
Release numbering must follow Semantic Versioning. These steps assume the current master branch development version is v1.1.0.
On the day of the feature freeze
Change the master branch to the next MINOR+1 version:
- Ensure all milestone issues and PRs closed, archive them on the project board.
- Switch to the
masterbranch. - Create a new PR branch called
release/1.2.0. - Create a "draft" release page and release notes comparing master commit with prior tag
v1.1.0 - Determine which crates need a major release bump and which only need a patch release by looking at the git log.
cargo-semver-checkscan also help with this
cargo semver-checks --baseline-rev <prev-tag> - Bump the
bump_dev_1.2.0branch to the next development version.- Bump the modified crates versions in their
Cargo.tomlfiles. [update this list with only changed crates]- bdk_core
- bdk_chain
- bdk_bitcoind_rpc
- bdk_electrum
- bdk_esplora
- bdk_file_store
- bdk_testenv
- bdk_wallet
- For crates that changed update their
CHANGELOG.mdfiles, see "keep a changelog". - The commit message should be: [update this list with only changed crates]
Bump bdk_wallet version to 1.2.0 bdk_core to TBD bdk_chain to TBD bdk_bitcoind_rpc to TBD bdk_electrum to TBD bdk_esplora to TBD bdk_file_store to 0.19.0 bdk_testenv to TBD
- Bump the modified crates versions in their
- Create PR and merge the
release/bump_dev_1.2.0branch tomaster.- Title PR "Bump bdk_wallet version to 1.2.0". chore: bump bdk_wallet to 1.2.0 #1925
On the day of the release
Tag and publish new release:
- Add a tag to the
HEADcommit in themasterbranch.git tag wallet-1.2.0 --sign --edit- The tag name should be
wallet-1.2.0 - The first line of the tag message should be "Release wallet-1.2.0".
- 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
--signflag.
- Verify the new tag with
git tag -v wallet-1.2.0 - Add similar tags for other crates that changed versions.
- core
- chain
- bitcoind_rpc
- electrum
- esplora
- file_store-0.19.0
- testenv
- Wait for the CI to finish one last time.
- Push the new tags to the
bitcoindevkit/bdkrepo.git push upstream --tags
- Publish all the updated crates to crates.io. [update this list with only changed crates]
cargo publish -p <crate name>- bdk_core
- bdk_chain
- bdk_testenv
- bdk_bitcoind_rpc
- bdk_electrum
- bdk_esplora
- bdk_file_store
- bdk_wallet
- Create the release on GitHub.
- Go to "tags", click on the dots on the right and select "Create Release".
- Set the title to
Release wallet-1.2.0. - In the release notes body put the Summary and Changelog.
- Use the "+ Auto-generate release notes" button to add details from included PRs.
- This is the final
1.2.0release, do not 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 releases, using the Summary, on Discord, Twitter and Nostr.
- Celebrate 🎉
Metadata
Metadata
Assignees
Labels
releaseRelease related issue or PRRelease related issue or PR
Type
Projects
Status
Done