Skip to content

Release bdk_chain 0.23.1 #2003

@oleonardolima

Description

@oleonardolima

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

3c57999

Changelog

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 to 0.23.1.
    • Update the CHANGELOG.md file.
    • The commit message should be "Bump version to 0.23.1".
  • Create PR and merge the release/bdk-chain-0.23.1 branch to master.
    • Title PR "chore: bump bdk_chain to 0.23.1".

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 to 0.23.1 version.
    • Change the Cargo.toml version value to 0.23.1.
    • The commit message should be "chore(release): bump version to 0.23.1".
  • Add a tag to the HEAD commit in the release/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.
  • 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

releaseRelease related issue or PR

Type

No type

Projects

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions