m1.1.1: to apply Camellia hardfork to METADIUM MAINNET
GLIBC_2.38; they do not start on Ubuntu 20.04 or 22.04. The source is identical — use m1.1.2.
This release activates the Camellia hard fork on Metadium mainnet.
| Activation block | 117,764,000 (authoritative) |
| Expected time | around 2026-08-27 12:00 KST (approximate — height-based activation drifts with block time) |
| Version | 1.1.1-stable |
All mainnet node operators must upgrade before the activation block. Nodes running older binaries will follow a diverging chain.
What Camellia activates
Ethereum's Shanghai and Cancun EIPs in a single upgrade, running on Metadium testnet since block 86,449,000 (2026-05-20) with no incidents:
| EIP | Feature |
|---|---|
| EIP-3855 | PUSH0 opcode |
| EIP-3860 | Limit and meter initcode |
| EIP-1153 | Transient storage opcodes (TSTORE/TLOAD) |
| EIP-4844 | Blob transaction support (sidecar retention configurable) |
| EIP-5656 | MCOPY opcode |
| EIP-6780 | SELFDESTRUCT only in same transaction |
(Full list and Metadium-specific notes: docs/camellia-mainnet-hf-plan.md)
Also in this release
- Shutdown reliability: fixed a deadlock that could make a node ignore SIGTERM during shutdown (governance reads no longer hold
TrieAccessMuacross an unanswered in-process RPC round-trip);gmet.sh stopno longer reports success without stopping anything, and gained configurable shutdown knobs (STOP_TIMEOUT,STOP_FORCE,LOCK_TIMEOUT). - systemd units:
metadium/scripts/gmet.service(+ sealer override) with a stop policy that matches the shutdown knobs. - 32-bit portability fixes in
cmd/geth/metclient(wei amounts in platform-sized ints). - blobpool: blob sidecars now expire under Metadium PoA.
limbo.finalizewas reached with a nil finality boundary whenever chain-level finality could not be resolved — at startup before the governance admin initializes, during transient governance-read failures, and permanently on governance-less networks — so it returned early, loggedNil finalized block cannot evict old blobs, and never dropped included blob transactions from the limbo store. Under PoA the pool now falls back to ahead-64boundary when, and only when, no chain-level boundary is available; non-PoA paths are bit-identical, and a real boundary is never overridden. Camellia-active nodes stop emitting the error and reclaim limbo space. - txpool: 256KB max-transaction ceiling restored (
params.MaxTransactionSize— the v1.13.14 rebase had silently reverted it to 128KB). This is local pool admission policy, not consensus, and it restores parity with 0.10.x, which has carried the same 256KB ceiling since 2018 — a mixed 0.10.x + 1.1.1 fleet behaves uniformly. Only nodes on the intermediate 1.1.0 line (testnet) reject above 128KB, so 128–256KB transaction propagation is path-dependent only while 1.1.0 nodes remain. - Breaking API change for external importers:
metclient.SendValue'samountparameter is now*big.Int(was a platform-sizedint, which silently truncated wei amounts — ~2.1 gwei ceiling on 386 builds, ~9.22 META even at int64). No in-repo callers; external tooling that linksmetadium/metclientmust update at compile time. - Version string:
Gmet/v1.1.1-stable.
Upgrade
The operator documentation is the README at the m1.1.2 tag — this release is
superseded, and its source is identical, so the m1.1.2 documentation describes
this build too:
Upgrading from 0.10.x
is the full checklist the warnings below are drawn from, and
Node Configuration Reference
documents every .rc knob with its default, with a worked example for an
exchange or API full node.
petersburgBlock dropped) that rewinds a 0.10.x node's chain to block 5,622,999 (~80M-block resync) on first start. 1.1.1 restores the value and is safe from both 0.10.x and 1.1.0 starting states. Mainnet is unaffected throughout. Testnet nodes must also be started with --metadium-testnet (or TESTNET=1 in the node's .rc) for compiled-in config updates, including the Camellia fork block, to apply.
--syncmode that starts on Metadium networks is full — light is gone from the tree, and snap/fast are deliberately rejected (the snap state-healing fixes are not backported to this base). For fast new-node bring-up, bootstrap from the published chain snapshot. The personal RPC namespace is also disabled by default (upstream deprecation) — nodes whose tooling uses personal_* must start with --rpc.enabledeprecatedpersonal. See the README's "Upgrading from 0.10.x" section for the full checklist.
HTTP_ADDR=0.0.0.0 and WS_ADDR=0.0.0.0 to their per-node .rc before restarting on this release — the default bind is now loopback (was unconditional 0.0.0.0). An in-place upgrade without these knobs silently stops external serving.
# per node (engine-matched tarball!):
cd /opt/meta
bin/gmet.sh stop # graceful; never kill -9
tar xzvf metadium-1.1.1-linux-<leveldb|rocksdb>.tar.gz
bin/gmet.sh start
bin/gmet version # expect 1.1.1-stable; verify the Git Commit line
# matches this release (version alone does not
# prove a fixed build)
grep -m1 Camellia logs/log # fork config prints at chain init -- expect
# the Camellia activation height
Deploying before the activation block is safe: the fork activates automatically at the block height.
Assets
Both assets are built from commit ebaeca7f4a7c2adbc785d7b71b3f142a011b3d73 (the master tip this release tags). gmet version inside the tarball reports 1.1.1-stable, Git Commit ebaeca7f4a…; use that to verify a deployed binary against this release (see item 7 of the upgrade checklist in the README).
| Asset | md5 | sha256 |
|---|---|---|
metadium-1.1.1-linux-leveldb.tar.gz |
913e8b224cfcebfcad913281dec6f314 |
4c085993fb7f8403380291e8adf6d167ebc57d3b4a2d563094aaf4293ad0becf |
metadium-1.1.1-linux-rocksdb.tar.gz |
c487ac8934a7e9c00598f17aec9e74c5 |
813e8c36f69a56bea3387639bc23329ea057e7ebd37e011864b7848277cef58e |
The sha256 values are the digests GitHub displays on the asset list, so either column can be used to verify a download (md5sum / sha256sum).