Skip to content

Latest commit

 

History

History
751 lines (482 loc) · 79.9 KB

File metadata and controls

751 lines (482 loc) · 79.9 KB

Changelog

0.16.0 (2026-02-25)

⚠ BREAKING CHANGES

  • network: fully migrate replay transport to p2p network (#873)
  • change api l2 l1 log format (#875)

Features

  • add block hash to revm divergence panic message (#880) (92a9eaf)
  • batch-verification: make HTTPS connection a 2-way stream (#862) (a96e9a0)
  • change api l2 l1 log format (#875) (26ea56f)
  • index reverted blocks by hash (#867) (8e360fb)
  • mempool: rewrite via in-memory subpools (#869) (b3bbca8)
  • network: bounded channel + shared starting block state (#884) (5de34e2)
  • network: fully migrate replay transport to p2p network (#873) (a8e963a)

Bug Fixes

0.15.1 (2026-02-10)

Bug Fixes

  • eth-watch: don't save batches with divergent hashes (#871) (5254754)

0.15.0 (2026-02-10)

⚠ BREAKING CHANGES

  • drop proving support for v29.x and v30.0 versions (#822)

Features

  • Accumulated interop txs (#848) (feaeeea)
  • drop proving support for v29.x and v30.0 versions (#822) (f157dbb)
  • multivm: use v0.2.6-simulate-only for V5 simulation (#855) (c21a107)
  • Set SL chain id txs (#849) (f561a9e)
  • store gzip-compressed anvil states (#837) (d231609)
  • support multiple config files (#866) (319b2f9)
  • use max_priority_fee_per_gas config value as cap on the priority fee used (#857) (2331595)

Bug Fixes

  • better recognition for missing IMultisigCommitter (#852) (9e07c51)
  • l1-watcher: skip persisting legacy batches (#860) (9d818fd)
  • rebuild_from_block assert for EN (#864) (fa2c6c6)
  • rpc: respect 0 gas price during gas estimation (#865) (ed80197)
  • Update time crate to 0.3.47 to address security vulnerability (#870) (82a0537)

0.14.2 (2026-01-29)

Features

Bug Fixes

  • increase default value for estimate_gas_pubdata_price_factor (#831) (6180db3)

0.14.1 (2026-01-27)

Features

  • Add metric for blacklisted addresses count (#820) (078368a)
  • do not require batch storage for priority tree (#825) (6a73d20)

Bug Fixes

  • rpc: revert "make eth_estimateGas work when sender has no balance (#807)" (#826) (e1018d6)

Performance Improvements

0.14.0 (2026-01-23)

⚠ BREAKING CHANGES

  • Execution of service interop transactions (#803)
  • use token prices in fee model (#787)
  • token price updater component (#779)
  • Basic V31 Support (#759)

Features

  • 2FA L1 integration (#726) (43a466f)
  • add bash script to run local chains (#777) (b786ad8)
  • add more eth-sender metrics. Bump fee limit. (#789) (6b6f13b)
  • add support for YAML config files (#785) (5f3de80)
  • add toHex helper for JS tracer (#761) (f9e14aa)
  • adjust pubdata price based on blob fill ratio (#700) (a8e6de4)
  • adjust pubdata price based on blob fill ratio (2nd attempt) (#756) (167d874)
  • Basic V31 Support (#759) (1103ab8)
  • batcher: make the limit of transaction count per batch configurable (#796) (f09de09)
  • deposit tool: Make it work with https provider; use ether as unit (#794) (c6b7839)
  • do not require batch storage (S3) for ENs (#810) (d542f07)
  • Execution of service interop transactions (#803) (20f5ed2)
  • ignore vulnerability to recover cargo-audit (#754) (309887e)
  • Implement interop system transaction (#712) (0310dbc)
  • Interop roots watcher (#819) (66c8fc5)
  • introduce CommittedBatchProvider (#764) (d3a1cf4)
  • make block-related logging consistent (#792) (485c13c)
  • more granular buckets for prove_time_per_million_native (#763) (4e0fe7d)
  • network: add runnable NetworkService (disabled by default) (#773) (88fdf39)
  • network: implement bare-bones zks RLPx subprotocol (#716) (417c6ad)
  • record prove time per native (#757) (63fd801)
  • remove hardcoded config constants (#762) (adfc998)
  • return zeroes in reward in eth_feeHistory (#800) (8f09ae7)
  • Revert "feat: adjust pubdata price based on blob fill ratio" (#753) (d7a7f54)
  • set total difficulty in rpc block headers (#801) (6dac957)
  • support JSON config files (#752) (f94d846)
  • token price updater component (#779) (863b909)
  • use newer version of zkyns-os-revm (#798) (aa97f62)
  • use token prices in fee model (#787) (1f2375f)

Bug Fixes

  • zksync_os_types compiles without features (#815) (b7dbe66)
  • construct pending block context in eth_call-like methods (#758) (1e1086a)
  • local chain config file is required to start the node (#771) (4597cae)
  • prevent "subtract with overflow" error on EN startup (#802) (0678f56)
  • refactor local-chains structure and update with anvil 1.5.1 (#776) (24d3852)
  • rename sandbox to ephemeral (#778) (16f6bad)
  • rpc: make eth_estimateGas work when sender has no balance (#807) (4ce1018)
  • run RPC/status components later in the flow (#817) (387999e)

0.13.0 (2025-12-22)

⚠ BREAKING CHANGES

  • protocol upgrade v0.30.1 (zksync-os v0.2.5) (#743)
  • network: use real HTTP server/client for batch verification (#737)
  • network: use real HTTP server/client for replay transport (#729)

Features

  • add sequencer ephemeral mode (#730) (b55cdcd)
  • config option to disable priority tree (#738) (36fbd35)
  • config: make mempool tx_fee_cap configurable (#717) (4548357)
  • make bytecode supplier address config value optional (#735) (1e6f363)
  • network: use real HTTP server/client for batch verification (#737) (d4aca72)
  • network: use real HTTP server/client for replay transport (#729) (5537d28)
  • protocol upgrade v0.30.1 (zksync-os v0.2.5) (#743) (2cd6a6e)
  • rpc: Add zks_getBlockMetadataByNumber (#724) (184c4bd)
  • tracer: Add error message for out-of-native (#720) (79d035f)

Bug Fixes

  • don't require genesis_chain_id for ENs (#734) (95c0512)
  • l1-watcher: pick the most recent upgrade cut (#742) (f86e558)
  • Replace DashMap with RwLock and HashMap (#722) (a6e658e)
  • revm-consistency-checker legacy pre-eip155 transactions (#740) (b2bd059)
  • tracer: Fix call tracer behavior for 'empty' transactions (#718) (81b5e82)
  • tracer: Fix handling of errors in subcalls (#719) (1af589d)
  • Update revm to v0.0.2 (#732) (e502499)

0.12.1 (2025-12-11)

Features

  • batcher: re-create batches using L1 watcher's data (#672) (11fefc4)
  • blob computation overhead for pubdata price (#693) (bf69d65)
  • config: Add config command (#697) (cd8a611)
  • config: use EtherAmount for fee-related configs (#676) (28c27b1)
  • Don't report Passthrough in batch_number metrics (#683) (7719fb3)
  • JS tracer (#569) (c991043)
  • remove failed transcations from block_output.tx_results (#714) (23b5323)
  • upgrade reth to 1.9.3/revm to 31.0.2 (#709) (521d473)

Bug Fixes

  • l1-watcher: handle L1 reverts during state recovery (#692) (d915174)
  • rpc: move executed block check earlier in zks_getL2ToL1LogProof (#704) (117faa8)
  • state tracking for sequencer (#715) (01c3a6b)
  • upgrade issues in block context provider (#666) (e80cb85)

0.12.0 (2025-11-28)

⚠ BREAKING CHANGES

  • allow EN to sync with overriden records (#657)
  • Remove deprecated legacy prover API (#674)

Features

  • add internal config; use it in revm checker (#608) (13e6d18)
  • allow EN to sync with overriden records (#657) (9422a14)
  • db: keep overwritten replay records (#620) (35bdab6)
  • l1-sender: send EIP-7594 blobs when Fusaka is activated (#664) (0b41a19)
  • l1-watcher: monitor ReportCommittedBatchRangeZKsyncOS events (#661) (f21e876)
  • mempool-config: make minimal_protocol_basefee configurable (#671) (9a65250)
  • Remove deprecated legacy prover API (#674) (728c177)
  • rpc: use pubdata price factor during gas estimation (#669) (8dd8377)
  • support multiple SNARKers; enhance proving observability (#631) (8541de8)

Bug Fixes

0.11.1 (2025-11-24)

Features

  • Add time_since metrics (#628) (33a7224)
  • config option to disable batcher hash assertion when rebuilding batches (#647) (34d45e1)
  • update zksync-os with p256 fix (#642) (ea04463)
  • upgrade smart-config to 0.4.0; simplify parsing (#644) (a0c1da9)

Bug Fixes

  • batcher: rebuild batches from S3 even when they are not committed (#645) (608153d)
  • Update ZKsync REVM deps (#648) (d66af50)

0.11.0 (2025-11-20)

⚠ BREAKING CHANGES

  • v30 zksync os protocol upgrade support (#594)
  • upgrade system (part 1 of N) (#582)

Features

Bug Fixes

0.10.1 (2025-11-12)

Features

  • Add REVM support of multiple execution versions (#597) (cccdba0)
  • set default block time to 250ms (#598) (3f7c724)
  • set sensible global debug levels (#600) (5e2cdcf)

Bug Fixes

0.10.0 (2025-11-06)

⚠ BREAKING CHANGES

  • support zksync-os v0.1.0 (#557)

Features

  • add last_execution_version metric (#590) (9343794)
  • get rid of batch rescheduling (preparation to get rid of BatchStorage) (#587) (62dd891)
  • remove app_bin_unpack_path from config (#588) (e55b0d4)
  • support zksync-os v0.1.0 (#557) (178a1a9)

0.9.2 (2025-11-06)

Features

  • 2FA EN batch signing without L1 verification (#459) (e6d41ab)
  • get rid of l1_gas_pricing_multiplier (#576) (3699956)
  • Protocol upgrade support for provers (#577) (a60bb89)
  • sentry: Use CLUSTER_NAME as environment tag (#570) (0befa23)

Bug Fixes

  • Consistency checker nonce for failed creates (#574) (8159d64)
  • proving empty blocks - fix division by zero error in metrics tracking (#584) (3c7d3bd)
  • set WORKDIR to /app (#573) (265dc34)

0.9.1 (2025-10-29)

Features

Bug Fixes

  • consume l1 txs processed in rebuild commands (#568) (ff74bec)

0.9.0 (2025-10-28)

⚠ BREAKING CHANGES

  • Opentelemetry support + config schema change (#559)

Features

0.8.4 (2025-10-21)

Features

  • config in sequencer to limit block production for operations/debug (#537) (ebdde51)
  • eth_call state overrides (#539) (bdf32ab)
  • l1-sender: use alloy-based tx inclusion (#541) (48202cd)
  • l1-watcher: move pagination/polling into shared component (#548) (d98d0ef)
  • make pipelines repository-agnostic (#536) (e28635b)
  • storage: move replay DB to storage crate (#535) (9c43a90)

Bug Fixes

  • Disable warning on connection retries (#545) (1a56284)
  • Persisting some info about the failed batch (#532) (ccc9a9f)
  • sequencer: save replay record first (#556) (1f3fe08)

0.8.3 (2025-10-15)

Features

  • add execution version enum (#517) (c5703f9)
  • l1-watcher: poll events actively when behind (#523) (93d6b4b)
  • l1: move {Commit,Stored}BatchInfo + introduce BatchInfo (#505) (fe0a6bd)
  • l1: move L1 discovery out of L1Sender (#502) (32aff65)
  • mempool: export even more metrics (#529) (1152166)
  • mempool: expose metrics (#522) (6de3a50)
  • replace str with module name for app bin unpack path (#516) (3f90248)
  • Saving failed proofs to bucket and exposing endpoint to get them (#507) (0dc2093)
  • sequencer: validate last 256 blocks for replayed blocks (#524) (9b17514)

Bug Fixes

0.8.2 (2025-10-13)

Bug Fixes

  • l1-sender: allow non-empty buffer for rescheduling (#511) (beec7ec)
  • l1-watcher: update batch finality (#506) (ca11ba7)

0.8.1 (2025-10-11)

Features

  • genesis: Add genesis root hash to genesis.json (#494) (4887597)
  • l1: retry RPC requests on internal error (#496) (e89d88a)
  • pipeline framework (8/X) - migrate executor l1 and batch sink (#481) (44d5776)
  • rpc: implement web3 namespace (#497) (0ff0cc4)
  • track execution_version in genesis config (#498) (136a9a9)

Bug Fixes

  • add default v,r,s,yParity fields in L1TxType during serialization (#500) (a1f28ab)

0.8.0 (2025-10-09)

⚠ BREAKING CHANGES

  • Protocol upgrade v1.1 (#487)

Features

  • add config for fee params override (#489) (13587e5)
  • add more general metrics (#468) (079a285)
  • Adding more documentation (#455) (2ed7bc7)
  • ensure L1 tx is deserializable from RPC response (#484) (80abbcb)
  • get rid of Source/Sink (#461) (762c9b7)
  • l1-watcher: track last committed/executed batch in finality (#485) (11c715c)
  • make mempool configurable (#464) (63f9f69)
  • Peek batch data from State (#458) (05ed98b)
  • Peek FRI Proofs from ProofStorage (#470) (0b5bbec)
  • pipeline framework (3/X) - migrate FriJobManager (#465) (2e012d9)
  • pipeline framework (4/X): migrate gapless committer (#467) (07cccce)
  • pipeline framework (5/X) - migrate l1 committer (#472) (2ead9a0)
  • pipeline framework (PR 2/X) - pipe() syntax; consume self; migrate batcher (#448) (7366acc)
  • pipeline framework PR 6/X - migrate l1 sender proves and SnarkJobsManager (#477) (84d87d6)
  • pipeline framework PR 7/X - priority tree migrated (#479) (2bc7250)
  • Protocol upgrade v1.1 (#487) (3f49fbc)
  • refactor priority tree (#483) (d12b99f)
  • set pubdata price to 1 (#476) (dcd060c)
  • update zksync-os to v0.0.26 and interface to v0.0.7 (#429) (f22e478)
  • wait for tx in block context provider (#478) (d6e87b7)

Bug Fixes

  • Add TxValidatorConfig to schema (#475) (797a0b5)
  • multivm: use correct directories and default version (#490) (35e5440)

0.7.5 (2025-10-06)

Features

  • add net namespace and net_version RPC call support (#436) (e7b6ff5)
  • add Sentry support (#430) (afed980)
  • drop GCP support and reduce dependencies (#375) (a4bd9e1)
  • pipeline framework (1/X) - tree, sequencer and prover_input_gen (#447) (ba2186e)
  • re-implement alloy tx types (#438) (9f993fc)

Bug Fixes

0.7.4 (2025-09-30)

Features

Bug Fixes

  • hack to allow forcing null bridgehub in config (#435) (60c007b)

Reverts

0.7.3 (2025-09-26)

Features

0.7.2 (2025-09-25)

Bug Fixes

0.7.1 (2025-09-25)

Features

  • more metrics and logs - gas per second, transaction status (#415) (6f7711a)

Bug Fixes

0.7.0 (2025-09-25)

⚠ BREAKING CHANGES

  • add execution_version 2 (#409)

Features

Bug Fixes

  • backward compatible deserialization for proofs (#414) (84e5182)

0.6.4 (2025-09-22)

Features

  • config option to force starting block number (#402) (b6024ab)
  • improve debug logging (#401) (d996338)
  • make batcher skip blocks that are already processed (#404) (edb2c27)

0.6.3 (2025-09-22)

Bug Fixes

0.6.2 (2025-09-22)

Bug Fixes

0.6.1 (2025-09-22)

Features

Bug Fixes

  • state: do not overwrite full diffs (#386) (c715709)
  • use correct previous_block_timestamp on server restart (#384) (941b1d5)

0.6.0 (2025-09-17)

⚠ BREAKING CHANGES

  • folder with risc-v binaries + handle protocol version in batch components (#369)

Features

  • add retry layer for l1 provider (#377) (8f2bfda)
  • config option to disable l1 senders (#372) (51253ca)
  • folder with risc-v binaries + handle protocol version in batch components (#369) (39ff2cf)
  • support L1->L2 tx gas estimation (#370) (11febe4)

0.5.0 (2025-09-15)

⚠ BREAKING CHANGES

  • Update state - contracts: zkos-v0.29.6, zkstack tool: origin/main (#364)
  • zksync os inteface/multivm (#345)
  • Update state - contracts from zkos-0.29.5 + scripts changes (#356)
  • make EN replay streams HTTP 1.0 (#341)

Features

  • add persistence for priority tree (#321) (2107932)
  • additional metrics to various components (#352) (821f319)
  • delay the termination, expose health endpoint (#348) (ab4c709)
  • Enhance documentation for zkos and era contracts updates (#337) (cfc42e2)
  • have all user-facing config values in one file (#349) (14cf17c)
  • implement debug_traceCall (#359) (1d11649)
  • l1-sender: wait for pending state to finalize (#311) (2aebbb5)
  • make EN replay streams HTTP 1.0 (#341) (f78e184)
  • split l1_state metrics; fix typo in l1_sender metrics (#357) (b100eda)
  • Update state - contracts from zkos-0.29.5 + scripts changes (#356) (246618e)
  • Update state - contracts: zkos-v0.29.6, zkstack tool: origin/main (#364) (282919c)
  • zksync os inteface/multivm (#345) (0498f2b)

Bug Fixes

  • eth_getTransactionCount takes mempool into account (#360) (2141089)
  • gas field calculation in tx receipt (#361) (9bb51f4)

0.4.0 (2025-09-09)

⚠ BREAKING CHANGES

  • external node can read previous replay version (#224)

Features

0.3.0 (2025-09-05)

⚠ BREAKING CHANGES

  • update l1 contracts interface (#339)
  • change L1->L2/upgrade tx type id (#333)

Features

Bug Fixes

  • add forgotten state.compact_peridoically() (#324) (e38846a)

0.2.0 (2025-09-02)

⚠ BREAKING CHANGES

  • adapt server for v29 (#284)

Features

Bug Fixes

0.1.2 (2025-08-27)

Features

Bug Fixes

  • always replay at least one block (#281) (b298988)
  • api: flatten L1 tx envelopes (#234) (f4e4296)
  • api: proper type id for txs in api (#269) (c6993b7)
  • commit- and execute- watchers - fix one-off error in batch numbers (53976e0)
  • docker: add genesis.json to docker image (#220) (2b2c3d0)
  • EN and handle errors more gracefully (#247) (0af3d9c)
  • l1: various alloy::Provider improvements (#272) (1f4fca4)
  • main after EN, serde/bincode accident (#221) (a7b4a2f)
  • make get_transaction_receipt fallible (#279) (16cce7b)
  • set correct default for pubdata limit (#241) (2beb101)
  • skip already committed blocks before main batcher loop (#286) (7e9ea74)
  • start from batch number instead of block number (#228) (241a00e)
  • temporary disable l1 commit and execute watchers (99bdfbc)
  • track timeout seal criteria in batcher (b136822)
  • use validium-rollup setting from L1 - not config; fix integration tests (#255) (19a1a82)

0.1.1 (2025-08-19)

Features

Bug Fixes

  • adopt some channel capacity to accomodate all rescheduled jobs (2bd5878)
  • api: disable Prague in mempool (9c00b42)
  • l1-watch: support new deployments (#166) (8215db9)
  • skip already processed l1 transactions in watcher on restart (#172) (b290405)
  • state recovery - read persisted repository block - not memory (#191) (146cb19)
  • storage: report proper lazy latest block (#193) (a570006)
  • update release version suffix for crates in CI (#159) (8c661fe)
  • use spawn instead of select! to start everything (#185) (09a71af)