-
Notifications
You must be signed in to change notification settings - Fork 412
Closed
Description
Create a new minor release
Summary
This regular bi-weekly alpha release updates dependencies rust-bitcoin to v0.31.0 and rust-miniscript to v11.0.0 and replaces the deprecated rust-miniscript function max_satisfaction_weight with max_weight_to_satisfy. It also adds chain module improvements needed to simplify syncing with electrum and esplora blockchain clients.
Commit
Changelog
Fixed
- Replace the deprecated max_satisfaction_weight from rust-miniscript to max_weight_to_satisfy. fix: remove deprecated max_satisfaction_weightย #1345
Changed
- Update dependencies: rust-bitcoin to v0.31.0 and rust-miniscript to v11.0.0. Upgrade bitcoin/miniscript dependenciesย #1177
- Changed TxGraph to store transactions as Arc. This allows chain-sources to cheaply keep a copy of already-fetched transactions. Wrap transactions as
Arc<Transaction>inTxGraphย #1373 - Add get and range methods to CheckPoint feat(chain): add
getandrangemethods toCheckPointย #1369- Added get and range methods to CheckPoint (and in turn, LocalChain). This simulates an API where we have implemented a skip list of checkpoints (to implement in the future). This is a better API because we can query for any height or height range with just a checkpoint tip instead of relying on a separate checkpoint index (which needs to live in LocalChain).
- Changed LocalChain to have a faster Eq implementation. We now maintain an xor value of all checkpoint block hashes. We compare this xor value to determine whether two chains are equal.
- Added PartialEq implementation for CheckPoint and local_chain::Update.
- Methods into_tx_graph and into_confirmation_time_tx_graph for RelevantTxids are changed to no longer accept a seen_at parameter. Fix last seen unconfirmedย #1385
- Added method update_last_seen_unconfirmed for TxGraph.
- Added proptest for CheckPoint::range. Introduce proptesting, starting with
CheckPoint::rangeย #1397
Checklist
Release numbering must follow Semantic Versioning. These steps assume the current master branch development version is 1.0.0-alpha.8.
On the day of the feature freeze
Change the master branch to the 1.0.0-alpha.9 version:
- Switch to the
masterbranch. - Create a new PR branch called
bump_dev_1.0.0_alpha.8. - Bump the
bump_dev_1.0.0_alpha.9branch to the next development MINOR+1 version.- Bump the modified crates versions in their
Cargo.tomlfiles.- bdk
- bdk_bitcoind_rpc
- bdk_electrum
- bdk_esplora
- bdk_file_store
- bdk_testenv
- The commit message should be:
Bump bdk version to 1.0.0-alpha.9 bdk_chain to 0.12.0 bdk_bitcoind_rpc to 0.8.0 bdk_electrum to 0.11.0 bdk_esplora to 0.11.0 bdk_file_store to 0.9.0 bdk_testenv to 0.2.0
- Bump the modified crates versions in their
- Create PR and merge the
bump_dev_1.0.0-alpha.9branch tomaster. Bump bdk version to 1.0.0-alpha.9ย #1404- Title PR "Bump bdk version to 1.0.0-alpha.9".
On the day of the release
Tag and publish new release:
- Add a tag to the
HEADcommit in themasterbranch.- The tag name should be
v1.0.0-alpha.9 - The first line of the tag message should be "Release 1.0.0-alpha.9".
- 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
--signflag.
- The tag name should be
- Wait for the CI to finish one last time.
- Push the new tag to the
bitcoindevkit/bdkrepo. - Publish all the updated crates to crates.io.
- bdk_chain
- bdk_testenv
- bdk_bitcoind_rpc
- bdk_electrum
- bdk_esplora
- bdk_file_store
- bdk
- 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.9. - 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.0release 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 ๐
storopoli
Metadata
Metadata
Assignees
Labels
releaseRelease related issue or PRRelease related issue or PR
Type
Projects
Status
Done