Skip to content

Conversation

@Deniallugo
Copy link
Contributor

@Deniallugo Deniallugo commented Sep 24, 2025

What ❔

Read upgrades even if we skipped some of them.

Why ❔

If we do an upgrade, we have to listen for all events since the latest upgrade and process them.
E.g. we made an upgrade from v27 to v28.1. And we have to not only check the upgrade for v28.1 itself, but include v28.0 as well,.

Is this a breaking change?

  • Yes
  • No

Operational changes

Checklist

  • PR title corresponds to the body of PR (we generate changelog entries from PRs).
  • Tests for the changes have been added / updated.
  • Documentation comments have been added / updated.
  • Code has been formatted via zkstack dev fmt and zkstack dev lint.

Signed-off-by: Danil <[email protected]>
Signed-off-by: Danil <[email protected]>
@Deniallugo Deniallugo force-pushed the deniallugo-read-skipped-upgrades branch from c0d2a90 to 918c4f9 Compare September 24, 2025 13:13
@Deniallugo Deniallugo added this pull request to the merge queue Sep 24, 2025
Merged via the queue into main with commit 1de5f63 Sep 24, 2025
39 checks passed
@Deniallugo Deniallugo deleted the deniallugo-read-skipped-upgrades branch September 24, 2025 14:25
github-merge-queue bot pushed a commit that referenced this pull request Sep 24, 2025
🤖 I have created a release *beep* *boop*
---


##
[29.4.0](core-v29.3.0...core-v29.4.0)
(2025-09-24)


### Features

* Bump dependencies
([#4495](#4495))
([c27fe90](c27fe90))


### Bug Fixes

* **upgrades:** Read all skipped events
([#4504](#4504))
([1de5f63](1de5f63))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: zksync-era-bot <[email protected]>
Deniallugo pushed a commit that referenced this pull request Sep 25, 2025
🤖 I have created a release *beep* *boop*
---

[29.4.0](core-v29.3.0...core-v29.4.0)
(2025-09-24)

* Bump dependencies
([#4495](#4495))
([c27fe90](c27fe90))

* **upgrades:** Read all skipped events
([#4504](#4504))
([1de5f63](1de5f63))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: zksync-era-bot <[email protected]>
github-merge-queue bot pushed a commit that referenced this pull request Oct 9, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.2.0](zkstack_cli-v0.1.2...zkstack_cli-v0.2.0)
(2025-10-09)


### ⚠ BREAKING CHANGES

* v29 upgrade testing & zkstack_cli changes
([#4332](#4332))
* **zkstack_cli:** Fix zkstack cli v28 script
([#3946](#3946))
* Remove old prover stack
([#3729](#3729))
* V27 update
([#3580](#3580))

### Features

* add dedicated TEE proof data handler module
([#3872](#3872))
([ac64ee6](ac64ee6))
* add flag to save calldata
([#4471](#4471))
([1ee5eac](1ee5eac))
* add integration test for DA migration
([#3944](#3944))
([52aff1d](52aff1d))
* add prividium docker image support for block explorer
([#4127](#4127))
([df9a433](df9a433))
* add prividium mode to zkstack explorer
([#4079](#4079))
([c571914](c571914))
* Add proof manager contracts submodule
([#4189](#4189))
([0c75985](0c75985))
* Add S3 implementation for object_store
([#3664](#3664))
([a848927](a848927))
* Add Support for Protocol Version v28
([#3821](#3821))
([5419420](5419420))
* Adding 'rich_accounts' command to zkstack
([#3895](#3895))
([50b72dc](50b72dc))
* **api:** Support Unix domain sockets for healthcheck server
([#4226](#4226))
([b06bacb](b06bacb))
* **avail-client:** async blob dispatch
([#4010](#4010))
([7a18647](7a18647))
* bump rustc to `nightly-2025-03-19`
([#3985](#3985))
([d27390e](d27390e))
* **ci:** fast integration tests framework
([#4255](#4255))
([a72cbd8](a72cbd8))
* **config:** Report config params in more ways
([#4126](#4126))
([a78531c](a78531c))
* Configuration system PoC
([#3851](#3851))
([7b449c2](7b449c2))
* **consensus:** Add consensus protocol versioning
([#3720](#3720))
([d1b4308](d1b4308))
* **consensus:** Validator committee rotation
([#4014](#4014))
([333efea](333efea))
* **contract_verifier:** add etherscan verification request support to
the verifier api
([#3956](#3956))
([87938b3](87938b3))
* **contract_verifier:** read compiler versions from cbor metadata if
available
([#4002](#4002))
([9bc20a4](9bc20a4))
* **contract-verifier:** add Etherscan contract verification
([#3609](#3609))
([a4ea0f2](a4ea0f2))
* Draft v29
([#3960](#3960))
([91843a2](91843a2))
* **en:** Cache remote config for en
([#4367](#4367))
([20bc4a8](20bc4a8))
* **en:** remove dependency on pubdata commitment mode
([#3826](#3826))
([a0c78c0](a0c78c0))
* **en:** remove JSON RPC syncing
([#4258](#4258))
([d194604](d194604))
* **en:** return back JSON RPC syncing
([#4344](#4344))
([24b2990](24b2990))
* **en:** Use config system for env-based EN configuration
([#4104](#4104))
([b706025](b706025))
* Eth proof manager sender
([#4266](#4266))
([93b2086](93b2086))
* **eth_sender:** Add fast finalization into eth_tx_manager
([#4070](#4070))
([c6b815d](c6b815d))
* **eth-sender:** set `from_addr` for non-blob txs
([#3898](#3898))
([c699f8a](c699f8a))
* **gateway:** add checks that the server version is correct
([#3681](#3681))
([659edaa](659edaa))
* **gateway:** Migration to Gateway
([#3654](#3654))
([2858ba0](2858ba0))
* **gateway:** Requirement to stop L1-&gt;L2 transactions before v26
upgrade ([#3707](#3707))
([0a095b7](0a095b7))
* **private-rpc:** improved compatibility with ethers library + tests
([#4046](#4046))
([0e2e0d8](0e2e0d8))
* **private-rpc:** option to run private proxy in ZKStack CLI + moving
Private Proxy files inside zksync-era repo
([#3919](#3919))
([3b9307c](3b9307c))
* Proof data handler client
([#3874](#3874))
([daf6f7b](daf6f7b))
* Proof manager watcher
([#4241](#4241))
([6423b0d](6423b0d))
* Prover Cluster follow-up
[#2](#2)
([#4001](#4001))
([d8ed7f7](d8ed7f7))
* **prover:** --threads feature to WVGs
([#4291](#4291))
([846f6e4](846f6e4))
* remove 2nd validator from command that prepares GW migration calldata
([#4331](#4331))
([f81ad19](f81ad19))
* Remove feature flags for upgrades & v28.1
([#4384](#4384))
([fa7e679](fa7e679))
* Remove old prover stack
([#3729](#3729))
([fbbdc76](fbbdc76))
* rework prover job identifiers
([#3888](#3888))
([073326f](073326f))
* split zkstack cli command
([#4418](#4418))
([36cd668](36cd668))
* update zkstack-cli for updated scripts
([#4481](#4481))
([cc0a95b](cc0a95b))
* updating upgrade and migration config files for testnet and mainnet
([#4148](#4148))
([6d11c2d](6d11c2d))
* Use JSON-RPC for core &lt;&gt; prover interaction
([#3626](#3626))
([4e74730](4e74730))
* V27 update
([#3580](#3580))
([9e18550](9e18550))
* **v27:** Use latest branch of release-v27
([#3713](#3713))
([6e1681e](6e1681e))
* v29 upgrade testing & zkstack_cli changes
([#4332](#4332))
([9e4755e](9e4755e))
* **zkstack_cli:** Add function to track chain admin priority txs
([#3897](#3897))
([fed2ca9](fed2ca9))
* **zkstack_cli:** finish enabling migrating chain from Gateway + remove
the gateway feature flag
([#3924](#3924))
([d091c90](d091c90))
* **zkstack_cli:** update gateway chain scripts
([#3852](#3852))
([542c7a9](542c7a9))
* **zkstack-cli:** add prove & execute wallets
([#4477](#4477))
([468cec9](468cec9))
* **zkstack:** Add zksync_os flag for ecosystem init
([#4456](#4456))
([49e0529](49e0529))
* **zkstack:** Allow skipping build for contracts and server during
ecosystem init
([#3697](#3697))
([81abd84](81abd84))
* **zkstack:** Allow to run separate integration test suites
([d287725](d287725))
* **zkstack:** bump alloy
([#4502](#4502))
([1a6ad60](1a6ad60))
* **zkstack:** Clarify prompt for funds check
([#3723](#3723))
([a8ea520](a8ea520))
* **zkstack:** Deploy 2 ctms and deploy chain for each of them
([#4458](#4458))
([5d2a7cd](5d2a7cd))
* **zkstack:** fast fmt
([#4222](#4222))
([d05c3dd](d05c3dd))
* **zkstack:** Generating keys for compressor
([#4301](#4301))
([b879b6f](b879b6f))
* **zkstack:** No genesis arg
([#4453](#4453))
([9034246](9034246))
* **zkstack:** zkstack cli for v27 upgrade
([#3718](#3718))
([91e04fb](91e04fb))


### Bug Fixes

* Changes to zkstack after testing migration from GW
([#3969](#3969))
([b63e607](b63e607))
* **consensus:** Correctly handle error on SetValidatorSchedule
([#4147](#4147))
([e169bd3](e169bd3))
* **consensus:** Debug page server port reuse
([#4273](#4273))
([77d043f](77d043f))
* **consensus:** Update consensus dependencies
([#4186](#4186))
([110a527](110a527))
* Fix security issues (bump dependencies)
([#3813](#3813))
([c6def9c](c6def9c))
* fix zkstack cli upgrade features + remove redundant CI workflow
([#3975](#3975))
([0f04134](0f04134))
* **gateway-migrator:** Properly handle unknown settlement layer
([#3961](#3961))
([b43e315](b43e315))
* make proof data handler backwards compatible
([#3767](#3767))
([bdbbaaa](bdbbaaa))
* remove zksync_contracts dep from zkstack_cli
([#4400](#4400))
([7bcf275](7bcf275))
* target_rpc address in private-rpc docker-compose
([#4062](#4062))
([b69819b](b69819b))
* **upgrades:** Read all skipped events
([#4504](#4504))
([1de5f63](1de5f63))
* **zkstack_cli:** Fix zkstack cli v28 script
([#3946](#3946))
([0a3d13f](0a3d13f))
* **zkstack:** add `--locked` to `cargo sqlx prepare`
([#3300](#3300))
([a98b1c8](a98b1c8))
* **zkstack:** Add param for setting da validation pair
([#4150](#4150))
([47e2517](47e2517))
* **zkstack:** Allow to use chain config if ecosystem is redundant
([#4236](#4236))
([066b3b1](066b3b1))
* **zkstack:** Fix prover run and shell
([#4422](#4422))
([eae38e2](eae38e2))
* **zkstack:** fixes for private rpc in zkstack cli
([#4012](#4012))
([be68210](be68210))
* **zkstack:** Generating compressor keys flow fix
([#4343](#4343))
([4cf2f67](4cf2f67))
* **zkstack:** make GW migration script compatible with pre-v29
([#4346](#4346))
([7ba2cf3](7ba2cf3))
* **zkstack:** make proving network contracts config optional
([#4263](#4263))
([3ebad3b](3ebad3b))
* **zkstack:** Migration params
([#4369](#4369))
([8597c32](8597c32))
* **zkstack:** Use `latest` for prover component by default
([#4120](#4120))
([91af29d](91af29d))


### Performance Improvements

* **db:** use copy in `insert_initial_writes`
([#3899](#3899))
([c6f1598](c6f1598))
* Instrumentation for Jemalloc (pt. 2)
([#4204](#4204))
([5e0bd65](5e0bd65))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: zksync-era-bot <[email protected]>
Deniallugo added a commit that referenced this pull request Oct 22, 2025
## What ❔

Read upgrades even if we skipped some of them. 

## Why ❔

If we do an upgrade, we have to listen for all events since the latest
upgrade and process them.
E.g. we made an upgrade from v27 to v28.1. And we have to not only check
the upgrade for v28.1 itself, but include v28.0 as well,.

## Is this a breaking change?
- [ ] Yes
- [ ] No

## Operational changes
<!-- Any config changes? Any new flags? Any changes to any scripts? -->
<!-- Please add anything that non-Matter Labs entities running their own
ZK Chain may need to know -->

## Checklist

<!-- Check your PR fulfills the following items. -->
<!-- For draft PRs check the boxes as you complete them. -->

- [ ] PR title corresponds to the body of PR (we generate changelog
entries from PRs).
- [ ] Tests for the changes have been added / updated.
- [ ] Documentation comments have been added / updated.
- [ ] Code has been formatted via `zkstack dev fmt` and `zkstack dev
lint`.

---------

Signed-off-by: Danil <[email protected]>
Deniallugo pushed a commit that referenced this pull request Oct 22, 2025
🤖 I have created a release *beep* *boop*
---


##
[29.4.0](core-v29.3.0...core-v29.4.0)
(2025-09-24)


### Features

* Bump dependencies
([#4495](#4495))
([c27fe90](c27fe90))


### Bug Fixes

* **upgrades:** Read all skipped events
([#4504](#4504))
([1de5f63](1de5f63))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: zksync-era-bot <[email protected]>
Deniallugo pushed a commit that referenced this pull request Oct 22, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.2.0](zkstack_cli-v0.1.2...zkstack_cli-v0.2.0)
(2025-10-09)


### ⚠ BREAKING CHANGES

* v29 upgrade testing & zkstack_cli changes
([#4332](#4332))
* **zkstack_cli:** Fix zkstack cli v28 script
([#3946](#3946))
* Remove old prover stack
([#3729](#3729))
* V27 update
([#3580](#3580))

### Features

* add dedicated TEE proof data handler module
([#3872](#3872))
([ac64ee6](ac64ee6))
* add flag to save calldata
([#4471](#4471))
([1ee5eac](1ee5eac))
* add integration test for DA migration
([#3944](#3944))
([52aff1d](52aff1d))
* add prividium docker image support for block explorer
([#4127](#4127))
([df9a433](df9a433))
* add prividium mode to zkstack explorer
([#4079](#4079))
([c571914](c571914))
* Add proof manager contracts submodule
([#4189](#4189))
([0c75985](0c75985))
* Add S3 implementation for object_store
([#3664](#3664))
([a848927](a848927))
* Add Support for Protocol Version v28
([#3821](#3821))
([5419420](5419420))
* Adding 'rich_accounts' command to zkstack
([#3895](#3895))
([50b72dc](50b72dc))
* **api:** Support Unix domain sockets for healthcheck server
([#4226](#4226))
([b06bacb](b06bacb))
* **avail-client:** async blob dispatch
([#4010](#4010))
([7a18647](7a18647))
* bump rustc to `nightly-2025-03-19`
([#3985](#3985))
([d27390e](d27390e))
* **ci:** fast integration tests framework
([#4255](#4255))
([a72cbd8](a72cbd8))
* **config:** Report config params in more ways
([#4126](#4126))
([a78531c](a78531c))
* Configuration system PoC
([#3851](#3851))
([7b449c2](7b449c2))
* **consensus:** Add consensus protocol versioning
([#3720](#3720))
([d1b4308](d1b4308))
* **consensus:** Validator committee rotation
([#4014](#4014))
([333efea](333efea))
* **contract_verifier:** add etherscan verification request support to
the verifier api
([#3956](#3956))
([87938b3](87938b3))
* **contract_verifier:** read compiler versions from cbor metadata if
available
([#4002](#4002))
([9bc20a4](9bc20a4))
* **contract-verifier:** add Etherscan contract verification
([#3609](#3609))
([a4ea0f2](a4ea0f2))
* Draft v29
([#3960](#3960))
([91843a2](91843a2))
* **en:** Cache remote config for en
([#4367](#4367))
([20bc4a8](20bc4a8))
* **en:** remove dependency on pubdata commitment mode
([#3826](#3826))
([a0c78c0](a0c78c0))
* **en:** remove JSON RPC syncing
([#4258](#4258))
([d194604](d194604))
* **en:** return back JSON RPC syncing
([#4344](#4344))
([24b2990](24b2990))
* **en:** Use config system for env-based EN configuration
([#4104](#4104))
([b706025](b706025))
* Eth proof manager sender
([#4266](#4266))
([93b2086](93b2086))
* **eth_sender:** Add fast finalization into eth_tx_manager
([#4070](#4070))
([c6b815d](c6b815d))
* **eth-sender:** set `from_addr` for non-blob txs
([#3898](#3898))
([c699f8a](c699f8a))
* **gateway:** add checks that the server version is correct
([#3681](#3681))
([659edaa](659edaa))
* **gateway:** Migration to Gateway
([#3654](#3654))
([2858ba0](2858ba0))
* **gateway:** Requirement to stop L1-&gt;L2 transactions before v26
upgrade ([#3707](#3707))
([0a095b7](0a095b7))
* **private-rpc:** improved compatibility with ethers library + tests
([#4046](#4046))
([0e2e0d8](0e2e0d8))
* **private-rpc:** option to run private proxy in ZKStack CLI + moving
Private Proxy files inside zksync-era repo
([#3919](#3919))
([3b9307c](3b9307c))
* Proof data handler client
([#3874](#3874))
([daf6f7b](daf6f7b))
* Proof manager watcher
([#4241](#4241))
([6423b0d](6423b0d))
* Prover Cluster follow-up
[#2](#2)
([#4001](#4001))
([d8ed7f7](d8ed7f7))
* **prover:** --threads feature to WVGs
([#4291](#4291))
([846f6e4](846f6e4))
* remove 2nd validator from command that prepares GW migration calldata
([#4331](#4331))
([f81ad19](f81ad19))
* Remove feature flags for upgrades & v28.1
([#4384](#4384))
([fa7e679](fa7e679))
* Remove old prover stack
([#3729](#3729))
([fbbdc76](fbbdc76))
* rework prover job identifiers
([#3888](#3888))
([073326f](073326f))
* split zkstack cli command
([#4418](#4418))
([36cd668](36cd668))
* update zkstack-cli for updated scripts
([#4481](#4481))
([cc0a95b](cc0a95b))
* updating upgrade and migration config files for testnet and mainnet
([#4148](#4148))
([6d11c2d](6d11c2d))
* Use JSON-RPC for core &lt;&gt; prover interaction
([#3626](#3626))
([4e74730](4e74730))
* V27 update
([#3580](#3580))
([9e18550](9e18550))
* **v27:** Use latest branch of release-v27
([#3713](#3713))
([6e1681e](6e1681e))
* v29 upgrade testing & zkstack_cli changes
([#4332](#4332))
([9e4755e](9e4755e))
* **zkstack_cli:** Add function to track chain admin priority txs
([#3897](#3897))
([fed2ca9](fed2ca9))
* **zkstack_cli:** finish enabling migrating chain from Gateway + remove
the gateway feature flag
([#3924](#3924))
([d091c90](d091c90))
* **zkstack_cli:** update gateway chain scripts
([#3852](#3852))
([542c7a9](542c7a9))
* **zkstack-cli:** add prove & execute wallets
([#4477](#4477))
([468cec9](468cec9))
* **zkstack:** Add zksync_os flag for ecosystem init
([#4456](#4456))
([49e0529](49e0529))
* **zkstack:** Allow skipping build for contracts and server during
ecosystem init
([#3697](#3697))
([81abd84](81abd84))
* **zkstack:** Allow to run separate integration test suites
([d287725](d287725))
* **zkstack:** bump alloy
([#4502](#4502))
([1a6ad60](1a6ad60))
* **zkstack:** Clarify prompt for funds check
([#3723](#3723))
([a8ea520](a8ea520))
* **zkstack:** Deploy 2 ctms and deploy chain for each of them
([#4458](#4458))
([5d2a7cd](5d2a7cd))
* **zkstack:** fast fmt
([#4222](#4222))
([d05c3dd](d05c3dd))
* **zkstack:** Generating keys for compressor
([#4301](#4301))
([b879b6f](b879b6f))
* **zkstack:** No genesis arg
([#4453](#4453))
([9034246](9034246))
* **zkstack:** zkstack cli for v27 upgrade
([#3718](#3718))
([91e04fb](91e04fb))


### Bug Fixes

* Changes to zkstack after testing migration from GW
([#3969](#3969))
([b63e607](b63e607))
* **consensus:** Correctly handle error on SetValidatorSchedule
([#4147](#4147))
([e169bd3](e169bd3))
* **consensus:** Debug page server port reuse
([#4273](#4273))
([77d043f](77d043f))
* **consensus:** Update consensus dependencies
([#4186](#4186))
([110a527](110a527))
* Fix security issues (bump dependencies)
([#3813](#3813))
([c6def9c](c6def9c))
* fix zkstack cli upgrade features + remove redundant CI workflow
([#3975](#3975))
([0f04134](0f04134))
* **gateway-migrator:** Properly handle unknown settlement layer
([#3961](#3961))
([b43e315](b43e315))
* make proof data handler backwards compatible
([#3767](#3767))
([bdbbaaa](bdbbaaa))
* remove zksync_contracts dep from zkstack_cli
([#4400](#4400))
([7bcf275](7bcf275))
* target_rpc address in private-rpc docker-compose
([#4062](#4062))
([b69819b](b69819b))
* **upgrades:** Read all skipped events
([#4504](#4504))
([1de5f63](1de5f63))
* **zkstack_cli:** Fix zkstack cli v28 script
([#3946](#3946))
([0a3d13f](0a3d13f))
* **zkstack:** add `--locked` to `cargo sqlx prepare`
([#3300](#3300))
([a98b1c8](a98b1c8))
* **zkstack:** Add param for setting da validation pair
([#4150](#4150))
([47e2517](47e2517))
* **zkstack:** Allow to use chain config if ecosystem is redundant
([#4236](#4236))
([066b3b1](066b3b1))
* **zkstack:** Fix prover run and shell
([#4422](#4422))
([eae38e2](eae38e2))
* **zkstack:** fixes for private rpc in zkstack cli
([#4012](#4012))
([be68210](be68210))
* **zkstack:** Generating compressor keys flow fix
([#4343](#4343))
([4cf2f67](4cf2f67))
* **zkstack:** make GW migration script compatible with pre-v29
([#4346](#4346))
([7ba2cf3](7ba2cf3))
* **zkstack:** make proving network contracts config optional
([#4263](#4263))
([3ebad3b](3ebad3b))
* **zkstack:** Migration params
([#4369](#4369))
([8597c32](8597c32))
* **zkstack:** Use `latest` for prover component by default
([#4120](#4120))
([91af29d](91af29d))


### Performance Improvements

* **db:** use copy in `insert_initial_writes`
([#3899](#3899))
([c6f1598](c6f1598))
* Instrumentation for Jemalloc (pt. 2)
([#4204](#4204))
([5e0bd65](5e0bd65))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: zksync-era-bot <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants