v6.7.0-rc1 is the first release candidate of the v6.7 line, cut from release/v6.7.
See the v6.7 section of the CHANGELOG for the full list of changes and the upgrade guide, which covers the IBC core, transfer and query removal, the capability and feegrant module removal, the WebSocket frame-size default change, the ABCI/gRPC pagination caps, and the legacy sei_* JSON-RPC removal.
What's Changed
- Co-broadcast rich block CW20 transfer with EVM batch by @masih in #3626
- MaxSize computation for sized proto messages by @pompon0 in #3619
- revisited autobahn msg buffers by @pompon0 in #3629
- feat(protoutils): UnmarshalWithLimit — pre-decode allocation estimate by @wen-coding in #3615
- Storage read visiblity by @Kbhat1 in #3566
- Add Autobahn fullnode (CON-309) by @wen-coding in #3525
- downgrading logging levels in p2p by @pompon0 in #3633
- fix(evmrpc): Cap calls in eth_estimateGasAfterCalls by @amir-deris in #3631
- Generate v6.6 CHANGELOG by @masih in #3634
- block store implementation (littDB) by @cody-littley in #3600
- dynamic router switching by @cody-littley in #3581
- fix(evmrpc): cap eth_getBlockReceipts fan-out and concurrent logs subscriptions (PLT-701) by @amir-deris in #3621
- HashLogger by @cody-littley in #3628
- ReceiptStore Add littidx backend (LittDB bodies + pebble tag index) by @Kbhat1 in #3620
- feat(evmrpc): configurable batch request limit and batch response size by @amir-deris in #3636
- fix(grpc-web): set ReadTimeout, WriteTimeout, IdleTimeout, and MaxOpenConnections by @amir-deris in #3605
- ci(PLT-761): cancel superseded integration-test PR runs and defer Autobahn Gov/Mint/Upgrade to merge queue by @amir-deris in #3639
- fix(evmrpc): acquire requestLimiter in eth_createAccessList by @amir-deris in #3646
- ci(PLT-766): cancel superseded PR runs for remaining workflows by @amir-deris in #3649
- fixed the header number limit for FullCommitQC (PLT-764) by @pompon0 in #3643
- Autobahn hashvault integration by @cody-littley in #3602
- Enable UCI AI review and assist by @masih in #3651
- Parallelize littidx eth_getLogs across blocks by @Kbhat1 in #3652
- Add GoReleaser release pipeline for static seid binaries by @monty-sei in #3425
- Upodate checkout GHA step across all workflows by @masih in #3659
- [codex] bump go-ethereum to v1.15.7-sei-17 by @codchen in #3657
- fix(evmrpc): bound debug_traceStateAccess memory and add trace admission control (PLT-360) by @amir-deris in #3653
- Per-block littidx flush + single shard (gated on #3645) by @Kbhat1 in #3660
- fix(sei-tendermint): prevent readRoutine goroutine leak on /websocket when writeChan is full (PLT-707) by @amir-deris in #3664
- Make autobahn block production check wait for progress by @masih in #3667
- feat(evmrpc): pre-decode request size admission control (PLT-295) by @amir-deris in #3648
- fix(evmrpc): apply getLogs maxLog cap during merge instead of after (PLT-687) by @amir-deris in #3666
- Require absolute path for evmone lib by @masih in #3668
- chore: replace OLD red SeiLogo banner in README with new 2026 Sei lockup by @alexander-sei in #3670
- feat(consensus): mock_chain_validation replay build + memIAVL state-sync restore fixes by @bdchatham in #3663
- [codex] Harden multiversion iterator validation by @codchen in #3656
- fix(metrics): Prometheus metrics output by @m3diumrare in #3640
- integrate hashlogger by @cody-littley in #3647
- LittDB: Keymap threading improvements by @cody-littley in #3645
- fix(evmrpc): limit listener max open connections, configurable via max_open_connections (PLT-704) by @amir-deris in #3637
- feat(seid): ConfigManager selection seam (PLT-775 PR1) by @bdchatham in #3671
- feat(grpc): add keepalive, LimitListener, and MaxRecvMsgSize to gRPC server :9090 (PLT-705) by @amir-deris in #3641
- feat(seidb): dump-flatkv computes per-bucket/total LtHash by @blindchaser in #3665
- State Store: Compact pruned key range after each prune by @Kbhat1 in #3675
- Retry npm install for disable wasm integration test by @masih in #3674
- Pin priority-fee assertions to stable heads by @masih in #3680
- Update changelog in prep to cut 6.6 RC1 by @masih in #3685
- Close temporary rootmulti store in channel types setup by @masih in #3690
- Add chain_id label to OTel metrics by @amir-deris in #3692
- Add gov proposal based migration trigger by @yzang2019 in #3650
- Fix rpc hash race condition by @yzang2019 in #3693
- feat(replay): historical_replay build tag for lenient tx decoder by @bdchatham in #3691
- feat(evmrpc): bound debug_trace struct-logger memory via max_trace_struct_log_bytes (PLT-205) by @amir-deris in #3677
- feat(inprocess): in-process N-validator harness by @bdchatham in #3642
- Avoid localnode generated-dir cleanup race by @masih in #3700
- feat(indexer): push result cap and ordering into KV block search (PLT-748) by @amir-deris in #3689
- hashlog cli by @cody-littley in #3676
- fix(composite): reset sticky commit-info latches on rollback across migration boundaries by @blindchaser in #3705
- Accept legacy cosmos_only SC write mode by @masih in #3704
- Stabilize websocket writeChan leak regression tests by @masih in #3715
- Cleanup blocksim benchmarks by @cody-littley in #3683
- fix(mock_balances): mempool readiness gate must see the mock top-off (empty-blocks regression) by @bdchatham in #3720
- ci: retry docker registry push/pull in integration tests via shared helper by @amir-deris in #3723
- Revert "Fix seid rollback after deprecating cosmos pruning strategy" by @masih in #3725
- refactor of sei-tendermint metrics by @pompon0 in #3696
- Make memiavl iterator snapshot rewrite deterministic by @masih in #3726
- fix(docker): giga-mixed cluster silently ran all-giga; write explicit executor config + role guard by @bdchatham in #3727
- fix(sei-tendermint): make empty validator-set proto round-trip lossless so state-sync can boot on gentx chains by @bdchatham in #3724
- fix(logging): demote per-mint bank log to Debug (mock_balances top-off spam) by @bdchatham in #3729
- fix(evmrpc): mask state overrides with a simulation-local storage overlay by @amir-deris in #3722
- Polish EVM migration logs by @yzang2019 in #3728
- Update v6.6 changelog in prep to cut rc2 by @masih in #3730
- prometheus metrics for autobahn/avail, autobahn/data and p2p/mux by @pompon0 in #3682
- Make telemetry metrics emission deterministic by @masih in #3733
- add block number to ReadBlockByHash by @cody-littley in #3703
- feat(autobahn): Add epoch.Registry to maintain committee/stake (CON-358) by @wen-coding in #3632
- Add offline rollback utility for LittDB by @Kbhat1 in #3684
- fix(consensus): guard /consensus_state RPC against empty-validator-set divide-by-zero by @bdchatham in #3740
- feat(cosmos): range-check Dec conversions and DecCoin validation (CON-369) by @wen-coding in #3741
- Update v6.6 changelog in prep to cut rc3 by @bdchatham in #3744
- BlockDB: no orphaned blocks by @cody-littley in #3734
- Align FlatKV snapshot config with MemIAVL by @yzang2019 in #3745
- fix(feegrant): bound DenomsSubsetOf cost and cap allowance denoms by @amir-deris in #3710
- feat(scripts): add SC read-path RPC probe (consistency check + load) by @blindchaser in #3751
- feat(seidb): composite + replay digest modes and migration-boundary omission for evm-logical-digest by @blindchaser in #3711
- fix(giga): route EVM validation failures to v2 fallback (CON-368) by @bdchatham in #3753
- Fix address distro bug by @codchen in #3716
- fix(evm): bound store-cache depth amplification from stacked EVM snapshots by @codchen in #3713
- fix stale blockDB godocs by @cody-littley in #3763
- Fix static seid SIGSEGV (pin pre-gcc-12 libgcc unwinder), add boot smoke gate, build binaries on manual tag pushes by @monty-sei in #3749
- ci: prevent runner disk exhaustion in integration + lint jobs (PLT-807) by @amir-deris in #3762
- fix(seidb-bench): tolerate nil FlatKV config in bench wrapper factory by @blindchaser in #3770
- feature(sei-db) LTHash refactory for adding per module hash and stats by @yzang2019 in #3758
- feat(ratelimiter): add MethodParser for pre-decode JSON-RPC method extraction (PLT-800) by @amir-deris in #3755
- State WAL replacement by @cody-littley in #3701
- special error when reading below watermark by @cody-littley in #3773
- Add REVIEW.md guidelines for AI PR reviewers by @codchen in #3774
- deprecate vesting module while preserving all store/state by @codchen in #3714
- Use DBImpl for giga mock balance validation by @codchen in #3750
- Disable JS debug tracers by default with native tracer allowlist by @masih in #3718
- fix(giga): fall back to v2 on execution errors by @philipsu522 in #3768
- feat(seidb-bench): add write-set replay adapter for opcode storage-cost measurement by @blindchaser in #3772
- Update v6.6 changelog in prep to cut rc4 by @bdchatham in #3765
- Tests: Precompile Tests Phase 1 (PLT-372) by @alexander-sei in #3777
- (autobahn-only) Reject empty tipcuts in Proposal.Verify by @wen-coding in #3784
- LittDB compression by @cody-littley in #3769
- WAL Benchmark by @cody-littley in #3775
- fix(evm/state): key overlay by address, journal SetStorage install, fix giga-path SetStorage by @amir-deris in #3785
- storage manager by @cody-littley in #3787
- feat(precompiles): expose module Query rpcs as precompile methods by @codchen in #3767
- ci(PLT-825): run all Autobahn integration tests on every PR by @amir-deris in #3790
- fixed support for AllowEmptyBlocks = false for autobahn by @pompon0 in #3739
- Add CommitBlock API for FlatKV by @yzang2019 in #3788
- Tests: Precompile Tests Phase 2 (PLT-372) by @alexander-sei in #3786
- Close merkle suite store during teardown by @masih in #3794
- feat(indexer): push result cap and ordering into KV tx search (PLT-748) by @amir-deris in #3708
- Add new Storage interface for Giga executor by @yzang2019 in #3789
- feat(data): integrate LittDB-backed BlockDB into autobahn data layer (CON-272) by @wen-coding in #3707
- test(solo): add SIGN_MODE_LEGACY_AMINO_JSON test coverage (PLT-827) by @alexander-sei in #3795
- Make boot-smoke gate deterministic (first boot RAYON_NUM_THREADS=1) by @monty-sei in #3803
- Tolerate failed Codex review executions by @masih in #3807
- Upgrade to lates UCI AI review for skip label support by @masih in #3805
- fix(evmrpc): floor
earlieststate height at genesis InitialHeight (SEI-10383) by @bdchatham in #3798 - perf(params): validate ConsensusParams once per change set (CON-312) by @wen-coding in #3809
- Harden GHCR image tag cleanup workflow by @amir-deris in #3801
- fix(distribution): align withdraw-address checks with bank send restrictions by @codchen in #3792
- perf(evm): cache BLOCKHASH via 32-byte hash ring (CON-372) by @wen-coding in #3811
- feat(evmrpc): bound eth_getLogs peak memory with matched-log count and byte budgets by @amir-deris in #3759
- precompile: price dynamic-gas calldata decoding by supplied gas by @codchen in #3737
- Bump sei-protocol/go-ethereum to v1.15.7-sei-18 by @amir-deris in #3804
- Align multisig SignatureData with bitarray invariants (CON-371) by @wen-coding in #3810
- fix(giga): fix flaky TestAvailClientServer test by @wen-coding in #3812
- Add codecs for ReceiptDB with txIndex by @yzang2019 in #3799
- fix(ss/composite): gate EVM kind parsing on the evm module in convertFlatKVNodes by @blindchaser in #3817
- (CI) Remove redundant Docker Hub login from integration-tests matrix job by @amir-deris in #3814
- feat(seed): serve Prometheus metrics in seed mode by @bdchatham in #3819
- Fix PebbleDB iterator stack overflow by @yzang2019 in #3823
- fix(seidb): give FlatKV and memIAVL latency histograms explicit buckets by @blindchaser in #3824
- Allow iteration to start at a specific key in littDB/blockDB by @cody-littley in #3806
- Snapshot Engine by @cody-littley in #3808
- precompile: convert json/pointerview/p256 to dynamic-gas precompiles by @codchen in #3813
- fix(ante): address association parity across EVM ante paths by @codchen in #3793
- Harden account key validation by @codchen in #3791
- fix(receipt): correct log heap struct overhead in eth_getLogs budget (PLT-862) by @amir-deris in #3826
- test(config): characterize the legacy configuration surface with native fuzzing (PLT-775) by @bdchatham in #3816
- fix(distribution): make delegation-reward queries read-only by @codchen in #3738
- (Autobahn) load Block DB at the app tip on restart (CON-272) by @wen-coding in #3827
- Enable seidroid xreview on sei-chain by @bdchatham in #3830
- fix(evidence): remove unused GetAllEvidence call in AllEvidence query by @amir-deris in #3833
- Bump goja version (CON-366) by @wen-coding in #3832
- fix(autobahn): prevent block-sync livelock after restart catch-up by @wen-coding in #3831
- feat(configmanager): SeiConfigManager v2 body — validate-passthrough (PLT-775 PR2) by @bdchatham in #3678
- feat(precompiles): expose module Msg rpcs as precompile methods by @codchen in #3825
- [codex] add evm-only giga executor path by @codchen in #3583
- Bump sei go-ethereum to v1.15.7-sei-19 by @amir-deris in #3841
- fix(seidb-bench): stop the state-store bench backends fail on a nil config by @blindchaser in #3838
- test(config): pin the section-level env shadow, and make the parity comparison deterministic (PLT-775) by @bdchatham in #3837
- Add giga config and unify garbage collector logic by @yzang2019 in #3829
- evmrpc: extend admission control to the WebSocket plane by @amir-deris in #3818
- Remove redundant libstdc++6 installation by @masih in #3847
- test(config): make a renamed configuration key fail the suite (PLT-893) by @bdchatham in #3851
- goreleaser: drop duplicate changelog + Full Changelog link from release notes by @monty-sei in #3856
- Migrate sei-wasmd keeper contract and IBC relay metrics to OTel (PLT-910) by @amir-deris in #3852
- Migrate evmrpc, gaskv, and bank new-account metrics to OTel (PLT-911) by @amir-deris in #3858
- PLT-819: Wire fail-closed rate limiter + MethodParser into EVM JSON-RPC HTTP (:8545) by @amir-deris in #3779
- test(config): check which indexer and whether tracing is off, and stop one test changing another's config (PLT-893) by @bdchatham in #3855
- Replace legacy WAL by @cody-littley in #3844
- Fix edge case for per module lattice hash updates by @yzang2019 in #3853
- Extend tx decoder canonical-size check to AuthInfo (CON-343) by @wen-coding in #3839
- StateWAL + FlatKV by @cody-littley in #3835
- feat(precompiles): add scoped vote authorization flow by @codchen in #3846
- perf(evm): memoize deliver GetCode (+ giga); fix pointer upsert Multistore write target (CON-361) by @wen-coding in #3843
- [codex] add evm-only executor load test harness by @codchen in #3658
- Restore LCD pagination while preserving v6.6 precompile semantics by @masih in #3867
- Close temporary rootmulti store in connection types setup by @masih in #3872
- Update v6.6 changelog in prep to cut patch release by @masih in #3876
- test(config): extend golden value test coverage (PLT-893) by @bdchatham in #3861
- Remove unused interchain accounts implementation by @masih in #3875
- fix(evmrpc): stream request-body budget charging to close slowloris gap (PLT-780) by @amir-deris in #3836
- Update go-releaser heading with experimental notice by @masih in #3879
- scripts: load generator for arctic-1 and atlantic-2 by @kollegian in #3850
- fix(evm): count post-admission apply failures in dynamic base-fee gas (CON-359) by @wen-coding in #3871
- fix(flatkv): preserve empty misc values and reject malformed empty node imports by @blindchaser in #3869
- Remove interchain swagger API and protos by @masih in #3881
- test(config): complete the GetConfig read-site coverage (PLT-893) by @bdchatham in #3870
- Remove all IBC code in test scope by @masih in #3882
- test(receipt): pin logHeapStructOverhead against types.Log layout (PLT-958) by @amir-deris in #3886
- Implement new Giga GarbageCollector interface by @yzang2019 in #3868
- Revert "Enable seidroid xreview on sei-chain (#3830)" by @bdchatham in #3901
- fix(flatkv): report snapshots a rollback could not remove by @blindchaser in #3887
- Refactor separating AppQC from CommitQC by @pompon0 in #3849
- Migrate precompiles/bank and giga/deps metrics to OTel (PLT-912) by @amir-deris in #3859
- fix(evmrpc): fail closed on pruned receipt heights for getBlock* endpoints (PLT-979) by @amir-deris in #3909
- block production fix + loadtest-related utilities by @pompon0 in #3905
- Recognize live AppHash rejection as loud failure by @masih in #3906
- Remove
sei2_*API support and implementation by @masih in #3912 - Upgreade UCI AI review and assist pipeline to latest by @masih in #3915
- fix(evmrpc): honor trace_timeout in profiled debug_traceBlock path (PLT-989) by @amir-deris in #3914
- fix(p2p): bound the inbound node-info exchange by the handshake deadline by @bdchatham in #3916
- Bump sei go-ethereum to v1.15.7-sei-20 by @amir-deris in #3920
- removed defaults for RouterOptions.Dial/AcceptRate by @pompon0 in #3922
- Fix UCI AI review trigger for explicit review ask by @masih in #3921
- Use unique hashes in concurrent nonce test by @masih in #3923
- Remove unused legacy
sei_*block APIs by @masih in #3924 - feat(autobahn): implement new lane ID for epoch (CON-358) by @wen-coding in #3862
- fix(p2p): make the inbound accept rate configurable and raise its default by @bdchatham in #3899
- feat(precompiles): add scoped module authorizations by @codchen in #3893
- Refine review context on cosmos gasless tx by @masih in #3933
- removed consensus timeout overrides from config by @pompon0 in #3934
- Remove support for eth_getProof by @yzang2019 in #3926
- feat(seidb): add exact-version state store snapshots by @blindchaser in #3919
- Add freeze mode for historical EVM RPC by @codchen in #3910
- Remove legacy commit hash validation fallback by @masih in #3937
- Remove remaining unused legacy sei_* APIs by @masih in #3927
- Refine review config to consider on chain params by @masih in #3936
- metrics: refine block gas histogram buckets (PLT-1002) by @amir-deris in #3949
- Remove metadata DB by @cody-littley in #3928
- Remove support for
sei_getTransactionReceiptAPI by @masih in #3945 - [ConfigManager] Remove redundant test coverage by @bdchatham in #3942
- fix(evmrpc): unexport RPC-adjacent helper methods to prevent unintended JSON-RPC registration by @amir-deris in #3950
- [ConfigManager] Config Registry by @bdchatham in #3943
- feat(seeds): ship Sei Labs seeds as the default bootstrap-peers by @monty-sei in #3885
- Deprecate IBC write handlers by @masih in #3947
- Add context cancellation to SS DB layer by @yzang2019 in #3940
- test(sei-db): wait for the flush before releasing the snapshot by @blindchaser in #3959
- Update v6.6 change log in prep to cut v6.6.2 patch by @masih in #3964
- utility for running unit tests against RAM disk by @cody-littley in #3963
- Handle new modules and common files in version bump by @masih in #3962
- Generate v6.7 precompiles by @masih in #3961
- Upgrade to AI review to the latest UCI v0.0.18 by @masih in #3968
- fix(bank): reduce complexity in multisend validation by @shemnon in #3955
- [ConfigManager] Sei Config File by @bdchatham in #3952
- script for running tests in RAM by @cody-littley in #3971
- fix(types): return false for coin denomination mismatches by @shemnon in #3970
- [ConfigManager] Install resolved configuration into the boot source by @bdchatham in #3973
- fix(gov): harden deposit refund handling by @codchen in #3956
- Deprecate oracle message and query handlers by @codchen in #3944
- Remove feegrant module by @masih in #3958
- feat(sei-db): roll back state store from snapshot and WAL by @blindchaser in #3967
- Upgrade to latest UCI AI review by @masih in #3982
- Separate BlockStore and BlockDB interface by @yzang2019 in #3969
- Split the musl cgo link path by architecture by @monty-sei in #3932
- Remove capability module by @masih in #3980
- Remove unreachable IBC channel handshake logic by @masih in #3988
- Test gas gating in weighted vote by @masih in #3987
- Add per-IP rate limiting to CometBFT RPC HTTP by @amir-deris in #3911
- feat(query): origin-aware pagination limits for ABCI queries by @amir-deris in #3984
- fix(metrics): wire pending nonce events in mempool OTel counter (PLT-1017) by @amir-deris in #3991
- fix(sei-tendermint): address mac/linux test node divergence by @shemnon in #3996
- Require matching ModeInfo and nested signature counts (CON-393) by @wen-coding in #3863
- Complete multi-epoch ownership across Autobahn layers (CON-358) by @wen-coding in #3929
- Remove live IBC transfer module by @masih in #3981
- Stop AI workflows from running on submitted reviews by @masih in #4001
- Disable mempool traffic in freeze mode by @masih in #3990
- Remove retired IBC query APIs by @masih in #4002
- Use iterative traversal for memiavl snapshot writes by @masih in #4003
- fix(evmrpc): don't charge an innocent client's per-IP bucket on mid-read budget exhaustion by @amir-deris in #3935
- Retire remaining CosmWasm IBC execution by @masih in #4008
- feat(cosmos): return errors from NewDecCoinsFromCoins (CON-370) by @wen-coding in #3997
- [ConfigManager] Register Sections 1/4 by @bdchatham in #3974
- Simplify retired IBC transaction rejection by @masih in #4010
- [ConfigManager] Register Sections 2/4 by @bdchatham in #3975
- [ConfigManager] Register Sections 3/4 by @bdchatham in #3976
- [ConfigManager] Register Sections 4/4 by @bdchatham in #3977
- Fix intermittent failures in buf breaking change check by @masih in #4013
- Detach applications from retired IBC core by @masih in #4014
- Remove unreferenced IBC core by @masih in #4015
- Remove stale ibc from v6.7 module version map by @masih in #4016
- Add frozen RPC router and Docker integration cluster by @codchen in #3989
- Preserve legacy IBC governance decoding by @masih in #4017
- Backport
release/v6.7: Bound block reference parsing depth by @seidroid[bot] in #4035 - Backport
release/v6.7: Attach a static linux/arm64 seid binary to releases by @seidroid[bot] in #4047 - Backport
release/v6.7: Bound frozen RPC router batch allocations by @seidroid[bot] in #4049 - Backport
release/v6.7: Fix memiavl snapshot race condition by @seidroid[bot] in #4051 - Backport
release/v6.7: Validate snapshots before publication by @seidroid[bot] in #4054 - Backport
release/v6.7: Upgrade UCI AI review to latest and allow review of PRs from seidroid by @seidroid[bot] in #4063 - Backport
release/v6.7: fix(precompiles): disable Wasmd execute_batch by @seidroid[bot] in #4074 - Backport
release/v6.7: fix FlatKV cache memory leak by @seidroid[bot] in #4095 - Backport
release/v6.7: Update changelog in prep to cut v6.7 by @seidroid[bot] in #4113 - Bump version to v6.7.0-rc1 in prep for release by @alexander-sei in #4116
New Contributors
- @m3diumrare made their first contribution in #3640
Full Changelog: v6.6.0...v6.7.0-rc1