mirror of https://github.com/hyperledger/besu
An enterprise-grade Java-based, Apache 2.0 licensed Ethereum client https://wiki.hyperledger.org/display/besu
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
14 KiB
14 KiB
Changelog
0.8.3
Breaking Change to JSON RPC-API
From v0.8.3, incoming HTTP requests are only accepted from hostnames specified using the --host-whitelist
command-line option. If not specified, the default value for --host-whitelist
is localhost
.
If using the URL http://127.0.0.1
to make JSON-RPC calls, use --host-whitelist
to specify the hostname 127.0.0.1
or update the hostname to localhost
.
If your application publishes RPC ports, specify the hostnames when starting Pantheon. For example:
pantheon --host-whitelist=example.com
Specify *
or all
for --host-whitelist
to effectively disable host protection and replicate pre-v0.8.3 behavior. This is not recommended for production code.
Bug Fixes
- Repair Clique Proposer Selection #339
- High TX volume swamps block processing #337
- Check if the connectFuture has completed successfully #293
- Switch back to Xerial Snappy Library #284
- ShortHex of 0 should be '0x0', not '0x' #272
- Fix pantheon CLI default values infinite loop #266
Additions and Improvements
- Added
--nodes-whitelist
parameter to CLI and NodeWhitelistController #346 - Discovery wiring for
--node-whitelist
#365 - Plumb in three more metrics #344
ProposerSelection
to support multiple IBFT implementations #307- Configuration to support IBFT original and revised #306
- Added host whitelist for JSON-RPC. Breaking Change #295
- Reduce
Block creation processed cancelled
log message to debug #294 - Implement iterative peer search #268
- Added RLP enc/dec for PrePrepare, Commit and NewRound messages #200
- IBFT block mining #169
- Added
--goerli
CLI option #370 (Thanks to @Nashatyrev) - Begin capturing metrics to better understand Pantheon's behaviour #326
- Documentation updates include:
- Added Coding Conventions #342
- Reorganised Installation documentation and added Chocolatey installation for Windows
- Reorganised JSON-RPC API documentation
- Updated RPC Pub/Sub API documentation
Technical Improvements
- Extracted non-Docker CLI parameters to picoCLI mixin. #323
- IBFT preprepare to validate round matches block #329
- Fix acceptance test #324
- Added the
IbftFinalState
#385 - Constantinople Fork Block #382
- Fix
pantheon.cli.PantheonCommandTest
test on Windows #380 - JDK smoke testing is being configured differently now #374
- Re-enable clique AT #373
- Ignoring acceptance test #372
- Changes to support Gradle 5.0 #371
- Clique: Prevent out of turn blocks interrupt in-turn mining #364
- Time all tasks #361
- Rework
VoteTallyCache
to better represent purpose #360 - Add an
UNKNOWN
DisconnectReason
#359 - New round validation #353
- Update get validators for block hash test to start from block 1 #352
- Idiomatic Builder Pattern #345
- Revert
Repair Clique Proposer Selection
#339 - Breaks Görli testnet #343 - No fixed ports in tests #340
- Update clique acceptance test genesis file to use correct clique property names #338
- Supporting list of addresses in logs subscription #336
- Render handler exception to
System.err
instead of.out
#334 - Renamed IBFT message classes #333
- Add additional RLP tests #332
- Downgrading spotless to 3.13.0 to fix threading issues #325
eth_getTransactionReceipt
acceptance test #322- Upgrade vertx to 3.5.4 #316
- Round change validation #315
- Basic IBFT message validators #314
- Minor repairs to clique block scheduling #308
- Dependencies Version upgrade #303
- Build multiple JVM #301
- Smart contract acceptance test #296
- Fixing WebSocket error response #292
- Reword error messages following exceptions during mining #291
- Clique acceptance tests #290
- Delegate creation of additional JSON-RPC methods to the PantheonController #289
- Remove unnecessary
RlpInput
andRlpOutput
classes #287 - Remove
RlpUtils
#285 - Enabling previously ignored acceptance tests #282
- IPv6 peers #281
- IPv6 Bootnode #280
- Acceptance test for
getTransactionReceipt
JSON-RPC method #278 - Inject
StorageProvider
intoPantheonController
instances #259
0.8.2
Removed
- Removed
import-blockchain
command because nothing exports to the required format yet (PR #223)
Bug Fixes
io.netty.util.internal.OutOfDirectMemoryError
errors by removing reference counting from network messages.- Log spam: endless loop in
nioEventLoopGroup
(#248 thanks to @5chdn for reporting) (PR #261) - Rinkeby import can stall with too many fragments (#228 thanks to @steffenkux and @5chdn for reporting) (PR #255)
- Clique incorrectly used the chain ID instead of the network ID in ETH status messages (PR #209)
- Gradle deprecation warnings (PR #246 with thanks to @jvirtanen)
- Consensus issue on Ropsten:
- File name too long error while building from source (#215 thanks to @5chdn for reporting) (PR #221)
- Loop syntax in
runPantheonPrivateNetwork.sh
(PR #237 thanks to @matt9ucci) - Fix
CompressionException: Snappy decompression failed
errors (#251 thanks to @5chdn for reporting) (PR #274)
Additions and Improvements
- Added
--ropsten
command line argument to make syncing to Ropsten easier (#186) (PR #197 with thanks to @jvirtanen) - Enabled constantinople in
--dev-mode
(PR #256) - Supported Constantinople with Clique (#245 thanks to @5chdn for reporting) (PR #250, PR #247)
- Implemented
eth_chainId
JSON-RPC method (#206) (PR #219) - Updated client version to be ethstats friendly (PR #258)
- Added
--node-private-key
option to allow nodekey file to be specified separately to data directory (#233 thanks to @peterbroadhurst for requesting) (PR #234) - Added
--banned-nodeids
option to prevent connection to specific nodes (PR #254) - Send client quitting disconnect message to peers on shutdown (#184) (PR #253)
- Improved error message for port conflict error (PR #232)
- Improved documentation by adding the following pages:
Technical Improvements
- Upgraded Ethereum reference tests to 6.0 beta 2. (thanks to @jvirtanen for the initial upgrade to beta 1)
- Set Java compiler default encoding to UTF-8 (PR #238 thanks to @matt9ucci)
- Removed duplicate code defining default JSON-RPC APIs (PR #218 thanks to @matt9ucci)
- Improved code for parsing config (PRs #208, #209)
- Use
java.time.Clock
in favour of a custom Clock interface (PR #220) - Improve modularity of storage systems (PR #211, #207)
- Treat JavaDoc warnings as errors (PR #171)
- Add benchmark for
BlockHashOperation
as a template for benchmarking other EVM operations (PR #203) - Added unit tests for
EthBlockNumber
(#189) (PR #195 thanks to @jvirtanen) - Code style improvements (PR #196 thanks to @jvirtanen)
- Added unit tests for
Web3ClientVersion
(#191) (PR #194 with thanks to @jvirtanen) - Removed RLPUtils from
RawBlockIterator
(PR #179) - Replace the JNI based snappy library with a pure-Java version (PR #257)