Skip to content

chore: release v0.0.29 (EVM RPC keys) - #56

Merged
amir-deris merged 1 commit into
mainfrom
amir/release-v0.0.29
Oct 30, 2026
Merged

amir-deris merged 1 commit into
mainfrom
amir/release-v0.0.29

Conversation

@amir-deris

@amir-deris amir-deris commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Bumps version.json to v0.0.29.

What it carries

Why the keys matter

sei-k8s-controller renders node config through sei-config. Without these fields, ApplyOverrides rejected keys such as evm.ip_rate_limit_rps and evm.rate_limiting_enabled as unknown, and WriteConfigToDir dropped them from app.toml. Managed nodes could only run on seid's compiled-in defaults for rate limiting, request admission, filters and tracing.

With this release:

  • Overrides work. All 32 keys can be set as evm.<seid key> overrides.
  • Defaults match seid.
  • Validate() catches startup failures. It rejects the values seid would refuse to start with.
  • Older files read safely. An app.toml written by v0.0.28 or earlier reads the missing keys as defaults instead of zeros, so an incremental apply can't write rate_limiting_enabled = false or max_filters = 0 back to a node.

Carries #54, which adds the 32 [evm] keys seid reads that the unified
schema did not model, including per-IP rate limiting.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@cursor

cursor Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

PR Summary

Low Risk
Single-line version bump only; no runtime or config logic changes in the diff.

Overview
Bumps the package version in version.json from v0.0.28 to v0.0.29, marking the next release with no other file changes in this PR.

Downstream consumers (e.g. sei-k8s-controller) can pin github.com/sei-protocol/sei-config at this tag after merge.

Reviewed by Cursor Bugbot for commit 366ecf4. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions

Copy link
Copy Markdown

Suggested version: v0.0.29

Comparing to: v0.0.28 (diff)

Changes in go.mod file(s):

(empty)

gorelease says:

panic: runtime error: invalid memory address or nil pointer dereference [recovered, repanicked]
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x645a72]

goroutine 80 [running]:
go/types.(*Checker).handleBailout(0x2a5f00e12200, 0x2a5f00a61bf8)
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/check.go:404 +0x91
panic({0x9bdc20?, 0xa11d70?})
	/opt/hostedtoolcache/go/1.27.3/x64/src/runtime/panic.go:859 +0x125
go/types.(*StdSizes).Sizeof(0x0, {0x9f4ee8, 0xa15e20})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/sizes.go:229 +0x312
go/types.(*Config).sizeof(...)
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/sizes.go:334
go/types.representableConst.func1(...)
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/const.go:89
go/types.representableConst({0x9f6cd8, 0x72f9e0}, 0x2a5f00e12200, 0xa15e20, 0x2a5f00a5ef60)
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/const.go:105 +0x1d9
go/types.(*Checker).representation(0x2a5f00e12200, 0x2a5f00cee840, 0xa15e20)
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/const.go:269 +0x57
go/types.(*Checker).implicitTypeAndValue(0x2a5f00e12200, 0x2a5f00cee840, {0x9f4ee8?, 0xa15e20?})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/expr.go:405 +0x3dc
go/types.(*Checker).assignment(0x2a5f00e12200, 0x2a5f00cee840, {0x9f4ee8, 0xa15e20}, {0x709a05, 0x10})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/assignments.go:70 +0x445
go/types.(*Checker).initVar(0x2a5f00e12200?, 0xa15e20?, 0x2a5f00cee840?, {0x709a05?, 0x2a5f00b93560?})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/assignments.go:180 +0x352
go/types.(*Checker).initVars(0x2a5f00e12200, {0x2a5f009e4438, 0x1, 0x2a5f00a5f4e0?}, {0x2a5f00b172f0, 0x2a5f00a5f2d0?, 0x100004825dc?}, {0x9f6438, 0x2a5f00e2cf40})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/assignments.go:414 +0x646
go/types.(*Checker).stmt(0x2a5f00e12200, 0x0, {0x9f6438, 0x2a5f00e2cf40})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/stmt.go:565 +0x6ec
go/types.(*Checker).stmtList(0x2a5f00e12200, 0x0, {0x2a5f00b17300?, 0x70589e?, 0x5?})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/stmt.go:125 +0x8e
go/types.(*Checker).stmt(0x2a5f00e12200, 0x0, {0x9f6498, 0x2a5f00b93590})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/stmt.go:603 +0x5ae
go/types.(*Checker).stmt(0x2a5f00e12200, 0x0, {0x9f64c8, 0x2a5f00cb7140})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/stmt.go:615 +0x26b8
go/types.(*Checker).stmtList(0x2a5f00e12200, 0x0, {0x2a5f00e2cfa0?, 0x70589e?, 0x5?})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/stmt.go:125 +0x8e
go/types.(*Checker).stmt(0x2a5f00e12200, 0x0, {0x9f6498, 0x2a5f00b935f0})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/stmt.go:603 +0x5ae
go/types.(*Checker).stmt(0x2a5f00e12200, 0x0, {0x9f64c8, 0x2a5f00cb7180})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/stmt.go:615 +0x26b8
go/types.(*Checker).stmtList(0x2a5f00e12200, 0x0, {0x2a5f00e21480?, 0x0?, 0x10?})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/stmt.go:125 +0x8e
go/types.(*Checker).funcBody(0x2a5f00e12200, 0x9f5f28?, {0x2a5f00ca8a00?, 0x2a5f00be7a40?}, 0x2a5f00cb7c40, 0x2a5f00b937d0, {0x0?, 0x0?})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/stmt.go:42 +0x37b
go/types.(*Checker).funcDecl.func1()
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/decl.go:790 +0x3a
go/types.(*Checker).processDelayed(0x2a5f00e12200, 0x0)
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/check.go:512 +0x1e2
go/types.(*Checker).checkFiles(0x2a5f00e12200, {0x2a5f009e4240?, 0x200?, 0x9efed0?})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/check.go:454 +0x325
go/types.(*Checker).Files(0x10?, {0x2a5f009e4240?, 0x1?, 0x6?})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/check.go:422 +0x75
golang.org/x/tools/go/packages.(*loader).loadPackage(0x2a5f00c20000, 0x2a5f00c48990)
	/home/runner/go/pkg/mod/golang.org/x/tools@v0.2.0/go/packages/packages.go:1037 +0xaa7
golang.org/x/tools/go/packages.(*loader).loadRecursive.func1()
	/home/runner/go/pkg/mod/golang.org/x/tools@v0.2.0/go/packages/packages.go:847 +0x1c5
sync.(*Once).doSlow(0x4f5045525f425548?, 0x4f5f59524f544953?)
	/opt/hostedtoolcache/go/1.27.3/x64/src/sync/once.go:78 +0xab
sync.(*Once).Do(...)
	/opt/hostedtoolcache/go/1.27.3/x64/src/sync/once.go:69
golang.org/x/tools/go/packages.(*loader).loadRecursive(0x762d657361656c65?, 0x470039322e302e30?)
	/home/runner/go/pkg/mod/golang.org/x/tools@v0.2.0/go/packages/packages.go:835 +0x3b
golang.org/x/tools/go/packages.(*loader).loadRecursive.func1.1(0x5f52454e4e55525f?)
	/home/runner/go/pkg/mod/golang.org/x/tools@v0.2.0/go/packages/packages.go:842 +0x26
created by golang.org/x/tools/go/packages.(*loader).loadRecursive.func1 in goroutine 78
	/home/runner/go/pkg/mod/golang.org/x/tools@v0.2.0/go/packages/packages.go:841 +0x99
panic: runtime error: invalid memory address or nil pointer dereference [recovered, repanicked]
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x645a72]

goroutine 119 [running]:
go/types.(*Checker).handleBailout(0x2a5f00da0400, 0x2a5f00abfbf8)
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/check.go:404 +0x91
panic({0x9bdc20?, 0xa11d70?})
	/opt/hostedtoolcache/go/1.27.3/x64/src/runtime/panic.go:859 +0x125
go/types.(*StdSizes).Sizeof(0x0, {0x9f4ee8, 0xa15e20})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/sizes.go:229 +0x312
go/types.(*Config).sizeof(...)
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/sizes.go:334
go/types.representableConst.func1(...)
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/const.go:89
go/types.representableConst({0x9f6cd8, 0x72f9e8}, 0x2a5f00da0400, 0xa15e20, 0x2a5f00abe9c8)
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/const.go:105 +0x1d9
go/types.(*Checker).representation(0x2a5f00da0400, 0x2a5f00db0d00, 0xa15e20)
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/const.go:269 +0x57
go/types.(*Checker).implicitTypeAndValue(0x2a5f00da0400, 0x2a5f00db0d00, {0x9f4ee8?, 0xa15e20?})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/expr.go:405 +0x3dc
go/types.(*Checker).convertUntyped(0x2a5f00da0400, 0x2a5f00db0d00, {0x9f4ee8, 0xa15e20})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/const.go:302 +0x3f
go/types.(*Checker).isValidIndex(0x2a5f00da0400, 0x2a5f00db0d00, 0x34, {0x705876, 0x5}, 0x0)
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/index.go:455 +0x7b
go/types.(*Checker).index(0x2a5f00da0400, {0x9f6828, 0x2a5f009f61e0}, 0xffffffffffffffff)
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/index.go:426 +0xcb
go/types.(*Checker).indexExpr(0x2a5f00da0400, 0x2a5f00db0cc0, 0x2a5f00da4f00)
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/index.go:229 +0x79c
go/types.(*Checker).exprInternal(0x2a5f00da0400, 0x0, 0x2a5f00db0cc0, {0x9f6288, 0x2a5f009f6210}, {0x0?, 0x0?})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/expr.go:1075 +0xc1c
go/types.(*Checker).rawExpr(0x2a5f00da0400, 0x0, 0x2a5f00db0cc0, {0x9f6288?, 0x2a5f009f6210?}, {0x0?, 0x0?}, 0x0)
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/expr.go:985 +0x18c
go/types.(*Checker).expr(0x2a5f00da0400, 0x9e1c20?, 0x2a5f00db0cc0, {0x9f6288?, 0x2a5f009f6210?})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/expr.go:1267 +0x30
go/types.(*Checker).assignVar(0x2a5f00da0400, {0x9f5f28, 0x2a5f00b900e0}, {0x9f6288, 0x2a5f009f6210}, 0x0, {0x707466, 0xa})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/assignments.go:271 +0x1c5
go/types.(*Checker).assignVars(0x2a5f00da0400, {0x2a5f00c100c0?, 0x1, 0x99c590?}, {0x2a5f00c100d0, 0x436765?, 0x2a5f00abf158?})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/assignments.go:492 +0x348
go/types.(*Checker).stmt(0x2a5f00da0400, 0x0, {0x9f6588, 0x2a5f00b640c0})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/stmt.go:515 +0xb9c
go/types.(*Checker).stmtList(0x2a5f00da0400, 0x0, {0x2a5f00b901e0?, 0x2a5f00c16180?, 0x2a5f00c092d0?})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/stmt.go:125 +0x8e
go/types.(*Checker).funcBody(0x2a5f00da0400, 0x9f5f28?, {0x2a5f00b5c1c0?, 0x5?}, 0x2a5f00d97c40, 0x2a5f009f6390, {0x0?, 0x0?})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/stmt.go:42 +0x37b
go/types.(*Checker).funcDecl.func1()
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/decl.go:790 +0x3a
go/types.(*Checker).processDelayed(0x2a5f00da0400, 0x0)
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/check.go:512 +0x1e2
go/types.(*Checker).checkFiles(0x2a5f00da0400, {0x2a5f00c1c008?, 0x200?, 0x9efed0?})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/check.go:454 +0x325
go/types.(*Checker).Files(0x10?, {0x2a5f00c1c008?, 0x1?, 0x6?})
	/opt/hostedtoolcache/go/1.27.3/x64/src/go/types/check.go:422 +0x75
golang.org/x/tools/go/packages.(*loader).loadPackage(0x2a5f00c20000, 0x2a5f00c48e70)
	/home/runner/go/pkg/mod/golang.org/x/tools@v0.2.0/go/packages/packages.go:1037 +0xaa7
golang.org/x/tools/go/packages.(*loader).loadRecursive.func1()
	/home/runner/go/pkg/mod/golang.org/x/tools@v0.2.0/go/packages/packages.go:847 +0x1c5
sync.(*Once).doSlow(0xc7a2b5e6111f1dfa?, 0xcfb40fc5a94f9c2b?)
	/opt/hostedtoolcache/go/1.27.3/x64/src/sync/once.go:78 +0xab
sync.(*Once).Do(...)
	/opt/hostedtoolcache/go/1.27.3/x64/src/sync/once.go:69
golang.org/x/tools/go/packages.(*loader).loadRecursive(0x51b809e7204af4df?, 0xdf59e09882fdb51a?)
	/home/runner/go/pkg/mod/golang.org/x/tools@v0.2.0/go/packages/packages.go:835 +0x3b
golang.org/x/tools/go/packages.(*loader).loadRecursive.func1.1(0x3c80d7b0165562f9?)
	/home/runner/go/pkg/mod/golang.org/x/tools@v0.2.0/go/packages/packages.go:842 +0x26
created by golang.org/x/tools/go/packages.(*loader).loadRecursive.func1 in goroutine 66
	/home/runner/go/pkg/mod/golang.org/x/tools@v0.2.0/go/packages/packages.go:841 +0x99

gocompat says:

Your branch is up to date with 'origin/main'.

Automatically created GitHub Release

A draft GitHub Release has been created.
It is going to be published when this PR is merged.
You can modify its' body to include any release notes you wish to include with the release.

@seidroid seidroid Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This bumps version.json from v0.0.28 to v0.0.29, which publishes a release containing #54 (the EVM RPC keys) and #55 (CI only). The remote's latest tag is v0.0.28, so this is the correct next version with no gap or collision, and nothing in the 9-line diff blocks it. Tests were not run because Go is not installed in this sandbox. The one other reader (codex) found nothing, and that matches this review.

seidroid review · decision approve · session 237e7ca1cd524f45b10deb33375fc225 · turn resp_claude_afc5ea385ad78f08aac718b840c0f686 · item b697d0d9a5f45d1a8ecfde2f70b642c3

Findings: 0 blocking | 0 non-blocking | 0 posted inline

@amir-deris amir-deris self-assigned this Oct 30, 2026
@amir-deris
amir-deris merged commit bce3828 into main Oct 30, 2026
11 checks passed
@amir-deris
amir-deris deleted the amir/release-v0.0.29 branch October 30, 2026 18:33
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.

1 participant