Releases: evstack/ev-node
v1.0.0-rc.3 (2026-02-05)
ev-node v1.0.0-rc.3
This is new release candidate focused on improving cache handling, fixing critical bugs in block replay logic, and enhancing node synchronization with DA hints for P2P transactions. This release includes one breaking change related to cache persistence behavior that requires operator awareness.
Tested upgrade paths
- ev-node v1.0.0-rc.2 -> ev-node v1.0.0-rc.3
⚠️ Breaking Changes
Cache Persistence Changes
What changed: The pending events cache and transaction cache are now fully ephemeral and will not persist across node restarts. Only the DA inclusion cache persists (stored in metadata) until cleared after DA inclusion processing has been completed. (#3047)
Action required:
- Be aware that on node restart, pending events and transactions will need to be re-fetched from peers or the DA layer
- Operators can delete the previous file cache to save disk space (
rm -rf ./appd/data/cache)
Full Changelog
For a complete list of all changes including new features, improvements, and bug fixes, see CHANGELOG.md.
Images
- ghcr.io/evstack/ev-node-evm:v1.0.0-rc.3
- ghcr.io/evstack/ev-node-grpc:v1.0.0-rc.3
- ghcr.io/evstack/ev-node-testapp:v1.0.0-rc.3
v1.0.0-rc.2 (2026-02-04)
ev-node v1.0.0-rc.2
This release candidate improves cache handling, storage efficiency, and metrics accuracy. This release reduces storage duplication by replacing the go-header store with the ev-node native store and improves performance when handling backlogs of pending blocks. It also reduces the default max bytes size to 5MB for better compatibility with public DA nodes.
Tested upgrade paths
- ev-node v1.0.0-rc.1 -> ev-node v1.0.0-rc.2
Full Changelog
For a complete list of all changes including new features, improvements, and bug fixes, see CHANGELOG.md.
Images
- ghcr.io/evstack/ev-node-evm:v1.0.0-rc.2
- ghcr.io/evstack/ev-node-grpc:v1.0.0-rc.2
- ghcr.io/evstack/ev-node-testapp:v1.0.0-rc.2
v1.0.0-rc.1 (2026-01-28)
ev-node v1.0.0-rc.1
This release candidate introduces forced inclusion and batch sequencing capabilities, adds new batching strategies, and includes several breaking changes that improve code clarity and metrics simplicity. Operators should carefully review the breaking changes section and plan for required configuration updates.
Tested upgrade paths
- ev-node v1.0.0-beta.11 -> ev-node v1.0.0-rc.1
⚠️ Breaking Changes
1. Genesis Configuration Update Required
What changed: Implemented forced inclusion and batch sequencing system that requires a new genesis configuration field.
Action required:
- Open your node's
genesis.jsonfile - Add the following field:
"da_epoch_forced_inclusion": 100 - The recommended value is
100(this represents the number of epochs) - Save the file and restart your node
Reference: #2797
2. Signer Path Configuration Update
What changed: Renamed evm-single to evm and grpc-single to evgrpc for improved clarity.
Action required:
- Open your
evnode.yamlconfiguration file - Locate the
signer.signer_pathfield - If it contains
evm-single, replace it withevm - If it contains
grpc-single, replace it withevgrpc - Save the configuration file
Note: This change may require manual modification if your $HOME folder path has changed.
Reference: #2839
3. Metrics Removal
What changed: Removed unused and confusing metrics from sequencers and block processing. This includes:
- Sequencer-specific metrics (gas price, blob size, transaction status, pending blocks)
- Channel buffer metrics
- Overly granular error metrics
- Block production categorization metrics
- Sync lag metrics
Essential metrics for DA submission health, block production, and performance monitoring are retained.
Action required:
- Review any monitoring dashboards or alerting rules that depend on the removed metrics
- Update Prometheus queries to use the retained essential metrics
- Remove or update any alerts that reference the removed metrics
- Test your monitoring setup to ensure critical operational visibility is maintained
Reference: #2904
4. DA Client Package Removal
What changed: Removed the core/da package and replaced DAClient with internal implementation. The DA client is now exposed as block.FullDAClient, block.DAClient, and block.DAVerifier without leaking implementation details.
Action required:
- If you have custom code or plugins that import
core/da, update them to use the new interfaces:block.FullDAClientblock.DAClientblock.DAVerifier
- Review and test any custom integrations that interact with the DA client
- Recompile any custom code or extensions
Note: This primarily affects users with custom code integrations. Standard node operations are not affected.
Reference: #2910
Full Changelog
For a complete list of all changes including new features, improvements, and bug fixes, see CHANGELOG.md.
Images
- ghcr.io/evstack/ev-node-evm:v1.0.0-rc.1
- ghcr.io/evstack/ev-node-grpc:v1.0.0-rc.1
- ghcr.io/evstack/ev-node-testapp:v1.0.0-rc.1
v0.13.10
v0.13.9
What's Changed
Quick fix to upgrade go-da to v0.9.0 to make it compatible with latest celestia-node
Full Changelog: v0.13.7...v0.13.9
v0.14.1
v0.14.0 Release
v0.14.0 was never officially published. Please see the release notes here.
v0.14.0 Breaking Change
The v0.14.0 release is breaking release which won't be compatible with previous rollkit rollup state.
After upgrading to v0.14.0, you will need a fresh state for this release to work.
What's Changed v0.14.1
- chore: clean up handling of nil batch on startup by @MSevey in #1890
- feat: enable mock servers with intercept command by @MSevey in #1911
Full Changelog: v0.14.0...v0.14.1-rc.1
v0.14.0
What's Changed
- build(deps): Bump golang.org/x/net from 0.27.0 to 0.28.0 by @dependabot in #1796
- build(deps): Bump github.com/cosmos/gogoproto from 1.5.0 to 1.6.0 by @dependabot in #1795
- fix(ci): update .goreleaser.yaml by @tuxcanfly in #1801
- fix(manager): refactor lazy mode flags by @tuxcanfly in #1800
- build(deps): Bump github.com/libp2p/go-libp2p-pubsub from 0.11.0 to 0.12.0 by @dependabot in #1805
- build(deps): Bump github.com/cosmos/gogoproto from 1.6.0 to 1.7.0 by @dependabot in #1807
- build(deps): Bump github.com/libp2p/go-libp2p-kad-dht from 0.25.2 to 0.26.1 by @dependabot in #1816
- build(deps): Bump github.com/cometbft/cometbft from 0.38.7 to 0.38.11 by @dependabot in #1806
- build(deps): Bump github.com/rs/cors from 1.11.0 to 1.11.1 by @dependabot in #1825
- build(deps): Bump google.golang.org/grpc from 1.65.0 to 1.66.0 by @dependabot in #1824
- feat: use BoolVar for rollkit.aggregator flag by @yarikbratashchuk in #1815
- chore(manager): pending blocks err by @tuxcanfly in #1827
- docs: add DA included height to RPC doc by @Manav-Aggarwal in #1830
- feat: header/data and sequencer/block-builder separation by @gupadhyaya in #1789
- build(deps): Bump google.golang.org/grpc from 1.66.0 to 1.66.2 by @dependabot in #1841
- build(deps): Bump github.com/prometheus/client_golang from 1.20.0 to 1.20.2 by @dependabot in #1814
- chore: bump go-da to v0.5.2 by @yarikbratashchuk in #1829
- fix: adjust sleep duration tolerance in tests by @tzdybal in #1844
- build(deps): Bump golang.org/x/net from 0.28.0 to 0.29.0 by @dependabot in #1836
- feat(ci): add auto issue assignment by @MSevey in #1846
- build(deps): Bump github.com/prometheus/client_golang from 1.20.2 to 1.20.3 by @dependabot in #1847
- chore: update dependabot to daily and group patch updates by @MSevey in #1848
- docs: Fix full node markdown lint by @Manav-Aggarwal in #1858
- refactor: stabilize node startup in integration tests by @tzdybal in #1850
- chore(deps): update go-da to v0.6.1 by @tzdybal in #1852
- build(deps): Bump google.golang.org/grpc from 1.66.2 to 1.67.0 by @dependabot in #1855
- chore(manager): extract some errors as variables by @Eoous in #1793
- build(deps): Bump the patch-updates group with 3 updates by @dependabot in #1854
- build(deps): Bump github.com/rollkit/go-da from 0.6.1 to 0.7.0 by @dependabot in #1861
- build(deps): Bump github.com/rollkit/go-sequencing from 0.0.0-20240903052704-f7979984096b to 0.1.0 by @dependabot in #1862
- test: fix test Lazy aggregator, fast da sync, two rollups same namespace by @gupadhyaya in #1859
- build(deps): Bump google.golang.org/grpc from 1.67.0 to 1.67.1 in the patch-updates group by @dependabot in #1867
- build(deps): Bump codecov/codecov-action from 4.5.0 to 4.6.0 by @dependabot in #1866
- chore(ci): split rollkit org deps out to reduce spam by @MSevey in #1868
- build(deps): Bump golangci/golangci-lint-action from 6.1.0 to 6.1.1 in the patch-updates group by @dependabot in #1870
- build(deps): Bump github.com/libp2p/go-libp2p-kad-dht from 0.26.1 to 0.27.0 by @dependabot in #1874
- test: remove outdated DA mock and update references by @tzdybal in #1878
- build(deps): Bump google.golang.org/protobuf from 1.34.2 to 1.35.1 by @dependabot in #1879
- fix: use batchtime from sequencer for header time, upgrade to latest go-da and go-sequencing by @gupadhyaya in #1871
- fix(rpc/json): avoid strict checks on jsonrpc code by @tuxcanfly in #1880
- feat: start mockda server only if it's not running already by @yarikbratashchuk in #1882
- chore: change error to debug when no batch to process by @gupadhyaya in #1893
Full Changelog: v0.13.7...v0.14.0
Caution This release is breaking release which won't be compatible with previous rollkit rollup state. Needs fresh state for this release to work.
v0.13.7
What's Changed
- fix: verify if
MaxBytesis less than or equal to 0 by @Eoous in #1770 - fix(rpc): optional params by @tuxcanfly in #1769
- test: refactor startup of RPC servers by @tzdybal in #1774
- feat: add dockerfile for running rollkit in docker by @MSevey in #1773
- feat(rpc): add block tags by @tuxcanfly in #1768
- chore: fix some comments by @yuhangcangqian in #1778
- feat: implement
getRemainingSleep(start)by @Eoous in #1779 - fix(ci): test.yml inherit secrets by @tuxcanfly in #1785
- build(deps): Bump golangci/golangci-lint-action from 6.0.1 to 6.1.0 by @dependabot in #1784
- perf(state): remove fmt.Sprintf within for-loop by @hoanguyenkh in #1790
- feat: Flag for LazyBufferTime by @yarikbratashchuk in #1797
- fix(manager): move update height by @tuxcanfly in #1782
New Contributors
- @Eoous made their first contribution in #1770
- @yuhangcangqian made their first contribution in #1778
Full Changelog: v0.13.6...v0.13.7
v0.13.6
What's Changed
- refactor: make sync service generic by @tzdybal in #1721
- build(deps): Bump rollkit/.github from 0.3.0 to 0.4.0 by @dependabot in #1746
- docs: update links to sync_service.go by @tzdybal in #1754
- build(deps): Bump github.com/btcsuite/btcd/btcec/v2 from 2.3.2 to 2.3.3 by @dependabot in #1753
- build(deps): Bump github.com/multiformats/go-multiaddr from 0.12.4 to 0.13.0 by @dependabot in #1751
- fix: improve
SignedHeader.Verifyfunction by @tzdybal in #1742 - refactor: syncer service improvements by @tzdybal in #1745
- test: test P2P catchup by @tzdybal in #1614
- build(deps): Bump rollkit/.github from 0.4.0 to 0.4.1 by @dependabot in #1757
- refactor: remove commit type by @Manav-Aggarwal in #1739
- fix(rpc): allow query latest block by @tuxcanfly in #1760
- build(deps): Bump google.golang.org/grpc from 1.64.0 to 1.65.0 by @dependabot in #1765
- chore(ci): use go.mod go version in CI by @MSevey in #1762
- build(deps): Bump golang.org/x/net from 0.26.0 to 0.27.0 by @dependabot in #1764
Full Changelog: v0.13.5...v0.13.6
v0.13.5
What's Changed
- refactor: Log tx count in DA submission by @Manav-Aggarwal in #1713
- fix: fix failing tests on macos, due to symlinks to temp dir by @yarikbratashchuk in #1719
- feat: rollkit rebuild command to update entrypoint by @yarikbratashchuk in #1707
- fix: intercepting stdin by @yarikbratashchuk in #1729
- chore: update libp2p dependencies by @tzdybal in #1684
- refactor: refactor error handling by @tropicaldog in #1720
- fix: way of updating config values with flags by @yarikbratashchuk in #1716
- fix: revert using agg mode by default by @yarikbratashchuk in #1738
- fix(ci): update error checking for CLI ci to catch errors by @MSevey in #1737
- feat: enable valset update by @vuong177 in #1658
- refactor: return types.State{} instead of state for err != nil case by @Manav-Aggarwal in #1735
- fix: Fix vote extension issues, add custom logic to handle secp256k1, fix rpc nilptr issues by @gupadhyaya in #1717
Full Changelog: v0.13.4...v0.13.5