You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This release of bdk_chain 0.22.0 includes a better syncing experience for electrum and esplora, relevant transactions that are missing can now be evicted using SyncRequestBuilder. CanonicalizationParams can be used to modify the behavior of CanonicalIter for a given query. Updated dependency on miniscript to 12.3.1 along with various fixes and improvements.
Release numbering must follow Semantic Versioning. These steps assume the current masterdevelopment version is 0.22.0-alpha.0.
On the day of the release
Ensure all milestone issues and PRs closed, archive them on the project board.
Switch to the master branch. git switch master
Make sure that your local master is up-to-date with upstream. git pull
Create a new PR branch called release_0_22_0.
Create a new Draft release page and release notes comparing the HEAD commit with the previous tag chain-0.21.1
Determine which crates need a major release bump and which need a minor/patch release by looking at the git log. cargo-semver-checks can also help with this. cargo semver-checks --baseline-rev chain-0.21.1
Bump the release_0_22_0 branch to the next version.
Bump the modified crate versions in the 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
For crates that changed update their CHANGELOG.md files, see keep a changelog.
The commit message should be: [update this list with only changed crates]
Bump bdk_chain version to 0.22.0
bdk_core to 0.5
bdk_bitcoind_rpc to 0.19.0
bdk_electrum to 0.22.0
bdk_esplora to 0.21.0
bdk_file_store to 0.20.0
bdk_testenv to 0.12.0
Create PR and merge the release_0_22_0 branch to master.
Add a tag to the HEAD commit of the master branch.
git tag <tagname> --sign --edit
The tag name should be chain-0.22.0
The title of the tag message should be "Release chain-0.22.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 by using the explicit --sign flag.
Verify the new tag git tag -v chain-0.22.0
Add similar tags for other crates that changed versions [update this list with only changed crates].
core-0.5.0
chain-0.22.0
bitcoind_rpc-0.19.0
electrum-0.22.0
esplora-0.21.0
file_store-0.20.0
testenv-0.12.0
Push the new tags to the bitcoindevkit/bdk repo. git push --tags
Publish all of the updated crates to crates.io [update this list with only changed crates].
(Note: must publish in dependency order) cargo publish -p <package>
bdk_core
bdk_chain
bdk_bitcoind_rpc
bdk_electrum
bdk_esplora
bdk_file_store
bdk_testenv
Finish creating the release on GitHub.
Set the title to Release chain-0.22.0.
In the release notes body put the Summary and Changelog.
Use the "Generate release notes" button to add details from included PRs.
This is the latest release, check the "Set as the latest release" box.
Make sure the new release shows up on crates.io and that the docs are built correctly on docs.rs.
Announce the releases using the Summary on Discord and social media. 🎉
Summary
This release of
bdk_chain0.22.0 includes a better syncing experience for electrum and esplora, relevant transactions that are missing can now be evicted usingSyncRequestBuilder.CanonicalizationParamscan be used to modify the behavior ofCanonicalIterfor a given query. Updated dependency onminiscriptto 12.3.1 along with various fixes and improvements.Commit
eeedb4e
Changelog
mergetrait by @pluveto in test(core): add unit tests formergetrait #1738bdk_electrum: Handle negative heights properly by @evanlinjin inbdk_electrum: Handle negative heights properly #1837evicted-at/last-evictedtimestamps by @evanlinjin in Introduceevicted-at/last-evictedtimestamps #1839miniscriptto12.3.1by @LagginTimes in chore: bumpminiscriptto12.3.1#1924Emitter::mempoolto supportevicted_at#1857Checklist
Release numbering must follow Semantic Versioning. These steps assume the current
masterdevelopment version is 0.22.0-alpha.0.On the day of the release
masterbranch.git switch mastermasteris up-to-date with upstream.git pullrelease_0_22_0.chain-0.21.1cargo-semver-checkscan also help with this.cargo semver-checks --baseline-rev chain-0.21.1release_0_22_0branch to the next version.Cargo.tomlfiles [update this list with only changed crates].CHANGELOG.mdfiles, see keep a changelog.release_0_22_0branch tomaster.bdk_chainv0.22.0". Releasebdk_chainv0.22.0 #1951Tag and publish the new release:
HEADcommit of themasterbranch.git tag <tagname> --sign --editchain-0.22.0--signflag.git tag -v chain-0.22.0bitcoindevkit/bdkrepo.git push --tags(Note: must publish in dependency order)
cargo publish -p <package>Release chain-0.22.0.