Releases: etclabscore/core-geth
Hermes (v1.12.22)
DNS Discovery Migration
The ETC DNS discovery infrastructure has been migrated from blockd.info to etcdisco.net. The new domain includes a node explorer where operators can browse and search the current set of discovered peers across Classic mainnet and Mordor testnet, with filtering by protocol capabilities and node scoring. The previous endpoint (enrtree://AJE62Q4DUX4QMMXEHCSSCSC65TDHZYSMONSD64P3WULVLSF6MRQ3K@all.classic.blockd.info) remains functional during the transition, and the signing key is unchanged.
Maintenance
- Backported upstream go-ethereum cryptographic fixes (CVE-2025-24883, CVE-2026-26315).
- Added p2p message size validation hardening (CVE-2026-26313).
This release contains no consensus changes — all updates are limited to the p2p networking layer. All node operators are encouraged to upgrade at their earliest convenience.
Aegis (v1.12.21)
Security hotfix: P2P crash-loop
This is an emergency patch addressing an active attack against Ethereum Classic bootnodes. Malicious P2P traffic was exploiting missing input validation in the ECIES handshake path, causing nodes to crash-loop on restart.
Fixes
Three cherry-picks from upstream go-ethereum:
- crypto/ecies: use AES blocksize — Corrects minimum ciphertext length validation to use the actual AES block size instead of a hardcoded value of 1.
- crypto/ecies: fix ECIES invalid-curve handling (#33669) — Validates that the remote public key lies on the expected curve before performing ECDH, preventing an invalid-curve oracle attack.
- p2p/rlpx: 2KB maximum size for handshake messages (#30029) — Rejects oversized handshake packets, preventing memory abuse during the RLPx handshake.
CI
- Pinned GitHub Actions runners to
ubuntu-22.04andwindows-2022to restore compatibility with deprecated/updated runner images.
Upgrade priority
Strongly recommended for bootnodes and any node directly reachable from the internet with a high volume of inbound P2P connections. Nodes behind firewalls or with restricted inbound access are less likely to be affected, but upgrading is still advised. This release contains no consensus changes — only P2P-layer hardening. It is a drop-in replacement for v1.12.20.
Prophasis (v1.12.20)
This release merges the v1.13.x ethereum/go-ethereum release series, through v1.13.15.
Geth v1.13.0 is a major milestone in the lifetime of Geth, bits and bobs being in development for around 6 years now. Since a release note cannot do it justice, please see our Geth v1.13.0 release blog post.
This release series brought Ethereum through the Cancun fork, which established Shard Blob Transactions, beacon block roots in the EVM, and new opcodes; none of which are directly relevant to ETC now.
What has been relevant to ETC is that upstream versions of ethash and other PoW-related code have been abandoned as ETH pursues an engineering path exclusively concerned with PoS. This leaves core-geth as the primary maintainer of these packages. The span between our two clients is yawning, but we hope you'll find this release a welcome bridge between worlds.
Please find a few cherry-picked references below for your convenience.
- Path database scheme is the default for new instances (replacing hash scheme).
- Dropped ETH66 and ETH67 protocol versions.
- Logging-related CLI API changes, since geth now uses a Go language library
slog. Notably,--log.backtraceatand--log.debugare removed. - A few RPC API changes, including an added call
eth_getBlockReceipts, modifying theblockparameter ineth_calloptional (defaulting tolatest), and causingeth_syncingto behave differently. - Support for the light protocol (aka
les) is dropped. - Add ethereum/go-ethereum Cancun support for all pertinent networks.
- EIP-1153: Transient storage opcodes
- EIP-4788: Beacon block root in the EVM
- EIP-4844: Shard Blob Transactions
- EIP-5656: MCOPY - Memory copying instruction
- EIP-6780: SELFDESTRUCT only in same transaction
- EIP-7516: BLOBBASEFEE opcode
- And lots of bug fixes for new and existing features.
Persiphone (v1.12.19)
Fixed
- Fix UPnP unwanted termination, which was causing nodes behind a NAT to be unreachable. (#611)
- Fix config toml, go generate. Allowing setting the
ECBP1100andOverrideECBP1100Deactivatethrough TOML configuration. (#614)
Comparison with last release: v1.12.19..v1.12.18
Docker images published under etclabscore/core-geth.
Gaia (v1.12.18)
What's Changed
- Install ECBP-1110 (Deactivate MESS) for Mordor at block
10_400_000(#602) - Avoid hitting Cloudflare DNS record quota (#598)
Fixed
- Fix mordor bootnode IP (#604)
Comparison with last release: v1.12.18..v1.12.17
Docker images published under etclabscore/core-geth.
Aphrodite (v1.12.17)
All users are strongly encouraged to upgrade to this version or later.
What's Changed
- Spiral hardfork activation values for ETC mainnet are configured per spec. Block
19_250_000, eta January 31, 2024. - MESS (ECBP1100) is scheduled to deactivate coincidentally with the Spiral hard fork.
Fixes
Real Eris (v1.12.16)
Fix a logistics issue with the latest release (v1.12.15) which, in fact, did not include the Mordor (Testnet) Spiral activation numbers! So this release does actually have the Spiral configuration for Mordor coded. 🤦 🚀
The master branch has included the Spiral blocks for Mordor since merging #571.
Fixed
- Mordor Spiral activation number (
9,957,000). - Fixed a silent-but-deadly error which caused geth, when having a colliding or otherwise unavailable authenticated HTTP address/port (which is enabled by default), to stall out immediately after start up. Now, an error is now thrown and geth will stop (#578).
Eris (v1.12.15)
-
Add block activation numbers for Ethereum Classic's Spiral fork for the Mordor network (#571). Specifications for this network upgrade are available in the ECIP-1109
This is expected to become active around November 7th 2023
*: this release is not mandatory for mainnet clients
Poseidon (v1.12.14)
This release merges upstream through ethereum/go-ethereum@v1.12.2.
What's Changed
- Merge ethereum/go-ethereum release v1.12.1
- Merge ethereum/go-ethereum release v1.12.2
Highlights
The list below is an abstract of noteworthy changes. For reference please consult the ethereum/go-ethereum release notes at their original source. Notable divergences or changes we make to these upgrades will be noted here, below. There are none in this release, which contains all origin patches.
- Support for EIP-4844 Blobpool type transactions
- EVM opcodes for upcoming EIPs and their supporting logic, including CKZG and BLS encyrption.
Note that these additions and changes are implemented conditionally, and are not necessarily activated or even planned for Ethereum Classic.- EIP-3855's
PUSH0instruction - EIP-3860's rules for limiting and metering initcode.
- EIP-4844's
DATAHASHinstruction - EIP-1153's
TSTORE,TLOADinstructions - EIP-5656's
MCOPYinstruction - EIP-6780's
SELFDESTRUCTrule that it can only happen in the same transaction
- EIP-3855's
- Developer mode uses simulated Beacon block sealing rules by default, ethash still an option
- Partial implementation of the new path-based storage scheme
- Partial implementation of Verkle tree logic
- Fixes a serious memory leak in snap sync
- Fixes
--nodiscoverto actually prevent discovery
Comparison with last release: v1.12.13..v1.12.14
Docker images published under etclabscore/core-geth.
Alcyone (v1.12.13)
This release merges upstream up to ethereum/go-ethereum@v1.12.0.
What's Changed
-
Drops Kotti chain support. #552
for syncing with Kotti, v1.12.12 can be used. In advance, this v1.12.13 can also be used by importing Kotti genesis in advance of syncing.
Highlights
- In this merge we had to revert the changes made upstream with regards proof-of-work removal.
- core-geth defaults to use Pebble as a backend if no existing database is found (ethereum/go-ethereum#27136). If a previous LevelDB database exists core-geth will keep using that, and if you must have LevelDB for some compatibility reasons, you can force it in Geth with the
--db.engine=leveldbflag.
Comparison with last release: v1.12.12..v1.12.13
Docker images published under etclabscore/core-geth.