-
Notifications
You must be signed in to change notification settings - Fork 396
Closed
Description
Summary
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.
Commit
Changelog
- test(core): add unit tests for
merge
trait by @pluveto in test(core): add unit tests formerge
trait #1738 bdk_electrum
: Handle negative heights properly by @evanlinjin inbdk_electrum
: Handle negative heights properly #1837- Make full-scan/sync flow easier to reason about. by @evanlinjin in Make full-scan/sync flow easier to reason about. #1838
- docs: update CONTRIBUTING.md with section for new contributors by @notmandatory in docs: update CONTRIBUTING.md with section for new contributors #1871
- doc: remove 1.0 roadmap stuff and fix broken links from README by @luisschwab in doc: remove 1.0 roadmap stuff and fix broken links from README #1882
- doc: remove persist crate from README by @luisschwab in doc: remove persist crate from README #1884
- Introduce
evicted-at
/last-evicted
timestamps by @evanlinjin in Introduceevicted-at
/last-evicted
timestamps #1839 - example_cli: add feerate option to psbt new cmd by @ValuedMammal in example_cli: add feerate option to psbt new cmd #1840
- deps: bump
miniscript
to12.3.1
by @LagginTimes in chore: bumpminiscript
to12.3.1
#1924 - chore: remove bdk_wallet and update readme and ci workflow by @notmandatory in chore: remove bdk_wallet and update readme and ci workflow #1928
- feat(chain): Add method for constructing TxGraph from a ChangeSet by @uvuvuwu in feat(chain): Add method for constructing TxGraph from a ChangeSet #1930
- fix: Canonicalization should handle transactions that spend from two conflicting transactions by @evanlinjin in Canonicalization should handle transactions that spend from two conflicting transactions #1917
- Introduce canonicalization parameters by @evanlinjin in Introduce canonicalization parameters #1808
- feat(rpc)!: Update Emitter::mempool to support evicted_at by @LagginTimes in feat(rpc)!: Update
Emitter::mempool
to supportevicted_at
#1857
Checklist
Release numbering must follow Semantic Versioning. These steps assume the current master
development 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
- Bump the modified crate versions in the
- Create PR and merge the
release_0_22_0
branch tomaster
.- Title PR "Release
bdk_chain
v0.22.0". Releasebdk_chain
v0.22.0 #1951
- Title PR "Release
- Wait for CI to finish one last time.
Tag and publish the new release:
- Add a tag to the
HEAD
commit of themaster
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.
- Set the title to
- 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. 🎉
Metadata
Metadata
Assignees
Labels
releaseRelease related issue or PRRelease related issue or PR
Type
Projects
Status
Done