Skip to content

Releases: hyperledger/besu

1.4.0-beta3

31 Jan 00:44
15108e1
Compare
Choose a tag to compare
1.4.0-beta3 Pre-release
Pre-release

Additions and Improvements

  • CLI option to enable TLS client auth for JSON-RPC HTTP #340

Added CLI options to enable TLS client authentication and trusting client certificates:

--rpc-http-tls-client-auth-enabled - Enable TLS client authentication for the JSON-RPC HTTP service (default: false)
--rpc-http-tls-known-clients-file - Path to file containing client's certificate common name and fingerprint for client authentication.
--rpc-http-tls-ca-clients-enabled - Enable to accept clients certificate signed by a valid CA for client authentication (default: false)

If client-auth is enabled, user must either enable CA signed clients OR provide a known-clients file. An error is reported
if both CA signed clients is disabled and known-clients file is not specified.

  • Stable Plugins APIs #346

The BesuEvents service and related data package have been marked as a stable plugin API.

Bug Fixes

  • Return missing signers from getSignerMetrics #343

Experimental Features

  • Experimental support for trace_replayBlockTransactions (many PRs)

We have added support for the trace_replayBlockTransactions JSON-RPC call. To enable this API add
TRACE to your rpc-http-api options (such as --rpc-http-api TRACE at the command line).

This is not a production ready API. There are still bugs relating to traced memory from calls and
returns, and the gas calculation reported in the flat traces does not always match up with the
correct gas calculated for consensus.

1.4.0-beta2

21 Jan 00:51
Compare
Choose a tag to compare
1.4.0-beta2 Pre-release
Pre-release

Additions and Improvements

  • Enable TLS for JSON-RPC HTTP Service #253

Exposes new command line parameters to enable TLS on Ethereum JSON-RPC HTTP interface to allow clients like EthSigner to connect via TLS:
--rpc-http-tls-enabled=true
(Optional - Only required if --rpc-http-enabled is set to true) Set to true to enable TLS. False by default.
--rpc-http-tls-keystore-file="/path/to/cert.pfx"
(Must be specified if TLS is enabled) Path to PKCS12 format key store which contains server's certificate and it's private key
--rpc-http-tls-keystore-password-file="/path/to/cert.passwd"
(Must be specified if TLS is enabled) Path to the text file containing password for unlocking key store.
--rpc-http-tls-known-clients-file="/path/to/rpc_tls_clients.txt"
(Optional) Path to a plain text file containing space separated client’s certificate’s common name and its sha-256 fingerprints when
they are not signed by a known CA. The presence of this file (even empty) enables TLS client authentication. That is, the client
presents the certificate to server on TLS handshake and server establishes that the client certificate is either signed by a
proper/known CA. Otherwise, server trusts client certificate by reading the sha-256 fingerprint from known clients file specified above.

The format of the file is (as an example):
localhost DF:65:B8:02:08:5E:91:82:0F:91:F5:1C:96:56:92:C4:1A:F6:C6:27:FD:6C:FC:31:F2:BB:90:17:22:59:5B:50

Bug Fixes

  • TotalDifficulty is a BigInteger #253.
    Don't try and cast total difficulty down to a long because it will overflow long in a reasonable timeframe.

1.4.0-beta1

15 Jan 23:45
0c07ee1
Compare
Choose a tag to compare
1.4.0-beta1 Pre-release
Pre-release

Additions and Improvements

  • Besu has moved from an internal Bytes library to the Apache Tuweni Bytes library. This includes using the library in the Plugins API interfaces. #295 and #215
  • Besu stops processing blocks if Orion is unavailable #253
  • Added priv_call #250. Invokes a private contract function locally and does not change the private state.
  • Support for EIP-2124, which results in faster peer discovery #156

1.3.8

19 Dec 23:34
Compare
Choose a tag to compare

Additions and Improvements

  • admin_generateLogBloomCache JSON-RPC API to generate a cache of the block bloombits that improves performance for log queries #262

1.3.7

14 Dec 01:23
Compare
Choose a tag to compare

1.3.7

Critical Fix in 1.3.7

1.3.7 includes a critical fix for Ethereum MainNet users and the Muir Glacier upgrade. We recommend users of Ethereum public networks (MainNet, Ropsten, Rinkeby, and Goerli) upgrade immediately. This upgrade is also strongly recommended for users of private networks.

Muir Glacier Compatibility

For compatibility with Ethereum Muir Glacier upgrade, use v1.3.7 or later.

ETC Agharta Compatibility

For compatibility with ETC Agharta upgrade, use 1.3.7 or later.

Additions and Improvements

  • Hard Fork Support: Configures the Agharta activation block for the ETC MainNet configuration #251 (thanks to soc1c)

Bug Fixes

  • Resolves a Mainnet consensus issue #254

New Maintainer

Edward Mack added as a new maintainer.

1.3.6

04 Dec 23:31
Compare
Choose a tag to compare

Muir Glacier Compatibility

For compatibility with Ethereum Muir Glacier upgrade, use v1.3.6 or later.

Additions and Improvements

Bug Fixes

  • #210 fixes WebSocket frames handling
    User impact: PING/PONG frames handling in Websocket services was not implemented

1.3.5

20 Nov 23:23
Compare
Choose a tag to compare

Additions and Improvements

  • Log Event Streaming for Plugin API #186
  • Allow use a external JWT public key in authenticated APIs #183
  • ETC Configuration, classic fork peer validator #176 (thanks to edwardmack)
  • Allow IBFT validators to be changed at a given block #173
  • Support external mining using Stratum #140 (thanks to atoulme)
  • Add more fields to private transaction receipt #85 (thanks to josh-richardson)
  • Pruning documentation

Technical Improvements

  • ETC - Cleanup #201 (thanks to GregTheGreek)
  • User specific enclave public key configuration in auth file #196
  • Change CustomForks -> Transitions #193
  • Pass identity information into RpcMethod from Http Service #189
  • Remove the use of JsonRpcParameters from RpcMethods #188
  • Repaired Metrics name collision between Privacy and RocksDB #187
  • Multi-Tenancy: Do not specify a public key anymore when requesting a … #185
  • Updates to circle building acceptance tests #184
  • Move Apache Tuweni dependency to official release #181 (thanks to atoulme)
  • Update Gradle to 6.0, support Java 13 #180
  • ETC Atlantis fork #179 (thanks to edwardmack)
  • ETC Gotham Fork #178 (thanks to edwardmack)
  • ETC DieHard fork support #177 (thanks to edwardmack)
  • Remove 'parentHash', 'number' and 'gasUsed' fields from the genesis d… #175 (thanks to SweeXordious)
  • Enable pruning by default for fast sync and validate conflicts with privacy #172
  • Update RocksDB #170
  • Vpdate ver to 1.3.5-snapshot #169
  • Added PoaQueryService method that returns local node signer… #163
  • Add versioning to privacy storage #149
  • Update reference tests #139

1.3.4

06 Nov 05:29
Compare
Choose a tag to compare

1.3.4

Istanbul Compatibility

For compatibility with Ethereum Istanbul upgrade, use v1.3.4 or later.

Technical Improvements

Reverted Enable pruning by default for fast sync (#135) #164

1.3.3

06 Nov 00:24
Compare
Choose a tag to compare

Technical Improvements

  • Add --identity flag for client identification in node browsers #150
  • Add priv_getEeaTransactionCount #110

Additions and Improvements

  • Istanbul Mainnet Support #145
  • Redesign of how JsonRpcMethods are created #159
  • Moving JsonRpcMethods classes into the same package, prior to refactor #154
  • Reflect default logging in CLI help #148
  • Handle zero port better in NAT #147
  • Rework how filter and log query parameters are created/used #146
  • Don't generate shutdown tasks in controller #141
  • Ibft queries #138
  • Enable pruning by default for fast sync #135
  • Ensure spotless runs in CI #132
  • Add more logging around peer disconnects #131
  • Repair EthGetLogs returning incorrect results #128
  • Use Bloombits for Logs queries #127
  • Improve message when extraData missing #121
  • Fix miner startup logic #104
  • Support log reordring from reorgs in LogSubscriptionService #86

1.3.2

22 Oct 23:33
567a524
Compare
Choose a tag to compare

Additions and Improvements

  • besu -v to print plugin versions#123

Technical Improvements

  • Update Governance and Code of Conduct verbiage #120
  • Fix private transaction root mismatch #118
  • Programatically enforce plugin CLI variable names #117
  • Additional unit test for selecting replaced pending transactions #116
  • Only set sync targets that have an estimated height value #115
  • Fix rlpx startup #114
  • Expose getPayload in Transaction plugin-api interface. #113
  • Dependency Version Upgrades #112
  • Add hash field in Transaction plugin interface. #111
  • Rework sync status events #106