Skip to content

Zeam Devnet4 Release

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 10 Jun 06:33
· 61 commits to main since this release
0009ea9

Zeam Devnet4 Release

Release Information

  • Version: 0.4.36
  • Network: Devnet4
  • Release commit: 0009ea9
  • Docker Images: docker.io/blockblaz/zeam:devnet4

πŸ“‹ Changes

πŸ“‹ Changes since Devnet3

πŸ“Š Summary

  • Files changed: 119
  • Insertions: +47155
  • Deletions: -7687
  • Contributors: Anshal Shukla,Chen Kai,Ekaterina Riazantseva,Marko Lazic,Mercy Boma Naps Nkari,Noopur Singh,Parthasarathy Ramanujam,Shariq Naiyer,chethack/Chetany,zclawz,

πŸ”„ Recent commits

  • feat: add min_slot filter to selectPeer with fallback (#950) (0009ea9)

  • add rebase failure file name (#975) (8847a51)

  • Release commit for devnet4 (#974) (8b200b3)

  • node: produce blocks during pre-finalization wall-lag stall (#973) (be90d3a)

  • ci: add shadow branch auto-rebase task and release status (#931) (2d8fa6d)

  • chore: bump leanMultisig multisig-glue dependency (#972) (71b11f8)

  • Release commit for devnet4 0.4.34 (#971) (24bed92)

  • Expose lean aggregator skipped metric (#970) (ab07051)

  • node, metrics: invalid-block-roots cache to break orphan-refetch livelock (#942 follow-up) (#969) (3f5fb46)

  • Report peers causing behind sync status (#964) (d85b94a)

  • perf + diag: batched XMSS verify across blocks + #942 peer_id attribution (#966) (2936bd2)

  • aggregator and proposer aggregation improvements (#957) (7c3bce7)

  • libp2p-glue: bump INBOUND_RPC_CHANNEL_CAPACITY 256 β†’ 1024 to unstick catch-up (#963) (b897139)

  • Release commit for devnet4 (#962) (87288c3)

  • network: bump MAX_RPC_MESSAGE_SIZE 4 MB β†’ 50 MB to match MAX_GOSSIP_BLOCK_SIZE (#961) (1c98b31)

  • Release commit for devnet4 (#960) (6303626)

  • node, libp2p-glue: downgrade per-chunk reqresp + per-attestation gossip logs to debug (#959) (1c68994)

  • node: detect stuck-mesh-cluster and force full peer-status refresh (#942 follow-up) (#954) (81e64f3)

  • node, cli, types: blocks_by_range threshold 64β†’4 + per-call aggregator-children cap (#942, #940) (#953) (afa06d8)

  • impl leanSpec 802 (#956) (3dcd0bf)

  • Clone spec781 (#955) (d6894a2)

  • Release devnet4 v0.4.31 (#952) (1e2a022)

  • node, metrics: defer gossip-block hashTreeRoot to chain-worker + libxev callback histogram (#942) (#948) (70977f3)

  • feat(xmss): shadow-sim CPU-cost injection for aggregation/verification (#944) (e4188e8)

  • node, types, metrics, xmss: cut recursive-STARK aggregation tail + per-call instrumentation (#940) (#941) (b5ac7d0)

  • node, network: recover from gossip ingress stall (#926) (#938) (163efcf)

  • Release commit for devnet4 v0.4.31 (#937) (b6890ba)

  • node, types: fix aggregator worker segfault on aggregate commit (#933) (e399e01)

  • rm multiple setup/ verify call sites (#936) (bc43733)

  • Release devnet4 v0.4.30 (#932) (2d251d3)

  • node: skip redundant work on locally produced aggregate publish (#929) (69aacff)

  • node, types, xmss: keep aggregate worker under 4s slot budget (#907) (#925) (bf1d793)

  • node: refresh peer status when synced head lags wall clock (#927) (4ae48d2)

  • metrics, node: aggregate prove metrics and scoped snapshot (#907) (#923) (d801048)

  • Release commit for devnet4 v0.4.29 (#921) (7db8f43)

  • types, node: parallelize per-att_data aggregate FFI (#907) (#920) (890b3e1)

  • metrics: clarify aggregate histogram scope for #907 (#919) (c759e79)

  • parallelize aggregation as an aggregator (#916) (caf388a)

  • Release commit for devnet4 (#917) (617e7b8)

  • Minor cleanup (#915) (031104d)

  • metrics, node: lean_block_proposal attestation build metrics (#914) (9602ba3)

  • sync: keep checkpoint parent fetches on serving peer (#909) (a585d55)

  • node, types: skip recursive aggregation for 1-sig + 0-child trivial inputs (#907) (#908) (0e9e522)

  • Release commit for devnet4 v0.4.27 (#906) (b6ea869)

  • node, metrics: surface aggregator-publish counter and gossip-sig coverage (#902) (8aec322)

  • build, cli, rust: ThinLTO multisig-release + --rayon-threads + leanMultisig 5eba3b1 bump (#903) (9f76759)

  • Label aggregate coverage metrics by slot and subnet (#898) (d89b642)

  • Release commit for devnet4 (#901) (590f4b2)

  • Limit aggregate signature builds to active slot (#900) (7d687fe)

  • node: harden blocks_by_range catch-up retry and fork recovery (#894) (8ab0757)

  • fix(reqresp): return INVALID_REQUEST for zero/over-limit blocks_by_range and blocks_by_root (#882) (def6913)

  • log attestation subnet coverage in chain status (#876) (d37532e)

  • refactor mock network flow (#869) (dfd3670)

  • node, metrics: offload heavy chain mutations to chain-worker, parallelize XMSS verify (#863) (#890) (2d15b9b)

  • fix(node): retry unserved blocks_by_root roots on EOS/failure + range-sync in fc_initing (#892) (e1eee3a)

  • Release commit for devnet4 (#889) (f83a08e)

  • ci(risc0): install nightly Rust toolchain before cargo build (#888) (1e2aed5)

  • perf(node): fix slot-driver starvation under gossip flood (#863) (#886) (f2ecef7)

  • feat: implement verify_signatures test driver endpoint for hive lean-spec-tests (#880) (549f494)

  • fix(test_driver): wire gossip XMSS verify + restore state-transition assertions (#887) (1867533)

  • Release v0.4.24 (devnet4) (#885) (28dd293)

  • perf: slot-driver stall watchdog + chain.onBlock substep histogram (P0 of #863) (#883) (86d842a)

  • perf: lock-free PublicKeyCache; drop pubkey_cache_lock from hot paths (P1 of #863) (#884) (aa7b7a4)

  • Release v0.4.23 (devnet4) (#879) (6510ce9)

  • simtest: wait for metrics port before declaring beam sim ready (#871) (61db346)

  • feat: move aggregate FFI off libxev thread using Io.Threaded worker (closes #873) (#874) (09609d3)

  • fix(node): correct init error paths (double free / double thread_pool deinit) (#877) (8ec7f10)

  • feat: fork-choice test driver API for hive lean-spec-tests (#859) (8599649)

  • fix(types): clone participants bitlist when building aggregation bits (#875) (98ef227)

  • Release v0.4.22 (devnet4) (#872) (fcc7ae0)

  • Track gossip chain queue depth through processing (#870) (0656015)

  • metrics: observe xev until_done drain in clock loop (#863) (#868) (f914447)

  • Release v0.4.21 (devnet4) (#866) (04aeaba)

  • cleanup: standardize CLI flag naming to use hyphens (#806) (462673c)

  • fix(ci): read full /metrics body in CLI integration tests (#865) (64ea1b7)

  • metrics: add zeam_node_aggregation_interval_tick_seconds histogram (#864) (9312397)

  • Release v0.4.20 (devnet4) (#862) (3459e25)

  • node: decouple onInterval tick from validator/aggregator errors (#837) (#848) (d378362)

  • feat(spectest): add SSZ roundtrip runner with comptime type dispatch (#715) (95019e5)

  • chain: log duplicate-AttestationData STF rejects with full context (#850) (3de8fec)

  • Release v0.4.19 (devnet4) (#860) (e705dab)

  • fix: serve anchor block via blocks_by_root; produce blocks with no peers (#857) (93caf4c)

  • Release commit for devnet4 v0.4.18 (#856) (4a41dd1)

  • fix(network): stop integer-overflow panic on malformed gossip SSZ (Hive gossip: ignores malformed ssz) (#855) (d0d50eb)

  • network: pin malformed BlocksByRoot regression test to exact Hive bytes (#853) (453063a)

  • Release commit for devnet4 v0.4.17 (#846) (ded85d5)

  • node: parallel net-fetch (slice d) + centralised hash-root cache (slice e); chain-worker default on (#803) (#842) (8079d9b)

  • network: pre-validate BlocksByRoot RPC bytes to stop SSZ-panic DoS (#845) (9bdba17)

  • node: buffer future-slot gossip blocks during clock lag (fixes #788) (#841) (d3886d3)

  • Release v0.4.16 (Devnet4) (#839) (14222bc)

  • libp2p-glue: harden FFI surface (catch_unwind, drop static mut, CStr guards) (#819) (1584ccf)

  • feat: load chain spec from file via --chain-spec CLI flag (#794) (7b50ae7)

  • feat(metrics): add lean_gossip_mesh_peers gauge (#818) (0d04ea2)

  • Release commit for devnet4 v0.4.15 (#836) (993f193)

  • feat: implement blocksByRange RPC for efficient bulk sync (#824) (c601fc5)

  • cli: dupe chain_options name/fork_digest out of json.Parsed arena (fixes #831) (#832) (2ab3d5c)

  • chore: release devnet4 v0.4.14 (#829) (89505fe)

  • node: chain-worker routing + state-rwlock drop + queue-saturation stress (slice c-2b + c-2c of #803) (#828) (ec2d461)

  • Subscribe gossipsub mesh to selective attestation subnets only (#811) (#812) (f24fba1)

  • node: introduce RcBeamState refcounted state pointer (slice c-2a of #803) (#827) (f76e762)

  • node: chain-worker thread + bounded MPSC queues scaffold (slice c-1 of #803) (#826) (f2b8735)

  • sim,test: single-node stress harness + metrics audit (slice b of #803) (#822) (bbea4d1)

  • node,network: drop BeamNode.mutex + BlockCache wiring (slice a-3 of #803) (#820) (47ce6fa)

  • node,chain: per-resource locks + BorrowedState (slice a-2 of #803) (#805) (5fac5fd)

  • upgrade to zig 0.16.0 (#784) (7e8382c)

  • Release commit for devnet4 v0.4.13 (#810) (329e092)

  • fix(network): relieve rust-bridge swarm command channel backpressure (#808) (#809) (dd06711)

  • chore: release devnet4 v0.4.12 (#807) (d822793)

  • feat: pluggable rocksdb/lmdb backend (#782) (#783) (33ea6e4)

  • refactor: use actor model for rust-libp2p bridge (#789) (01ff08f)

  • parallelise: review follow-ups (metrics granularity, FFI hoist, determinism) (#796) (dacc1c2)

  • chore: release devnet4 v0.4.11 (#797) (8918c35)

  • Add clock tick duration metric and logging (#785) (ec82dfc)

  • cleanup: add missing callconv to pkgs/xmss (#791) (332fa94)

  • parallelise verification and aggregation compaction (#780) (92c67f0)

  • node: instrument BeamNode mutex contention + hoist hash out of lock (#786) (#787) (5ac1eb9)

  • chore: release devnet4 v0.4.10 (#781) (d629e3e)

  • forkchoice: accept safe target regression instead of hard-erroring (#779) (7cb542f)

  • chore: release devnet4 v0.4.9 (#777) (49f9207)

  • fix: batch pending parent root fetches to avoid 300+ sequential round-trips (#695) (d11e9bd)

  • chain: prune root_to_slot_cache on previous finalized slot (#776) (7a64299)

  • build, rust: funnel prover glue crates through a single staticlib shim (#775) (7bae4a0)

  • chore: release devnet4 v0.4.8 (#768) (b0a28e0)

  • feat(metrics): add Devnet-4 metrics (leanMetrics#29) (#753) (98c73f3)

  • fix: heap-allocate RPC context and detach Rust thread (#757) (0b1835b)

  • feat: add runtime aggregator role toggle API (#764) (3a1ccc7)

  • build: document opt-level=z + CGU=1 miscompile and CGU>=2 alternative (#762) (7f7f57e)

  • fix: x86_64 GPF by using C ABI for Zig FFI (#743) (54dd06b)

  • fix: segfault during cached-block catch-up sync (#765) (19e0bc5)

  • fix: avoid FFI panic on bad input; plug test-registry leak (#760) (342aa86)

  • key-manager, libp2p: drop global key cache on shutdown; fail RPCs on peer disconnect (#758) (386636b)

  • ci(hive): retry on transient docker-build failures (#750) (b87de0e)

  • fix: rpc-compat β€” correct health service name and finalized state staleness (#767) (c18d7e1)

  • ci(hive): hoist simulators/lean Cargo.lock to hive root before docker build (#766) (51b5e35)

  • build, multisig-glue: bump prover profile opt-level from z to s (#734) (#759) (64f3689)

  • chore: release devnet4 v0.4.7 (#755) (17f1083)

  • build: default rust-target-cpu to x86-64-v3 on x86_64 (#756) (a40714a)

  • add fork digest (#751) (269636d)

  • chore: release devnet4 v0.4.6 (#746) (2836958)

  • ci: add Hive integration workflow (daily + run-hive label) (#745) (6f141ed)

  • fix(validator): deduplicate validator indices from assignments (#742) (8b2f609)

  • chore: release commit for devnet4 v0.4.5 (#736) (58019b8)

  • multisig-glue: update leanMultisig to 2eb4b9d (fix-avx512) (#737) (30444b0)

  • update commit hash (#731) (69a04f9)

  • build, auto-release: fix RUSTFLAGS precedence silently dropping target-cpu (#735) (733fa80)

  • chore: release commit for devnet4 v0.4.4 (#730) (067e95e)

  • docker, build: use x86-64-v3 baseline for portable Docker images (#729) (f19a81e)

  • fix: raise gossip block decode limit to 50 MB for XMSS blocks (#723) (#728) (f51538f)

  • chore: release commit for devnet4 v0.4.3 (#727) (96f8b43)

  • fix: use-after-free in writeFailedBytes causing segfault in handleMsgFromRustBridge (#725) (#726) (844c783)

  • fix: catch xmss_setup_prover panic and return error code instead of aborting (#722) (#724) (1a8a166)

  • chore: release commit for devnet4 v0.4.2 (#718) (#721) (4ebc9b5)

  • fix(network): align gossipsub max_transmit_size with consensus spec (#717) (65ce9b0)

  • route attester/proposer keys by filename (#716) (b853ad4)

  • Release 0.4.1 β€” Devnet4 (#713) (e74b79e)

  • fix: use unbuffered writes for file logging to prevent corruption (#712) (7952c0a)

  • update branch check condition (#714) (b0be47c)

  • fix: move MAX_ATTESTATIONS_DATA to ChainSpec config with correct value of 16 (#711) (2bbd67b)

  • Release commit for devnet4 (#710) (ea8e254)

  • feat: implement recursive aggregation for devnet4 (#686) (1e044cd)

  • fix: pass max-allocation-size to snappy decode to fail early on oversized payloads (closes #706) (#707) (3275b73)

  • feat: xev Dynamic API + gitignore updates for Shadow support (#704) (4b2a711)

  • add bound checks before decoding (#705) (4e02d12)

  • refactor: update store to key by AttestationData (#656) (2cc06ef)

    πŸ”— Compare changes

    View full diff

πŸ‹ Docker Images

# Multi-architecture (recommended)
docker pull docker.io/blockblaz/zeam:devnet4

# Architecture-specific
docker pull docker.io/blockblaz/zeam:devnet4-amd64
docker pull docker.io/blockblaz/zeam:devnet4-arm64

🏷️ All Available Tags

# Latest release (only updated when release PR head matches current main)
docker pull docker.io/blockblaz/zeam:latest

# Version-specific
docker pull docker.io/blockblaz/zeam:0.4.36

# Devnet-specific  
docker pull docker.io/blockblaz/zeam:devnet4