diff --git a/CHANGELOG.md b/CHANGELOG.md index af4106660..ed713ea60 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,14 +5,44 @@ 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.6.0](https://github.com/ZcashFoundation/zebra/releases/tag/v1.6.0) - TODO: 2024-01-?? +## [Zebra 1.5.1](https://github.com/ZcashFoundation/zebra/releases/tag/v1.5.1) - 2024-01-18 This release: -- TODO: summary of other important changes -- adds an experimental `internal-miner` feature, which mines blocks within `zebrad`. This feature - is only supported on testnet. Use a more efficient GPU or ASIC for mainnet mining. -TODO: the rest of the changelog +- Adds a utility for reading scanning results, and finalizes the MVP features of the scanner. +- Adds an experimental `internal-miner` feature, which mines blocks within `zebrad`. This feature is only supported on testnet. Use a more efficient GPU or ASIC for mainnet mining. +- Contains many documentation improvements. + +### Added + +- Add an internal Zcash miner to Zebra ([#8136](https://github.com/ZcashFoundation/zebra/pull/8136), [#8150](https://github.com/ZcashFoundation/zebra/pull/8150)) +- Blockchain scanner new features: + - Don't scan and log if we are below sapling height ([#8121](https://github.com/ZcashFoundation/zebra/pull/8121)) + - Restart scanning where left ([#8080](https://github.com/ZcashFoundation/zebra/pull/8080)) + - Add scanning result reader utility ([#8104](https://github.com/ZcashFoundation/zebra/pull/8104), [#8157](https://github.com/ZcashFoundation/zebra/pull/8157)) +- Note default path to config in docs ([#8143](https://github.com/ZcashFoundation/zebra/pull/8143)) +- Document how to add a column family ([#8149](https://github.com/ZcashFoundation/zebra/pull/8149)) + +### Changed + +- Make sure scanner database is accessed using the correct types ([#8112](https://github.com/ZcashFoundation/zebra/pull/8112)) +- Move history tree and value balance to typed column families ([#8115](https://github.com/ZcashFoundation/zebra/pull/8115)) +- Refactor the user documentation for scanning ([#8124](https://github.com/ZcashFoundation/zebra/pull/8124)) +- Refactor user \& dev documentation ([#8145](https://github.com/ZcashFoundation/zebra/pull/8145)) +- Improve feature flag docs ([#8114](https://github.com/ZcashFoundation/zebra/pull/8114)) +- Allow opening the database in a read-only mode ([#8079](https://github.com/ZcashFoundation/zebra/pull/8079)) +- Send all zebrad logs to the journal under systemd ([#7965](https://github.com/ZcashFoundation/zebra/pull/7965)) + +### Fixed + +- Point to a manually created list of Zebra crates in docs ([#8160](https://github.com/ZcashFoundation/zebra/pull/8160)) +- Add shielded-scan.md to the index ([#8095](https://github.com/ZcashFoundation/zebra/pull/8095)) +- Elasticsearch feature, make bulk size the same for testnet and mainnet ([#8127](https://github.com/ZcashFoundation/zebra/pull/8127)) + +### Contributors + +Thank you to everyone who contributed to this release, we couldn't make Zebra without you: +@arya2, @bishopcheckmate, @gustavovalverde, @oxarbitrage, @sandakersmann, @teor2345 and @upbqdn ## [Zebra 1.5.0](https://github.com/ZcashFoundation/zebra/releases/tag/v1.5.0) - 2023-11-28 diff --git a/Cargo.lock b/Cargo.lock index 47f0187ce..8cac6ae86 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4668,7 +4668,7 @@ dependencies = [ [[package]] name = "tower-batch-control" -version = "0.2.41-beta.8" +version = "0.2.41-beta.9" dependencies = [ "color-eyre", "ed25519-zebra", @@ -4692,7 +4692,7 @@ dependencies = [ [[package]] name = "tower-fallback" -version = "0.2.41-beta.8" +version = "0.2.41-beta.9" dependencies = [ "futures-core", "pin-project", @@ -5667,7 +5667,7 @@ dependencies = [ [[package]] name = "zebra-chain" -version = "1.0.0-beta.32" +version = "1.0.0-beta.33" dependencies = [ "bitflags 2.4.1", "bitflags-serde-legacy", @@ -5729,7 +5729,7 @@ dependencies = [ [[package]] name = "zebra-consensus" -version = "1.0.0-beta.32" +version = "1.0.0-beta.33" dependencies = [ "bellman", "blake2b_simd", @@ -5775,7 +5775,7 @@ dependencies = [ [[package]] name = "zebra-network" -version = "1.0.0-beta.32" +version = "1.0.0-beta.33" dependencies = [ "bitflags 2.4.1", "byteorder", @@ -5816,7 +5816,7 @@ dependencies = [ [[package]] name = "zebra-node-services" -version = "1.0.0-beta.32" +version = "1.0.0-beta.33" dependencies = [ "color-eyre", "jsonrpc-core", @@ -5828,7 +5828,7 @@ dependencies = [ [[package]] name = "zebra-rpc" -version = "1.0.0-beta.32" +version = "1.0.0-beta.33" dependencies = [ "chrono", "futures", @@ -5859,7 +5859,7 @@ dependencies = [ [[package]] name = "zebra-scan" -version = "0.1.0-alpha.1" +version = "0.1.0-alpha.2" dependencies = [ "bls12_381", "chrono", @@ -5888,7 +5888,7 @@ dependencies = [ [[package]] name = "zebra-script" -version = "1.0.0-beta.32" +version = "1.0.0-beta.33" dependencies = [ "displaydoc", "hex", @@ -5901,7 +5901,7 @@ dependencies = [ [[package]] name = "zebra-state" -version = "1.0.0-beta.32" +version = "1.0.0-beta.33" dependencies = [ "bincode", "chrono", @@ -5945,7 +5945,7 @@ dependencies = [ [[package]] name = "zebra-test" -version = "1.0.0-beta.32" +version = "1.0.0-beta.33" dependencies = [ "color-eyre", "futures", @@ -5973,7 +5973,7 @@ dependencies = [ [[package]] name = "zebra-utils" -version = "1.0.0-beta.32" +version = "1.0.0-beta.33" dependencies = [ "color-eyre", "hex", @@ -5998,7 +5998,7 @@ dependencies = [ [[package]] name = "zebrad" -version = "1.5.0" +version = "1.5.1" dependencies = [ "abscissa_core", "atty", diff --git a/book/src/user/docker.md b/book/src/user/docker.md index 839819356..f4743c23d 100644 --- a/book/src/user/docker.md +++ b/book/src/user/docker.md @@ -17,7 +17,7 @@ docker run --detach zfnd/zebra:latest ### Build it locally ```shell -git clone --depth 1 --branch v1.5.0 https://github.com/ZcashFoundation/zebra.git +git clone --depth 1 --branch v1.5.1 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 748819392..47f8d6e88 100644 --- a/book/src/user/install.md +++ b/book/src/user/install.md @@ -19,7 +19,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.5.0 +git checkout v1.5.1 ``` 3. Build and Run `zebrad` @@ -32,7 +32,7 @@ target/release/zebrad start ### Compiling from git using cargo install ```sh -cargo install --git https://github.com/ZcashFoundation/zebra --tag v1.5.0 zebrad +cargo install --git https://github.com/ZcashFoundation/zebra --tag v1.5.1 zebrad ``` ### Compiling on ARM diff --git a/tower-batch-control/Cargo.toml b/tower-batch-control/Cargo.toml index 3b7075ab2..c7085f9e5 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.8" +version = "0.2.41-beta.9" authors = ["Zcash Foundation ", "Tower Maintainers "] description = "Tower middleware for batch request processing" # # Legal diff --git a/tower-fallback/Cargo.toml b/tower-fallback/Cargo.toml index dc823d8ef..8859c0bb8 100644 --- a/tower-fallback/Cargo.toml +++ b/tower-fallback/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tower-fallback" -version = "0.2.41-beta.8" +version = "0.2.41-beta.9" 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" diff --git a/zebra-chain/Cargo.toml b/zebra-chain/Cargo.toml index cf114e15f..4047df4d9 100644 --- a/zebra-chain/Cargo.toml +++ b/zebra-chain/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-chain" -version = "1.0.0-beta.32" +version = "1.0.0-beta.33" authors = ["Zcash Foundation "] description = "Core Zcash data structures" license = "MIT OR Apache-2.0" @@ -148,7 +148,7 @@ proptest-derive = { version = "0.4.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.32", optional = true } +zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.33", optional = true } [dev-dependencies] # Benchmarks diff --git a/zebra-consensus/Cargo.toml b/zebra-consensus/Cargo.toml index c98576bb7..b89c8c0bc 100644 --- a/zebra-consensus/Cargo.toml +++ b/zebra-consensus/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-consensus" -version = "1.0.0-beta.32" +version = "1.0.0-beta.33" authors = ["Zcash Foundation "] description = "Implementation of Zcash consensus checks" license = "MIT OR Apache-2.0" @@ -63,13 +63,13 @@ orchard = "0.6.0" zcash_proofs = { version = "0.13.0-rc.1", features = ["multicore" ] } wagyu-zcash-parameters = "0.2.0" -tower-fallback = { path = "../tower-fallback/", version = "0.2.41-beta.8" } -tower-batch-control = { path = "../tower-batch-control/", version = "0.2.41-beta.8" } +tower-fallback = { path = "../tower-fallback/", version = "0.2.41-beta.9" } +tower-batch-control = { path = "../tower-batch-control/", version = "0.2.41-beta.9" } -zebra-script = { path = "../zebra-script", version = "1.0.0-beta.32" } -zebra-state = { path = "../zebra-state", version = "1.0.0-beta.32" } -zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.32" } -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.32" } +zebra-script = { path = "../zebra-script", version = "1.0.0-beta.33" } +zebra-state = { path = "../zebra-state", version = "1.0.0-beta.33" } +zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.33" } +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.33" } # prod feature progress-bar howudoin = { version = "0.1.2", optional = true } diff --git a/zebra-network/Cargo.toml b/zebra-network/Cargo.toml index 4e77307ce..9fcf65ece 100644 --- a/zebra-network/Cargo.toml +++ b/zebra-network/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-network" -version = "1.0.0-beta.32" +version = "1.0.0-beta.33" 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.4.0", optional = true } -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.32", features = ["async-error"] } +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.33", features = ["async-error"] } [dev-dependencies] proptest = "1.4.0" diff --git a/zebra-node-services/Cargo.toml b/zebra-node-services/Cargo.toml index 9b28281f0..bdd6fafb1 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.32" +version = "1.0.0-beta.33" authors = ["Zcash Foundation "] description = "The interfaces of some Zebra node services" license = "MIT OR Apache-2.0" @@ -35,7 +35,7 @@ rpc-client = [ ] [dependencies] -zebra-chain = { path = "../zebra-chain" , version = "1.0.0-beta.32" } +zebra-chain = { path = "../zebra-chain" , version = "1.0.0-beta.33" } # Optional dependencies diff --git a/zebra-rpc/Cargo.toml b/zebra-rpc/Cargo.toml index f15b183d3..973db0af9 100644 --- a/zebra-rpc/Cargo.toml +++ b/zebra-rpc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-rpc" -version = "1.0.0-beta.32" +version = "1.0.0-beta.33" authors = ["Zcash Foundation "] description = "A Zebra JSON Remote Procedure Call (JSON-RPC) interface" license = "MIT OR Apache-2.0" @@ -72,12 +72,12 @@ zcash_address = { version = "0.3.1", optional = true } # Test-only feature proptest-impl proptest = { version = "1.4.0", optional = true } -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.32", features = ["json-conversion"] } -zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.32" } -zebra-network = { path = "../zebra-network", version = "1.0.0-beta.32" } -zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.32" } -zebra-script = { path = "../zebra-script", version = "1.0.0-beta.32" } -zebra-state = { path = "../zebra-state", version = "1.0.0-beta.32" } +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.33", features = ["json-conversion"] } +zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.33" } +zebra-network = { path = "../zebra-network", version = "1.0.0-beta.33" } +zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.33" } +zebra-script = { path = "../zebra-script", version = "1.0.0-beta.33" } +zebra-state = { path = "../zebra-state", version = "1.0.0-beta.33" } [dev-dependencies] insta = { version = "1.33.0", features = ["redactions", "json", "ron"] } diff --git a/zebra-scan/Cargo.toml b/zebra-scan/Cargo.toml index aad6ba657..4480885b6 100644 --- a/zebra-scan/Cargo.toml +++ b/zebra-scan/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-scan" -version = "0.1.0-alpha.1" +version = "0.1.0-alpha.2" authors = ["Zcash Foundation "] description = "Shielded transaction scanner for the Zcash blockchain" license = "MIT OR Apache-2.0" @@ -48,8 +48,8 @@ tracing = "0.1.39" zcash_client_backend = "0.10.0-rc.1" zcash_primitives = "0.13.0-rc.1" -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.31" } -zebra-state = { path = "../zebra-state", version = "1.0.0-beta.31", features = ["shielded-scan"] } +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.33" } +zebra-state = { path = "../zebra-state", version = "1.0.0-beta.33", features = ["shielded-scan"] } chrono = { version = "0.4.31", default-features = false, features = ["clock", "std", "serde"] } @@ -64,7 +64,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.31", optional = true } +zebra-test = { path = "../zebra-test", version = "1.0.0-beta.33", optional = true } [dev-dependencies] @@ -80,5 +80,5 @@ jubjub = "0.10.0" rand = "0.8.5" zcash_note_encryption = "0.4.0" -zebra-state = { path = "../zebra-state", version = "1.0.0-beta.31", features = ["proptest-impl"] } -zebra-test = { path = "../zebra-test", version = "1.0.0-beta.31" } +zebra-state = { path = "../zebra-state", version = "1.0.0-beta.33", features = ["proptest-impl"] } +zebra-test = { path = "../zebra-test", version = "1.0.0-beta.33" } diff --git a/zebra-script/Cargo.toml b/zebra-script/Cargo.toml index c0862f79c..c7668a4e8 100644 --- a/zebra-script/Cargo.toml +++ b/zebra-script/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-script" -version = "1.0.0-beta.32" +version = "1.0.0-beta.33" authors = ["Zcash Foundation "] description = "Zebra script verification wrapping zcashd's zcash_script library" license = "MIT OR Apache-2.0" @@ -17,7 +17,7 @@ categories = ["api-bindings", "cryptography::cryptocurrencies"] [dependencies] zcash_script = "0.1.14" -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.32" } +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.33" } thiserror = "1.0.56" displaydoc = "0.2.4" diff --git a/zebra-state/Cargo.toml b/zebra-state/Cargo.toml index d863e5cf5..91a569667 100644 --- a/zebra-state/Cargo.toml +++ b/zebra-state/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-state" -version = "1.0.0-beta.32" +version = "1.0.0-beta.33" authors = ["Zcash Foundation "] description = "State contextual verification and storage code for Zebra" license = "MIT OR Apache-2.0" @@ -76,13 +76,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.111", package = "serde_json", optional = true } -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.32", features = ["async-error"] } +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.33", 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.32", optional = true } +zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.33", optional = true } proptest = { version = "1.4.0", optional = true } proptest-derive = { version = "0.4.0", optional = true } diff --git a/zebra-test/Cargo.toml b/zebra-test/Cargo.toml index 372b0c3c6..8ec133aca 100644 --- a/zebra-test/Cargo.toml +++ b/zebra-test/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-test" -version = "1.0.0-beta.32" +version = "1.0.0-beta.33" 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 23368001f..fb1209212 100644 --- a/zebra-utils/Cargo.toml +++ b/zebra-utils/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-utils" -version = "1.0.0-beta.32" +version = "1.0.0-beta.33" authors = ["Zcash Foundation "] description = "Developer tools for Zebra maintenance and testing" license = "MIT OR Apache-2.0" @@ -87,12 +87,12 @@ tracing-error = "0.2.0" tracing-subscriber = "0.3.18" thiserror = "1.0.56" -zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.32" } -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.32" } -zebra-scan = { path = "../zebra-scan", version = "0.1.0-alpha.1", optional = true } +zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.33" } +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.33" } +zebra-scan = { path = "../zebra-scan", version = "0.1.0-alpha.2", optional = true } # These crates are needed for the block-template-to-proposal binary -zebra-rpc = { path = "../zebra-rpc", version = "1.0.0-beta.32", optional = true } +zebra-rpc = { path = "../zebra-rpc", version = "1.0.0-beta.33", optional = true } # These crates are needed for the zebra-checkpoints binary itertools = { version = "0.12.0", optional = true } diff --git a/zebrad/Cargo.toml b/zebrad/Cargo.toml index a07230277..8ce3ab1c3 100644 --- a/zebrad/Cargo.toml +++ b/zebrad/Cargo.toml @@ -1,7 +1,7 @@ [package] # Crate metadata name = "zebrad" -version = "1.5.0" +version = "1.5.1" authors = ["Zcash Foundation "] description = "The Zcash Foundation's independent, consensus-compatible implementation of a Zcash node" license = "MIT OR Apache-2.0" @@ -158,18 +158,18 @@ test_sync_past_mandatory_checkpoint_mainnet = [] test_sync_past_mandatory_checkpoint_testnet = [] [dependencies] -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.32" } -zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.32" } -zebra-network = { path = "../zebra-network", version = "1.0.0-beta.32" } -zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.32" } -zebra-rpc = { path = "../zebra-rpc", version = "1.0.0-beta.32" } -zebra-state = { path = "../zebra-state", version = "1.0.0-beta.32" } +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.33" } +zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.33" } +zebra-network = { path = "../zebra-network", version = "1.0.0-beta.33" } +zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.33" } +zebra-rpc = { path = "../zebra-rpc", version = "1.0.0-beta.33" } +zebra-state = { path = "../zebra-state", version = "1.0.0-beta.33" } # Experimental shielded-scan feature -zebra-scan = { path = "../zebra-scan", version = "0.1.0-alpha.1", optional = true } +zebra-scan = { path = "../zebra-scan", version = "0.1.0-alpha.2", optional = true } # Required for crates.io publishing, but it's only used in tests -zebra-utils = { path = "../zebra-utils", version = "1.0.0-beta.32", optional = true } +zebra-utils = { path = "../zebra-utils", version = "1.0.0-beta.33", optional = true } abscissa_core = "0.7.0" clap = { version = "4.4.16", features = ["cargo"] } diff --git a/zebrad/src/components/sync/end_of_support.rs b/zebrad/src/components/sync/end_of_support.rs index 760ded544..0ffc696dc 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_330_000; +pub const ESTIMATED_RELEASE_HEIGHT: u32 = 2_373_686; /// The maximum number of days after `ESTIMATED_RELEASE_HEIGHT` where a Zebra server will run /// without halting.