Skip to content

Release bdk-cli 3.0.0 #257

@tvpeter

Description

@tvpeter

Create a new major release

Summary

This release introduces saving and reusing wallet configuration, adds support for non-persisted async payjoin, automatic descriptor generator, and shell completions, amongst other improvements.

Commit

Changelog

  • Add descriptor command for generating descriptors by @AmosOO7 and @tvpeter in 7d3720e
  • Add wallet subcommandconfig for saving and reusing wallet configuration by @tvpeter in ceb9332
  • Add non-persisted async payjoin support by @mehmetefeumit in c6bce58
  • Add completions command to generate shell completions by @va-an in f32fc68
  • Add wallets command to list all saved wallets configs by @tvpeter in 7bf0982
  • Refactor sync kyoto client to be borrowed/referenced by @Mshehu5 in 974c8d5
  • Update continuous_integration and audit workflows by @tvpeter in aba4b95
  • Update --pretty to be used in any position by @va-an in c475363
  • Update bdk_kyoto to v0.15.1 by @rustaceanrob in 70617f9
  • Update documentation to include installation prerequisite by @tvpeter in 0725724
  • Update dependencies bdk_electrum to v0.23.2, bdk_kyoto to v0.15.4, bdk_redb to v0.1.1, clap to v4.6, clap_complete to v4.6, env_logger to v0.11.10, thiserror to v2.0.18, tracing to v0.1.44, toml to v1.1.0, reqwest to v0.13.2, url to v2.5.8 and other transitive dependencies by @tvpeter in fb9fe29
  • Replace coveralls with codecov for coverage reporting by @tvpeter in c475363
  • Fix config test to use any client by @tvpeter in af0d98e
  • Fix enforcing use of 1.0.0-rc.1 payjoin version by @nymius in 6a2e398
  • Fix payjoin documentation by @nymius in a6d22b9
  • Fix duplicate wallet creation in non-persistent path by @Mshehu5 in ba5e349
  • Fix removing MSRV by @va-an in 4347ea2

Checklist

Release numbering must follow Semantic Versioning. These steps assume the current master
branch development version is MAJOR.MINOR.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_MAJOR_MINOR+1, eg. bump_dev_0_22.
  • Bump the bump_dev_MAJOR_MINOR+1 branch to the next development MINOR+1 version.
    • Change the Cargo.toml version value to MAJOR.MINOR+1.0.
    • The commit message should be "Bump version to MAJOR.MINOR+1.0".
  • Create PR and merge the bump_dev_MAJOR_MINOR+1 branch to master.
    • Title PR "Bump version to MAJOR.MINOR+1.0".

On the day of the release

Tag and publish new release:

  • Double check that your local master is up-to-date with the upstream repo.
  • Create a new branch called release/MAJOR.MINOR+1 from master.
  • Add a tag to the HEAD commit in the release/MAJOR.MINOR+1 branch.
    • The tag name should be vMAJOR.MINOR+1.0
    • The first line of the tag message should be "Release MAJOR.MINOR+1.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-cli 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 MAJOR.MINOR+1.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

No labels
No labels

Type

Projects

Status

No status

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions