Release v1.0.0-rc.5 (#6213)

* Bump updated crates

* Bump crates that depend on updated crates

* Bump the user agent

* Bump `README.md`

* Bump `docker.md`

* Remove closed known issues from "README.md"

* Update `CHANGELOG.md`

* Apply suggestions from code review

Co-authored-by: Arya <aryasolhi@gmail.com>
Co-authored-by: teor <teor@riseup.net>

* Remove the bump of `once_cell` from `CHANGELOG.md`

---------

Co-authored-by: Arya <aryasolhi@gmail.com>
Co-authored-by: teor <teor@riseup.net>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
This commit is contained in:
Marek 2023-02-25 00:08:16 +01:00 committed by GitHub
parent 3ac019d817
commit 9d2b912840
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 100 additions and 44 deletions

View File

@ -2,27 +2,83 @@
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).
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-rc.5](https://github.com/ZcashFoundation/zebra/releases/tag/v1.0.0-rc.5) - 2023-02-TODO INSERT DATE HERE
## [Zebra 1.0.0-rc.5](https://github.com/ZcashFoundation/zebra/releases/tag/v1.0.0-rc.5) - 2023-02-23
In this release we ... (TODO)
We also check that Zebra is following the consensus chain each time it starts up.
This release:
- finishes the implementation of mining-related RPCs;
- makes Zebra ready for testing and initial adoption by mining pools;
- adds support for the latest version of `lightwalletd`;
- makes non-finalized chain forks instant;
- contains other improvements such as deduplication of RedPallas code.
Zebra now also checks that it is following the consensus chain each time it
starts up.
### Security
- Check that Zebra's state contains the consensus chain each time it starts up. This implements
the "settled network upgrade" consensus rule using all of Zebra's checkpoints ([#6163](https://github.com/ZcashFoundation/zebra/pull/6163)).
*User action required:*
- If your config is based on an old version of Zebra, or you have manually edited it,
make sure `consensus.checkpoint_sync = true`.
This option has been true by default since March 2022.
- Check that Zebra's state contains the consensus chain each time it starts up.
This implements the "settled network upgrade" consensus rule using all of
Zebra's checkpoints
([#6163](https://github.com/ZcashFoundation/zebra/pull/6163)).
_User action required:_
- If your config is based on an old version of Zebra, or you have manually
edited it, make sure `consensus.checkpoint_sync = true`. This option has
been true by default since March 2022.
- Bump hyper from 0.14.23 to 0.14.24, fixing a denial of service risk ([#6094](https://github.com/ZcashFoundation/zebra/pull/6094))
- Re-verify transactions that were verified at a different tip height ([#6154](https://github.com/ZcashFoundation/zebra/pull/6154))
- Fix minute-long delays in block verification after a chain fork ([#6122](https://github.com/ZcashFoundation/zebra/pull/6122))
### Deprecated
- The `consensus.checkpoint_sync` config in `zebrad.toml` is deprecated. It might be ignored or
removed in a future release. ([#6163](https://github.com/ZcashFoundation/zebra/pull/6163))
TODO: add other changes here
### Added
- Log a cute message for blocks that were mined by Zebra (off by default) ([#6098](https://github.com/ZcashFoundation/zebra/pull/6098))
- Add extra `getblock` RPC fields used by some mining pools ([#6097](https://github.com/ZcashFoundation/zebra/pull/6097))
- Get details from transaction differences in `getrawmempool` RPC ([#6035](https://github.com/ZcashFoundation/zebra/pull/6035))
#### New RPCs
- Implement the `z_listunifiedreceivers` RPC ([#6171](https://github.com/ZcashFoundation/zebra/pull/6171))
- Implement the `getblocksubsidy` RPC ([#6032](https://github.com/ZcashFoundation/zebra/pull/6032))
- Implement the `validateaddress` RPC ([#6086](https://github.com/ZcashFoundation/zebra/pull/6086))
- Implement the `z_validateaddress` RPC ([#6185](https://github.com/ZcashFoundation/zebra/pull/6185))
- Implement the `getdifficulty` RPC ([#6099](https://github.com/ZcashFoundation/zebra/pull/6099))
#### Documentation
- Add detailed testnet mining docs to the Zebra repository ([#6201](https://github.com/ZcashFoundation/zebra/pull/6201))
- Add mining instructions to the zebra book ([#6199](https://github.com/ZcashFoundation/zebra/pull/6199))
### Changed
- Use `reddsa` crate and remove duplicated RedPallas code ([#6013](https://github.com/ZcashFoundation/zebra/pull/6013))
- Upgrade to the zcash_primitives 0.10 API ([#6087](https://github.com/ZcashFoundation/zebra/pull/6087))
- Simplify `getdifficulty` RPC implementation ([#6105](https://github.com/ZcashFoundation/zebra/pull/6105))
### Fixed
- Change error format in proposals ([#6044](https://github.com/ZcashFoundation/zebra/pull/6044))
- Fix `lightwalletd` instructions to be compatible with Zebra ([#6088](https://github.com/ZcashFoundation/zebra/pull/6088))
- Downgrade `owo-colors` from 3.6.0 to 3.5.0 ([#6203](https://github.com/ZcashFoundation/zebra/pull/6203))
- Make RPC "incorrect parameters" error code match `zcashd` ([#6066](https://github.com/ZcashFoundation/zebra/pull/6066))
- Make the verbosity argument optional in the getblock RPC ([#6092](https://github.com/ZcashFoundation/zebra/pull/6092))
- Increase legacy chain limit to 100,000 ([#6053](https://github.com/ZcashFoundation/zebra/pull/6053))
### Contributors
Thank you to everyone who contributed to this release, we couldn't make Zebra
without you: @arya2, @conradoplg, @gustavovalverde,
@jackgavigan, @oxarbitrage, @sandakersmann, @teor2345 and @upbqdn
## [Zebra 1.0.0-rc.4](https://github.com/ZcashFoundation/zebra/releases/tag/v1.0.0-rc.4) - 2023-01-30

24
Cargo.lock generated
View File

@ -4505,7 +4505,7 @@ dependencies = [
[[package]]
name = "tower-batch"
version = "0.2.35"
version = "0.2.36"
dependencies = [
"color-eyre",
"ed25519-zebra",
@ -4529,7 +4529,7 @@ dependencies = [
[[package]]
name = "tower-fallback"
version = "0.2.35"
version = "0.2.36"
dependencies = [
"futures-core",
"pin-project 0.4.30",
@ -5434,7 +5434,7 @@ dependencies = [
[[package]]
name = "zebra-chain"
version = "1.0.0-beta.20"
version = "1.0.0-beta.21"
dependencies = [
"aes",
"bech32 0.9.1",
@ -5499,7 +5499,7 @@ version = "1.0.0-beta.0"
[[package]]
name = "zebra-consensus"
version = "1.0.0-beta.20"
version = "1.0.0-beta.21"
dependencies = [
"bellman",
"blake2b_simd",
@ -5543,7 +5543,7 @@ dependencies = [
[[package]]
name = "zebra-network"
version = "1.0.0-beta.20"
version = "1.0.0-beta.21"
dependencies = [
"bitflags",
"byteorder",
@ -5579,14 +5579,14 @@ dependencies = [
[[package]]
name = "zebra-node-services"
version = "1.0.0-beta.20"
version = "1.0.0-beta.21"
dependencies = [
"zebra-chain",
]
[[package]]
name = "zebra-rpc"
version = "1.0.0-beta.20"
version = "1.0.0-beta.21"
dependencies = [
"chrono",
"futures",
@ -5620,7 +5620,7 @@ dependencies = [
[[package]]
name = "zebra-script"
version = "1.0.0-beta.20"
version = "1.0.0-beta.21"
dependencies = [
"displaydoc",
"hex",
@ -5633,7 +5633,7 @@ dependencies = [
[[package]]
name = "zebra-state"
version = "1.0.0-beta.20"
version = "1.0.0-beta.21"
dependencies = [
"bincode",
"chrono",
@ -5671,7 +5671,7 @@ dependencies = [
[[package]]
name = "zebra-test"
version = "1.0.0-beta.20"
version = "1.0.0-beta.21"
dependencies = [
"color-eyre",
"futures",
@ -5698,7 +5698,7 @@ dependencies = [
[[package]]
name = "zebra-utils"
version = "1.0.0-beta.20"
version = "1.0.0-beta.21"
dependencies = [
"color-eyre",
"hex",
@ -5715,7 +5715,7 @@ dependencies = [
[[package]]
name = "zebrad"
version = "1.0.0-rc.4"
version = "1.0.0-rc.5"
dependencies = [
"abscissa_core",
"atty",

View File

@ -64,6 +64,7 @@ and Zebra implements all the features required to reach Zcash network consensus.
Currently, Zebra validates all of the Zcash consensus rules for the NU5 network upgrade.
Zebra validates blocks and transactions, but needs extra software to generate them:
- to generate transactions, [configure `zebrad`'s JSON-RPC port](https://github.com/ZcashFoundation/zebra#configuring-json-rpc-for-lightwalletd),
and use a light wallet with `lightwalletd` and Zebra.
- to generate blocks, [compile `zebrad` with the `getblocktemplate-rpcs` feature](https://doc.zebra.zfnd.org/zebrad/#json-rpc), configure the JSON-RPC port,
@ -76,12 +77,13 @@ You can run Zebra using our Docker image.
This command will run our latest release, and sync it to the tip:
```sh
docker run zfnd/zebra:1.0.0-rc.4
docker run zfnd/zebra:1.0.0-rc.5
```
For more information, read our [Docker documentation](book/src/user/docker.md).
You can also:
- [compile Zebra with metrics or tracing](https://doc.zebra.zfnd.org/zebrad/#metrics),
- [enable Zebra's RPC port](https://github.com/ZcashFoundation/zebra#configuring-json-rpc-for-lightwalletd), and
- [configure other features](https://zebra.zfnd.org/user/run.html).
@ -100,7 +102,7 @@ for your platform:
- **libclang:** the `libclang`, `libclang-dev`, `llvm`, or `llvm-dev` packages
(these packages will have different names depending on your package manager)
- **clang** or another C++ compiler: `g++` (all platforms) or `Xcode` (macOS)
3. Run `cargo install --locked --git https://github.com/ZcashFoundation/zebra --tag v1.0.0-rc.4 zebrad`
3. Run `cargo install --locked --git https://github.com/ZcashFoundation/zebra --tag v1.0.0-rc.5 zebrad`
4. Run `zebrad start` (see [Running Zebra](https://zebra.zfnd.org/user/run.html) for more information)
For more detailed instructions, refer to the [documentation](https://zebra.zfnd.org/user/install.html).
@ -240,8 +242,6 @@ There are a few bugs in Zebra that we're still working on fixing:
- If Zebra fails downloading the Zcash parameters, use [the Zcash parameters download script](https://github.com/zcash/zcash/blob/master/zcutil/fetch-params.sh) instead.
- Zebra falsely estimates that it's close to the tip when the network connection goes down [#4649](https://github.com/ZcashFoundation/zebra/issues/4649).
- Block download and verification sometimes times out during Zebra's initial sync [#5709](https://github.com/ZcashFoundation/zebra/issues/5709). The full sync still finishes reasonably quickly.
- No Windows support [#3801](https://github.com/ZcashFoundation/zebra/issues/3801). We used to test with Windows Server 2019, but not any more; see the issue for details.

View File

@ -11,13 +11,13 @@ You can deploy Zebra for a daily use with the images available in [Docker Hub](h
### Ready to use image
```shell
docker run --detach zfnd/zebra:1.0.0-rc.4
docker run --detach zfnd/zebra:1.0.0-rc.5
```
### Build it locally
```shell
git clone --depth 1 --branch v1.0.0-rc.4 https://github.com/ZcashFoundation/zebra.git
git clone --depth 1 --branch v1.0.0-rc.5 https://github.com/ZcashFoundation/zebra.git
docker build --file docker/Dockerfile --target runtime --tag zebra:local
docker run --detach zebra:local
```
@ -28,14 +28,14 @@ See the Zebra [build instructions](https://github.com/ZcashFoundation/zebra#buil
## Images
The Zebra team builds multiple images with a single [Dockerfile](https://github.com/ZcashFoundation/zebra/blob/main/docker/Dockerfile) using [multistage builds](https://docs.docker.com/build/building/multi-stage/). The `test` stage adds needed features and tools (like [lightwalletd](https://github.com/adityapk00/lightwalletd)) and the `runtime` stage just adds the *zebrad* binary and required *zcash-params* for Zebra to run correctly.
The Zebra team builds multiple images with a single [Dockerfile](https://github.com/ZcashFoundation/zebra/blob/main/docker/Dockerfile) using [multistage builds](https://docs.docker.com/build/building/multi-stage/). The `test` stage adds needed features and tools (like [lightwalletd](https://github.com/adityapk00/lightwalletd)) and the `runtime` stage just adds the _zebrad_ binary and required _zcash-params_ for Zebra to run correctly.
As a result the Zebra team builds four images:
- [zcash-params](us-docker.pkg.dev/zealous-zebra/zebra/zcash-params): built Zcash network parameters
- [lightwalletd](us-docker.pkg.dev/zealous-zebra/zebra/lightwalletd): a backend service that provides an interface to the Zcash blockchain
- [zebrad-test](us-docker.pkg.dev/zealous-zebra/zebra/zebrad-test): a zebrad binary with lightwalletd included, and test suites enabled
- [zebra](https://hub.docker.com/repository/docker/zfnd/zebra): a streamlined version with the zebrad binary and just the needed features needed to run *as-is*
- [zebra](https://hub.docker.com/repository/docker/zfnd/zebra): a streamlined version with the zebrad binary and just the needed features needed to run _as-is_
## Registries

View File

@ -1,6 +1,6 @@
[package]
name = "tower-batch"
version = "0.2.35"
version = "0.2.36"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
license = "MIT"
edition = "2021"

View File

@ -1,6 +1,6 @@
[package]
name = "tower-fallback"
version = "0.2.35"
version = "0.2.36"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
license = "MIT"
edition = "2021"

View File

@ -1,6 +1,6 @@
[package]
name = "zebra-chain"
version = "1.0.0-beta.20"
version = "1.0.0-beta.21"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
license = "MIT OR Apache-2.0"
edition = "2021"

View File

@ -1,6 +1,6 @@
[package]
name = "zebra-consensus"
version = "1.0.0-beta.20"
version = "1.0.0-beta.21"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
license = "MIT OR Apache-2.0"
edition = "2021"

View File

@ -1,6 +1,6 @@
[package]
name = "zebra-network"
version = "1.0.0-beta.20"
version = "1.0.0-beta.21"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
license = "MIT OR Apache-2.0"
edition = "2021"

View File

@ -242,7 +242,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-rc.4/";
pub const USER_AGENT: &str = "/Zebra:1.0.0-rc.5/";
/// The Zcash network protocol version implemented by this crate, and advertised
/// during connection setup.

View File

@ -2,7 +2,7 @@
name = "zebra-node-services"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
license = "MIT OR Apache-2.0"
version = "1.0.0-beta.20"
version = "1.0.0-beta.21"
edition = "2021"
repository = "https://github.com/ZcashFoundation/zebra"

View File

@ -1,6 +1,6 @@
[package]
name = "zebra-rpc"
version = "1.0.0-beta.20"
version = "1.0.0-beta.21"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
license = "MIT OR Apache-2.0"
edition = "2021"

View File

@ -1,6 +1,6 @@
[package]
name = "zebra-script"
version = "1.0.0-beta.20"
version = "1.0.0-beta.21"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
license = "MIT OR Apache-2.0"
edition = "2021"

View File

@ -1,6 +1,6 @@
[package]
name = "zebra-state"
version = "1.0.0-beta.20"
version = "1.0.0-beta.21"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
license = "MIT OR Apache-2.0"
edition = "2021"

View File

@ -1,6 +1,6 @@
[package]
name = "zebra-test"
version = "1.0.0-beta.20"
version = "1.0.0-beta.21"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
license = "MIT OR Apache-2.0"
edition = "2021"

View File

@ -2,7 +2,7 @@
name = "zebra-utils"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
license = "MIT OR Apache-2.0"
version = "1.0.0-beta.20"
version = "1.0.0-beta.21"
edition = "2021"
# Prevent accidental publication of this utility crate.

View File

@ -3,7 +3,7 @@
name = "zebrad"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
license = "MIT OR Apache-2.0"
version = "1.0.0-rc.4"
version = "1.0.0-rc.5"
repository = "https://github.com/ZcashFoundation/zebra"
# Settings that impact compilation