Skip to content

Releases: ethereum/go-ethereum

Knoxjonesi (1.4.1)

04 May 07:10
Compare
Choose a tag to compare
Knoxjonesi (1.4.1) Pre-release
Pre-release

Note: all binaries have been cross compiled to the various platforms. If any of the binaries do not work for your platform please raise an issue.


Release 1.4 is a major release in the history of Go Ethereum and brings you about roughly 6 months worth of work. For this release we've planned several RCs (Release Candidates) so we can test the release together with our community and gather feedback for the final release.

If you want to build this release from source, please use the release/1.4 branch.

$ git checkout release/1.4

This document will describe some of the major features included in this release and list most of the minor features. For a full rundown of features and fixes please refer to the 1.4.0 milestone and 1.4.1 milestone.

On chain version update notifications

We've added a Geth release oracle contract to the network which holds the current version of geth with the release hash. All updated clients will check the contract and fetch the version number and check whether the version number is greater than the version you're running. It will emit a notice telling you there's a new client available. More info on #2497 .

New releases need to be signed off by 2 out of 3 current signers (@obscuren, @fjl and @karalabe) to be accepted by the oracle and users be notified of it. Note, that we do not do any automatic upgrades, only display a small CLI notification to the user every once in a while.

The verified contract is live at 0xFA7B9770Ca4cb04296Cac84F37736d4041251CDF. The full contract ABI is available here, but you can also use a reduced ABI that just contains the list of signers and the current release version.

Event Subscriptions

Over the past months we've significantly overhauled our RPC implementation and added several new capabilities and transport layers. At present geth supports the following transport layers:

  • WebSockets (available with the --ws flag)
  • HTTP (available with the --rpc flag)
  • IPC (available with the --ipc flag and enabled by default)

Previously when creating new filters you'd need to poll for them and query to see if there were any pending filter updates. With the new asynchronous implementation we've added an new additional subscription model where, instead of polling, you get notified by the client via pushed updates.

Please refer to the documentation about our new subscription model.

Native Go DApp Development

With the introduction of package accounts/abi which allowed you to create bindings between Ethereum Contracts and Go we've taken it one step further and developed a new tool which can do all the bindings for you given a ABI json structure. Our abigen (which is available in cmd/abigen) can create fully automated Go Bindings to any Ethereum contract without the need for manual fiddling. See our [step-by-step](https://github.com/ethereum/go-ethereum/wiki/Native-DApps:-Go bindings-to-Ethereum-contracts) tutorial for more information.

Private networks

With the interest of private networking growing we've added some new configuration utilities to geth and deprecated some flags that will be removed as of 1.5.

With the coming of Geth 1.4 we've deprecated the --genesis <json_file> flag and replaced with a geth init <json file> sub command. This means that you'll no longer be able to mix the destructive --genesis flag with other flags.

In addition to the above mentioned init subcommand we've added a new field to the genesis file: config which allows you to specify configuration options for the chain. At present the only available option is "homesteadBlock":"0x block_number" and may be extended with more options as we progress. The configuration option is not yet standardised and may not be implemented in other implementations.

Basic build support for iOS and Android platform

Geth should be buildable for iOS and Android platforms. While it's certainly not anywhere near feasible to run Geth in a production environment on an iPhone or on an Android device with the current full node implementation, however this will serve as a foundation for future updates, which will include LES (Light Ethereum Subprotocol) capabilities.

Debugging options

We've added several new debugging features that will allow you to get transaction traces and full block traces:

  • traceTransaction( hash )
  • traceBlockByHash( hash )
  • traceBlockByNumber( number )
  • traceBlockByFile( file_with_rlp_encoded_block )
  • traceBlock( rlp_hex_encoded_string )

The tracer functions can be found in the debug namespace. Please note that these functions are not available within web3 and may only be accessed through either HTTP, IPC, WebSocket RPC and the geth console.

Feature mentions

  • New EVM enabled for a few lucky ones
  • Node refactoring to allow using Geth as a library
  • Fully rewritten RPC layer
  • Pending transaction inspection
  • Many, many fixes other fixes
  • NTP time check
  • General optimisations

Bursarius (1.4.0)

20 Apr 10:31
Compare
Choose a tag to compare
Bursarius (1.4.0) Pre-release
Pre-release

Note: all binaries have been cross compiled to the various platforms. If any of the binaries do not work for your platform please raise an issue.


Release 1.4 is a major release in the history of Go Ethereum and brings you about roughly 6 months worth of work. For this release we've planned several RCs (Release Candidates) so we can test the release together with our community and gather feedback for the final release.

If you want to build this release from source, please use the release/1.4 branch.

$ git checkout release/1.4

This document will describe some of the major features included in this release and list most of the minor features. For a full rundown of features and fixes please refer to the 1.4 milestone.

Event Subscriptions

Over the past months we've significantly overhauled our RPC implementation and added several new capabilities and transport layers. At present geth supports the following transport layers:

  • WebSockets (available with the --ws flag)
  • HTTP (available with the --rpc flag)
  • IPC (available with the --ipc flag and enabled by default)

Previously when creating new filters you'd need to poll for them and query to see if there were any pending filter updates. With the new asynchronous implementation we've added an new additional subscription model where, instead of polling, you get notified by the client via pushed updates.

Please refer to the documentation about our new subscription model.

Native Go DApp Development

With the introduction of package accounts/abi which allowed you to create bindings between Ethereum Contracts and Go we've taken it one step further and developed a new tool which can do all the bindings for you given a ABI json structure. Our abigen (which is available in cmd/abigen) can create fully automated Go Bindings to any Ethereum contract without the need for manual fiddling. See our [step-by-step](https://github.com/ethereum/go-ethereum/wiki/Native-DApps:-Go bindings-to-Ethereum-contracts) tutorial for more information.

Private networks

With the interest of private networking growing we've added some new configuration utilities to geth and deprecated some flags that will be removed as of 1.5.

With the coming of Geth 1.4 we've deprecated the --genesis <json_file> flag and replaced with a geth init <json file> sub command. This means that you'll no longer be able to mix the destructive --genesis flag with other flags.

In addition to the above mentioned init subcommand we've added a new field to the genesis file: config which allows you to specify configuration options for the chain. At present the only available option is "homesteadBlock":"0x block_number" and may be extended with more options as we progress. The configuration option is not yet standardised and may not be implemented in other implementations.

Basic build support for iOS and Android platform

Geth should be buildable for iOS and Android platforms. While it's certainly not anywhere near feasible to run Geth in a production environment on an iPhone or on an Android device with the current full node implementation, however this will serve as a foundation for future updates, which will include LES (Light Ethereum Subprotocol) capabilities.

Debugging options

We've added several new debugging features that will allow you to get transaction traces and full block traces:

  • traceTransaction( hash )
  • traceBlockByHash( hash )
  • traceBlockByNumber( number )
  • traceBlockByFile( file_with_rlp_encoded_block )
  • traceBlock( rlp_hex_encoded_string )

The tracer functions can be found in the debug namespace. Please note that these functions are not available within web3 and may only be accessed through either HTTP, IPC, WebSocket RPC and the geth console.

Feature mentions

  • New EVM enabled for a few lucky ones
  • Node refactoring to allow using Geth as a library
  • Fully rewritten RPC layer
  • Pending transaction inspection
  • Many, many fixes other fixes
  • NTP time check
  • General optimisations

Release 1.3.6

01 Apr 10:52
Compare
Choose a tag to compare

This release fixes an issue that fails to strip eol in some cases where a password is required.

Release 1.3.5

03 Mar 14:35
Compare
Choose a tag to compare

This release contains a crucial network hotfix #2285

This release contains all changes from the homestead release (1.3.4).

Homestead (1.3.4)

29 Feb 14:07
Compare
Choose a tag to compare

UPDATE: Please use the 1.3.5 release which contains a network hotfix

This is the first minor protocol upgrade that will set in at 1.150.000's block (Testnet = 494.000). This release includes the following changes to the protocol and fixes:

Protocol changes

  • EIP-7: New EVM opcode DELEGATECALL
  • EIP-2: Consensus rules changes:
    1. The gas cost for creating contracts via a transaction is increased from 21000 to 53000;
    2. All transaction signatures whose s-value is greater than secp256k1n/2 are now considered invalid;
    3. OOG CREATE calls when there's insufficient gas for storing the code (as opposed to silently ignoring the code storage);
    4. Difficulty adjust algorithm has changed to block_diff = parent_diff + parent_diff // 2048 * max(1 - (block_timestamp - parent_timestamp) // 10, -99) + int(2**((block.number // 100000) - 2))

Fixes / Other

  • Increased artificial gas floor #2266
  • Decreased minimum accepted gas price #2273
  • Fixed windows p2p discover bug #2146
  • Fixed transaction sorting #2143
  • Implement EIP-8 p2p protocol upgrade #2091
  • Fixed downloader OOM #2265

Miners

The minimum accepted gas price for both relaying and block inclusion has changed with #2273 to 20 Shannon (from 50 Shannon), this because of the recent changes in the price of Ether. You can change this setting with the --gasprice flag when starting up the client and restore the old gas price if desired.

Breviceps (1.3.3)

05 Jan 14:27
Compare
Choose a tag to compare

This release contains only bug fixes:

  • Fast sync downloader fix #2097
  • Transaction pool fixed #2101

Attwater (1.3.2)

25 Nov 10:46
Compare
Choose a tag to compare

This release contains bug fixes and improvements.

Features and improvements

Removed legalese #1993
ABI fixes #1943
Polish protocol gathering #1934
Ongoing core refactor #1917
Added unofficial signTransaction method #1666
Peer download selection algorithm #1953

Bug fixes

Verify recovery ID #1984
Downloader delivery #1980
Downloader ignore list #1960

Arenarius (1.3.1)

03 Nov 11:27
Compare
Choose a tag to compare

This release is a preliminary release to our 2.0 release is already quite packed with new features, optimisations and fixes. For a full list of changes and fixes see the 1.3.0 milestone.

This release also marks a new line of release names. We've chosen the list of rodents starting with the Geomyidae (gophers).

Features and improvements

  • Light KDF #1940
  • Optimised log filtering #1899
  • GPU mining #1869
  • Ethereum fast sync, eth/63 #1889
  • Implemented testnet #1888
  • Preliminary ICAP functions #1887

Bug fixes

  • Fixed GPO goroutine leak #1932
  • Fixed OOM IPC #1946
  • Fixed several console issues #1840

More information about the next release can be found on the milestone 1.3.2 page.

Bugfoot (1.2.3) hotfix 2

21 Oct 16:06
Compare
Choose a tag to compare

This release fixes a critical, yet unlikely, bug in the EVM which may cause you to go out of sync due to a state root failure.

More information about the issue can be found in this gist.

Bugfoot (1.2.2) hotfix 1

02 Oct 11:09
Compare
Choose a tag to compare

This release fixes a potential issue with clients getting stuck during chain re-organisation. This is a potential random DOS, triggered on possibly some clients (no full-scale DOS) #1865

This release also fixes an issue with clients syncing on eth/62 occasionally dropping older eth/61 peers, though healthy peers will never drop anyone #1866