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-alpha.1 #1025

Closed
23 of 24 tasks
notmandatory opened this issue Jul 4, 2023 · 5 comments · Fixed by #1026
Closed
23 of 24 tasks

Release 1.0.0-alpha.1 #1025

notmandatory opened this issue Jul 4, 2023 · 5 comments · Fixed by #1026
Assignees
Labels
release Release related issue or PR
Milestone

Comments

@notmandatory
Copy link
Member

notmandatory commented Jul 4, 2023

Create a new alpha release

Summary

The BDK 1.0.0-alpha release should be used for experimentation only, APIs are still unstable and the code is not fully tested. This alpha.1 release introduces the new ChainOracle struct for more efficient chain syncing. A new std default feature was added for bdk, bdk_chain and bdk_esplora crates; when disabled these crates can be used in no-std projects. BDK 1.0.0-alpha.x docs are now published to docs.rs.

Commit

f4d2a76

Changelog

Fixed

Changed

Added

Checklist

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

Before publishing the release

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

  • Switch to the master branch.
  • Create a new PR branch called bump_dev_1.0.0-alpha.1.
  • Bump the crates versions and README files
    • bdk to 1.0.0-alpha.1.
    • bdk_chain to 0.5.0
    • bdk_electrum to 0.3.0
    • bdk_esplora to 0.3.0
    • bdk_file_store to 0.2.0
  • Bump the example-crates versions and README files
    • example_cli to 0.2.0
    • example_electrum to 0.2.0
    • wallet_electrum_example to 0.2.0
    • wallet_esplora to 0.2.0
    • wallet_esplora_async to 0.2.0
  • Commit the changes with message "Bump version to 1.0.0-alpha.1".
  • Create PR and merge the bump_dev_1.0.0-alpha.1 branch to master.
    • Title PR "Bump version to 1.0.0-alpha.1".

On the day of the release

Tag and publish new release:

  • Add a tag to the HEAD commit in the master branch.
    • The tag name should be v1.0.0-alpha.1
    • The first line of the tag message should be "Release 1.0.0-alpha.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 1.0.0-alpha.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 Nostr.
  • Celebrate 🎉
@notmandatory notmandatory added the release Release related issue or PR label Jul 4, 2023
@notmandatory notmandatory added this to the 1.0.0-alpha.1 milestone Jul 4, 2023
@notmandatory notmandatory self-assigned this Jul 4, 2023
@LLFourn
Copy link
Contributor

LLFourn commented Jul 13, 2023

We need to update bitcoin 0.30.0 and miniscript 10.0.0 to latest versions as well

#916 <-- there's an issue about sending hate mail but I didn't find separate issue for this.

@notmandatory
Copy link
Member Author

@LLFourn we should get on the same page about alpha releases, my hope is that we could do smaller but more frequent alphas to help organize the teams 1.0.0 priorities (especially for reviewers). I put my proposed "top 2-3" things that need to get in for each milestones here: https://github.com/bitcoindevkit/bdk/milestones. Happy to set up a quick chat next week to discuss if you want to do alpha releases differently.

Related to above I think #996 and #1028 should also move to alpha.2 or even alpha.3 milestones since they're really lower priority to get reviewed and merged than #1002 and #1023.

@LLFourn
Copy link
Contributor

LLFourn commented Jul 14, 2023

SGTM @notmandatory. Happy to see there's a strategy!

I mean taking that strategy I think this PR without even #1002 could be alpha.1 if alpha.2 will come shortly after (this would be handy since I am currently having to pin to certain git commits).

@notmandatory
Copy link
Member Author

Once team agrees on priorities for each alpha.x milestone @nondiremanuel will help us manage which PRs get tagged to that milestone to be reviewed/merged first.

@notmandatory
Copy link
Member Author

I'm holding off on the twitter and nostr announcements until we get to more stable beta releases.

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

Successfully merging a pull request may close this issue.

2 participants