Skip to content

Release 0.25.0 #802

@notmandatory

Description

@notmandatory

Create a new minor release

Summary

This release fixes slow sync time and big script_pubkeys table with SQLite, the wallet rescan height for the FullyNodedExport and setting the network for keys in the KeyMap when using descriptor templates. Also added are new blockchain and mnemonic examples.

Commit

d288cbb

Changelog

Fixed

  • Slow sync time and big script_pubkeys table with SQLite.
  • Wallet rescan height for the FullyNodedExport.
  • Setting the network for keys in the KeyMap when using descriptor templates.

Added

  • Examples for connecting to Esplora, Electrum Server, Neutrino and Bitcoin Core.
  • Example for using a mnemonic in a descriptors.

Checklist

Release numbering must follow Semantic Versioning. These steps assume the current master
branch development version is 0.24.0.

On the day of the feature freeze

Change the master branch to the next MINOR+1 version:

  • Switch to the master branch.
  • Create a new PR branch called bump_dev_0_25.
  • Bump the bump_dev_0_25 branch to the next development MINOR+1 version.
    • Change the Cargo.toml version value to 0.25.0.
    • The commit message should be "Bump version to 0.25.0".
  • Create PR and merge the bump_dev_0_25 branch to master. Bump version to 0.25.0 #803
    • Title PR "Bump version to 0.25.0".

Create a new release branch and release candidate tag:

  • Double check that your local master is up-to-date with the upstream repo.
  • Create a new branch called release/0.25 from master.
  • Bump the release/0.25 branch to 0.25.0-rc.1 version.
    • Change the Cargo.toml version value to 0.25.0-rc.1.
    • The commit message should be "Bump version to 0.25.0-rc.1".
  • Add a tag to the HEAD commit in the release/0.25 branch.
    • The tag name should be v0.25.0-rc.1
    • Use message "Release 0.25.0 rc.1".
    • Make sure the tag is signed, for extra safety use the explicit --sign flag.
  • Push the release/MAJOR.MINOR branch and new tag to the bitcoindevkit/bdk repo.
    • Use git push --tags option to push the new v0.25.0-rc.1 tag.

If any issues need to be fixed before the 0.25.0 version is released:

  • Merge fix PRs to the master branch.
  • Git cherry-pick fix commits to the release/0.25 branch.
  • Verify fixes in release/0.25 branch.
  • Bump the release/0.25 branch to 0.25.0-rc.x+1 version.
    • Change the Cargo.toml version value to 0.25.0-rc.x+1.
    • The commit message should be "Bump version to 0.25.0-rc.x+1".
  • Add a tag to the HEAD commit in the release/0.25 branch.
    • The tag name should be v0.25.0-rc.x+1, where x is the current release candidate number.
    • Use tag message "Release 0.25.0 rc.x+1".
    • Make sure the tag is signed, for extra safety use the explicit --sign flag.
  • Push the new tag to the bitcoindevkit/bdk repo.
    • Use git push --tags option to push the new v0.25.0-rc.x+1 tag.

On the day of the release

Tag and publish new release:

  • Bump the release/0.25 branch to 0.25.0 version.
    • Change the Cargo.toml version value to 0.25.0.
    • The commit message should be "Bump version to 0.25.0".
  • Add a tag to the HEAD commit in the release/0.25 branch.
    • The tag name should be v0.25.0
    • The first line of the tag message should be "Release 0.25.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 --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 0.25.0.
    • 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

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions