Skip to content

Release bdk_chain 0.23.1 #2003

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 🎉

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

releaseRelease related issue or PR

Type

No type

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions