-
Notifications
You must be signed in to change notification settings - Fork 402
Description
Summary
This release of bdk_chain v0.23.1 fixes a bug in bdk_bitcoind_rpc
mempool transaction detection and emission, adds TxGraph::get_last_evicted
for better transaction eviction tracking, and optimizes bdk-electrum
sync/full_scan performance by batching and caching merkle-proof, script history, and header requests. It also improves reliability by removing unwrap()
and expect()
from bdk-electrum
, updating KeychainTxOutIndex::apply_changeset
to restore spk_cache
before last_revealed
, and adding validation to disallow unconfirmed coinbase transactions. Additionally, bdk-esplora
returns an error if no point of agreement is found in chain_update
, instead of panicking. Additionally, it now includes comprehensive clippy fixes and updated test coverage.
Also released:
- bdk_core
v0.6.1
- bdk_testenv
v0.13.1
- bdk_filestore
v0.21.1
- bitcoind_rpc
v0.21.0
- bdk_electrum
v0.23.1
- bdk_esplora
v0.22.1
Commit
Changelog
- ci: replace grcov by cargo-llvm-cov ci: replace grcov by cargo-llvm-cov #1986
- ci: fix
socket2
pin ci: fixsocket2
pin #2001 - Detect new mempool txs Detect new mempool txs #1988
- fix(ci): pin
socket2@0.6.0
to0.5.10
on MSRV fix(ci): pinsocket2@0.6.0
to0.5.10
on MSRV #1999 - ci: pin
webpki-roots
for MSRV compatibility ci: pinwebpki-roots
for MSRV compatibility #1996 - Add
TxGraph::get_last_evicted
AddTxGraph::get_last_evicted
#1977 - refactor(electrum): remove
unwrap()
s andexpect()
s refactor(electrum): removeunwrap()
s andexpect()
s #1981 - keychain_txout:
apply_changeset
restores spk cache before last revealed keychain_txout:apply_changeset
restores spk cache before last revealed #1993 - Disallow unconfirmed coinbase Disallow unconfirmed coinbase #1976
- How can we be happy if clippy is not? How can we be happy if clippy is not? #1990
- feat: add
justfile
feat: addjustfile
#1979 - esplora:
chain_update
errors if no point of connection esplora:chain_update
errors if no point of connection #1971 - bench: Add
reindex_tx_graph
benchmark bench: Addreindex_tx_graph
benchmark #1968 - test for excluded bounds in outputs_in_range test for excluded bounds in outputs_in_range #1897
- feat(electrum): optimize merkle proof validation with batching feat(electrum): optimize merkle proof validation with batching #1957
- ci: automated update to rustc 1.87.0 ci: automated update to rustc 1.87.0 #1978
- ci: pin
tracing-core
to0.1.33
for msrv ci: pintracing-core
to0.1.33
for msrv #1972
Checklist
Release numbering must follow Semantic Versioning. These steps assume the current master
branch development version is 0.23.1-alpha.
On the day of the patch release
Change the master
branch to the new 0.23.1 version:
- Switch to the
master
branch. - Create a new PR branch called
release/bdk-chain-0.23.1
. - Bump the
release/bdk-chain-0.23.1
branch to the next development 0.23.1 version.- Change the
Cargo.toml
version value to0.23.1
. - Update the
CHANGELOG.md
file. - The commit message should be "Bump version to 0.23.1".
- Change the
- Create PR and merge the
release/bdk-chain-0.23.1
branch tomaster
.- Title PR "chore: bump
bdk_chain
to0.23.1
".
- Title PR "chore: bump
Cherry-pick, tag and publish new 0.23.1
release:
- Merge fix PRs to the
master
branch. - Git cherry-pick fix commits to the
release/bdk-chain-0.23.1
branch to be patched. - Verify fixes in
release/bdk-chain-0.23.1
branch. - Bump the
release/bdk-chain-0.23.1
branch to0.23.1
version.- Change the
Cargo.toml
version value to0.23.1
. - The commit message should be "chore(release): bump version to 0.23.1".
- Change the
- Add a tag to the
HEAD
commit in therelease/bdk-chain-0.23.1
branch.- The tag name should be
v0.23.1
- The first line of the tag message should be "Release 0.23.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.
- Create the release on GitHub.
- Go to "tags", click on the dots on the right and select "Create Release".
- Set the title to
Release chain-0.23.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
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 Mastodon.
- Celebrate 🎉
Metadata
Metadata
Assignees
Labels
Type
Projects
Status