Releases: matter-labs/zksync-era
prover: v14.0.0
14.0.0 (2024-05-06)
โ BREAKING CHANGES
Features
- config: Wrap sensitive urls (#1828) (c8ee740)
- Prover CLI:
status batch
command (#1638) (3fd6d65) - prover: Protocol Upgrade 1.5.0 (#1699) (6a557f7)
- prover: remove redundant config fields (#1787) (a784ea6)
- shared bridge (#298) (8c3478a)
- vm-runner: implement VM runner storage layer (#1651) (543f9e9)
Bug Fixes
core: v24.0.0
This release introduces new protocol version 24. The only difference between Version 24 and 23 is that 24 has extended bootloader memory. Note that deploying this version doesn't bump the protocol, as the upgrade has to be initiated via governance L1 transaction.
Noteworthy for EN operators:
#1642 (Granular max response size config)
For more information, please see the changelog below.
24.0.0 (2024-04-30)
โ BREAKING CHANGES
Features
- api: Allow granular max response size config (#1642) (83c4034)
- api: Improve logging for API server (#1792) (50fbda5)
- api: Track params for RPC methods (#1673) (1a34c8b)
- configs: move ecosystem contracts to contracts (#1606) (9d52180)
- EcPairing precompile as system contract (#1761) (3071622)
- Include create2 factory in genesis (#1775) (597280b)
- prover: Protocol Upgrade 1.5.0 (#1699) (6a557f7)
- prover: remove redundant config fields (#1787) (a784ea6)
- shared bridge (#298) (8c3478a)
- tree: Improved tree pruning (#1532) (bcb192c)
- vm-runner: implement VM runner storage layer (#1651) (543f9e9)
- vm: Extend bootloader memory in the new version (#1807) (f461b28)
Bug Fixes
- api: Fix extra DB connection acquisition during tx submission (#1793) (9c6ed83)
- en: correct en config vars (#1809) (d340fbc)
- en: Remove duplicate reorg detector (#1783) (3417941)
- kl-factory: base token ether tests (#1746) (6cf14a0)
- prover: Fix panics if prover's config is not ready (#1822) (21d90d7)
- snapshots_creator: Remove snapshots during reverts (#1757) (8d587fd)
- types: Add LegacyMixedCall (#1773) (2b236fe)
- v23 api typo (#1821) (a11fa86)
- Weaker assert for protocol version for operations (#1800) (11898c2)
prover: v13.0.0
13.0.0 (2024-04-22)
โ BREAKING CHANGES
- vm: 1 5 0 support (#1508)
Features
- Archive old prover jobs (#1516) (201476c)
- Archiving of prover in gpu_prover_queue (#1537) (a970629)
- configs: Implement new format of configs and implement protobuf for it (#1501) (086ba5b)
- db: Wrap sqlx errors in DAL (#1522) (6e9ed8c)
- fix availability checker (#1574) (b2f21fb)
- Prover CLI Scaffoldings (#1609) (9a22fa0)
- Remove zksync-rs SDK (#1559) (cc78e1d)
- sqlx: Use offline mode by default (#1539) (af01edd)
- vm: 1 5 0 support (#1508) (a6ccd25)
Bug Fixes
- en: Fix miscellaneous snapshot recovery nits (#1701) (13bfecc)
- made consensus store certificates asynchronously from statekeeper (#1711) (d1032ab)
Performance Improvements
Reverts
core: v23.1.0
23.1.0 (2024-04-22)
Features
- en: Add boxed L2 client and use it in DI (#1627) (9948187)
- Extract block_reverter into separate crate (#1632) (8ab2488)
- Extract house keeper into separate crate (#1685) (f6f49b7)
- remove enum index migration (#1734) (13c0f52)
- state-keeper: miniblock max payload size (BFT-417) (#1284) (a3c8e81)
Bug Fixes
- en: Fix miscellaneous snapshot recovery nits (#1701) (13bfecc)
- ensure two connections for both executor and async catchup (#1755) (3b14a9f)
- made consensus store certificates asynchronously from statekeeper (#1711) (d1032ab)
- merkle_tree: don't panic in
BlockOutputWithProofs::verify_proofs
(#1717) (a44fac9) - types: fix LegacyCall type (#1739) (712919f)
Performance Improvements
Reverts
core: v23.0.0
23.0.0 (2024-04-16)
This release lays out some ground work for the upcoming protocol version upgrade (protocol version 23
). Note that deploying this version doesn't bump the protocol, as the upgrade has to be initiated via governance L1 transaction. Also please note that this is not the final version required for the upgrade - we'll announce this separately
Apart from that, it has some QoL improvements and some ground work for features that are coming soon (like pruning and snapshot recovery).
Noteworthy for EN operators:
- #1500 (ENs shouldn't be rate-limited by Main Node anymore)
- #1457 (EN now support additional API servers that operate on the same DB, which allows for better read traffic scaling)
For more information, please see the changelog below.
โ BREAKING CHANGES
- vm: 1 5 0 support (#1508)
Features
- api: Add
tokens_whitelisted_for_paymaster
(#1545) (6da89cd) - api: Log info about estimated fee (#1611) (daed58c)
- Archive old prover jobs (#1516) (201476c)
- Archiving of prover in gpu_prover_queue (#1537) (a970629)
- block-reverter: only require private key for sending revert transactions (#1579) (27de6b7)
- config: Initialize log config from files as well (#1566) (9e7db59)
- configs: Implement new format of configs and implement protobuf for it (#1501) (086ba5b)
- db: Wrap sqlx errors in DAL (#1522) (6e9ed8c)
- EN Pruning (#1418) (cea6578)
- en: add consistency checker condition in db pruner (#1653) (5ed92b9)
- en: add manual vacuum step in db pruning (#1652) (c818be3)
- en: Rate-limit L2 client requests (#1500) (3f55f1e)
- en: Rework storing and using protective reads (#1515) (13c0c45)
- en: support for snapshots recovery in version_sync_task.rs (#1585) (f911276)
- eth-watch: Brush up Ethereum watcher component (#1596) (b0b8f89)
- Expose component configs as info metrics (#1584) (7c8ae40)
- external-node: external node distributed operation mode (#1457) (777ffca)
- Extract commitment generator into a separate crate (#1636) (f763d1f)
- Extract eth_watch and shared metrics into separate crates (#1572) (4013771)
- Finalize fee address migration (#1617) (713f56b)
- fix availability checker (#1574) (b2f21fb)
- genesis: Add genesis config generator (#1671) (45164fa)
- genesis: mark system contracts bytecodes as known (#1554) (5ffec51)
- Migrate gas limit to u64 (#1538) (56dc049)
- node-framework: Add consensus support (#1546) (27fe475)
- node-framework: Add consistency checker (#1527) (3c28c25)
- remove unused variables in prover configs (#1564) (d32a019)
- Remove zksync-rs SDK (#1559) (cc78e1d)
- soft removal of
events_queue
table (#1504) (5899bc6) - sqlx: Use offline mode by default (#1539) (af01edd)
- Use config for max number of circuits (#1573) (9fcb87e)
- Validium (#1461) (132a169)
- vm: 1 5 0 support (#1508) (a6ccd25)
Bug Fixes
- api: Change error code for Web3Error::NotImplemented (#1521) (0a13602)
- cache: use factory deps cache correctly (#1547) (a923e11)
- CI: Less flaky CI (#1536) (2444b53)
- configs: Make genesis fields optional (#1555) (2d0ef46)
- contract verifier config test (#1583) (030d447)
- contract-verifier-api: permissive cors for contract verifier api server (#1525) (423f4a7)
- db: Fix "values cache update task failed" panics (#1561) (f7c5c14)
- en: do not log error when whitelisted_tokens_for_aa is not supported (#1600) (06c87f5)
- en: Fix DB pool for Postgres metrics on EN ([#1675](https://github.com/mat...
prover: v12.2.0
12.2.0 (2024-03-28)
Features
- api: introduce mempool cache (#1460) (c5d6c4b)
- commitment-generator:
events_queue
shadow mode (#1138) (9bb47fa) - Drop prover tables in core database (#1436) (0d78122)
- Follow-up for DAL split (#1464) (c072288)
- prover: export prover traces through OTLP (#1427) (16dce75)
- prover: File-info tool to help prover debugging (#1216) (9759907)
- Separate Prover and Server DAL (#1334) (103a56b)
- support running consensus from snapshot (BFT-418) (#1429) (f9f4d38)
Bug Fixes
core: v22.1.0
22.1.0 (2024-03-28)
Features
- Drop prover tables in core database (#1436) (0d78122)
- en: consistency checker persistent cursor (#1466) (03496e6)
- en: Make snapshot syncing future-proof (#1441) (8c26a7a)
- genesis: Using genesis config only during the genesis (#1423) (4b634fd)
- node_framework: Add a task to handle sigint (#1471) (2ba6527)
- node-framework: Add circuit breaker checker layer to framework (#1452) (2c7a6bf)
- prover: export prover traces through OTLP (#1427) (16dce75)
- sigint initialization only after snapshots is applied (#1356) (c7c7356)
- Split witness generator timeout configs by round (#1505) (8074d01)
- state-keeper: implement asynchronous RocksDB cache (#1256) (da41f63)
- state-keeper: Refactor persistence in
StateKeeper
(#1411) (e26091a) - state-keeper: Remove
WitnessBlockState
generation from state keeper (#1507) (8ae0355) - Switch contract verification API to axum and get rid of actix-web usage (#1467) (e7a9d61)
Bug Fixes
core: v22.0.0
22.0.0 (2024-03-21)
โ BREAKING CHANGES
- Use protocol version v22 as latest (#1432)
Features
- add docs for Dal (#1273) (66ceb0b)
- adds debug_traceBlockByNumber.callFlatTracer (#1413) (d2a5e36)
- api: introduce mempool cache (#1460) (c5d6c4b)
- commitment-generator:
events_queue
shadow mode (#1138) (9bb47fa) - contract-verifier: Allow sc code reverification (#1455) (5a37b42)
- database: add an optional master replica max connections settings (#1472) (e5c8127)
- db: Configurable maximum number of open RocksDB files (#1401) (b00c052)
- en: Check recipient contract and function selector in consistency checker (#1367) (ea5c684)
- Follow-up for DAL split (#1464) (c072288)
- node_framework: Ergonomic improvements (#1453) (09b6887)
- node_framework: Only store each wiring layer once (#1468) (4a393dc)
- node_framework: Support for preconditions and oneshot tasks (#1398) (65ea881)
- node-framework: Add eth sender layer (#1390) (0affdf8)
- node-framework: Add housekeeper layer (#1409) (702e739)
- Remove batch dry_run (#1076) (b82d093)
- Separate Prover and Server DAL (#1334) (103a56b)
- storage: Make the storage caches task cancellation aware (#1430) (ab532bb)
- support running consensus from snapshot (BFT-418) (#1429) (f9f4d38)
- tx-sender: Limit concurrent tx submissions (#1473) (4bdf3ca)
- Use protocol version v22 as latest (#1432) (1757412)
- vm: Prestate tracer implementation (#1306) (c36be65)
Bug Fixes
- core: drop correct index of proof_generation_details table during database migration (#1199) (76a6821)
- dal: correct
tx_index_in_l1_batch
inget_vm_events_for_l1_batch
(#1463) (8bf37ac) - node_framework: Fix main node example (#1470) (ac4a744)
- protocol: Remove verifier address from protocol upgrade (#1443) (90dee73)
- reth: use reth instead of geth (#1410) (bd98dc7)
- verified sources fetcher: Use correct
contact_name
forSolSingleFile
(#1433) (0764227)
core: v21.1.0
21.1.0 (2024-03-13)
Features
- api: Monitor server RPC errors (#1203) (60d1060)
- block revert support for consensus component (#1213) (8a3a938)
- db: Add Postgres table size metrics (#1351) (63f3ff8)
- db: Serialize events queue as bytes (#1420) (955680b)
- enabled loading yaml config for the main node (#1344) (0adab9e)
- en: Enable Merkle tree client on EN (#1386) (58576d1)
- enhance unit test for batch tip (#1253) (ca7d194)
- Moving 1.4.x to use the circuit_api (#1383) (8add2d6)
- node_framework: Add timeouts for remaining tasks to avoid hang outs (#1354) (8108dbd)
- node-framework: Add commitment generator layer (#1402) (daa029c)
- replacing 1.3.3 test harness with circuit sequencer api (#1382) (a628d56)
Bug Fixes
- aggregator: correct order of processing of prove transactions (#1333) (7522d15)
- api: Fix panics in API server if storage values cache is disabled (#1370) (723232b)
- api: SQL: use = instead of ANY where possible in events-related queries (#1346) (160b4d4)
- consistency_checker: Fix consistency checker for large pubdata (#1331) (d162add)
- en: Fix pending transactions subscription (#1342) (a040001)
- eth-sender: adjust the blob tx fees taking into account the current prices (#1399) (fea67fb)
- gas-adjuster: Do not unwrap in gas-adjuster (#1400) (269812e)
- gas-adjuster: Use
internal_pubdata_pricing_multiplier
for pubdata price calculation (#1404) (a40c2d0)
Performance Improvements
- db: Add "contains" clause for get_logs (#1384) (e62ae32)
- db: Remove obsolete indexes (#1376) (0afc377)
Reverts
prover: v12.1.0
12.1.0 (2024-03-12)
Features
- add run-observability to zk (#1359) (2b520f6)
- block revert support for consensus component (#1213) (8a3a938)
- enhance unit test for batch tip (#1253) (ca7d194)
- Moving 1.4.x to use the circuit_api (#1383) (8add2d6)
- prover: Fixing snark verification keys (#1225) (5cbef73)
- replacing 1.3.3 test harness with circuit sequencer api (#1382) (a628d56)
- Start using a new test harness interface without generics (#1378) (1e431a6)