-
Notifications
You must be signed in to change notification settings - Fork 107
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
chore: Release v1.8.0 #8655
chore: Release v1.8.0 #8655
Conversation
I set the |
PRs excluded from the changelog:
|
I added the |
Rebased onto |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The changelog is looking good!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything here looks good to me pending a full sync test, I left some suggestions for the changelog, but none of them are blockers.
The Re-running the Windows coverage tests and opened #8658 to address the port conflict issue in the |
Co-authored-by: Arya <[email protected]>
Thank you for the great and thorough suggestions. I applied all of them. |
Output got cut off a bit, but installing and running Zebrad from crates.io works: ➜ zebra git:(main) cargo install --locked --force --version 1.8.0 zebrad && ~/.cargo/bin/zebrad
Downloaded zebrad v1.8.0
Downloaded 1 crate (260.1 KB) in 0.74s
Updating crates.io index
Installing zebrad v1.8.0
Updating crates.io index
Updating crates.io index
Compiling libc v0.2.155
Compiling proc-macro2 v1.0.86
Compiling unicode-ident v1.0.12
Compiling cfg-if v1.0.0
Compiling autocfg v1.3.0
Compiling version_check v0.9.4
Compiling serde v1.0.203
Compiling once_cell v1.19.0
Compiling subtle v2.4.1
Compiling typenum v1.17.0
Compiling scopeguard v1.2.0
Compiling pin-project-lite v0.2.14
Compiling log v0.4.21
Compiling memchr v2.7.4
Compiling tracing-core v0.1.32
Compiling ppv-lite86 v0.2.17
Compiling nonempty v0.7.0
Compiling generic-array v0.14.7
Compiling byteorder v1.5.0
Compiling lock_api v0.4.12
Compiling arrayvec v0.7.4
Compiling constant_time_eq v0.3.0
Compiling radium v0.7.0
Compiling arrayref v0.3.7
Compiling memuse v0.2.1
Compiling tap v1.0.1
Compiling crossbeam-utils v0.8.20
Compiling wyz v0.5.1
Compiling thiserror v1.0.61
Compiling funty v2.0.0
Compiling futures-core v0.3.30
Compiling futures-sink v0.3.30
Compiling blake2b_simd v1.0.2
Compiling semver v1.0.23
Compiling num-traits v0.2.19
Compiling either v1.12.0
Compiling quote v1.0.36
Compiling syn v2.0.68
Compiling static_assertions v1.1.0
Compiling slab v0.4.9
Compiling ahash v0.8.11
Compiling bytes v1.6.0
Compiling spin v0.9.8
Compiling bitvec v1.0.1
Compiling rayon-core v1.12.1
Compiling lazy_static v1.5.0
Compiling bitflags v2.6.0
Compiling jobserver v0.1.31
Compiling getrandom v0.2.15
Compiling num_cpus v1.16.0
Compiling zerocopy v0.7.34
Compiling cc v1.0.100
Compiling rand_core v0.6.4
Compiling crossbeam-epoch v0.9.18
Compiling rand_chacha v0.3.1
Compiling mio v0.8.11
Compiling crossbeam-deque v0.8.5
Compiling rand v0.8.5
Compiling cpufeatures v0.2.12
Compiling signal-hook-registry v1.4.2
Compiling socket2 v0.5.7
Compiling crypto-common v0.1.6
Compiling block-buffer v0.10.4
Compiling inout v0.1.3
Compiling digest v0.10.7
Compiling aho-corasick v1.1.3
Compiling futures-channel v0.3.30
Compiling pin-utils v0.1.0
Compiling futures-task v0.3.30
Compiling regex-syntax v0.8.4
Compiling futures-io v0.3.30
Compiling rayon v1.10.0
Compiling tinyvec_macros v0.1.1
Compiling allocator-api2 v0.2.18
Compiling glob v0.3.1
Compiling crunchy v0.2.2
Compiling itoa v1.0.11
Compiling hashbrown v0.14.5
Compiling clang-sys v1.8.1
Compiling tinyvec v1.6.1
Compiling rustix v0.38.34
Compiling prettyplease v0.2.20
Compiling unicode-normalization v0.1.23
Compiling ff v0.13.0
Compiling universal-hash v0.5.1
Compiling errno v0.3.9
Compiling group v0.13.0
Compiling smallvec v1.13.2
Compiling equivalent v1.0.1
Compiling minimal-lexical v0.2.1
Compiling libm v0.2.8
Compiling ident_case v1.0.1
Compiling pairing v0.23.0
Compiling pasta_curves v0.5.1
Compiling opaque-debug v0.3.1
Compiling bls12_381 v0.8.0
Compiling poly1305 v0.8.0
Compiling nom v7.1.3
Compiling secp256k1-sys v0.8.1
Compiling libloading v0.8.4
Compiling sha2 v0.10.8
Compiling regex-automata v0.4.7
Compiling jubjub v0.10.0
Compiling aead v0.5.2
Compiling num-integer v0.1.46
Compiling home v0.5.9
Compiling litrs v0.4.1
Compiling bindgen v0.69.4
Compiling cexpr v0.6.0
Compiling num-bigint v0.4.5
Compiling which v4.4.2
Compiling document-features v0.2.8
Compiling maybe-rayon v0.1.1
Compiling regex v1.10.5
Compiling serde_derive v1.0.203
Compiling zeroize_derive v1.4.2
Compiling zeroize v1.8.1
Compiling tracing-attributes v0.1.27
Compiling thiserror-impl v1.0.61
Compiling cipher v0.4.4
Compiling futures-macro v0.3.30
Compiling tokio-macros v2.3.0
Compiling tokio v1.38.0
Compiling futures-util v0.3.30
Compiling chacha20 v0.9.1
Compiling chacha20poly1305 v0.10.1
Compiling cbc v0.1.2
Compiling tracing v0.1.40
Compiling itertools v0.12.1
Compiling ring v0.16.20
Compiling crossbeam-channel v0.5.13
Compiling incrementalmerkletree v0.5.1
Compiling futures-executor v0.3.30
Compiling halo2_legacy_pdqsort v0.1.0
Compiling base64ct v1.0.1
Compiling strsim v0.11.1
Compiling rustc-hash v1.1.0
Compiling serde_json v1.0.118
Compiling shlex v1.3.0
Compiling fnv v1.0.7
Compiling lazycell v1.3.0
Compiling darling_core v0.20.9
Compiling password-hash v0.3.2
Compiling halo2_proofs v0.3.0
Compiling futures v0.3.30
Compiling fpe v0.6.1
Compiling zcash_note_encryption v0.4.0
Compiling hex v0.4.3
Compiling indexmap v2.2.6
Compiling aes v0.8.4
Compiling rustc_version v0.4.0
Compiling uint v0.9.5
Compiling reddsa v0.5.1
Compiling pin-project-internal v1.1.5
Compiling curve25519-dalek v4.1.3
Compiling zcash_spec v0.1.0
Compiling zip32 v0.1.1
Compiling blake2s_simd v1.0.2
Compiling ryu v1.0.18
Compiling untrusted v0.7.1
Compiling bellman v0.14.0
Compiling redjubjub v0.7.0
Compiling secp256k1 v0.26.0
Compiling tokio-util v0.7.11
Compiling darling_macro v0.20.9
Compiling pin-project v1.1.5
Compiling pbkdf2 v0.10.1
Compiling zcash_protocol v0.1.1
Compiling bs58 v0.5.1
Compiling hmac v0.12.1
Compiling f4jumble v0.1.0
Compiling zcash_encoding v0.2.0
Compiling rustc-hex v2.1.0
Compiling syn v1.0.109
Compiling pkg-config v0.3.30
Compiling bech32 v0.9.1
Compiling sapling-crypto v0.1.3
Compiling zcash_address v0.3.2
Compiling fixed-hash v0.8.0
Compiling bip0039 v0.10.1
Compiling darling v0.20.9
Compiling ripemd v0.1.3
Compiling equihash v0.2.0
Compiling halo2_gadgets v0.3.0
Compiling signature v2.2.0
Compiling getrandom v0.1.16
Compiling vcpkg v0.2.15
Compiling core-foundation-sys v0.8.6
Compiling tower-service v0.3.2
Compiling iana-time-zone v0.1.60
Compiling ed25519 v2.2.3
Compiling serde_with_macros v3.8.1
Compiling primitive-types v0.12.2
Compiling libz-sys v1.1.18
Compiling lz4-sys v1.9.5
Compiling regex-syntax v0.6.29
Compiling parking_lot_core v0.9.10
Compiling portable-atomic v1.6.0
Compiling humantime v2.1.0
Compiling zcash_history v0.4.0
Compiling serde_with v3.8.1
Compiling ed25519-zebra v4.0.3
Compiling chrono v0.4.38
Compiling regex-automata v0.1.10
Compiling x25519-dalek v2.0.1
Compiling bitflags-serde-legacy v0.1.1
Compiling serde-big-array v0.5.1
Compiling bridgetree v0.4.0
Compiling hdrhistogram v7.5.4
Compiling itertools v0.13.0
Compiling overload v0.1.1
Compiling tower-layer v0.3.2
Compiling unicode-width v0.1.13
Compiling rustversion v1.0.17
Compiling tower v0.4.13
Compiling hdwallet v0.4.1
Compiling console v0.15.8
Compiling nu-ansi-term v0.46.0
Compiling matchers v0.1.0
Compiling rand_core v0.5.1
Compiling librocksdb-sys v0.16.0+8.10.0
Compiling libgit2-sys v0.16.2+1.7.2
Compiling nanorand v0.7.0
Compiling sharded-slab v0.1.7
Compiling tracing-log v0.2.0
Compiling thread_local v1.1.8
Compiling option-ext v0.2.0
Compiling camino v1.1.7
Compiling orchard v0.8.0
Compiling number_prefix v0.4.0
Compiling percent-encoding v2.3.1
Compiling unicode-bidi v0.3.15
Compiling form_urlencoded v1.2.1
Compiling indicatif v0.17.8
Compiling dirs-sys v0.4.1
Compiling tracing-subscriber v0.3.18
Compiling idna v0.5.0
Compiling flume v0.10.14
Compiling parking_lot v0.12.3
Compiling rand_chacha v0.2.2
Compiling zcash_script v0.2.0
Compiling unicase v2.7.0
Compiling parking_lot_core v0.8.6
Compiling utf8parse v0.2.2
Compiling rlimit v0.10.1
Compiling httparse v1.9.4
Compiling fastrand v2.1.0
Compiling anyhow v1.0.86
Compiling powerfmt v0.2.0
Compiling deranged v0.3.11
Compiling tempfile v3.10.1
Compiling zcash_primitives v0.15.1
Compiling http v0.2.12
Compiling vergen v8.3.1
Compiling anstyle-parse v0.2.4
Compiling zebra-chain v1.0.0-beta.38
Compiling rand v0.7.3
Compiling howudoin v0.1.2
Compiling url v2.5.2
Compiling dirs v5.0.1
Compiling humantime-serde v1.1.1
Compiling tokio-stream v0.1.15
Compiling tracing-futures v0.2.5
Compiling env_logger v0.7.1
Compiling cargo-platform v0.1.8
Compiling backtrace v0.3.71
Compiling metrics v0.22.3
Compiling num_threads v0.1.7
Compiling bstr v1.9.1
Compiling instant v0.1.13
Compiling colorchoice v1.0.1
Compiling time-core v0.1.2
Compiling try-lock v0.2.5
Compiling eyre v0.6.12
Compiling is_terminal_polyfill v1.70.0
Compiling adler v1.0.2
Compiling num-conv v0.1.0
Compiling anstyle-query v1.1.0
Compiling gimli v0.28.1
Compiling anstyle v1.0.7
Compiling time v0.3.36
Compiling anstream v0.6.14
Compiling miniz_oxide v0.7.4
Compiling globset v0.4.14
Compiling want v0.3.1
Compiling quickcheck v0.9.2
Compiling cargo_metadata v0.18.1
Compiling addr2line v0.21.0
Compiling http-body v0.4.6
Compiling quickcheck_macros v0.9.1
Compiling jsonrpc-core v18.0.0
Compiling toml v0.5.11
Compiling bincode v1.3.3
Compiling tokio-util v0.6.10
Compiling object v0.32.2
Compiling fs-err v2.11.0
Compiling xdg v2.5.2
Compiling rustc-demangle v0.1.24
Compiling mset v0.1.1
Compiling wagyu-zcash-parameters-5 v0.2.0
Compiling clap_lex v0.7.1
Compiling unicode-xid v0.2.4
Compiling cfg-if v0.1.10
Compiling heck v0.5.0
Compiling wagyu-zcash-parameters-3 v0.2.0
Compiling httpdate v1.0.3
Compiling hex-literal v0.4.1
Compiling wagyu-zcash-parameters-4 v0.2.0
Compiling wagyu-zcash-parameters-6 v0.2.0
Compiling wagyu-zcash-parameters-2 v0.2.0
Compiling human_bytes v0.4.3
Compiling wagyu-zcash-parameters-1 v0.2.0
Compiling indenter v0.3.3
Compiling known-folders v1.1.0
Compiling zcash_proofs v0.15.0
Compiling clap_builder v4.5.7
Compiling wagyu-zcash-parameters v0.2.0
Compiling hyper v0.14.29
Compiling clap_derive v4.5.5
Compiling net2 v0.2.39
Compiling synstructure v0.12.6
Compiling proc-macro-crate v0.1.5
Compiling jsonrpc-server-utils v18.0.0
Compiling ordered-map v0.4.2
Compiling parking_lot v0.11.2
Compiling zebra-node-services v1.0.0-beta.38
Compiling tower-batch-control v0.2.41-beta.14
Compiling tracing-error v0.2.0
Compiling tower-fallback v0.2.41-beta.14
Compiling toml_datetime v0.6.6
Compiling serde_spanned v0.6.6
Compiling owo-colors v3.5.0
Compiling winnow v0.6.13
Compiling zebra-network v1.0.0-beta.38
Compiling color-eyre v0.6.3
Compiling jsonrpc-http-server v18.0.0
Compiling toml_edit v0.22.14
Compiling clap v4.5.7
Compiling jsonrpc-derive v18.0.0
Compiling zebra-script v1.0.0-beta.38
Compiling abscissa_derive v0.7.0
Compiling secrecy v0.8.0
Compiling wait-timeout v0.2.0
Compiling tracing-log v0.1.4
Compiling termcolor v1.4.1
|
name: 'Release Checklist Template'
about: 'Checklist to create and publish a Zebra release'
title: 'Release Zebra (version)'
labels: 'A-release, C-trivial, P-Critical 🚑'
assignees: ''
Prepare for the Release
(See the release ticket checklist for details)
Summarise Release Changes
These steps can be done a few days before the release, in the same PR:
Change Log
Important: Any merge into
main
deletes any edits to the draft changelog.Once you are ready to tag a release, copy the draft changelog into
CHANGELOG.md
.We use the Release Drafter workflow to automatically create a draft changelog. We follow the Keep a Changelog format.
To create the final change log:
CHANGELOG.md
(there can be multiple draft releases)README
README updates can be skipped for urgent releases.
Update the README to:
Check for changes in the
Dockerfile
since the last tag:git diff <previous-release-tag> docker/Dockerfile
.Cargo.toml
sYou can use a command like:
Create the Release PR
for example:
bump-v1.0.0
- this needs to be different to the tag name&template=release-checklist.md
to the comparing url (Example).batched
queue using Mergify.Critical
priority, so they go in theurgent
Mergify queue.do-not-merge
, because Mergify checks approved PRs against every commit, even when a queue is frozen.Update Versions and End of Support
Update Zebra Version
Choose a Release Level
Zebra follows semantic versioning. Semantic versions look like: MAJOR.MINOR.PATCH[-TAG.PRE-RELEASE]
Choose a release level for
zebrad
. Release levels are based on user-visible changes from the changelog:major
releasesminor
releasespatch
releaseZebra's Rust API doesn't have any support or stability guarantees, so we keep all the
zebra-*
andtower-*
crates on a betapre-release
version.Update Crate Versions
If you're publishing crates for the first time, log in to crates.io,
and make sure you're a member of owners group.
Check that the release will work:
Crate publishing is automatically checked in CI using "dry run" mode, however due to a bug in
cargo-release
we need to pass exact versions to the alpha crates:zebra-scan
andzebra-grpc
alpha crates in the release-crates-dry-run workflow scriptUpdate End of Support
The end of support height is calculated from the current blockchain height:
ESTIMATED_RELEASE_HEIGHT
inend_of_support.rs
with the height you estimate the release will be tagged.Optional: calculate the release tagging height
1152
blocks for each day until the release1152 * 3
to the current Mainnet block heightUpdate the Release PR
Publish the Zebra Release
Create the GitHub Pre-Release
for example:
v1.0.0
main
branchZebra
followed by the version tag,for example:
Zebra 1.0.0
starting just after the title
## [Zebra ...
of the current version being released,and ending just before the title of the previous release.
Test the Pre-Release
main
, and the quick tests have passed:Publish Release
Publish Crates
cargo login
cargo clean
in the zebra repo (optional)cargo release publish --verbose --workspace --execute
crates.io
:cargo install --locked --force --version 1.minor.patch zebrad && ~/.cargo/bin/zebrad
and put the output in a comment on the PR.
Publish Docker Images
batched
queue using Mergify.do-not-merge
from the PRs you added it toRelease Failures
If building or running fails after tagging:
Tag a new release, following these instructions...
patch
releaseCHANGELOG.md
with details about the fix