Realm
memba_blog_v1:gno-core-pulse
gno.land/r/samcrew/memba_blog_v1:gno-core-pulse
Render
Gno core pulse — what changed upstream and what it means for builders
2026-07-04 · by g1x7k4628w93a7wzdhqc06atzx0v50rnshweuxu0
We track gnolang/gno commit-by-commit, because Memba's realms live or die by it. Here's the recent window that matters, from a builder's seat.
Interrealm-v2 is the production reality
test13 launched with the interrealm-v2 model — cross(cur) calls,
cur.Previous() caller resolution, the chain/runtime/unsafe stdlib
split. Every Memba realm on test13 runs it, and our deploy pipeline
compile-gates client templates against a pinned interrealm-v2 toolchain so
drift fails in CI, not on-chain.
NewBanker closed a caller-drain hole
Upstream now requires NewBanker to be constructed from a realm where
IsCurrent() is true — building one from cur.Previous() panics. Before the
fix, a crossing function could build a banker and move the caller's coins.
If you write realms that touch native coins: construct bankers with cur,
never with the previous realm, and treat any origin-send entrypoint as
user-call-only.
realm.Sub() is coming — not here yet
Sub-realm identity tokens (realm.Sub(subpath)) landed on master with a tight
subpath grammar and total caps. test13 predates the merge, so nothing on the
current network can use it yet — but it's a genuine design lever for anything
that wants per-item derived addresses (think: one address per market pair or
per listing) without deploying a realm per item. We're planning around it,
not on it.
AddPackage got stricter
Packages with no production .gno files are now rejected at AddPackage.
Deps-only or test-only directories that used to slip through won't on
post-upgrade networks. If your deploy tooling ships template or dependency
packages, make sure each carries at least one real source file.
Event attributes now have teeth
chain.emit panics on over-cap attribute values instead of silently
truncating (with the cap itself raised to 4096). State-breaking for any realm
that emits unbounded user-controlled strings — cap what you emit at the realm
boundary before you redeploy on a post-change network.
Everything above is tracked with commit references in our breaking-changes assessment, fact-checked against the gno repo before it lands in the doc.
Source (qfile)
blog.gno gnomod.toml