Releases: matter-labs/zksync-os
v0.1.0-rc1
uses interface crate v0.0.10
v0.2.3
What's Changed
- feat: Add stack to tracer wrapper by @0xVolosnikov in #402
Full Changelog: v0.2.2...v0.2.3
v0.2.2
What's Changed
- fix: Fix magnitudes in secp256k1 mul by @0xVolosnikov in #412
- fix: make forward system compilible without testing feature by @AntonD3 in #410
Full Changelog: v0.2.1...v0.2.2
v0.2.1
What's Changed
- perf: inline verify_kzg_proof to recover point eval performace by @antoniolocascio in #408
- fix: feature fixes by @AntonD3 in #409
Full Changelog: v0.2.0...v0.2.1
v0.2.0
Breaking changes
This release includes various fixes and improvements that may affect backward compatibility of External Nodes. For this reason it should be treated as a breaking release.
Meaningful changes for users are additive (new features):
- Added support for blobs DA commitment scheme in #367
What's Changed
- fix: increase native cost for mulmod and addmod by @antoniolocascio in #384
- docs: Update tx format doc page by @antoniolocascio in #383
- fix: Add more targets for differential fuzzing by @mikhail-egorov in #379
- fix: Fix overflow issue in modexp by @Fitznik in #385
- fix: pin reth deps for fuzzer by @antoniolocascio in #391
- fix!: allow to charge validation pubdata from withheld by @antoniolocascio in #386
- fix: add kzg and pairing fuzz tests by @mikhail-egorov in #392
- fix: secp256k1 overflows, debug assertions by @yoaveshel in #388
- fix: Secp256r1, Secp256k1 infinity points fix by @Fitznik in #387
- feat: support blobs da commitment scheme by @AntonD3 in #367
- feat!: Add pubdata versioning by @antoniolocascio in #398
- feat!: include timestamp in pubdata by @antoniolocascio in #389
- docs: Add documentation for DA schemes by @0xVolosnikov in #404
New Contributors
Full Changelog: v0.1.0...v0.2.0
v0.0.26-rc2
uses interface crate 0.0.10
V0.1.0
Breaking changes
This release includes various fixes and improvements that may affect backward compatibility of External Nodes. For this reason it should be treated as a breaking release.
Meaningful changes for users are additive (new features):
- Enabled support of EIP-7702. This feature should be also supported and enabled by server in order to be used by users.
- Added events for native token withdrawals.
- System hooks now charge EVM gas.
Notes for operators:
- Names of binaries are changed. Now
singleblock_batch.binormultiblock-batch.binshould be used for proving.
What's Changed
- fix: add UARTPrintResponder processor in generate_proof_input by @perekopskiy in #347
- fix: fix parsing of 7702 txs, allow to = 0x0...0 by @antoniolocascio in #348
- fix!: Remove unnecessary fee payment to bootloader address by @antoniolocascio in #340
- feat!: clean up compilation features by @antoniolocascio in #302
- feat: optimize point evaluation by @AntonD3 in #349
- feat!: Add mint and withdrawal events for L2BaseToken by @0xVolosnikov in #313
- test: enable balance check in evm-tester for coinbase and sender by @antoniolocascio in #357
- fix: Don't consider invalid txs in tx counter by @antoniolocascio in #346
- fix: Fixes for EVM opcodes logger reference implementation by @0xVolosnikov in #344
- fix: Simplify EVM address derivation flow (L-7) by @0xVolosnikov in #362
- fix: add coinbase balance diff to intrinsic pubdata, charge for tx diffs by @antoniolocascio in #353
- fix: Fix assert in CsrBasedIOOracle::raw_query (I-1) by @0xVolosnikov in #364
- fix: Fix only top call behavior in CallTracer (L-9) by @0xVolosnikov in #363
- fix: Fix allocated capacity in from_big_endian_with_double_capacity_or_min_capacity by @0xVolosnikov in #361
- feat: Disable check that tx origin is EOA for simulations by @0xVolosnikov in #359
- feat: remove
initfunctions and statics from crypto crate by @yoaveshel in #358 - fix!: follow-up to feature simplification by @antoniolocascio in #352
- fix: Fixes for info severity issues by @0xVolosnikov in #369
- fix!: make native charging independent of caches state by @antoniolocascio in #366
- feat: Remove mint event by @0xVolosnikov in #368
- feat: Simplify EVM storage refunds calculation by @0xVolosnikov in #360
- fix: feature simplification part III by @antoniolocascio in #371
- fix: Add fuzz tests for Forward-Proving divergency by @mikhail-egorov in #365
- feat: introduce da commitment generator abstraction by @AntonD3 in #354
- test: also verify binary for multiblock_batch by @antoniolocascio in #372
- fix: fix internal error with blockhash of current - 256 by @antoniolocascio in #370
- chore: Update release binaries flow by @0xVolosnikov in #373
- fix: Additional info fixes by @0xVolosnikov in #374
- chore: Typos by @0xVolosnikov in #375
- feat: bump cfg-if in crypto to 1.0.4 and num-bigint in basic-system by @perekopskiy in #376
- feat: Bump zksync_os_interface to 0.0.9 by @0xVolosnikov in #377
- fix!: charge gas in system contract hooks by @antoniolocascio in #318
New Contributors
- @mikhail-egorov made their first contribution in #365
Full Changelog: v0.0.27...v0.1.0
v0.0.26-rc1
uses interface crate 0.0.9
v0.0.27
This release focuses on stability fixes, non-breaking feature additions and improvements.
It introduces no breaking changes for users and External Nodes compared to v0.0.26
New Features
- RLP transaction format support: Added support for RLP encoded transactions for Ethereum transaction types (#321)
- Point evaluation precompile (disabled by default) (#320)
- Enhanced contexts for internal errors: Now it's possible to attach additional context to internal errors in ZKsync OS (#177)
- Stack (general data structure) simplification: Simplified stack data structure trait which is used in different parts of the system, including caches (#322)
- Metadata abstractions: Improved internal metadata abstractions (#314)
- Oracle simplification: Simplified and streamlined oracle interface in ZKsync OS (#311)
Bug Fixes
- Modexp bug fixes: Fixed forward/proving divergence issues in modular exponentiation implementation (#333, #339)
- Tracer related fixes: Storage writes/reads could call invalid tracing hook, which potentially could affect prestate-like tracer implementations (#335)
- Initial slot validation: Additional validation of initial storage slots values (#325)
Testing & Security
- Added comprehensive fuzzing targets for Modexp delegation
- Significantly enhanced testing setup for proof run comparisons
- Improved validation and assertion coverage across core components
Full Changelog: v0.0.26...v0.0.27
v0.0.26
What's Changed
- chore: Move EVM tester in the repo by @0xVolosnikov in #296
- feat: Enable evm refunds by default by @0xVolosnikov in #280
- revert: Revert "feat: Enable evm refunds by default" by @antoniolocascio in #303
- feat: allow to use gas price = 0 by @antoniolocascio in #292
- fix: Protect against overflow when computing required balance by @antoniolocascio in #291
- feat: Add some regression tests by @0xVolosnikov in #304
- feat: Update tester fixtures to v5.1.0 by @0xVolosnikov in #305
- fix: make p256 EIP 7951 compliant by @antoniolocascio in #253
- feat: Remove wasm by @0xVolosnikov in #308
- fix: small gas issues fixes by @AntonD3 in #310
- feat: AA removal and initial refactoring for V2 tx flow by @antoniolocascio in #312
- feat: Publish binaries only on releases by @0xVolosnikov in #315
- feat: implement interface tracing API by @itegulov in #309
- fix: Replace gas_per_pubdata with pubdata_price in block context by @antoniolocascio in #317
Full Changelog: v0.0.25...v0.0.26