Zeam Devnet4 Release
Pre-releaseZeam 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)
-
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)
-
node, metrics: invalid-block-roots cache to break orphan-refetch livelock (#942 follow-up) (#969) (3f5fb46)
-
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)
-
network: bump MAX_RPC_MESSAGE_SIZE 4 MB β 50 MB to match MAX_GOSSIP_BLOCK_SIZE (#961) (1c98b31)
-
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)
-
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)
-
node, types: fix aggregator worker segfault on aggregate commit (#933) (e399e01)
-
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)
-
types, node: parallelize per-att_data aggregate FFI (#907) (#920) (890b3e1)
-
metrics: clarify aggregate histogram scope for #907 (#919) (c759e79)
-
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)
-
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)
-
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)
-
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)
-
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)
-
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)
-
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)
-
Track gossip chain queue depth through processing (#870) (0656015)
-
metrics: observe xev until_done drain in clock loop (#863) (#868) (f914447)
-
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)
-
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)
-
fix: serve anchor block via blocks_by_root; produce blocks with no peers (#857) (93caf4c)
-
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)
-
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)
-
libp2p-glue: harden FFI surface (catch_unwind, drop static mut, CStr guards) (#819) (1584ccf)
-
feat: load chain spec from file via
--chain-specCLI flag (#794) (7b50ae7) -
feat(metrics): add
lean_gossip_mesh_peersgauge (#818) (0d04ea2) -
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)
-
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)
-
fix(network): relieve rust-bridge swarm command channel backpressure (#808) (#809) (dd06711)
-
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)
-
parallelise verification and aggregation compaction (#780) (92c67f0)
-
node: instrument BeamNode mutex contention + hoist hash out of lock (#786) (#787) (5ac1eb9)
-
forkchoice: accept safe target regression instead of hard-erroring (#779) (7cb542f)
-
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)
-
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: 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)
-
build: default rust-target-cpu to x86-64-v3 on x86_64 (#756) (a40714a)
-
ci: add Hive integration workflow (daily + run-hive label) (#745) (6f141ed)
-
fix(validator): deduplicate validator indices from assignments (#742) (8b2f609)
-
multisig-glue: update leanMultisig to 2eb4b9d (fix-avx512) (#737) (30444b0)
-
build, auto-release: fix RUSTFLAGS precedence silently dropping target-cpu (#735) (733fa80)
-
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)
-
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)
-
fix: use unbuffered writes for file logging to prevent corruption (#712) (7952c0a)
-
fix: move MAX_ATTESTATIONS_DATA to ChainSpec config with correct value of 16 (#711) (2bbd67b)
-
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)
-
refactor: update store to key by AttestationData (#656) (2cc06ef)
π Compare changes
π 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