Skip to content

Releases: ethereum/go-ethereum

Light Ball (v1.8.26)

10 Apr 12:55
cdae1c5
Compare
Choose a tag to compare

Geth v1.8.26 is a tiny light client DoS hotfix. We've dropped support for les/1 on master (v1.9.0 unstable) and after some light servers updated, v1.8.x light clients started crashing. Turned out that les/2 on the v1.8.x release family relied on some les/1 throttling data (#19437).

If you don't use the light client, you don't need to update. Light servers don't need to update either.

Geth binaries and mobile libraries are available on the Geth download page.

White Ball (v1.8.25)

09 Apr 08:50
14ae124
Compare
Choose a tag to compare

Geth v1.8.25 is a tiny hotfix on top of the recently released v1.8.24. During back-porting PRs into v1.8.24, one was merged incorrectly and resulted disabling 2 CLI flags (--rpccorsdomain and --rpcvhosts). You can see the fix in #19416. If you are not using these flag, you're fine to remain on the v1.8.24 release.


To recap our original notes, Geth v1.8.24 v1.8.25 is a small maintenance release aiming to be the final version of the 1.8.x family before rolling out our next major milestone (v1.9.0). As the previous release, v1.8.24 v1.8.25 only back-ports stability fixes. A grab bag of the changes included are:

  • Add --rpc.gascap to limit the gas eth_call and eth_estimateGas may use.
  • Baked in the Rinkeby Petersburg fork block 4321234 (~4th May, 2019).
  • Updated light client CHTs for quicker sync times on all built-in networks.
  • Fixes the builders and macos file descriptors if using with Go 1.12+.
  • Fixes a log filtering issue that didn't report reorged EVM events.
  • Fixes a couple of networking issues in the DHT and eth.
  • Memory optimizations around timestamp handling.

For a full rundown of the changes please consult the originally Geth 1.8.24 back-port pull request.

Geth binaries and mobile libraries are available on the Geth download page.

Pointy Eightball (v1.8.24)

08 Apr 13:18
4e13a09
Compare
Choose a tag to compare

We've found a tiny issue in this release which accidentally disabled two CLI flags around RPC CORS and VHosts handling. If you rely on these, please see the Geth v1.8.25 hotfix release.


Geth v1.8.24 is a small maintenance release aiming to be the final version of the 1.8.x family before rolling out our next major milestone (v1.9.0). As the previous release too, v1.8.24 only back-ports stability fixes. A grab bag of the changes included are:

  • Add --rpc.gascap to limit the gas eth_call and eth_estimateGas may use.
  • Baked in the Rinkeby Petersburg fork block 4321234 (~4th May, 2019).
  • Updated light client CHTs for quicker sync times on all built-in networks.
  • Fixes the builders and macos file descriptors if using with Go 1.12+.
  • Fixes a log filtering issue that didn't report reorged EVM events.
  • Fixes a couple of networking issues in the DHT and eth.
  • Memory optimizations around timestamp handling.

For a full rundown of the changes please consult the Geth 1.8.24 back-port pull request.

Geth binaries and mobile libraries are available on the Geth download page.

Xircus (v1.8.23)

20 Feb 08:50
c942700
Compare
Choose a tag to compare

Geth v1.8.23 is a small, scheduled maintenance release that brings a couple of improvements to various sync and block processing mechanisms. The selection of fixes have been back-ported from master and are not a full release of our latest code:

  • Fix transaction tracers to handle legacy Frontier/Homestead state transitions (631e2f0).
  • Fix block importing regressions caused by the side chain rework (3a95128, 3ab9dcc, 4da2092).
  • Fix a trie decoding issue that could cause a state sync to crash (a458153).
  • Fix the file descriptor crash on newer versions of macos (048b463, 7bd6f39).
  • Fix the PPA that broke due to Travis' firewall (9f5fb15, 276f824, b247052, 84cb00a, df355ec).
  • Fix the iOS CocoaPods builds failing due to upstream dependency issues (d9be337, fe5258b).
  • Fix various data races in the cache library we used for trie reads (992a7bb).

The release also back-ports native support for the Görli testnet via the --goerli flag (2072c26).

For a full rundown of the changes please consult the Geth 1.8.23 back-port pull request.

Geth binaries and mobile libraries are available on the Geth download page.


This release contains Swarm v0.3.11 with the following improvements:

Swarm binaries are available on the Swarm download page.

Can'tstantinople (v1.8.22)

31 Jan 11:34
@fjl fjl
Compare
Choose a tag to compare

Geth v1.8.22 re-enables all Constantinople changes and contains an additional fork, Petersburg,
to disable EIP-1283. This procedure is meant to ease the transition on networks like Ropsten where
the Constantinople transition had already taken place when an issue with EIP-1283 was discovered.
On the main network, Constantinople and Petersburg activate at the same time.

The block numbers are:

  • 7280000 for Constantinople on Mainnet
  • 7280000 for Petersburg on Mainnet
  • 4939394 for Petersburg on Ropsten

Note that the Petersburg change is set to activate simultaneously with Constantinople unless
configured otherwise. If you are running a private network, you must schedule the Petersburg
fork through chain configuration before updating to v1.8.22 if Constantinople has already
activated on your network.

In addition to the consensus changes, this release contains peer-to-peer networking security
improvements in the peer discovery subsystem.

List of all changes:

  • core, cmd/puppeth: implement constantinople fix, disable EIP-1283 (#18486)
  • p2p/discover, p2p/enode: rework endpoint proof handling, packet logging (#18963)
  • p2p/discover: improve table addition code (#18974)
  • travis, appveyor: bump to Go 1.11.5 (#18947)

Geth binaries and mobile libraries are available on the Geth download page.

Byzantium Revert (v1.8.21)

15 Jan 21:01
9dc5d1a
Compare
Choose a tag to compare

Geth 1.8.21 is an emergency hotfix release to postpone the mainnet Constantinople upgrade! The reason is a last minute reentrancy vulnerability dicovered by ChainSecurity.

If you don't feel comfortable with upgrading to Geth 1.8.21, you also have the option to:

  • Downgrade to Geth 1.8.19; or
  • Continue running Geth 1.8.20 using the --override.constantinople=9999999 flag.

See details here.


Beside the emergency Constantinople delay, the release also contains some tweaks:

  • Return the pending nonce from the transaction pool, not the pending block (#15794).
  • Accept application/json-rpc too as the RPC API content type (#18310).
  • Sanitize transaction pool config to avoid invalid user settings (#17210).
  • Convert ABI names to properly camel-cased names (#16513, #18372).
  • Warn the user when the IPC path is too long for the kernel (#18330).
  • Support CALLs from the Go APIs against specific blocks (#17942).
  • Bubble up internal ABI parsing errors to the caller (#17328).
  • Support dumping the CLI configs directly to a file (#18327).
  • Switch Keccak implementation to upstream Go (#18390).
  • Add CREATE2 support to the callTracer (#18318).
  • Bump all builders to Go 1.11.4 (#18314).

And some bugfixes:

  • Fix a downloader panic caused by the side chain import rework (#18335).
  • Fix an ABI unpacking issue when parsing 2 dimensional slices (#18321, #18364).
  • Fix a discovery protocol error when looking up remote peers (#18309).
  • Fix puppeth panic when using degenerate genesis configs (#18344).
  • Fix compilation regression on PPC64 processors (#18376).
  • Fix broken database version tracking (#18429).

For a full rundown of the changes please consult the Geth 1.8.21 release milestone.

Geth binaries and mobile libraries are available on the Geth download page.

Constant (v1.8.20)

11 Dec 14:55
24d727b
Compare
Choose a tag to compare

Geth v1.8.20 is a bit of a special release. On one hand it's the release that finally enables the Constantinople hard fork on mainnet at block 7080000 (and Rinkeby at block 3660663). It's also our last planned release of the 1.8 family (we'll still do hotfixes if need be), meaning that we'll start merging backwards incompatible changes onto master in preparation of Geth 1.9.0 (we don't have an ETA for it, but January the earliest).

Notable changes in the release are:

  • Hard code the mainnet and Rinkeby Constantinople hard-fork block numbers (#18268)
  • Allow overriding the Constantinople hard-fork block from the command line (#18273).
  • Remove the artificial 2K file descriptor limit from Geth, use all allowed (#18211).
  • Support exporting genesis specs to Parity and Aleth from Puppeth (#18172).
  • Support the new (1.23) docker_compose APIs change in Puppeth (18281).
  • Enforce lowercase network names on Puppeth private networks (#18235).
  • Support standard-tracing transactions straight to the filesystem (#17914).
  • Support whitelisting blocks help chain selection during forks (#18028).
  • Support big number constructors on the mobile libraries (#17828).
  • Support arrays of dynamic types in abigen and abi (#18051).
  • Update go-leveldb to reduce CPU overhead a bit (#18205).
  • Warn when using deprecated config files (#18199).

Notable bug fixes are:

  • Fully disable the USB HID on macos on --nousb, avoiding rare crashes (#18213).
  • Fix a tracer error in the pre-state JavaScript tracer (#18253).
  • Fix the Puppeth faucet connectivity issue (18281).

For a full rundown of the changes please consult the Geth 1.8.20 release milestone.

Geth binaries and mobile libraries are available on the Geth download page.


This release contains Swarm v0.3.8, which contains:

  • Uniform PSS API (18218).
  • P2P simulations snapshot improvements (18220).

Swarm binaries are available on the Swarm download page.

No Nick (v1.8.19)

28 Nov 13:01
dae82f0
Compare
Choose a tag to compare

Geth v1.8.19 is our biweekly maintenance release, this current one delivering some notable performance improvements beside the usual polishes and bugfixes:

  • Trie read cache, increasing full-sync speed by 15% and in-sync processing by 30% (#18087).
  • Rework downloader common ancestor lookup, reducing network bandwidth (#18085).
  • Avoid light servers wasting trie hashers and recreating them all the time (#18116).
  • Limit the number of open file descriptors Whisper may consume (#18142).
  • More robust side chain importing code for very long chains (#17973).
  • Improve the logs when the node encounters a bad block (#18156).
  • Enable Constatinople in developers chains (#18162, #18179).

Notable bugfixes:

  • Fix a garbage collector flaw that lead to data corruption with high memory allowance (#18165).
  • Fix a light client fetcher issue that sometimes resulted in sync getting stuck (#18072).
  • Fix light client ancestor lookup issue surfaced by the downloader rework (#18196).
  • Fix a light client issue that stored invalid servers in its node database (#18093).

For a full rundown of the changes please consult the Geth 1.8.19 release milestone.

Geth binaries and mobile libraries are available on the Geth download page.


This release contains Swarm v0.3.7, which contains many bugfixes:

  • Add new database abstractions (shed package) (18183).
  • Remove multihash from Swarm Feeds (18175).
  • Refactor PSS message handler (18169).
  • Fix New function for-loop scope in simulation package (18161).
  • Add accounting metrics persistence (18136).
  • Fix batch writes in database migration (18113).
  • Use simulations.Event in simulation package (18098).
  • Fix Kademlia neighborhood depth in network package (18066).

Swarm binaries are available on the Swarm download page.

Devcon Delay (v1.8.18)

14 Nov 09:18
58632d4
Compare
Choose a tag to compare

Geth v1.8.18 is our biweekly maintenance release (postponed by 2 weeks due to devcon iv). It is a tiny release focusing mostly on polishes, test speedups and a handful of new features.

  • Emit warning logs on unsuccessful remote account accesses (#17887).
  • Extend eth_getWork miner packages with the block number (#18038).
  • Start generating digitally signed Ethereum node records (#17753).
  • Support using go-ethereum as a WebAssembly library (#17709).
  • Minor EVM EXP shortcuts to make common cases fast (#16851).
  • Implement Merkle proof retriever RPC APIs (#17737, #17965).
  • Add the refund amount to the standard json traces (#17910).
  • Capture source maps via solc compiler wrapper (#18020).
  • Support setting GOMAXPROCS from an env var (#17148).
  • Support encrypting the Clef master seed (#17704).
  • Bump most Go builders to 1.11.2 (#18031).

Notable bugfixes:

  • Fix a downloader issue to better measure remote capacity (#17983).
  • Fix an RPC race on concurrent subscribe/notification (#17874).
  • Fix an RPC data race around unsubscribe/close (#17894).
  • Fix bootnode enode output on -writeaddress (#17932).
  • Fix a deadlock in the p2p simulator framework (#17891).
  • Fix ethclient log filtering via block hashes (#17996).

For a full rundown of the changes please consult the Geth 1.8.18 release milestone.

Geth binaries and mobile libraries are available on the Geth download page.


This release contains Swarm v0.3.6, which among many bugfixes features:

  • Swarm light node mode: disable sync, retrieve, subscription messages (17899).
  • Bugfix: Swarm Feed update with empty signature returns HTTP 200 (18008).
  • Initial P2P accounting for message exchange (17951).

Note that a bug was fixed within the local Swarm database implementation, which requires a cleanup procedure to be run upon Swarm startup. This means that your Swarm node might take a while to start once you upgrade to this version.

Swarm binaries are available on the Swarm download page.

Shoutingstone (v1.8.17)

09 Oct 08:47
8bbe720
Compare
Choose a tag to compare

Geth v1.8.17 is our regular maintenance release, which among numerous bugfixes also features the full Constantinople feature set and enables it on the Ropsten testnet at block #4230000.

  • Update the chain indexer to react only to head events opposed to all blocks (#17826).
  • Deprecate building with Go 1.9 and update builders to Go 1.11.1 (#17807, #17820).
  • Expose the enode URL of a peer through the admin.peers endpoint (#17838).
  • Optimize CREATE and CREATE2 to do a bit less Keccak256 hashing (#17806).
  • Optimize the SHA3 opcode to do fewer allocs, reaching 2x speed (#17863).
  • Implement a lower bound on block propagation targets to 4 peers (#17725).
  • Drop the goimports dependency for running abigen (#17768.
  • Extend abigen to support piping solc output into it (#17648).
  • Use hex addresses in EVM assembly dumps (#17870).

Notable bugfixes:

  • Fix an annoying 2-3 minute hang when completing initial fast sync (#17825).
  • Fix the infamous invalid hash chain error during initial sync (#17839).
  • Fix flag parsing to allow archive nodes serving light clients (#17803).
  • Fix a puppeth regression causing invalid enode errors (#17802).

For a full rundown of the changes please consult the Geth 1.8.17 release milestone.

Geth binaries and mobile libraries are available on the Geth download page.


This release contains Swarm v0.3.5, which among many bugfixes features:

  • Swarm Feeds (previously knowns as MRU): Adaptive frequency / Predictable lookups (17559, 17796).
  • Introduced named database schemas and migrations (17813).
  • Add stream peer servers limit (17747).
  • Fixed DoS attack with invalid OfferedHashes message length (17734).
  • Fixed panic on ARMl6 arch (64bit struct alignment) (17766).

Swarm binaries are available on the Swarm download page.