Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.0.0-beta.6 #1771

Closed
32 tasks done
notmandatory opened this issue Dec 11, 2024 · 0 comments
Closed
32 tasks done

Release 1.0.0-beta.6 #1771

notmandatory opened this issue Dec 11, 2024 · 0 comments
Assignees
Labels
release Release related issue or PR
Milestone

Comments

@notmandatory
Copy link
Member

notmandatory commented Dec 11, 2024

Summary

This is the final "beta" test release before a final bdk_wallet 1.0.0 version. Changes include small bug fixes and API improvements plus an improved algorithm for determining which transactions are in the current best "canonical" block chain. The new canonicalization algorithm processes the transaction graph in linear time versus the prior quadratic time algorithm.

Commit

606a2b0

Changelog

Checklist

Release numbering must follow Semantic Versioning. These steps assume the current master branch development version is v1.0.0-beta.5.

On the day of the feature freeze

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

  • Ensure all alpha milestone issues and PRs closed, archive them on the project board.
  • Switch to the master branch.
  • Create a new PR branch called release/bump_dev_1.0.0_beta.6.
  • Create a "draft" release page and release notes comparing master commmit with prior tag v1.0.0-beta.5
  • Determine which crates need a major release bump and which only need a patch release by looking at the git log. cargo-semver-checks can also help with this
    cargo semver-checks --baseline-rev <last-tag>
  • Bump the bump_dev_1.0.0_beta.6 branch to the next development version.
    • Bump the modified crates versions in their Cargo.toml files. [update this list with only changed crates]

      • bdk_core
      • bdk_chain
      • bdk_bitcoind_rpc
      • bdk_electrum
      • bdk_esplora
      • bdk_file_store
      • bdk_testenv
      • bdk_wallet
    • The commit message should be: [update this list with only changed crates]

      Bump bdk_wallet version to 1.0.0-beta.6
      
      bdk_core to 0.4.0
      bdk_chain to 0.21.0
      bdk_bitcoind_rpc to 0.17.0
      bdk_electrum to 0.20.0
      bdk_esplora to 0.20.0
      bdk_file_store to 0.18.0
      bdk_testenv to 0.11.0
      
  • Create PR and merge the release/bump_dev_1.0.0_beta.6 branch to master. Bump bdk_wallet version to 1.0.0-beta.6 #1772
    • Title PR "Bump bdk_wallet version to 1.0.0-beta.6".

On the day of the release

Tag and publish new release:

  • Add a tag to the HEAD commit in the master branch.
    • git tag v1.0.0-beta.6 --sign -e
    • The tag name should be v1.0.0-beta.6
    • The first line of the tag message should be "Release 1.0.0-beta.6".
    • 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.
  • Verify the new tag with git tag -v v1.0.0-beta.6
  • Wait for the CI to finish one last time.
  • Push the new tag to the bitcoindevkit/bdk repo.
    • git push upstream --tag v1.0.0-beta.6
  • Publish all the updated crates to crates.io. [update this list with only changed crates]
    • cargo publish -p <crate name>
    • bdk_core
    • bdk_chain
    • bdk_testenv
    • bdk_bitcoind_rpc
    • bdk_electrum
    • bdk_esplora
    • bdk_file_store
    • bdk_wallet
  • Create the release on GitHub.
    • Go to "tags", click on the dots on the right and select "Create Release".
    • Set the title to Release 1.0.0-beta.6.
    • 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 final 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 Nostr.
  • Celebrate 🎉
@notmandatory notmandatory added the release Release related issue or PR label Dec 11, 2024
@notmandatory notmandatory added this to the 1.0.0-beta milestone Dec 11, 2024
@notmandatory notmandatory self-assigned this Dec 11, 2024
@notmandatory notmandatory added this to BDK Dec 11, 2024
@notmandatory notmandatory moved this to In Progress in BDK Dec 11, 2024
@notmandatory notmandatory moved this from In Progress to Needs Review in BDK Dec 12, 2024
@notmandatory notmandatory moved this from Needs Review to Done in BDK Dec 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release Release related issue or PR
Projects
Archived in project
Development

No branches or pull requests

1 participant