-
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
release(1.0.0-rc.2): updated versions and CHANGELOG.md #5784
Conversation
I haven't touched zebra-dependencies-for-audit.md.
Deleted changelog entries: change(rpc): Refactor RPCs using a state tip height function (#5540) |
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.
Thanks, this looks good!
I checked the draft release notes, and these user-visible changes seem to be missing?
- change(rpc): Select getblocktemplate RPC transactions according to ZIP-317 ([#5724](https://github.com/ZcashFoundation/zebra/pull/5724))
- change(state): Check block and transaction Sprout anchors in parallel ([#5742](https://github.com/ZcashFoundation/zebra/pull/5742))
- fix(consensus): Check network and P2SH addresses for mining config and funding streams ([#5620](https://github.com/ZcashFoundation/zebra/pull/5620))
- change(rpc): return an error from getblocktemplate method if Zebra is not synced to network tip ([#5623](https://github.com/ZcashFoundation/zebra/pull/5623))
- feat(rpc): populate some getblocktemplate RPC block header fields using the state best chain tip ([#5659](https://github.com/ZcashFoundation/zebra/pull/5659))
- change(consensus) verify that mempool transaction UTXOs are in the best chain ([#5616](https://github.com/ZcashFoundation/zebra/pull/5616))
- change(consensus): Update mainnet and testnet checkpoints on 2022-12-01 ([#5754](https://github.com/ZcashFoundation/zebra/pull/5754))
- change(log): Log loaded config path when Zebra starts up ([#5733](https://github.com/ZcashFoundation/zebra/pull/5733))
- change(mempool): Contextually validates mempool transactions in best chain ([#5716](https://github.com/ZcashFoundation/zebra/pull/5716))
- change(rpc): generate coinbase transactions in the getblocktemplate RPC ([#5580](https://github.com/ZcashFoundation/zebra/pull/5580))
- fix(doc): Clarify inbound and outbound port requirements ([#5584](https://github.com/ZcashFoundation/zebra/pull/5584))
And the "fix RPC bugs" part of this change:
- change(ci): add acceptance test for getblocktemplate RPC in CI, and fix RPC bugs ([#5761](https://github.com/ZcashFoundation/zebra/pull/5761))
This would be user-visible, but it doesn't actually work yet, so I guess we should leave it out:
- ci(docs): update our Docker Hub documentation with our README ([#5779](https://github.com/ZcashFoundation/zebra/pull/5779))
I don't think it needs an update yet. We've done these refactors in consensus-critical code:
These changes to important but not consensus-critical code:
And these security fixes: We've also made these changes to out of scope dependencies:
|
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #5784 +/- ##
==========================================
- Coverage 78.77% 78.69% -0.08%
==========================================
Files 307 307
Lines 38730 38730
==========================================
- Hits 30508 30479 -29
- Misses 8222 8251 +29 |
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.
Thank you!
Version bumps look good.
A couple other user-visible changes in the commits since rc.1
that seem to be missing:
- rpc(config): Add a `mining` section with miner address to config ([#5491](https://github.com/ZcashFoundation/zebra/pull/5508))
- fix(zebrad) print usage info for --help flag ([#5634](https://github.com/ZcashFoundation/zebra/pull/5634))
Aha, I think I was looking at this one instead https://github.com/ZcashFoundation/zebra/releases/tag/untagged-5d4059e759081549929f |
We might have forgotten to delete the draft release after the last actual release, or release drafter made a duplicate? We should add that to the checklist. |
Yeah the two draft releases were confusing to me |
I've fixed the release checklist in PR #5793, so we use the latest draft, and delete all drafts after the release |
Co-authored-by: Arya <[email protected]>
It looks like you pushed 20 separate commits in an hour, and hit the API rate limit for Zebra (or for the Foundation). This caused this PR's jobs to fail. It can also make unrelated PRs fail. Here's one of the detailed rate limit messages, from about 45 minutes ago:
It's ok to push lots of commits, they just need to be pushed in batches. We might also have a lower rate limit since we switched to the free plan, we've hit it twice in a week. We might be able to work around that by combining some jobs. (For example, the individual crate build jobs, or the skipped jobs for the GCP workflows.) |
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.
Thanks, looks good!
I've restarted all the rate-limited CI jobs.
@Mergifyio refresh |
✅ Pull request refreshed |
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.
Looks good!
This might need to be merged manually, though it seems like the last release PR (#5513) was handled by Mergify. 🤷
Co-authored-by: Arya <[email protected]>
@Mergifyio update |
✅ Branch has been successfully updated |
If this PR is up to date with the main branch, then mergify does an in-place merge. So there's no extra PR to get rejected by the merge freeze. I guess we could add that to the instructions. |
|
I haven't touched zebra-dependencies-for-audit.md.
Versioning
How to Increment Versions
Zebra follows semantic versioning.
Semantic versions look like: MAJOR
.
MINOR.
PATCH[-
TAG.
PRE-RELEASE]The draft
zebrad
changelog will have an automatic version bump. This version is based on the labels on the PRs in the release.Check that the automatic
[zebra](https://github.com/ZcashFoundation/zebra)d
version increment is correct:If we're releasing a mainnet network upgrade, it is a
major
release:major
version of all the Zebra crates.patch
version of the tower crates.If we're not releasing a mainnet network upgrade, check for features, major changes, deprecations, and removals. If this release has any, it is a
minor
release:minor
version ofzebrad
.pre-release
version of the other crates.patch
version of the tower crates.Otherwise, it is a
patch
release:patch
version ofzebrad
.pre-release
version of the other crates.patch
version of the tower crates.Zebra's Rust API is not stable or supported, so we keep all the crates on the same beta
pre-release
version.Version Locations
Once you know which versions you want to increment, you can find them in the:
zebrad (rc):
Cargo.toml
zebra-network
protocol user agent: https://github.com/ZcashFoundation/zebra/blob/main/zebra-network/src/constants.rsREADME.md
book/src/user/docker.md
crates (pre-release):
Cargo.toml
stower (patch):
Cargo.toml
sauto-generated:
Cargo.lock
: runcargo build
after updating all theCargo.toml
sVersion Tooling
You can use
fastmod
to interactively find and replace versions.For example, you can do something like:
If you use
fastmod
, don't update versions inCHANGELOG.md
.README
Update the README to:
Check for changes in the
Dockerfile
since the last tag:git diff <previous-release-tag> docker/Dockerfile
.Checkpoints
With every release and for performance reasons, we want to update the zebra checkpoints. More information on how to do this can be found in the zebra-checkpoints README.
To do this you will need a synchronized
zcashd
node. You can request help from other zebra team members to submit this PR if you can't make it yourself at the moment of the release.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
Change Categories
From "Keep a Changelog":
Added
for new features.Changed
for changes in existing functionality.Deprecated
for soon-to-be removed features.Removed
for now removed features.Fixed
for any bug fixes.Security
in case of vulnerabilities.Create the Release
Create the Release PR
After you have the version increments, the updated checkpoints and the updated changelog:
(for example:
bump-v1.0.0-rc.0
- this needs to be different to the tag name)&template=release-checklist.md
to thecomparing url (Example).
Do not unfreeze the whole repository.
Create the Release
by clicking the Edit icon in the draft release
for example:
v1.0.0-rc.0
main
branchZebra
followed by the version tag,for example:
Zebra 1.0.0-rc.0
changelog you created; starting just after the title
## [Zebra ...
ofthe current version being released, and ending just before the title of
the previous release.
Binary Testing
main
, and the quick tests have passed.(You can ignore the full sync and
lightwalletd
tests, because they take about a day to run.)docker run --tty --interactive zfnd/zebra:1.0.0-rc.<version>
Blog Post
If the release contains new features (
major
orminor
), or high-priority bug fixes:If building or running fails after tagging:
CHANGELOG.md
with details about the fix