diff --git a/.github/PULL_REQUEST_TEMPLATE/release-checklist.md b/.github/PULL_REQUEST_TEMPLATE/release-checklist.md index 6a5b1dae0d5..1ffbe05905a 100644 --- a/.github/PULL_REQUEST_TEMPLATE/release-checklist.md +++ b/.github/PULL_REQUEST_TEMPLATE/release-checklist.md @@ -16,10 +16,6 @@ To check if any of the top-level crates need version increments, go to the zebra - [ ] Increment the crates that have new commits since the last version update - [ ] Increment any crates that depend on crates that have changed - [ ] Keep a list of the crates that haven't been incremented, to include in the PR -- [ ] Use the `zebrad` crate version in the `zebra-network` user agent string - (currently the constant `USER_AGENT` in `zebra-network/src/constants.rs`) -- [ ] Use the latest git tag in `README.md` -- [ ] Use the latest git tag in `book/src/user/install.md` ### How to Increment Versions @@ -33,10 +29,6 @@ Pre-Release versions have a `TAG` like "alpha" or "beta". For example: `1.0.0-al 1. Increment the `PRE-RELEASE` version for the crate. -Optionally, if a `MINOR` feature pre-release breaks `MAJOR` API compatibility: - -2. Increment the `MAJOR` version, and reset all the other versions to zero - #### Unstable Crates Unstable versions have a `MAJOR` version of zero. For example: `0.1.0` @@ -85,18 +77,12 @@ If any Zebra or Tower crates have commit messages that are **not** a version bum Also check for crates that depend on crates that have changed. They should get a version bump as well. -## Initial Testing - -- [ ] After any changes, test that the `cargo install` command in works. Use - e.g. `cargo install --locked --path zebrad`. - ## README As we resolve various outstanding known issues and implement new functionality with each release, we should double check the README for any necessary updates. We should check and update if necessary: -- [ ] The "Beta Release" section - [ ] The "Known Issues" section to ensure that any items that are resolved in the latest release are no longer listed in the README. @@ -127,9 +113,11 @@ From "Keep a Changelog": * `Fixed` for any bug fixes. * `Security` in case of vulnerabilities. -## Create the release PR +## Create the Release -After you have the version increments and the updated changelog, +### Create the Release PR + +After you have the version increments and the updated changelog: - [ ] Push the version increments and the updated changelog into a branch (name suggestion, example: `v1.0.0-alpha.0-release`) @@ -137,8 +125,10 @@ After you have the version increments and the updated changelog, comparing url ([Example](https://github.com/ZcashFoundation/zebra/compare/v1.0.0-alpha.0-release?expand=1&template=release-checklist.md)). - [ ] Add the list of deleted changelog entries as a comment to make reviewing easier. - [ ] Also add the list of not-bumped crates as a comment (can use the same comment as the previous one). -- [ ] While the PR is being reviewed, keep track of any PRs that have been merged - since you created the PR to update `CHANGELOG.md` and push any updates if necessary +- [ ] While the PR is being reviewed, turn on [Merge Freeze](https://www.mergefreeze.com/installations/3676/branches) to stop other PRs merging + +### Create the Release + - [ ] Once the release PR has been approved and merged, create a new release using the draft release as a base, by clicking the Edit icon in the [draft release](https://github.com/ZcashFoundation/zebra/releases). @@ -155,10 +145,11 @@ After you have the version increments and the updated changelog, - [ ] After tagging the release, test that the exact `cargo install` command in `README.md` works (`--git` behaves a bit differently to `--path`) +- [ ] Turn off [Merge Freeze](https://www.mergefreeze.com/installations/3676/branches) to start merging PRs again If the build fails after tagging: 1. fix the build -2. check if the fixes changed any extra crates, and do the required version increments +2. increment versions again, following these instructions from the start 3. update `README.md` with a **new** git tag 4. update `CHANGELOG.md` with details about the fix 5. tag a **new** release diff --git a/CHANGELOG.md b/CHANGELOG.md index 21f5f8530a9..d018e7f664d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,60 @@ All notable changes to Zebra are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org). +## [Zebra 1.0.0-beta.7](https://github.com/ZcashFoundation/zebra/releases/tag/v1.0.0-beta.7) - 2022-04-05 + +Zebra's latest beta fixes a `cargo install` build failure in the previous beta release. It also fixes a `lightwalletd` RPC bug, and improves test coverage. + +### Changed + +#### Database and State + +- Update database design to put ordered list values in RocksDB keys (#3997) +- Make transparent address index database design more consistent (#4019) + +#### CI + +- Do not invalidate cache between PRs (#3996) + +#### Dependency Updates + +- Bump hyper from 0.14.17 to 0.14.18 (#3946) +- Bump indexmap from 1.8.0 to 1.8.1 (#4003) +- Bump semver from 1.0.6 to 1.0.7 (#3982) +- Bump serde-big-array from 0.3.2 to 0.4.1 (#4004) + +##### Test Dependency Updates + +- Bump insta from 1.13.0 to 1.14.0 (#3980) +- Bump tokio-util from 0.7.0 to 0.7.1 (#3981) + +##### CI Dependency Updates + +- Bump tj-actions/changed-files from 18.4 to 18.6 (#4002) + +### Fixed + +#### Build + +- Fix a compilation error caused by a test-only method in production code (#4000) +- Add a job to ci.yml that does `cargo install --locked --path ./zebrad/ zebrad` (#3998) + +#### RPC + +- Tell `lightwalletd` to wait for missing blocks in the `getblock` RPC (#3977) + +#### State + +- Stop panicking when a state block commit fails (#4016) + +#### Logging + +- Log hashes as hex strings in block committment errors (#4021) + +#### Tests + +- Check for accidental database incompatibilities in cached state tests (#4020) + ## [Zebra 1.0.0-beta.6](https://github.com/ZcashFoundation/zebra/releases/tag/v1.0.0-beta.6) - 2022-03-28 Zebra's latest beta adds RPC server support, including some of the RPC calls needed to become a **lightwalletd** back end. diff --git a/Cargo.lock b/Cargo.lock index 24805c62876..f1d155e3ecb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4840,7 +4840,7 @@ dependencies = [ [[package]] name = "tower-batch" -version = "0.2.22" +version = "0.2.23" dependencies = [ "color-eyre 0.6.1", "ed25519-zebra", @@ -4860,7 +4860,7 @@ dependencies = [ [[package]] name = "tower-fallback" -version = "0.2.18" +version = "0.2.19" dependencies = [ "futures-core", "pin-project 0.4.29", @@ -5602,7 +5602,7 @@ dependencies = [ [[package]] name = "zebra-chain" -version = "1.0.0-beta.6" +version = "1.0.0-beta.7" dependencies = [ "aes", "bech32", @@ -5661,7 +5661,7 @@ version = "1.0.0-beta.0" [[package]] name = "zebra-consensus" -version = "1.0.0-beta.6" +version = "1.0.0-beta.7" dependencies = [ "bellman", "blake2b_simd 1.0.0", @@ -5703,7 +5703,7 @@ dependencies = [ [[package]] name = "zebra-network" -version = "1.0.0-beta.6" +version = "1.0.0-beta.7" dependencies = [ "arti-client", "bitflags", @@ -5738,14 +5738,14 @@ dependencies = [ [[package]] name = "zebra-node-services" -version = "1.0.0-beta.6" +version = "1.0.0-beta.7" dependencies = [ "zebra-chain", ] [[package]] name = "zebra-rpc" -version = "1.0.0-beta.6" +version = "1.0.0-beta.7" dependencies = [ "chrono", "futures", @@ -5773,7 +5773,7 @@ dependencies = [ [[package]] name = "zebra-script" -version = "1.0.0-beta.6" +version = "1.0.0-beta.7" dependencies = [ "displaydoc", "hex", @@ -5786,7 +5786,7 @@ dependencies = [ [[package]] name = "zebra-state" -version = "1.0.0-beta.6" +version = "1.0.0-beta.7" dependencies = [ "bincode", "chrono", @@ -5821,7 +5821,7 @@ dependencies = [ [[package]] name = "zebra-test" -version = "1.0.0-beta.6" +version = "1.0.0-beta.7" dependencies = [ "color-eyre 0.5.11", "futures", @@ -5845,7 +5845,7 @@ dependencies = [ [[package]] name = "zebra-utils" -version = "1.0.0-beta.6" +version = "1.0.0-beta.7" dependencies = [ "color-eyre 0.6.1", "hex", @@ -5860,7 +5860,7 @@ dependencies = [ [[package]] name = "zebrad" -version = "1.0.0-beta.6" +version = "1.0.0-beta.7" dependencies = [ "abscissa_core", "atty", diff --git a/README.md b/README.md index 0f81863b347..641aa20d4ef 100644 --- a/README.md +++ b/README.md @@ -100,7 +100,7 @@ for your platform: 2. Install Zebra's build dependencies: - **libclang:** the `libclang`, `libclang-dev`, `llvm`, or `llvm-dev` packages, depending on your package manager - **clang** or another C++ compiler: `g++`, `Xcode`, or `MSVC` -3. Run `cargo install --locked --git https://github.com/ZcashFoundation/zebra --tag v1.0.0-beta.6 zebrad` +3. Run `cargo install --locked --git https://github.com/ZcashFoundation/zebra --tag v1.0.0-beta.7 zebrad` 4. Run `zebrad start` (see [Running Zebra](https://zebra.zfnd.org/user/run.html) for more information) If you're interested in testing out `zebrad` please feel free, but keep in mind diff --git a/book/src/user/install.md b/book/src/user/install.md index 7167ff86f93..bad7e64f114 100644 --- a/book/src/user/install.md +++ b/book/src/user/install.md @@ -9,7 +9,7 @@ for your platform: 2. Install Zebra's build dependencies: - **libclang:** the `libclang`, `libclang-dev`, `llvm`, or `llvm-dev` packages, depending on your package manager - **clang** or another C++ compiler: `g++`, `Xcode`, or `MSVC` -3. Run `cargo install --locked --git https://github.com/ZcashFoundation/zebra --tag v1.0.0-beta.6 zebrad` +3. Run `cargo install --locked --git https://github.com/ZcashFoundation/zebra --tag v1.0.0-beta.7 zebrad` 4. Run `zebrad start` (see [Running Zebra](user/run.md) for more information) If you're interested in testing out `zebrad` please feel free, but keep in mind diff --git a/tower-batch/Cargo.toml b/tower-batch/Cargo.toml index 619342da796..1ab5f1f03eb 100644 --- a/tower-batch/Cargo.toml +++ b/tower-batch/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tower-batch" -version = "0.2.22" +version = "0.2.23" authors = ["Zcash Foundation "] license = "MIT" edition = "2021" diff --git a/tower-fallback/Cargo.toml b/tower-fallback/Cargo.toml index 070796df925..bee5001c4ef 100644 --- a/tower-fallback/Cargo.toml +++ b/tower-fallback/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tower-fallback" -version = "0.2.18" +version = "0.2.19" authors = ["Zcash Foundation "] license = "MIT" edition = "2021" diff --git a/zebra-chain/Cargo.toml b/zebra-chain/Cargo.toml index 610bb842432..26a2922a8a6 100644 --- a/zebra-chain/Cargo.toml +++ b/zebra-chain/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-chain" -version = "1.0.0-beta.6" +version = "1.0.0-beta.7" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-consensus/Cargo.toml b/zebra-consensus/Cargo.toml index b8f3a612f4e..1fe02ed81ab 100644 --- a/zebra-consensus/Cargo.toml +++ b/zebra-consensus/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-consensus" -version = "1.0.0-beta.6" +version = "1.0.0-beta.7" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-network/Cargo.toml b/zebra-network/Cargo.toml index b113e4b2e1d..4b91d29a082 100644 --- a/zebra-network/Cargo.toml +++ b/zebra-network/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-network" -version = "1.0.0-beta.6" +version = "1.0.0-beta.7" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-network/src/constants.rs b/zebra-network/src/constants.rs index e41d4217864..c6cb4b7d526 100644 --- a/zebra-network/src/constants.rs +++ b/zebra-network/src/constants.rs @@ -231,7 +231,7 @@ pub const TIMESTAMP_TRUNCATION_SECONDS: u32 = 30 * 60; /// [BIP 14]: https://github.com/bitcoin/bips/blob/master/bip-0014.mediawiki // // TODO: generate this from crate metadata (#2375) -pub const USER_AGENT: &str = "/Zebra:1.0.0-beta.6/"; +pub const USER_AGENT: &str = "/Zebra:1.0.0-beta.7/"; /// The Zcash network protocol version implemented by this crate, and advertised /// during connection setup. diff --git a/zebra-node-services/Cargo.toml b/zebra-node-services/Cargo.toml index 6c715de7899..b48207ae096 100644 --- a/zebra-node-services/Cargo.toml +++ b/zebra-node-services/Cargo.toml @@ -2,7 +2,7 @@ name = "zebra-node-services" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" -version = "1.0.0-beta.6" +version = "1.0.0-beta.7" edition = "2021" repository = "https://github.com/ZcashFoundation/zebra" diff --git a/zebra-rpc/Cargo.toml b/zebra-rpc/Cargo.toml index a35864a53d9..8226b058698 100644 --- a/zebra-rpc/Cargo.toml +++ b/zebra-rpc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-rpc" -version = "1.0.0-beta.6" +version = "1.0.0-beta.7" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-script/Cargo.toml b/zebra-script/Cargo.toml index 93559f9c628..d746a03edb7 100644 --- a/zebra-script/Cargo.toml +++ b/zebra-script/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-script" -version = "1.0.0-beta.6" +version = "1.0.0-beta.7" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-state/Cargo.toml b/zebra-state/Cargo.toml index c10552e8b13..df8ba0e95c9 100644 --- a/zebra-state/Cargo.toml +++ b/zebra-state/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-state" -version = "1.0.0-beta.6" +version = "1.0.0-beta.7" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-test/Cargo.toml b/zebra-test/Cargo.toml index c5eab53417a..9da247809c8 100644 --- a/zebra-test/Cargo.toml +++ b/zebra-test/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-test" -version = "1.0.0-beta.6" +version = "1.0.0-beta.7" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-utils/Cargo.toml b/zebra-utils/Cargo.toml index 98c32c42d63..693646413d0 100644 --- a/zebra-utils/Cargo.toml +++ b/zebra-utils/Cargo.toml @@ -2,7 +2,7 @@ name = "zebra-utils" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" -version = "1.0.0-beta.6" +version = "1.0.0-beta.7" edition = "2021" # Prevent accidental publication of this utility crate. publish = false diff --git a/zebrad/Cargo.toml b/zebrad/Cargo.toml index c77d8c01727..2b0a3cadff4 100644 --- a/zebrad/Cargo.toml +++ b/zebrad/Cargo.toml @@ -2,7 +2,7 @@ name = "zebrad" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" -version = "1.0.0-beta.6" +version = "1.0.0-beta.7" edition = "2021" repository = "https://github.com/ZcashFoundation/zebra" # make `cargo run` use `zebrad` by default