diff --git a/CHANGELOG.md b/CHANGELOG.md index 50eea94bc..cbe4a3391 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ 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-rc.2](https://github.com/ZcashFoundation/zebra/releases/tag/v1.0.0-rc.2) - 2022-11-TODO +## [Zebra 1.0.0-rc.2](https://github.com/ZcashFoundation/zebra/releases/tag/v1.0.0-rc.2) - 2022-12-06 Zebra's latest release continues work on mining pool RPCs, fixes a rare RPC crash that could lead to memory corruption, and uses the ZIP-317 conventional fee for mempool size limits. @@ -20,14 +20,47 @@ This release has the following breaking changes: - The ZIP-317 convention fee increases based on the number of logical transparent or shielded actions in a transaction. - This change has no impact under normal network conditions. -- TODO: search the changelog for breaking changes ### Security - Fix a rare crash and memory errors when Zebra's RPC server shuts down ([#5591](https://github.com/ZcashFoundation/zebra/pull/5591)) - Evict transactions from the mempool using the ZIP-317 conventional fee ([#5703](https://github.com/ZcashFoundation/zebra/pull/5703)) -TODO: the rest of the changelog +### Added + +- Add submitblock RPC method ([#5526](https://github.com/ZcashFoundation/zebra/pull/5526)) +- Add a `mining` section with miner address to config ([#5491](https://github.com/ZcashFoundation/zebra/pull/5508)) + +### Changed + +- Select getblocktemplate RPC transactions according to ZIP-317 ([#5724](https://github.com/ZcashFoundation/zebra/pull/5724)) +- Add transaction fields to the `getblocktemplate` RPC ([#5496](https://github.com/ZcashFoundation/zebra/pull/5496) and [#5508](https://github.com/ZcashFoundation/zebra/pull/5508)) +- Populate some getblocktemplate RPC block header fields using the state best chain tip ([#5659](https://github.com/ZcashFoundation/zebra/pull/5659)) +- Return an error from getblocktemplate method if Zebra is not synced to network tip ([#5623](https://github.com/ZcashFoundation/zebra/pull/5623)) +- Implement coinbase conversion to RPC `TransactionTemplate` type ([#5554](https://github.com/ZcashFoundation/zebra/pull/5554)) +- Check block and transaction Sprout anchors in parallel ([#5742](https://github.com/ZcashFoundation/zebra/pull/5742)) +- Contextually validates mempool transactions in best chain ([#5716](https://github.com/ZcashFoundation/zebra/pull/5716) and [#5616](https://github.com/ZcashFoundation/zebra/pull/5616)) +- Generate coinbase transactions in the getblocktemplate RPC ([#5580](https://github.com/ZcashFoundation/zebra/pull/5580)) +- Log loaded config path when Zebra starts up ([#5733](https://github.com/ZcashFoundation/zebra/pull/5733)) +- Update mainnet and testnet checkpoints on 2022-12-01 ([#5754](https://github.com/ZcashFoundation/zebra/pull/5754)) +- Bump zcash\_proofs from 0.8.0 to 0.9.0 and zcash\_primitives from 0.8.1 to 0.9.0 ([#5631](https://github.com/ZcashFoundation/zebra/pull/5631)) + +### Fixed + +- Check network and P2SH addresses for mining config and funding streams([#5620](https://github.com/ZcashFoundation/zebra/pull/5620)) +- Return an error instead of panicking in the batch verifier on shutdown ([#5530](https://github.com/ZcashFoundation/zebra/pull/5530)) +- Use a more reliable release template branch name and docker command ([#5519](https://github.com/ZcashFoundation/zebra/pull/5519)) +- Make the syncer ignore some new block verification errors ([#5537](https://github.com/ZcashFoundation/zebra/pull/5537)) +- Pause new downloads when Zebra reaches the lookahead limit ([#5561](https://github.com/ZcashFoundation/zebra/pull/5561)) +- Shut down the RPC server properly when Zebra shuts down ([#5591](https://github.com/ZcashFoundation/zebra/pull/5591)) +- Print usage info for --help flag ([#5634](https://github.com/ZcashFoundation/zebra/pull/5634)) +- Fix RPC bugs ([#5761](https://github.com/ZcashFoundation/zebra/pull/5761)) +- Clarify inbound and outbound port requirements ([#5584](https://github.com/ZcashFoundation/zebra/pull/5584)) + +### Contributors + +Thank you to everyone who contributed to this release, we couldn't make Zebra without you: +@arya2, @oxarbitrage, @teor2345, and @mpguerra ## [Zebra 1.0.0-rc.1](https://github.com/ZcashFoundation/zebra/releases/tag/v1.0.0-rc.1) - 2022-11-02 diff --git a/Cargo.lock b/Cargo.lock index 0ebbba94e..0ec6935cc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4421,7 +4421,7 @@ dependencies = [ [[package]] name = "tower-batch" -version = "0.2.32" +version = "0.2.33" dependencies = [ "color-eyre", "ed25519-zebra", @@ -4445,7 +4445,7 @@ dependencies = [ [[package]] name = "tower-fallback" -version = "0.2.32" +version = "0.2.33" dependencies = [ "futures-core", "pin-project 0.4.30", @@ -5295,7 +5295,7 @@ dependencies = [ [[package]] name = "zebra-chain" -version = "1.0.0-beta.17" +version = "1.0.0-beta.18" dependencies = [ "aes", "bech32 0.9.1", @@ -5358,7 +5358,7 @@ version = "1.0.0-beta.0" [[package]] name = "zebra-consensus" -version = "1.0.0-beta.17" +version = "1.0.0-beta.18" dependencies = [ "bellman", "blake2b_simd", @@ -5401,7 +5401,7 @@ dependencies = [ [[package]] name = "zebra-network" -version = "1.0.0-beta.17" +version = "1.0.0-beta.18" dependencies = [ "bitflags", "byteorder", @@ -5437,14 +5437,14 @@ dependencies = [ [[package]] name = "zebra-node-services" -version = "1.0.0-beta.17" +version = "1.0.0-beta.18" dependencies = [ "zebra-chain", ] [[package]] name = "zebra-rpc" -version = "1.0.0-beta.17" +version = "1.0.0-beta.18" dependencies = [ "chrono", "futures", @@ -5477,7 +5477,7 @@ dependencies = [ [[package]] name = "zebra-script" -version = "1.0.0-beta.17" +version = "1.0.0-beta.18" dependencies = [ "displaydoc", "hex", @@ -5490,7 +5490,7 @@ dependencies = [ [[package]] name = "zebra-state" -version = "1.0.0-beta.17" +version = "1.0.0-beta.18" dependencies = [ "bincode", "chrono", @@ -5528,7 +5528,7 @@ dependencies = [ [[package]] name = "zebra-test" -version = "1.0.0-beta.17" +version = "1.0.0-beta.18" dependencies = [ "color-eyre", "futures", @@ -5555,7 +5555,7 @@ dependencies = [ [[package]] name = "zebra-utils" -version = "1.0.0-beta.17" +version = "1.0.0-beta.18" dependencies = [ "color-eyre", "hex", @@ -5571,7 +5571,7 @@ dependencies = [ [[package]] name = "zebrad" -version = "1.0.0-rc.1" +version = "1.0.0-rc.2" dependencies = [ "abscissa_core", "atty", diff --git a/README.md b/README.md index e81b4b95b..f319a3380 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ 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.1 +docker run zfnd/zebra:1.0.0-rc.2 ``` For more information, read our [Docker documentation](book/src/user/docker.md). @@ -102,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.1 zebrad` +3. Run `cargo install --locked --git https://github.com/ZcashFoundation/zebra --tag v1.0.0-rc.2 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). @@ -245,7 +245,7 @@ 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. This script might be needed on macOS, even with Rust stable. - No Windows support [#3801](https://github.com/ZcashFoundation/zebra/issues/3801) - We used to test with Windows Server 2019, but not anymore; see issue for details - + - Experimental Tor support is disabled until [`arti-client` upgrades to `x25519-dalek` 2.0.0 or later](https://github.com/ZcashFoundation/zebra/issues/5492) - This happens due to a Rust dependency conflict, which can only be resolved by changing the dependencies of `x25519-dalek` diff --git a/book/src/user/docker.md b/book/src/user/docker.md index d3c918976..cfc86be66 100644 --- a/book/src/user/docker.md +++ b/book/src/user/docker.md @@ -1,8 +1,8 @@ # Zebra with Docker -The easiest way to run Zebra is using [Docker](https://docs.docker.com/get-docker/). +The easiest way to run Zebra is using [Docker](https://docs.docker.com/get-docker/). -We've embraced Docker in Zebra for most of the solution lifecycle, from development environments to CI (in our pipelines), and deployment to end users. +We've embraced Docker in Zebra for most of the solution lifecycle, from development environments to CI (in our pipelines), and deployment to end users. ## Quick usage @@ -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.1 +docker run --detach zfnd/zebra:1.0.0-rc.2 ``` ### Build it locally ```shell -git clone --depth 1 --branch v1.0.0-rc.1 https://github.com/ZcashFoundation/zebra.git +git clone --depth 1 --branch v1.0.0-rc.2 https://github.com/ZcashFoundation/zebra.git docker build --file docker/Dockerfile --target runtime --tag zebra:local docker run --detach zebra:local ``` diff --git a/tower-batch/Cargo.toml b/tower-batch/Cargo.toml index acc6086c0..d938dafd7 100644 --- a/tower-batch/Cargo.toml +++ b/tower-batch/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tower-batch" -version = "0.2.32" +version = "0.2.33" authors = ["Zcash Foundation "] license = "MIT" edition = "2021" diff --git a/tower-fallback/Cargo.toml b/tower-fallback/Cargo.toml index 68c49ffad..5f69de086 100644 --- a/tower-fallback/Cargo.toml +++ b/tower-fallback/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tower-fallback" -version = "0.2.32" +version = "0.2.33" authors = ["Zcash Foundation "] license = "MIT" edition = "2021" diff --git a/zebra-chain/Cargo.toml b/zebra-chain/Cargo.toml index 69f2a2abc..2aba4edbb 100644 --- a/zebra-chain/Cargo.toml +++ b/zebra-chain/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-chain" -version = "1.0.0-beta.17" +version = "1.0.0-beta.18" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-consensus/Cargo.toml b/zebra-consensus/Cargo.toml index 0b3933edc..1a300fc5f 100644 --- a/zebra-consensus/Cargo.toml +++ b/zebra-consensus/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-consensus" -version = "1.0.0-beta.17" +version = "1.0.0-beta.18" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-network/Cargo.toml b/zebra-network/Cargo.toml index 20a062025..bbbc75536 100644 --- a/zebra-network/Cargo.toml +++ b/zebra-network/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-network" -version = "1.0.0-beta.17" +version = "1.0.0-beta.18" 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 2b0954885..df5cead56 100644 --- a/zebra-network/src/constants.rs +++ b/zebra-network/src/constants.rs @@ -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.1/"; +pub const USER_AGENT: &str = "/Zebra:1.0.0-rc.2/"; /// 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 e62733d93..ea2029e18 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.17" +version = "1.0.0-beta.18" edition = "2021" repository = "https://github.com/ZcashFoundation/zebra" diff --git a/zebra-rpc/Cargo.toml b/zebra-rpc/Cargo.toml index 91cefd9bb..a6114d901 100644 --- a/zebra-rpc/Cargo.toml +++ b/zebra-rpc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-rpc" -version = "1.0.0-beta.17" +version = "1.0.0-beta.18" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-script/Cargo.toml b/zebra-script/Cargo.toml index 054aaa63a..d4db10164 100644 --- a/zebra-script/Cargo.toml +++ b/zebra-script/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-script" -version = "1.0.0-beta.17" +version = "1.0.0-beta.18" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-state/Cargo.toml b/zebra-state/Cargo.toml index e50d8bd39..f75b6e787 100644 --- a/zebra-state/Cargo.toml +++ b/zebra-state/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-state" -version = "1.0.0-beta.17" +version = "1.0.0-beta.18" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-test/Cargo.toml b/zebra-test/Cargo.toml index 0aafae298..f07f85649 100644 --- a/zebra-test/Cargo.toml +++ b/zebra-test/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-test" -version = "1.0.0-beta.17" +version = "1.0.0-beta.18" authors = ["Zcash Foundation "] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/zebra-utils/Cargo.toml b/zebra-utils/Cargo.toml index 664e86a20..abb9ce4d5 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.17" +version = "1.0.0-beta.18" edition = "2021" # Prevent accidental publication of this utility crate. publish = false diff --git a/zebrad/Cargo.toml b/zebrad/Cargo.toml index e42063df3..984e9c12b 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-rc.1" +version = "1.0.0-rc.2" edition = "2021" # Zebra is only supported on the latest stable Rust version. Some earlier versions might work. # Zebra uses features introduced in Rust 1.58.