Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
235 commits
Select commit Hold shift + click to select a range
d930030
change(deps): Use ECC deps with activation height for NU6 (#8978)
upbqdn Oct 29, 2024
fef500a
chore: Release v2.0.1 (#8979)
upbqdn Oct 30, 2024
54fe39a
book: add section about private testnet testing (#8937)
conradoplg Oct 30, 2024
83921bc
Adds rust-toolchain.toml (#8985)
arya2 Nov 1, 2024
7b31711
ref: adjust GCP instances resources to better fit requirements (#8986)
gustavovalverde Nov 4, 2024
75fae66
fix(ci): fail cache disk creation if no db version is found (#8987)
gustavovalverde Nov 4, 2024
6a82531
build(deps): bump the devops group across 1 directory with 5 updates …
dependabot[bot] Nov 5, 2024
d7fbde3
fix(actions): do not require the `get-disk-name` job for forks (#8988)
gustavovalverde Nov 5, 2024
c26c3f2
add pub functionality for zaino (#8964)
idky137 Nov 5, 2024
f919da3
chore(ci): do not default to `tracing` mode in jobs execution (#9004)
gustavovalverde Nov 9, 2024
edff643
feat(actions): migrate Mergify to GitHub's Merge Queue (#9005)
gustavovalverde Nov 11, 2024
4eb285d
build(deps): bump rlespinasse/github-slug-action in the devops group …
dependabot[bot] Nov 11, 2024
ac90773
ref(mergify): use the the configuration format and keys (#9018)
gustavovalverde Nov 14, 2024
987a34a
chore: remove redundant words in comment (#9015)
pinglanlu Nov 14, 2024
7d37f77
fix: typos correction docs (#9014)
cypherpepe Nov 14, 2024
2a6e184
fix(mergify): remove deprecated `speculative_checks` option (#9033)
gustavovalverde Nov 18, 2024
77f1460
chore: update CHANGELOG to better convey the 2.0.0 issue (#9007)
conradoplg Nov 18, 2024
1dfac40
add(mempool): Verify transactions with unmined inputs in the mempool …
arya2 Nov 18, 2024
1e46914
add(rpc): Adds `getblockheader` RPC method (#8967)
arya2 Nov 18, 2024
17648cc
remove `scan-start-where-left-test` from CI (#9026)
oxarbitrage Nov 19, 2024
3983428
fix(ci): run most lighwalletd tests correctly (#9038)
gustavovalverde Nov 19, 2024
5f2f972
fix(test): Update the reference Sapling treestate (#9051)
upbqdn Nov 22, 2024
4f0746a
fix links in release templates (#9050)
oxarbitrage Nov 22, 2024
802a243
fix(mergify): align `build` job name across workflows (#9055)
gustavovalverde Nov 27, 2024
0af0742
upgrade min protocol versions for all network kinds (#9058)
oxarbitrage Nov 27, 2024
8cfb61f
add(ci): Check that dependencies have all been published to crates.io…
arya2 Nov 27, 2024
e15184d
chore: Fix clippy lints (#9062)
arya2 Nov 29, 2024
d1ae441
change(rpc): Update `getblock` RPC to more closely match zcashd (#9006)
conradoplg Dec 2, 2024
7561e1e
change(mempool): Return verification result after attempting to inser…
arya2 Dec 4, 2024
e72c0fe
refactor(mergify): streamline queue and priority rules (#9068)
gustavovalverde Dec 4, 2024
eb9e1f1
build(deps): bump the devops group across 1 directory with 5 updates …
dependabot[bot] Dec 4, 2024
a3bb1e2
change(diagnostics): Updates error messages to include inner error ty…
conradoplg Dec 4, 2024
bd122b6
add(consensus): Check consensus branch ids in tx verifier (#9063)
upbqdn Dec 5, 2024
1cf249c
Updates checkpoints (#9071)
arya2 Dec 5, 2024
179aaa4
Release v2.1.0 (#9072)
arya2 Dec 6, 2024
be50f7c
build(deps): bump the prod group across 1 directory with 22 updates (…
dependabot[bot] Dec 7, 2024
eb1d129
fix(test): Fixes bugs in the lightwalletd integration tests (#9052)
arya2 Dec 11, 2024
568b25e
build(deps): bump the prod group with 10 updates (#9077)
dependabot[bot] Dec 11, 2024
b0c4d19
fix(rpc): Refactor `getrawtransaction` & RPC error handling (#9049)
upbqdn Dec 13, 2024
543f066
add(rpc): getblock: return transaction details with verbosity=2 (#9083)
conradoplg Dec 14, 2024
1974fea
change(rpc): Avoid re-verifying transactions in blocks if those trans…
arya2 Dec 19, 2024
7597cf1
change(consensus): Allow transactions spending coinbase outputs to ha…
arya2 Dec 20, 2024
1ecf655
build(deps): bump the devops group across 1 directory with 4 updates …
dependabot[bot] Dec 20, 2024
0fe47bb
feature(rpc): Migrate from deprecated `jsonrpc_*` crates to `jsonrpse…
oxarbitrage Dec 21, 2024
7991164
build(deps): bump the devops group across 1 directory with 5 updates …
dependabot[bot] Jan 14, 2025
dad7543
fix(workflows): update patch jobs conditions and naming (#9117)
gustavovalverde Jan 14, 2025
410cac0
chore: Fix new clippy lints (#9114)
upbqdn Jan 14, 2025
82c23f3
add(test): Add serialized NU5 blocks to test vectors (#9098)
upbqdn Jan 15, 2025
050cdc3
Remove the "release crates" workflow (#9120)
upbqdn Jan 15, 2025
91bfb2d
build(deps): bump docker/build-push-action in the devops group (#9125)
dependabot[bot] Jan 15, 2025
43869bf
Add public getter / setter func to Zebra-RPC::methods.rs (#9113)
idky137 Jan 15, 2025
522d955
change(consensus): Optimize checks for coinbase transactions (#9126)
upbqdn Jan 15, 2025
1976a56
feat(actions): use GitHub `environments` for infra deployments (#9003)
gustavovalverde Jan 16, 2025
926993a
Update copyright year to 2025 (#9127)
sandakersmann Jan 16, 2025
baf20fa
fix: typos with `address` (#9134)
mpguerra Jan 17, 2025
94e0d81
chore: delete repetitive words (#9131)
rootdiae Jan 17, 2025
c7d8d71
refactor(workflows): avoid using cached states for release instances …
gustavovalverde Jan 20, 2025
c103c2d
fix(rpc): Use `jsonrpsee` in `zebra-node-services` (#9151)
oxarbitrage Jan 20, 2025
c537bae
fix: fix RUSTSEC-2024-0402 (#9141)
rex4539 Jan 22, 2025
c30187a
fix typos (#9153)
rootdiae Jan 22, 2025
05ab250
fix: fix typos (#9140)
rex4539 Jan 22, 2025
8b84017
Respond to getblockchaininfo with genesis block when empty state (#9138)
elijahhampton Jan 23, 2025
79fbc03
build(deps): bump codecov/codecov-action in the devops group (#9155)
dependabot[bot] Jan 24, 2025
f0c4971
add(state): Track spending transaction ids by spent outpoints and rev…
arya2 Jan 27, 2025
0dcc420
Run dependabot monthly (#9171)
mpguerra Jan 27, 2025
451ad35
fix spelling issues (#9177)
futreall Jan 30, 2025
ba50a6c
build(deps): bump the ecc group across 1 directory with 3 updates (#9…
dependabot[bot] Jan 30, 2025
433633e
build(deps): bump the devops group with 2 updates (#9174)
dependabot[bot] Jan 30, 2025
8bec4f3
chore(checkpoints): Update the mainnet and testnet checkpoints for v2…
oxarbitrage Jan 31, 2025
af89544
build(deps): bump the prod group across 1 directory with 36 updates (…
dependabot[bot] Jan 31, 2025
13e8e79
fix(consensus): Avoid a concurrency bug when verifying transactions i…
arya2 Jan 31, 2025
bb7ef30
docs: corrections (#9189)
Fallengirl Jan 31, 2025
09538d4
release(maintenance): Run cargo update for v2.2.0 (#9188)
oxarbitrage Jan 31, 2025
fcf5565
fix(consensus): Verify consensus branch ID in SIGHASH precomputation …
upbqdn Feb 1, 2025
d26b0c1
run `cargo autoinherit` (#9041)
oxarbitrage Feb 4, 2025
a5a1cdf
chore: Minor cleanups (#9198)
upbqdn Feb 4, 2025
6f24c9c
docs: add CI/CD architecture documentation (#9202)
gustavovalverde Feb 4, 2025
6d01f05
chore(release): Zebra release v2.2.0 (#9195)
oxarbitrage Feb 4, 2025
343656c
fix(mining): Advertise mined blocks (#9176)
oxarbitrage Feb 5, 2025
bbb8e3d
fix(ci): pin release-drafter to v6.0.0 to prevent duplicate drafts (#…
gustavovalverde Feb 5, 2025
e0c3a55
Fix Typos in Continuous Integration and Release Process Documentation…
podZzzzz Feb 6, 2025
97460cf
fix(chain): Use network kind of `TestnetKind` in transparent addresse…
arya2 Feb 7, 2025
9bda2c8
Add invalidate block method and invalidated_blocks field to NonFinali…
elijahhampton Feb 11, 2025
7445d81
build(deps): bump the devops group with 5 updates (#9208)
dependabot[bot] Feb 11, 2025
3a0269d
feat(rpc); Add `blockcommitments` field to `getblock` output (#9217)
Metalcape Feb 11, 2025
f0ad471
Fix doc ref (#9236)
upbqdn Feb 12, 2025
35e400b
correctly serialize testnet params into config (#9224)
arya2 Feb 12, 2025
ece9a8e
Adds unused and optional `_allow_high_fees` param on `sendrawtransact…
arya2 Feb 12, 2025
cf65331
feat(rpc): Add fields to `getblockchaininfo` RPC output (#9215)
arya2 Feb 12, 2025
f8860a6
zebra-rpc: Correctly map JSON-RPC to/from 2.0 (#9216)
str4d Feb 12, 2025
4132c0e
ci: Refactor Dockerfile & entrypoint (#8923)
upbqdn Feb 13, 2025
dd31d8f
fix(ci): prevent duplicate draft releases in release-drafter (#9252)
gustavovalverde Feb 13, 2025
39017c0
feat(ci): add static IPs and improve node deployment workflows (#8891)
gustavovalverde Feb 13, 2025
b2fb1a7
fix(tests): Check if a cached state is present in scanner tests (#9251)
upbqdn Feb 13, 2025
4613dcd
feat(rpc): add verbose support to getrawmempool (#9249)
conradoplg Feb 15, 2025
b4211aa
feat(network): Track misbehaving peer connections and ban them past a…
arya2 Feb 15, 2025
5cf5178
feature(rpc): Extend `getinfo` (#9261)
oxarbitrage Feb 18, 2025
9591c00
Replaces mutex with watch channel (#9262)
arya2 Feb 18, 2025
5953f8a
refactor(ci): do not run workflows tied to `ZcashFoundation` infra in…
sellout Feb 18, 2025
1e9f021
make chain_tip_difficultu pub to reuse in zaino (#9271)
AloeareV Feb 18, 2025
ac25192
docs(docker): update examples for running Zebra in Docker (#9269)
upbqdn Feb 19, 2025
14459e7
fix(ci): improve workflow conditions for cached disk jobs (#9274)
gustavovalverde Feb 19, 2025
0b8bef3
build(deps): bump the devops group across 1 directory with 3 updates …
dependabot[bot] Feb 19, 2025
c4e8e60
fix(ci): temporarily disable `test-zebra-conf-path` (#9279)
gustavovalverde Feb 20, 2025
361fa65
chore: Update the PR template (#9277)
upbqdn Feb 21, 2025
2a184e7
change(ci): Remove check for custom configs from GCP deployments (#9280)
upbqdn Feb 24, 2025
80a25c1
Fix Clippy lints for Rust 1.85 (#9289)
upbqdn Feb 24, 2025
38b7313
chore: bump Rust from 1.84.0 to 1.85.0 in Docker (#9290)
upbqdn Feb 24, 2025
79e18e0
chore(CI): Update codespell's config (#9288)
upbqdn Feb 24, 2025
29ed501
allow deserialization of Balance with skipped ID field (#9299)
AloeareV Feb 26, 2025
797ba62
fix: fix redundant #[non_exhaustive] attributes on enum variants (#9309)
mdqst Feb 28, 2025
de7e5b5
refactor(docker): allow r/w access in mounted volumes (#9281)
upbqdn Mar 3, 2025
f873aa1
docs(decisions): add architectural decision records structure (#9310)
gustavovalverde Mar 10, 2025
49741e8
fix(ci): Add Rust environment variables to Docker test workflows (#9318)
gustavovalverde Mar 12, 2025
f0140a4
fix(ci): Better permission and cache dirs handling in Docker (#9323)
upbqdn Mar 18, 2025
32de8ef
fix(docker): set `HOME` environment variable explicitly in Dockerfile…
gustavovalverde Mar 22, 2025
431a76c
build(deps): bump the devops group across 1 directory with 8 updates …
dependabot[bot] Mar 25, 2025
979cdaf
feat(state): Implements reconsider_block method (#9260)
elijahhampton Mar 25, 2025
9dfddde
fix(rpc): getblocktemplate coinbase outputs order (#9272)
oxarbitrage Mar 25, 2025
ffb37bf
Comments out `disconnects_from_misbehaving_peers` tess (#9306)
arya2 Mar 26, 2025
26c569e
rpc: Permit JSON-RPC IDs to be non-strings (#9341)
str4d Mar 28, 2025
49011f8
change(state): Refactor format upgrades into trait (#9263)
arya2 Mar 28, 2025
9493262
feat(rpc): fill size field in getblock with verbosity=2 (#9327)
conradoplg Mar 28, 2025
da6c218
ensure secondary rocksdb instance has caught up to the primary instan…
oxarbitrage Mar 30, 2025
81c2cc4
fix(ci): Add workflow that runs `zizmor` for GHA static analysis (#91…
str4d Mar 31, 2025
db48dae
fix(docker): add default CMD to test stage in Dockerfile (#9334)
gustavovalverde Mar 31, 2025
b0bbca6
feat: Add Mempool Specification to Zebra Book (#9336)
crStiv Apr 1, 2025
af689ac
build(deps): bump ring from 0.17.8 to 0.17.13 in the cargo group (#9317)
dependabot[bot] Apr 2, 2025
3b2af49
chore(deps): Updates ECC dependencies (#9300)
arya2 Apr 3, 2025
de51063
fix(clippy): last lints (#9371)
oxarbitrage Apr 3, 2025
ddcfeac
build(deps): bump the devops group across 1 directory with 4 updates …
dependabot[bot] Apr 4, 2025
8e04edb
feat(rpc): Support negative heights in `HashOrHeight` (#9316)
upbqdn Apr 4, 2025
ae37e77
build(deps): bump the ecc group across 1 directory with 2 updates (#9…
dependabot[bot] Apr 4, 2025
6f7a3b9
Deduplicate dependencies (#9382)
str4d Apr 4, 2025
0d201a5
build(deps): bump the prod group across 1 directory with 32 updates (…
dependabot[bot] Apr 5, 2025
65df200
Update `zcash_transparent` to version 0.2.3 (#9387)
nuttycom Apr 7, 2025
b1f4cd3
docs: complete the Treestate RFC documentation (#9340)
VolodymyrBg Apr 7, 2025
6febe41
rpc(getpeerinfo): Add inbound peers to method response (#9214)
oxarbitrage Apr 8, 2025
c9a4ae4
build(deps): bump tokio from 1.44.1 to 1.44.2 in the cargo group (#9391)
dependabot[bot] Apr 8, 2025
a9166b6
Update to `zcash_keys 0.8`, `zcash_client_backend 0.18` (#9395)
nuttycom Apr 8, 2025
4956c22
exit early in `try_reusing_previous_db_after_major_upgrade` if `!exis…
oxarbitrage Apr 9, 2025
7fc3765
refactor!: remove experimental features from release builds (#9222)
gustavovalverde Apr 9, 2025
cc5c5ed
build(deps): bump the devops group with 3 updates (#9404)
dependabot[bot] Apr 9, 2025
d061232
Experiment: `Transaction::V6` variants only (#9339)
aphelionz Apr 9, 2025
0ea5fe0
fix(test): wait for sync to start before launching lightwalletd (#9409)
gustavovalverde Apr 10, 2025
4e29b09
Remove the `getblocktemplate-rpcs` Cargo feature (#9401)
upbqdn Apr 10, 2025
c901adf
feat(rpc): Add some missing fields to transaction object (#9329)
oxarbitrage Apr 10, 2025
4e1bb0e
change(command): Use read-only db instance when running `tip-height` …
arya2 Apr 11, 2025
0e05fb3
feat(getaddresstxids): Make start and end fields optional and apply r…
oxarbitrage Apr 11, 2025
aa7205d
refactor(docker): Enhance Zebra configuration options and entrypoint …
gustavovalverde Apr 16, 2025
4e3426c
feat(ci): Centralize zebra configuration testing with Docker (#9423)
gustavovalverde Apr 16, 2025
c572027
fix(cd): allow to deploy without healthchecks (#9433)
gustavovalverde Apr 17, 2025
33a44e5
add(mining): Restore internal miner (#9311)
arya2 Apr 18, 2025
6e039c2
fix(ci): set `ZEBRA_CACHE_DIR` in full and checkpoint syncs (#9434)
gustavovalverde Apr 18, 2025
63723e7
zebra-state: Return only the history tree root in GetBlockTemplateCha…
nuttycom Apr 18, 2025
fb3c8d8
docs: remove consecutive duplicate words (#9446)
zeroprooff Apr 19, 2025
9002cfc
downgrade info message (#9448)
oxarbitrage Apr 21, 2025
e6dc3b6
NU7 constants (#9256)
PaulLaux Apr 21, 2025
8408dc3
refactor(ci): simplify Docker tagging to remove redundant tags (#9431)
gustavovalverde Apr 25, 2025
94f2e98
refactor(chain): replace sinsemilla with external library (#9426)
natalieesk Apr 25, 2025
12b3d5e
fix(ci): use log exit code instead of docker stop (#9465)
gustavovalverde Apr 29, 2025
7cd1858
chore: Update docs (#9469)
upbqdn Apr 29, 2025
1e25546
chore: Add checkpoints (#9466)
upbqdn May 5, 2025
33a416b
fix(ci): change dependabot to only update lockfile (#9416)
conradoplg May 5, 2025
3423e6c
Update `Cargo.lock` (#9467)
upbqdn May 6, 2025
ee65be9
fix(usability): Improve the cache dir and database startup panics (#9…
oxarbitrage May 6, 2025
188cb77
fix(ci): check, create and mount lwd cached state for tests (#9481)
arya2 May 6, 2025
638b4a2
feat(rpc): Add `time` and `size` field to `TransactionObject` (#9458)
oxarbitrage May 6, 2025
b0e7fd4
chore: Release v2.3.0 (#9475)
upbqdn May 6, 2025
0ca510b
fix z_get_treestate optional values (#9451)
oxarbitrage May 6, 2025
3a99279
use `RawValue` instead of `Value` for the `result` field of `JsonRpcR…
oxarbitrage May 7, 2025
ca51c39
update README with Arch build patch (#9513)
ala-mode May 8, 2025
89f8252
change(rpc): Move GBT RPCs into the main RPC server (#9459)
upbqdn May 9, 2025
67bfc94
fix(rpc): Regroup imports (#9521)
upbqdn May 14, 2025
8b9fdd0
Transaction and block deserialization (#9522)
idky137 May 14, 2025
d171f4a
remove test-scanner from CI (#9530)
oxarbitrage May 15, 2025
cc06251
fix(clippy, build): fix latest Clippy lints introduced in v1.87.0 and…
arya2 May 16, 2025
a77de50
zebra-rpc: Correctly set optional `scriptPubKey` fields of transactio…
str4d May 16, 2025
d321108
feat(ci): Enable stateful MIGs and fix release deployment skipping (#…
gustavovalverde May 22, 2025
5cc4357
add raw_value feature to serde_json (#9538)
oxarbitrage May 22, 2025
cbd1bb7
feat(rpc): Update `(z_)validateaddress` to validate TEX addresses (#9…
oxarbitrage May 22, 2025
7c6b2f9
refactor(ci): Simplify cached disk selection logic (#9545)
gustavovalverde May 26, 2025
694d11c
tower-batch-control: Fix `Batch::new` compilation with `tokio_unstabl…
str4d May 26, 2025
806fcab
add(process): Add hotfix release checklist (#9544)
arya2 May 26, 2025
2e60ced
refactor(ci): Run standard GitHub runners in forks and clones (#9362)
gustavovalverde May 30, 2025
1ab3b0f
fix(ci): prevent Google Cloud workflow failures on fork PRs (#9573)
gustavovalverde Jun 3, 2025
f8de752
change(deps): Allow Zebra crates to be compiled with alternative vers…
arya2 Jun 3, 2025
d230f31
change(consensus): Adds a `Nu6_1` variant to `NetworkUpgrade` (#9526)
arya2 Jun 3, 2025
c8be994
fix(ci): pin lightwalletd to v0.4.17 to prevent CI failures (#9575)
gustavovalverde Jun 3, 2025
e14d1d8
change(state): Upgrade db format to support new fields in RPC outputs…
arya2 Jun 3, 2025
f748d37
rpc: add deserialization tests (#9550)
conradoplg Jun 3, 2025
92958f6
fix(ci): handle tests that save state without requiring a cached disk…
gustavovalverde Jun 4, 2025
bcb52f8
refactor(ci): simplify GCP integration with `create-with-container` (…
gustavovalverde Jun 4, 2025
c15a8c3
Update `CONTRIBUTING.md` (#9561)
mpguerra Jun 6, 2025
7693a45
fix(ci): mark `sync-to-checkpoint` test as long-running (#9595)
gustavovalverde Jun 6, 2025
d4ea5d7
fix(network): Allow local outbound connections on Regtest (#9580)
arya2 Jun 6, 2025
cf3ae8f
build(deps): bump the ecc group across 1 directory with 3 updates (#9…
dependabot[bot] Jun 6, 2025
3b5cbf8
build(deps): bump the devops group across 1 directory with 6 updates …
dependabot[bot] Jun 9, 2025
e09bf5d
tests(wallet): Add initial framework to test zallet RPC methods (#9554)
oxarbitrage Jun 9, 2025
fb8e672
fix(consensus): reuse sighasher when validating txs (#9594)
conradoplg Jun 9, 2025
89fc713
add: Support configuring shielded addresses for mining (#9574)
upbqdn Jun 10, 2025
ae18728
change(rpc): Update `getaddressbalance` RPC to return `received` fiel…
arya2 Jun 11, 2025
0883b73
feat(rpc): `addnode` method (#9604)
oxarbitrage Jun 11, 2025
8860770
Use zcash_script’s new `Script` trait (#8751)
sellout Jun 12, 2025
08b57ab
fix: Pad script in V5 coinbase (#9620)
upbqdn Jun 12, 2025
fbab296
feat(config): Modify config to use IPv6 listen_addr by default (#9609)
elijahhampton Jun 13, 2025
1e3f40b
fix link in docs (#9628)
conradoplg Jun 13, 2025
78fd2d5
Remove `debug_like_zcashd` config option (#9627)
upbqdn Jun 16, 2025
744a3db
feat(rpc): Add `invalidateblock` and `reconsiderblock` RPC methods (#…
arya2 Jun 17, 2025
7c4d8f0
feat(rpc): add missing fields to getrawtransaction (#9636)
conradoplg Jun 18, 2025
a20692e
fix(rpc): reuse txid in getrawtransaction (#9650)
conradoplg Jun 18, 2025
617f686
add(rpc): Add a `mempool_change()` RPC method for listening to change…
arya2 Jun 18, 2025
b416443
refactor: standardize test naming conventions across CI, Docker, and …
gustavovalverde Jun 19, 2025
9caa717
feat(rpc): add value pools to getblock (#9432)
conradoplg Jun 20, 2025
63523aa
rpc: API cleanup (#9568)
conradoplg Jun 23, 2025
6e0a403
build(deps): bump the prod group across 1 directory with 12 updates (…
dependabot[bot] Jun 24, 2025
dd5f43c
chore: fix clippy issues (#9668)
conradoplg Jun 27, 2025
6af9188
fix(rpc): fix Sapling cm_u byte order (#9667)
conradoplg Jul 1, 2025
d04e21a
refactor(validate_address): expose for consumers (#9658)
dorianvp Jul 3, 2025
5bac400
change(build): Adds `prometheus` as a default feature in zebrad (#9677)
arya2 Jul 3, 2025
5895521
fix(qa): Fix tests and minor cleanups after `addnode` was added (#9629)
oxarbitrage Jul 5, 2025
70909eb
feat(rpc): Sync all chains in `TrustedChainSync::sync` (#9654)
arya2 Jul 7, 2025
17fa424
feat(rpc): Adds binding_sig, joinsplit_pub_key and joinsplit_sig fiel…
elijahhampton Jul 8, 2025
76eeecc
build(deps): bump the ecc group with 2 updates (#9672)
dependabot[bot] Jul 8, 2025
d62d028
Remove `zebra-scan` (#9683)
conradoplg Jul 9, 2025
bee5a95
Support generating V4 coinbase transactions (#9647)
upbqdn Jul 10, 2025
b57cd65
Release 2.4.0 (#9674)
conradoplg Jul 11, 2025
3700e09
docs: fix changelog date (#9702)
conradoplg Jul 11, 2025
cb736ef
downgrade log message (#9700)
oxarbitrage Jul 14, 2025
206b005
fix(ci): prevent cached state creation from failed tests (#9712)
gustavovalverde Jul 18, 2025
486b78f
fix(state): fix 2.4.0 DB upgrade; add warning if impacted (#9709)
conradoplg Jul 19, 2025
c8a3a6b
fix(release): allow `deploy-nodes` job to run for releases (#9711)
gustavovalverde Jul 21, 2025
0893e1a
Release Zebra 2.4.1 (#9718)
conradoplg Jul 23, 2025
21a22ab
Release Zebra 2.4.2 (#9732)
conradoplg Jul 28, 2025
16741b9
Merge branch 'zcash-v2.4.2' into zsa1-v2.4.2-conflicts-new
dmidem Sep 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .codespellrc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[codespell]
ignore-words-list = crate,Sur,inout,Groth,groth,re-use,
ignore-words-list = crate,Sur,inout,Groth,groth,re-use,abl,
exclude-file = book/mermaid.min.js
skip = ./zebra-rpc/qa/rpc-tests,./supply-chain
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,4 @@
!zebra-*
!zebrad
!docker/entrypoint.sh
!docker/default-zebra-config.toml
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/release.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: "🚀 Zebra Release"
about: 'Zebra team use only'
title: 'Publish next Zebra release: (version)'
labels: 'A-release, C-trivial, P-Medium :zap:'
labels: 'A-release, C-exclude-from-changelog, P-Medium :zap:'
assignees: ''

---
Expand All @@ -16,7 +16,7 @@ They can be skipped for urgent releases.

To check consensus correctness, we want to test that the state format is valid after a full sync. (Format upgrades are tested in CI on each PR.)

- [ ] Make sure there has been [at least one successful full sync test](https://github.com/ZcashFoundation/zebra/actions/workflows/ci-integration-tests-gcp.yml?query=event%3Aschedule) since the last state change, or
- [ ] Make sure there has been [at least one successful full sync test](https://github.com/ZcashFoundation/zebra/actions/workflows/ci-tests.yml?query=event%3Aschedule) since the last state change, or
- [ ] Start a manual workflow run with a Zebra and `lightwalletd` full sync.

State format changes can be made in `zebra-state` or `zebra-chain`. The state format can be changed by data that is sent to the state, data created within the state using `zebra-chain`, or serialization formats in `zebra-state` or `zebra-chain`.
Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/usability_testing_plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ assignees: ''

### Method

<!-- Explain whether the tests will be co-located or reomte, moderated or unmoderated, and who will attend the sessions (e.g a moderator and a note-taker) -->
<!-- Explain whether the tests will be co-located or remote, moderated or unmoderated, and who will attend the sessions (e.g a moderator and a note-taker) -->

### Test environment, equipment and logistics

Expand All @@ -56,7 +56,7 @@ assignees: ''

## Session Outline and timing

<!-- The following sections provide some space to plan out the script and and tasks for your participants -->
<!-- The following sections provide some space to plan out the script and tasks for your participants -->

### 1.Introduction to the session (5\')

Expand Down
100 changes: 100 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/hotfix-release-checklist.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
---
name: 'Hotfix Release Checklist Template'
about: 'Checklist to create and publish a hotfix Zebra release'
title: 'Release Zebra (version)'
labels: 'A-release, C-exclude-from-changelog, P-Critical :ambulance:'
assignees: ''

---

A hotfix release should only be created when a bug or critical issue is discovered in an existing release, and waiting for the next scheduled release is impractical or unacceptable.

## Create the Release PR

- [ ] Create a branch to fix the issue based on the tag of the release being fixed (not the main branch).
for example: `hotfix-v2.3.1` - this needs to be different to the tag name
- [ ] Make the required changes
- [ ] Create a hotfix release PR by adding `&template=hotfix-release-checklist.md` to the comparing url ([Example](https://github.com/ZcashFoundation/zebra/compare/bump-v1.0.0?expand=1&template=hotfix-release-checklist.md)).
- [ ] Add the `C-exclude-from-changelog` label so that the PR is omitted from the next release changelog
- [ ] Add the `A-release` tag to the release pull request in order for the `check_no_git_refs_in_cargo_lock` to run.
- [ ] Ensure the `check_no_git_refs_in_cargo_lock` check passes.
- [ ] Add a changelog entry for the release summarizing user-visible changes.

## Update Versions

The release level for a hotfix should always follow semantic versioning as a `patch` release.

<details>
<summary>Update crate versions, commit the changes to the release branch, and do a release dry-run:</summary>

```sh
# Update everything except for alpha crates and zebrad:
cargo release version --verbose --execute --allow-branch '*' --workspace --exclude zebrad beta
# Due to a bug in cargo-release, we need to pass exact versions for alpha crates:
# Update zebrad:
cargo release version --verbose --execute --allow-branch '*' --package zebrad patch
# Continue with the release process:
cargo release replace --verbose --execute --allow-branch '*' --package zebrad
cargo release commit --verbose --execute --allow-branch '*'
```

</details>

## Update the Release PR

- [ ] Push the version increments and the release constants to the hotfix release branch.

# Publish the Zebra Release

## Create the GitHub Pre-Release

- [ ] Wait for the hotfix release PR to be reviewed, approved, and merged into main.
- [ ] Create a new release
- [ ] Set the tag name to the version tag,
for example: `v2.3.1`
- [ ] Set the release to target the hotfix release branch
- [ ] Set the release title to `Zebra ` followed by the version tag,
for example: `Zebra 2.3.1`
- [ ] Populate the release description with the final changelog you created;
starting just _after_ the title `## [Zebra ...` of the current version being released,
and ending just _before_ the title of the previous release.
- [ ] Mark the release as 'pre-release', until it has been built and tested
- [ ] Publish the pre-release to GitHub using "Publish Release"

## Test the Pre-Release

- [ ] Wait until the Docker binaries have been built on the hotfix release branch, and the quick tests have passed:
- [ ] [ci-tests.yml](https://github.com/ZcashFoundation/zebra/actions/workflows/ci-tests.yml)
- [ ] Wait until the [pre-release deployment machines have successfully launched](https://github.com/ZcashFoundation/zebra/actions/workflows/cd-deploy-nodes-gcp.yml?query=event%3Arelease)

## Publish Release

- [ ] [Publish the release to GitHub](https://github.com/ZcashFoundation/zebra/releases) by disabling 'pre-release', then clicking "Set as the latest release"

## Publish Crates

- [ ] Checkout the hotfix release branch
- [ ] [Run `cargo login`](https://zebra.zfnd.org/dev/crate-owners.html#logging-in-to-cratesio)
- [ ] Run `cargo clean` in the zebra repo
- [ ] Publish the crates to crates.io: `cargo release publish --verbose --workspace --execute --allow-branch {hotfix-release-branch}`
- [ ] Check that the published version of Zebra can be installed from `crates.io`:
`cargo install --locked --force --version 2.minor.patch zebrad && ~/.cargo/bin/zebrad`
and put the output in a comment on the PR.

## Publish Docker Images

- [ ] Wait for the [the Docker images to be published successfully](https://github.com/ZcashFoundation/zebra/actions/workflows/release-binaries.yml?query=event%3Arelease).
- [ ] Wait for the new tag in the [dockerhub zebra space](https://hub.docker.com/r/zfnd/zebra/tags)

## Merge hotfix into main

- [ ] Review and merge the hotfix branch into the main branch. The changes and the update to the changelog must be included in the next release from main as well.
- [ ] If there are conflicts between the hotfix branch and main, the conflicts should be resolved after the hotfix release is tagged and published.

## Release Failures

If building or running fails after tagging:

<details>
1. Create a new hotfix release, starting from the top of this document.
</details>
95 changes: 64 additions & 31 deletions .github/PULL_REQUEST_TEMPLATE/release-checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,32 @@
name: 'Release Checklist Template'
about: 'Checklist to create and publish a Zebra release'
title: 'Release Zebra (version)'
labels: 'A-release, C-trivial, P-Critical :ambulance:'
labels: 'A-release, C-exclude-from-changelog, P-Critical :ambulance:'
assignees: ''

---

# Prepare for the Release

- [ ] Make sure there has been [at least one successful full sync test](https://github.com/ZcashFoundation/zebra/actions/workflows/ci-integration-tests-gcp.yml?query=event%3Aschedule) since the last state change, or start a manual full sync.
- [ ] Make sure the PRs with the new checkpoint hashes and missed dependencies are already merged.
(See the release ticket checklist for details)
- [ ] Make sure there has been [at least one successful full sync test in the main branch](https://github.com/ZcashFoundation/zebra/actions/workflows/ci-tests.yml?query=branch%3Amain) since the last state change, or start a manual full sync.

# Checkpoints

For performance and security, we want to update the Zebra checkpoints in every release.
- [ ] You can copy the latest checkpoints from CI by following [the zebra-checkpoints README](https://github.com/ZcashFoundation/zebra/blob/main/zebra-utils/README.md#zebra-checkpoints).

# Missed Dependency Updates

Sometimes `dependabot` misses some dependency updates, or we accidentally turned them off.

This step can be skipped if there is a large pending dependency upgrade. (For example, shared ECC crates.)

Here's how we make sure we got everything:
- [ ] Run `cargo update` on the latest `main` branch, and keep the output
- [ ] If needed, [add duplicate dependency exceptions to deny.toml](https://github.com/ZcashFoundation/zebra/blob/main/book/src/dev/continuous-integration.md#fixing-duplicate-dependencies-in-check-denytoml-bans)
- [ ] If needed, remove resolved duplicate dependencies from `deny.toml`
- [ ] Open a separate PR with the changes
- [ ] Add the output of `cargo update` to that PR as a comment

# Summarise Release Changes

Expand All @@ -26,7 +41,9 @@ Once you are ready to tag a release, copy the draft changelog into `CHANGELOG.md
We use [the Release Drafter workflow](https://github.com/marketplace/actions/release-drafter) to automatically create a [draft changelog](https://github.com/ZcashFoundation/zebra/releases). We follow the [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) format.

To create the final change log:
- [ ] Copy the **latest** draft changelog into `CHANGELOG.md` (there can be multiple draft releases)
- [ ] Copy the [**latest** draft
changelog](https://github.com/ZcashFoundation/zebra/releases) into
`CHANGELOG.md` (there can be multiple draft releases)
- [ ] Delete any trivial changes
- [ ] Put the list of deleted changelog entries in a PR comment to make reviewing easier
- [ ] Combine duplicate changes
Expand Down Expand Up @@ -57,7 +74,13 @@ fastmod --fixed-strings '1.58' '1.65'
- [ ] Freeze the [`batched` queue](https://dashboard.mergify.com/github/ZcashFoundation/repo/zebra/queues) using Mergify.
- [ ] Mark all the release PRs as `Critical` priority, so they go in the `urgent` Mergify queue.
- [ ] Mark all non-release PRs with `do-not-merge`, because Mergify checks approved PRs against every commit, even when a queue is frozen.
- [ ] Add the `A-release` tag to the release pull request in order for the `check-no-git-dependencies` to run.

## Zebra git sources dependencies

- [ ] Ensure the `check-no-git-dependencies` check passes.

This check runs automatically on pull requests with the `A-release` label. It must pass for crates to be published to crates.io. If the check fails, you should either halt the release process or proceed with the understanding that the crates will not be published on crates.io.

# Update Versions and End of Support

Expand All @@ -72,38 +95,39 @@ Choose a release level for `zebrad`. Release levels are based on user-visible ch
- significant new features or behaviour changes; changes to RPCs, command-line, or configs; and deprecations or removals are `minor` releases
- otherwise, it is a `patch` release

Zebra's Rust API doesn't have any support or stability guarantees, so we keep all the `zebra-*` and `tower-*` crates on a beta `pre-release` version.

### Update Crate Versions
### Update Crate Versions and Crate Change Logs

If you're publishing crates for the first time, [log in to crates.io](https://github.com/ZcashFoundation/zebra/blob/doc-crate-own/book/src/dev/crate-owners.md#logging-in-to-cratesio),
If you're publishing crates for the first time, [log in to crates.io](https://zebra.zfnd.org/dev/crate-owners.html#logging-in-to-cratesio),
and make sure you're a member of owners group.

Check that the release will work:
- [ ] Update crate versions, commit the changes to the release branch, and do a release dry-run:

- [ ] Determine which crates require release. Run `git diff --stat <previous_tag>`
and enumerate the crates that had changes.
- [ ] Determine which type of release to make. Run `semver-checks` to list API
changes: `cargo semver-checks -p <crate> --default-features`. If there are
breaking API changes, do a major release, or try to revert the API change
if it was accidental. Otherwise do a minor or patch release depending on
whether a new API was added. Note that `semver-checks` won't work
if the previous realase was yanked; you will have to determine the
type of release manually.
- [ ] Update the crate `CHANGELOG.md` listing the API changes or other
relevant information for a crate consumer. It might make sense to copy
entries from the `zebrad` changelog.
- [ ] Update crate versions:

```sh
# Update everything except for alpha crates and zebrad:
cargo release version --verbose --execute --allow-branch '*' --workspace --exclude zebrad --exclude zebra-scan --exclude zebra-grpc beta
# Due to a bug in cargo-release, we need to pass exact versions for alpha crates:
cargo release version --verbose --execute --allow-branch '*' --package zebra-scan 0.1.0-alpha.4
cargo release version --verbose --execute --allow-branch '*' --package zebra-grpc 0.1.0-alpha.2
# Update zebrad:
cargo release version --verbose --execute --allow-branch '*' --package zebrad patch # [ major | minor | patch ]
# Continue with the release process:
cargo release replace --verbose --execute --allow-branch '*' --package zebrad
cargo release commit --verbose --execute --allow-branch '*'
cargo release version --verbose --execute --allow-branch '*' -p <crate> patch # [ major | minor ]
cargo release replace --verbose --execute --allow-branch '*' -p <crate>
```

Crate publishing is [automatically checked in CI](https://github.com/ZcashFoundation/zebra/actions/workflows/release-crates-io.yml) using "dry run" mode, however due to a bug in `cargo-release` we need to pass exact versions to the alpha crates:

- [ ] Update `zebra-scan` and `zebra-grpc` alpha crates in the [release-crates-dry-run workflow script](https://github.com/ZcashFoundation/zebra/blob/main/.github/workflows/scripts/release-crates-dry-run.sh)
- [ ] Push the above version changes to the release branch.
- [ ] Update the crate `CHANGELOG.md`
- [ ] Commit and push the above version changes to the release branch.

## Update End of Support

The end of support height is calculated from the current blockchain height:
- [ ] Find where the Zcash blockchain tip is now by using a [Zcash explorer](https://zcashblockexplorer.com/blocks) or other tool.
- [ ] Find where the Zcash blockchain tip is now by using a [Zcash Block Explorer](https://mainnet.zcashexplorer.app/) or other tool.
- [ ] Replace `ESTIMATED_RELEASE_HEIGHT` in [`end_of_support.rs`](https://github.com/ZcashFoundation/zebra/blob/main/zebrad/src/components/sync/end_of_support.rs) with the height you estimate the release will be tagged.

<details>
Expand Down Expand Up @@ -141,8 +165,7 @@ The end of support height is calculated from the current blockchain height:
## Test the Pre-Release

- [ ] Wait until the Docker binaries have been built on `main`, and the quick tests have passed:
- [ ] [ci-unit-tests-docker.yml](https://github.com/ZcashFoundation/zebra/actions/workflows/ci-unit-tests-docker.yml?query=branch%3Amain)
- [ ] [ci-integration-tests-gcp.yml](https://github.com/ZcashFoundation/zebra/actions/workflows/ci-integration-tests-gcp.yml?query=branch%3Amain)
- [ ] [ci-tests.yml](https://github.com/ZcashFoundation/zebra/actions/workflows/ci-tests.yml?query=branch%3Amain)
- [ ] Wait until the [pre-release deployment machines have successfully launched](https://github.com/ZcashFoundation/zebra/actions/workflows/cd-deploy-nodes-gcp.yml?query=event%3Arelease)

## Publish Release
Expand All @@ -151,15 +174,25 @@ The end of support height is calculated from the current blockchain height:

## Publish Crates

- [ ] [Run `cargo login`](https://github.com/ZcashFoundation/zebra/blob/doc-crate-own/book/src/dev/crate-owners.md#logging-in-to-cratesio)
- [ ] Run `cargo clean` in the zebra repo (optional)
- [ ] Publish the crates to crates.io: `cargo release publish --verbose --workspace --execute`
- [ ] [Run `cargo login`](https://zebra.zfnd.org/dev/crate-owners.html#logging-in-to-cratesio)
- [ ] It is recommended that the following step be run from a fresh checkout of
the repo, to avoid accidentally publishing files like e.g. logs that might
be lingering around
- [ ] Publish the crates to crates.io; edit the list to only include the crates that
have been changed, but keep their overall order:

```
for c in zebra-test tower-fallback zebra-chain tower-batch-control zebra-node-services zebra-script zebra-state zebra-consensus zebra-network zebra-rpc zebra-utils zebrad; do cargo release publish --verbose --execute -p $c; done
```

- [ ] Check that Zebra can be installed from `crates.io`:
`cargo install --locked --force --version 1.minor.patch zebrad && ~/.cargo/bin/zebrad`
`cargo install --locked --force --version <version> zebrad && ~/.cargo/bin/zebrad`
and put the output in a comment on the PR.

## Publish Docker Images

- [ ] Wait for the [the Docker images to be published successfully](https://github.com/ZcashFoundation/zebra/actions/workflows/release-binaries.yml?query=event%3Arelease).
- [ ] Wait for the new tag in the [dockerhub zebra space](https://hub.docker.com/r/zfnd/zebra/tags)
- [ ] Un-freeze the [`batched` queue](https://dashboard.mergify.com/github/ZcashFoundation/repo/zebra/queues) using Mergify.
- [ ] Remove `do-not-merge` from the PRs you added it to

Expand Down
11 changes: 7 additions & 4 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,18 @@ updates:
# Rust section
- package-ecosystem: cargo
directory: '/'
# Update only the lockfile. We shouldn't update Cargo.toml unless it's for
# a security issue, or if we need a new feature of the dependency.
versioning-strategy: lockfile-only
# serde, clap, and other dependencies sometimes have multiple updates in a week
schedule:
interval: weekly
interval: monthly
day: monday
timezone: America/New_York
# Limit dependabot to 1 PR per reviewer
open-pull-requests-limit: 6
labels:
- 'C-trivial'
- 'C-exclude-from-changelog'
- 'A-rust'
- 'A-dependencies'
- 'P-Low :snowflake:'
Expand Down Expand Up @@ -46,11 +49,11 @@ updates:
timezone: America/New_York
open-pull-requests-limit: 4
labels:
- 'C-trivial'
- 'C-exclude-from-changelog'
- 'A-devops'
- 'A-dependencies'
- 'P-Low :snowflake:'
groups:
devops:
patterns:
- "*"
- "*"
Loading
Loading