Releases: matter-labs/zksync-era
Releases · matter-labs/zksync-era
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)
Bug Fixes
prover: v12.0.1
prover: v12.0.0
12.0.0 (2024-03-04)
⚠ BREAKING CHANGES
Features
- Adding ability to generate 4844 setup key and refactor (#1143) (975f54b)
- api: Remove unused and obsolete token info (#1071) (e920897)
- dal:
zksync_types::Transaction
to use protobuf for wire encoding (BFT-407) (#1047) (ee94bee) - db: Soft-remove
storage
table (#982) (601f893) - en: Integrate snapshots recovery into EN (#1032) (c7cfaf9)
- healthcheck: Various healthcheck improvements (#1166) (1e34148)
- improving verification key generation (#1050) (6f715c8)
- Prover interface and L1 interface crates (#959) (4f7e107)
- prover: Add EIP4844 support for provers subsystem (#1200) (6953e89)
- prover: Added --recompute-if-missing option to key generator (#1151) (cad7278)
- prover: Added 4844 circuit to verification keys (#1141) (8b0cc4a)
- prover: Adding first support for 4844 circuit (#1155) (6f63c53)
- prover: adding keystore object to handle reading and writing of prover keys (#1132) (1471615)
- prover: merging key generation into a single binary (#1101) (6de8b84)
- prover: Moved setup key generation logic to test harness (#1113) (469ab06)
- prover: Use new shivini function for 4844 circuits (#1205) (376c09e)
- Set 21 as latest protocol version (#1262) (30579ef)
- vlog: Remove env getters from vlog (#1077) (00d3429)
Bug Fixes
- fix link (#1007) (f1424ce)
- make
zk status prover
use the new prover table (#1044) (9b21d7f) - prover: Decouple core/ prover database management (#1029) (37674fd)
- prover: Fix initial prover migration (#1083) (6d54010)
- prover: QoL socket utilization (#1020) (13a6816)
- update harness to include fix to new boojum OOM (#1053) (4976941)
Performance Improvements
core: v21.0.0
21.0.0 (2024-03-01)
⚠ BREAKING CHANGES
Features
- A way to disable slow query logging for some queries (#1297) (13b82a0)
- aggregator: support two operator addresses in sender and aggregator (#1201) (7be56e5)
- change EN main node fetcher concurrency factor (#1317) (d4235b5)
- commitment-generator: Commitment for 1.4.2 (#1234) (9b773eb)
- config: add pubdata sending method to config (#1261) (cebf55a)
- config: Added blobs to commit batches and made da source part of config (#1243) (e01d1b6)
- config: update eth_sender to use blobs (#1295) (e81f080)
- core: Adds support for 4844 transaction signing and rlp encoding (#1254) (10e3a3e)
- dal:
zksync_types::Transaction
to use protobuf for wire encoding (BFT-407) (#1047) (ee94bee) - eth_sender: set blob gas fee when blobs DA is used (#1285) (57c5526)
- gas-adjuster: gas adjuster for EIP4844 (#1255) (1da97ed)
- Metrics for block tip (#1144) (85d4b12)
- node_framework: Add Web3 API layers (#1258) (105f4cc)
- node_framework: Support Proof Data Handler in the framework (#1233) (2191218)
- prover: Add EIP4844 support for provers subsystem (#1200) (6953e89)
- Remove methods to sign an arbitraty message (#1294) (8904123)
- Set 21 as latest protocol version (#1262) (30579ef)
- support loading verifier and protocol version from db (#1293) (533f013)
Bug Fixes
- Add EIP4844 to fri_prover_group_config (#1309) (edf9397)
- api: Use better gas per pubdata in API (pure server changes) (#1311) (54f8d8c)
- docker: change default password for postgres (#1250) (f6bff74)
- en: fail fast if we don't request correct number of txs from man node (#1269) (1bcbf17)
- Fix scheduler enqueuer bug (#1322) (95deb92)
- snapshots_creator: Fix snapshot generation query (#1289) (e279456)
- vm: fix match clause in
get_max_gas_per_pubdata_byte
(#1292) (eaf5a50)
core: v20.8.0
20.8.0 (2024-02-26)
Features
- Add more buckets to call tracer (#1137) (dacd8c9)
- api: add a config flag for disabling filter api (#1078) (b486d7e)
- api: Create RPC method to return all tokens (#1103) (b538d1a)
- api: Implement TxSink abstraction (#1204) (11a34d4)
- en: Add health checks for EN components (#1088) (4ea1520)
- en: Start health checks early into EN lifecycle (#1146) (f983e80)
- en: switch to tree light mode (#1152) (ce6c120)
- en: Take into account nonce from tx proxy (#995) (22099cb)
- healthcheck: Various healthcheck improvements (#1166) (1e34148)
- Integration tests enhancement for L1 (#1209) (a1c866c)
- node_framework: Support Eth Watch in the framework (#1145) (4f41b68)
- shared bridge: preparation for shared bridge migration (server) (#1012) (2a766a7)
- vlog: Remove env getters from vlog (#1077) (00d3429)
- vm: Add new VM folder (#1208) (66cdefc)
- vm: integrate new vm version (#1215) (63d1f52)
Bug Fixes
- contract-verifier: Add force_evmla flag (#1179) (e75aa11)
- contract-verifier: allow other zksolc settings (#1174) (72c60bd)
- state-keeper: Add GasForBatchTip criterion (#1096) (de4d729)