diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e130bf20f8..649b14fd26f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,59 @@ 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.9.0](https://github.com/ZcashFoundation/zebra/releases/tag/v1.9.0) - 2024-08-02 + +This release includes deployment of NU6 on Testnet, configurable funding streams on custom Testnets, and updates Zebra's end-of-support (EoS) +from 16 weeks to 10 weeks so that it will panic before the expected activation height of NU6 on Mainnet. + +It also replaces the `shielded-scan` compilation feature with a new `zebra-scanner` binary, adds a `TrustedChainSync` module +for replicating Zebra's best chain state, and a gRPC server in `zebra-rpc` as steps towards zcashd deprecation. + +#### Recovering after finalizing a block from a chain fork + +Zebra doesn't enforce an end-of-support height on Testnet, and previous versions of Zebra could mine or follow a chain fork that does not +activate NU6 on Testnet at height 2976000. Once a block from a fork is finalized in Zebra's state cache, updating to a version of Zebra that +does expect NU6 activation at that height will result in Zebra getting stuck, as it cannot rollback its finalized state. This can be resolved +by syncing Zebra from scratch, or by using the `copy-state` command to create a new state cache up to height 2975999. To use the `copy-state` +command, first make a copy Zebra's Testnet configuration with a different cache directory path, for example, if Zebra's configuration is at the +default path, by running `cp ~/.config/zebrad.toml ./zebrad-copy-target.toml`, then opening the new configuration file and editing the +`cache_dir` path in the `state` section. Once there's a copy of Zebra's configuration with the new state cache directory path, run: +`zebrad copy-state --target-config-path "./zebrad-copy-target.toml" --max-source-height "2975999"`, and then update the original +Zebra configuration to use the new state cache directory. + +### Added + +- A `zebra-scanner` binary replacing the `shielded-scan` compilation feature in `zebrad` ([#8608](https://github.com/ZcashFoundation/zebra/pull/8608)) +- Adds a `TrustedChainSync` module for keeping up with Zebra's non-finalized best chain from a separate process ([#8596](https://github.com/ZcashFoundation/zebra/pull/8596)) +- Add a tonic server in zebra-rpc with a `chain_tip_change()` method that notifies clients when Zebra's best chain tip changes ([#8674](https://github.com/ZcashFoundation/zebra/pull/8674)) +- NU6 network upgrade variant, minimum protocol version, and Testnet activation height ([#8693](https://github.com/ZcashFoundation/zebra/pull/8693), [8733](https://github.com/ZcashFoundation/zebra/pull/8733), [#8804](https://github.com/ZcashFoundation/zebra/pull/8804)) +- Configurable NU6 activation height on Regtest ([#8700](https://github.com/ZcashFoundation/zebra/pull/8700)) +- Configurable Testnet funding streams ([#8718](https://github.com/ZcashFoundation/zebra/pull/8718)) +- Post-NU6 funding streams, including a lockbox funding stream ([#8694](https://github.com/ZcashFoundation/zebra/pull/8694)) +- Add value pool balances to `getblockchaininfo` RPC method response ([#8769](https://github.com/ZcashFoundation/zebra/pull/8769)) +- Add NU6 lockbox funding stream information to `getblocksubsidy` RPC method response ([#8742](https://github.com/ZcashFoundation/zebra/pull/8742)) + +### Changed + +- Reduce the end-of-support halt time from 16 weeks to 10 weeks ([#8734](https://github.com/ZcashFoundation/zebra/pull/8734)) +- Bump the current protocol version from 170100 to 170110 ([#8804](https://github.com/ZcashFoundation/zebra/pull/8804)) +- Track the balance of the deferred chain value pool ([#8732](https://github.com/ZcashFoundation/zebra/pull/8732), [#8729](https://github.com/ZcashFoundation/zebra/pull/8729)) +- Require that coinbase transactions balance exactly after NU6 activation ([#8727](https://github.com/ZcashFoundation/zebra/pull/8727)) +- Support in-place disk format upgrades for major database version bumps ([#8748](https://github.com/ZcashFoundation/zebra/pull/8748)) + +### Fixed + +- Return full network upgrade activation list in `getblockchaininfo` method ([#8699](https://github.com/ZcashFoundation/zebra/pull/8699)) +- Update documentation for the new `zebra-scanner` binary ([#8675](https://github.com/ZcashFoundation/zebra/pull/8675)) +- Update documentation for using Zebra with lightwalletd ([#8714](https://github.com/ZcashFoundation/zebra/pull/8714)) +- Reduce debug output for Network on Regtest and default Testnet ([#8760](https://github.com/ZcashFoundation/zebra/pull/8760)) + +### Contributors + +Thank you to everyone who contributed to this release, we couldn't make Zebra without you: +@arya2, @conradoplg, @dependabot[bot], @oxarbitrage, @therealyingtong and @upbqdn + + ## [Zebra 1.8.0](https://github.com/ZcashFoundation/zebra/releases/tag/v1.8.0) - 2024-07-02 - Zebra now uses a default unpaid actions limit of 0, dropping transactions with diff --git a/Cargo.lock b/Cargo.lock index 8ea8b8fe872..463d412abad 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4699,7 +4699,7 @@ dependencies = [ [[package]] name = "tower-batch-control" -version = "0.2.41-beta.14" +version = "0.2.41-beta.15" dependencies = [ "color-eyre", "ed25519-zebra", @@ -4722,7 +4722,7 @@ dependencies = [ [[package]] name = "tower-fallback" -version = "0.2.41-beta.14" +version = "0.2.41-beta.15" dependencies = [ "futures-core", "pin-project", @@ -5746,7 +5746,7 @@ dependencies = [ [[package]] name = "zebra-chain" -version = "1.0.0-beta.38" +version = "1.0.0-beta.39" dependencies = [ "bitflags 2.6.0", "bitflags-serde-legacy", @@ -5809,7 +5809,7 @@ dependencies = [ [[package]] name = "zebra-consensus" -version = "1.0.0-beta.38" +version = "1.0.0-beta.39" dependencies = [ "bellman", "blake2b_simd", @@ -5855,7 +5855,7 @@ dependencies = [ [[package]] name = "zebra-grpc" -version = "0.1.0-alpha.5" +version = "0.1.0-alpha.6" dependencies = [ "color-eyre", "futures-util", @@ -5877,7 +5877,7 @@ dependencies = [ [[package]] name = "zebra-network" -version = "1.0.0-beta.38" +version = "1.0.0-beta.39" dependencies = [ "bitflags 2.6.0", "byteorder", @@ -5918,7 +5918,7 @@ dependencies = [ [[package]] name = "zebra-node-services" -version = "1.0.0-beta.38" +version = "1.0.0-beta.39" dependencies = [ "color-eyre", "jsonrpc-core", @@ -5931,7 +5931,7 @@ dependencies = [ [[package]] name = "zebra-rpc" -version = "1.0.0-beta.38" +version = "1.0.0-beta.39" dependencies = [ "chrono", "futures", @@ -5967,7 +5967,7 @@ dependencies = [ [[package]] name = "zebra-scan" -version = "0.1.0-alpha.7" +version = "0.1.0-alpha.8" dependencies = [ "bls12_381", "chrono", @@ -6013,7 +6013,7 @@ dependencies = [ [[package]] name = "zebra-script" -version = "1.0.0-beta.38" +version = "1.0.0-beta.39" dependencies = [ "hex", "lazy_static", @@ -6025,7 +6025,7 @@ dependencies = [ [[package]] name = "zebra-state" -version = "1.0.0-beta.38" +version = "1.0.0-beta.39" dependencies = [ "bincode", "chrono", @@ -6070,7 +6070,7 @@ dependencies = [ [[package]] name = "zebra-test" -version = "1.0.0-beta.38" +version = "1.0.0-beta.39" dependencies = [ "color-eyre", "futures", @@ -6098,7 +6098,7 @@ dependencies = [ [[package]] name = "zebra-utils" -version = "1.0.0-beta.38" +version = "1.0.0-beta.39" dependencies = [ "color-eyre", "hex", @@ -6129,7 +6129,7 @@ dependencies = [ [[package]] name = "zebrad" -version = "1.8.0" +version = "1.9.0" dependencies = [ "abscissa_core", "atty", diff --git a/book/src/user/docker.md b/book/src/user/docker.md index 3bca3143c16..bcd33b30794 100644 --- a/book/src/user/docker.md +++ b/book/src/user/docker.md @@ -37,7 +37,7 @@ docker run -d --platform linux/amd64 \ ### Build it locally ```shell -git clone --depth 1 --branch v1.8.0 https://github.com/ZcashFoundation/zebra.git +git clone --depth 1 --branch v1.9.0 https://github.com/ZcashFoundation/zebra.git docker build --file docker/Dockerfile --target runtime --tag zebra:local . docker run --detach zebra:local ``` diff --git a/book/src/user/install.md b/book/src/user/install.md index a87eabd5f90..710ee1fdbf5 100644 --- a/book/src/user/install.md +++ b/book/src/user/install.md @@ -76,7 +76,7 @@ To compile Zebra directly from GitHub, or from a GitHub release source archive: ```sh git clone https://github.com/ZcashFoundation/zebra.git cd zebra -git checkout v1.8.0 +git checkout v1.9.0 ``` 3. Build and Run `zebrad` @@ -89,7 +89,7 @@ target/release/zebrad start ### Compiling from git using cargo install ```sh -cargo install --git https://github.com/ZcashFoundation/zebra --tag v1.8.0 zebrad +cargo install --git https://github.com/ZcashFoundation/zebra --tag v1.9.0 zebrad ``` ### Compiling on ARM diff --git a/tower-batch-control/Cargo.toml b/tower-batch-control/Cargo.toml index e1c390e189b..bbb5e7a4e6d 100644 --- a/tower-batch-control/Cargo.toml +++ b/tower-batch-control/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tower-batch-control" -version = "0.2.41-beta.14" +version = "0.2.41-beta.15" authors = ["Zcash Foundation ", "Tower Maintainers "] description = "Tower middleware for batch request processing" # # Legal @@ -43,10 +43,10 @@ rand = "0.8.5" tokio = { version = "1.39.2", features = ["full", "tracing", "test-util"] } tokio-test = "0.4.4" -tower-fallback = { path = "../tower-fallback/", version = "0.2.41-beta.14" } +tower-fallback = { path = "../tower-fallback/", version = "0.2.41-beta.15" } tower-test = "0.4.0" -zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.38" } +zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.39" } [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tokio_unstable)'] } diff --git a/tower-fallback/Cargo.toml b/tower-fallback/Cargo.toml index 6393b00db4e..071753b822b 100644 --- a/tower-fallback/Cargo.toml +++ b/tower-fallback/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tower-fallback" -version = "0.2.41-beta.14" +version = "0.2.41-beta.15" authors = ["Zcash Foundation "] description = "A Tower service combinator that sends requests to a first service, then retries processing on a second fallback service if the first service errors." license = "MIT OR Apache-2.0" @@ -24,4 +24,4 @@ tracing = "0.1.39" [dev-dependencies] tokio = { version = "1.39.2", features = ["full", "tracing", "test-util"] } -zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.38" } +zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.39" } diff --git a/zebra-chain/Cargo.toml b/zebra-chain/Cargo.toml index 9b144676fe1..a7a4a7efc05 100644 --- a/zebra-chain/Cargo.toml +++ b/zebra-chain/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-chain" -version = "1.0.0-beta.38" +version = "1.0.0-beta.39" authors = ["Zcash Foundation "] description = "Core Zcash data structures" license = "MIT OR Apache-2.0" @@ -143,7 +143,7 @@ proptest-derive = { version = "0.5.0", optional = true } rand = { version = "0.8.5", optional = true } rand_chacha = { version = "0.3.1", optional = true } -zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.38", optional = true } +zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.39", optional = true } [dev-dependencies] # Benchmarks @@ -166,7 +166,7 @@ rand_chacha = "0.3.1" tokio = { version = "1.39.2", features = ["full", "tracing", "test-util"] } -zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.38" } +zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.39" } [[bench]] name = "block" diff --git a/zebra-consensus/Cargo.toml b/zebra-consensus/Cargo.toml index d1dba9dd535..f49041d0ba1 100644 --- a/zebra-consensus/Cargo.toml +++ b/zebra-consensus/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-consensus" -version = "1.0.0-beta.38" +version = "1.0.0-beta.39" authors = ["Zcash Foundation "] description = "Implementation of Zcash consensus checks" license = "MIT OR Apache-2.0" @@ -63,13 +63,13 @@ orchard.workspace = true zcash_proofs = { workspace = true, features = ["multicore" ] } wagyu-zcash-parameters = "0.2.0" -tower-fallback = { path = "../tower-fallback/", version = "0.2.41-beta.14" } -tower-batch-control = { path = "../tower-batch-control/", version = "0.2.41-beta.14" } +tower-fallback = { path = "../tower-fallback/", version = "0.2.41-beta.15" } +tower-batch-control = { path = "../tower-batch-control/", version = "0.2.41-beta.15" } -zebra-script = { path = "../zebra-script", version = "1.0.0-beta.38" } -zebra-state = { path = "../zebra-state", version = "1.0.0-beta.38" } -zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.38" } -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.38" } +zebra-script = { path = "../zebra-script", version = "1.0.0-beta.39" } +zebra-state = { path = "../zebra-state", version = "1.0.0-beta.39" } +zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.39" } +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.39" } # prod feature progress-bar howudoin = { version = "0.1.2", optional = true } @@ -94,6 +94,6 @@ tokio = { version = "1.39.2", features = ["full", "tracing", "test-util"] } tracing-error = "0.2.0" tracing-subscriber = "0.3.18" -zebra-state = { path = "../zebra-state", version = "1.0.0-beta.38", features = ["proptest-impl"] } -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.38", features = ["proptest-impl"] } -zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.38" } +zebra-state = { path = "../zebra-state", version = "1.0.0-beta.39", features = ["proptest-impl"] } +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.39", features = ["proptest-impl"] } +zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.39" } diff --git a/zebra-grpc/Cargo.toml b/zebra-grpc/Cargo.toml index abb52ab0bff..32e67186242 100644 --- a/zebra-grpc/Cargo.toml +++ b/zebra-grpc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-grpc" -version = "0.1.0-alpha.5" +version = "0.1.0-alpha.6" authors = ["Zcash Foundation "] description = "Zebra gRPC interface" license = "MIT OR Apache-2.0" @@ -28,8 +28,8 @@ color-eyre = "0.6.3" zcash_primitives.workspace = true -zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.38", features = ["shielded-scan"] } -zebra-chain = { path = "../zebra-chain" , version = "1.0.0-beta.38" } +zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.39", features = ["shielded-scan"] } +zebra-chain = { path = "../zebra-chain" , version = "1.0.0-beta.39" } [build-dependencies] tonic-build = "0.12.1" diff --git a/zebra-network/Cargo.toml b/zebra-network/Cargo.toml index 168105cb69d..c207910af87 100644 --- a/zebra-network/Cargo.toml +++ b/zebra-network/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-network" -version = "1.0.0-beta.38" +version = "1.0.0-beta.39" authors = ["Zcash Foundation ", "Tower Maintainers "] description = "Networking code for Zebra" # # Legal @@ -83,7 +83,7 @@ howudoin = { version = "0.1.2", optional = true } proptest = { version = "1.4.0", optional = true } proptest-derive = { version = "0.5.0", optional = true } -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.38", features = ["async-error"] } +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.39", features = ["async-error"] } [dev-dependencies] proptest = "1.4.0" diff --git a/zebra-node-services/Cargo.toml b/zebra-node-services/Cargo.toml index c9f823a23d3..5c188b34b40 100644 --- a/zebra-node-services/Cargo.toml +++ b/zebra-node-services/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-node-services" -version = "1.0.0-beta.38" +version = "1.0.0-beta.39" authors = ["Zcash Foundation "] description = "The interfaces of some Zebra node services" license = "MIT OR Apache-2.0" @@ -37,7 +37,7 @@ rpc-client = [ shielded-scan = ["tokio"] [dependencies] -zebra-chain = { path = "../zebra-chain" , version = "1.0.0-beta.38" } +zebra-chain = { path = "../zebra-chain" , version = "1.0.0-beta.39" } # Optional dependencies diff --git a/zebra-rpc/Cargo.toml b/zebra-rpc/Cargo.toml index b2c1e98a8bc..e45df94b000 100644 --- a/zebra-rpc/Cargo.toml +++ b/zebra-rpc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-rpc" -version = "1.0.0-beta.38" +version = "1.0.0-beta.39" authors = ["Zcash Foundation "] description = "A Zebra JSON Remote Procedure Call (JSON-RPC) interface" license = "MIT OR Apache-2.0" @@ -98,16 +98,16 @@ zcash_address = { workspace = true, optional = true} # Test-only feature proptest-impl proptest = { version = "1.4.0", optional = true } -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.38", features = [ +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.39", features = [ "json-conversion", ] } -zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.38" } -zebra-network = { path = "../zebra-network", version = "1.0.0-beta.38" } -zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.38", features = [ +zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.39" } +zebra-network = { path = "../zebra-network", version = "1.0.0-beta.39" } +zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.39", features = [ "rpc-client", ] } -zebra-script = { path = "../zebra-script", version = "1.0.0-beta.38" } -zebra-state = { path = "../zebra-state", version = "1.0.0-beta.38" } +zebra-script = { path = "../zebra-script", version = "1.0.0-beta.39" } +zebra-state = { path = "../zebra-state", version = "1.0.0-beta.39" } [build-dependencies] tonic-build = { version = "0.12.1", optional = true } @@ -120,17 +120,17 @@ proptest = "1.4.0" thiserror = "1.0.63" tokio = { version = "1.39.2", features = ["full", "tracing", "test-util"] } -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.38", features = [ +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.39", features = [ "proptest-impl", ] } -zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.38", features = [ +zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.39", features = [ "proptest-impl", ] } -zebra-network = { path = "../zebra-network", version = "1.0.0-beta.38", features = [ +zebra-network = { path = "../zebra-network", version = "1.0.0-beta.39", features = [ "proptest-impl", ] } -zebra-state = { path = "../zebra-state", version = "1.0.0-beta.38", features = [ +zebra-state = { path = "../zebra-state", version = "1.0.0-beta.39", features = [ "proptest-impl", ] } -zebra-test = { path = "../zebra-test", version = "1.0.0-beta.38" } +zebra-test = { path = "../zebra-test", version = "1.0.0-beta.39" } diff --git a/zebra-scan/Cargo.toml b/zebra-scan/Cargo.toml index f7843df11b5..5efe177c8c3 100644 --- a/zebra-scan/Cargo.toml +++ b/zebra-scan/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-scan" -version = "0.1.0-alpha.7" +version = "0.1.0-alpha.8" authors = ["Zcash Foundation "] description = "Shielded transaction scanner for the Zcash blockchain" license = "MIT OR Apache-2.0" @@ -76,11 +76,11 @@ zcash_primitives.workspace = true zcash_address.workspace = true sapling-crypto.workspace = true -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.38", features = ["shielded-scan"] } -zebra-state = { path = "../zebra-state", version = "1.0.0-beta.38", features = ["shielded-scan"] } -zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.38", features = ["shielded-scan"] } -zebra-grpc = { path = "../zebra-grpc", version = "0.1.0-alpha.5" } -zebra-rpc = { path = "../zebra-rpc", version = "1.0.0-beta.38" } +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.39", features = ["shielded-scan"] } +zebra-state = { path = "../zebra-state", version = "1.0.0-beta.39", features = ["shielded-scan"] } +zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.39", features = ["shielded-scan"] } +zebra-grpc = { path = "../zebra-grpc", version = "0.1.0-alpha.6" } +zebra-rpc = { path = "../zebra-rpc", version = "1.0.0-beta.39" } chrono = { version = "0.4.38", default-features = false, features = ["clock", "std", "serde"] } @@ -95,7 +95,7 @@ jubjub = { version = "0.10.0", optional = true } rand = { version = "0.8.5", optional = true } zcash_note_encryption = { version = "0.4.0", optional = true } -zebra-test = { path = "../zebra-test", version = "1.0.0-beta.38", optional = true } +zebra-test = { path = "../zebra-test", version = "1.0.0-beta.39", optional = true } # zebra-scanner binary dependencies tracing-subscriber = { version = "0.3.18", features = ["env-filter"] } @@ -106,7 +106,7 @@ serde_json = "1.0.122" jsonrpc = { version = "0.18.0", optional = true } hex = { version = "0.4.3", optional = true } -zebrad = { path = "../zebrad", version = "1.8.0" } +zebrad = { path = "../zebrad", version = "1.8.1" } [dev-dependencies] insta = { version = "1.39.0", features = ["ron", "redactions"] } @@ -124,6 +124,6 @@ zcash_note_encryption = "0.4.0" toml = "0.8.19" tonic = "0.12.1" -zebra-state = { path = "../zebra-state", version = "1.0.0-beta.38", features = ["proptest-impl"] } -zebra-test = { path = "../zebra-test", version = "1.0.0-beta.38" } +zebra-state = { path = "../zebra-state", version = "1.0.0-beta.39", features = ["proptest-impl"] } +zebra-test = { path = "../zebra-test", version = "1.0.0-beta.39" } diff --git a/zebra-script/Cargo.toml b/zebra-script/Cargo.toml index 9e876784d53..c2f8c4ee5f6 100644 --- a/zebra-script/Cargo.toml +++ b/zebra-script/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-script" -version = "1.0.0-beta.38" +version = "1.0.0-beta.39" authors = ["Zcash Foundation "] description = "Zebra script verification wrapping zcashd's zcash_script library" license = "MIT OR Apache-2.0" @@ -16,11 +16,11 @@ categories = ["api-bindings", "cryptography::cryptocurrencies"] [dependencies] zcash_script = "0.2.0" -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.38" } +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.39" } thiserror = "1.0.63" [dev-dependencies] hex = "0.4.3" lazy_static = "1.4.0" -zebra-test = { path = "../zebra-test", version = "1.0.0-beta.38" } +zebra-test = { path = "../zebra-test", version = "1.0.0-beta.39" } diff --git a/zebra-state/Cargo.toml b/zebra-state/Cargo.toml index 5c8aa288854..db14f448c4b 100644 --- a/zebra-state/Cargo.toml +++ b/zebra-state/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-state" -version = "1.0.0-beta.38" +version = "1.0.0-beta.39" authors = ["Zcash Foundation "] description = "State contextual verification and storage code for Zebra" license = "MIT OR Apache-2.0" @@ -77,13 +77,13 @@ tracing = "0.1.39" elasticsearch = { version = "8.5.0-alpha.1", default-features = false, features = ["rustls-tls"], optional = true } serde_json = { version = "1.0.122", package = "serde_json", optional = true } -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.38", features = ["async-error"] } +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.39", features = ["async-error"] } # prod feature progress-bar howudoin = { version = "0.1.2", optional = true } # test feature proptest-impl -zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.38", optional = true } +zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.39", optional = true } proptest = { version = "1.4.0", optional = true } proptest-derive = { version = "0.5.0", optional = true } @@ -108,5 +108,5 @@ jubjub = "0.10.0" tokio = { version = "1.39.2", features = ["full", "tracing", "test-util"] } -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.38", features = ["proptest-impl"] } -zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.38" } +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.39", features = ["proptest-impl"] } +zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.39" } diff --git a/zebra-test/Cargo.toml b/zebra-test/Cargo.toml index 82ee08c28c5..cbbf5ac6b6a 100644 --- a/zebra-test/Cargo.toml +++ b/zebra-test/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-test" -version = "1.0.0-beta.38" +version = "1.0.0-beta.39" authors = ["Zcash Foundation "] description = "Test harnesses and test vectors for Zebra" license = "MIT OR Apache-2.0" diff --git a/zebra-utils/Cargo.toml b/zebra-utils/Cargo.toml index 1fbb6616ca2..1c873400730 100644 --- a/zebra-utils/Cargo.toml +++ b/zebra-utils/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-utils" -version = "1.0.0-beta.38" +version = "1.0.0-beta.39" authors = ["Zcash Foundation "] description = "Developer tools for Zebra maintenance and testing" license = "MIT OR Apache-2.0" @@ -94,11 +94,11 @@ tracing-error = "0.2.0" tracing-subscriber = "0.3.18" thiserror = "1.0.63" -zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.38" } -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.38" } +zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.39" } +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.39" } # These crates are needed for the block-template-to-proposal binary -zebra-rpc = { path = "../zebra-rpc", version = "1.0.0-beta.38", optional = true } +zebra-rpc = { path = "../zebra-rpc", version = "1.0.0-beta.39", optional = true } # These crates are needed for the zebra-checkpoints binary itertools = { version = "0.13.0", optional = true } diff --git a/zebrad/Cargo.toml b/zebrad/Cargo.toml index 525c3adb609..6b4f2cfec8d 100644 --- a/zebrad/Cargo.toml +++ b/zebrad/Cargo.toml @@ -1,7 +1,7 @@ [package] # Crate metadata name = "zebrad" -version = "1.8.0" +version = "1.9.0" authors = ["Zcash Foundation "] description = "The Zcash Foundation's independent, consensus-compatible implementation of a Zcash node" license = "MIT OR Apache-2.0" @@ -157,15 +157,15 @@ test_sync_past_mandatory_checkpoint_mainnet = [] test_sync_past_mandatory_checkpoint_testnet = [] [dependencies] -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.38" } -zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.38" } -zebra-network = { path = "../zebra-network", version = "1.0.0-beta.38" } -zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.38", features = ["rpc-client"] } -zebra-rpc = { path = "../zebra-rpc", version = "1.0.0-beta.38" } -zebra-state = { path = "../zebra-state", version = "1.0.0-beta.38" } +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.39" } +zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.39" } +zebra-network = { path = "../zebra-network", version = "1.0.0-beta.39" } +zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.39", features = ["rpc-client"] } +zebra-rpc = { path = "../zebra-rpc", version = "1.0.0-beta.39" } +zebra-state = { path = "../zebra-state", version = "1.0.0-beta.39" } # Required for crates.io publishing, but it's only used in tests -zebra-utils = { path = "../zebra-utils", version = "1.0.0-beta.38", optional = true } +zebra-utils = { path = "../zebra-utils", version = "1.0.0-beta.39", optional = true } abscissa_core = "0.7.0" clap = { version = "4.5.13", features = ["cargo"] } @@ -279,13 +279,13 @@ proptest-derive = "0.5.0" # enable span traces and track caller in tests color-eyre = { version = "0.6.3" } -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.38", features = ["proptest-impl"] } -zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.38", features = ["proptest-impl"] } -zebra-network = { path = "../zebra-network", version = "1.0.0-beta.38", features = ["proptest-impl"] } -zebra-state = { path = "../zebra-state", version = "1.0.0-beta.38", features = ["proptest-impl"] } +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.39", features = ["proptest-impl"] } +zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.39", features = ["proptest-impl"] } +zebra-network = { path = "../zebra-network", version = "1.0.0-beta.39", features = ["proptest-impl"] } +zebra-state = { path = "../zebra-state", version = "1.0.0-beta.39", features = ["proptest-impl"] } -zebra-test = { path = "../zebra-test", version = "1.0.0-beta.38" } -zebra-grpc = { path = "../zebra-grpc", version = "0.1.0-alpha.5" } +zebra-test = { path = "../zebra-test", version = "1.0.0-beta.39" } +zebra-grpc = { path = "../zebra-grpc", version = "0.1.0-alpha.6" } # Used by the checkpoint generation tests via the zebra-checkpoints feature # (the binaries in this crate won't be built unless their features are enabled). @@ -296,7 +296,7 @@ zebra-grpc = { path = "../zebra-grpc", version = "0.1.0-alpha.5" } # When `-Z bindeps` is stabilised, enable this binary dependency instead: # https://github.com/rust-lang/cargo/issues/9096 # zebra-utils { path = "../zebra-utils", artifact = "bin:zebra-checkpoints" } -zebra-utils = { path = "../zebra-utils", version = "1.0.0-beta.38" } +zebra-utils = { path = "../zebra-utils", version = "1.0.0-beta.39" } [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tokio_unstable)'] } diff --git a/zebrad/src/components/sync/end_of_support.rs b/zebrad/src/components/sync/end_of_support.rs index 191d44df351..553ba2e4b00 100644 --- a/zebrad/src/components/sync/end_of_support.rs +++ b/zebrad/src/components/sync/end_of_support.rs @@ -13,7 +13,7 @@ use zebra_chain::{ use crate::application::release_version; /// The estimated height that this release will be published. -pub const ESTIMATED_RELEASE_HEIGHT: u32 = 2_562_000; +pub const ESTIMATED_RELEASE_HEIGHT: u32 = 2_626_500; /// The maximum number of days after `ESTIMATED_RELEASE_HEIGHT` where a Zebra server will run /// without halting. @@ -22,8 +22,8 @@ pub const ESTIMATED_RELEASE_HEIGHT: u32 = 2_562_000; /// /// - Zebra will exit with a panic if the current tip height is bigger than the `ESTIMATED_RELEASE_HEIGHT` /// plus this number of days. -/// - Currently set to 16 weeks. -pub const EOS_PANIC_AFTER: u32 = 112; +/// - Currently set to 14 weeks. +pub const EOS_PANIC_AFTER: u32 = 70; /// The number of days before the end of support where Zebra will display warnings. pub const EOS_WARN_AFTER: u32 = EOS_PANIC_AFTER - 14;