Skip to content
This repository has been archived by the owner on Sep 26, 2019. It is now read-only.

Releases: PegaSysEng/pantheon

1.1.0-RC1

17 Apr 22:55
Compare
Choose a tag to compare
1.1.0-RC1 Pre-release
Pre-release
  • Better errors for when permissioning contract is set up wrong #1296
  • Consolidate p2p node info methods #1288
  • Update permissioning smart contract interface to match updated EEA proposal #1287
  • Switch to new sync target if it exceeds the td threshold #1286
  • Fix running ATs with in-process node runner #1285
  • Simplify enode construction #1283
  • Cleanup PeerConnection interface #1282
  • Undo changes to PendingTransactions method visibility #1281
  • Use default enclave public key to generate eea_getTransactionReceipt #1280 (thanks to Puneetha17)
  • Rollback to rocksdb 5.15.10 #1279
  • Log error when a JSON decode problem is encountered #1278
  • Create EnodeURL builder #1275
  • Keep enode nodeId stored as a BytesValue #1274
  • Feature/move subclass in pantheon command #1272
  • Expose sync mode option #1270
  • Refactor RocksDBStats #1266
  • Normalize EnodeURLs #1264
  • Build broken in Java 12 #1263
  • Make PeerDiscovertAgentTest less flakey #1262
  • Ignore extra json rpc params #1261
  • Fetch local transactions in isolation #1259
  • Update to debug trace transaction #1258
  • Use labelled timer to differentiate between rocks db metrics #1254 (thanks to Puneetha17)
  • Migrate TransactionPool (& affiliated test) from 'core' to 'eth' #1251
  • Use single instance of Rocksdb for privacy #1247 (thanks to Puneetha17)
  • Subscribing to sync events should receive false when in sync #1240
  • Ignore transactions from the network while behind chain head #1228
  • RocksDB Statistics in Metrics #1169
  • Add block trace RPC methods #1088 (thanks to kziemianek)

1.0.3

10 Apr 21:50
Compare
Choose a tag to compare

Additions and Improvements

Technical Improvements

  • Choose sync target based on td rather than height #1256
  • CLI ewp options #1246
  • Update PantheonCommand.java #1245
  • Reduce memory usage in import #1239
  • Improve eea_sendRawTransaction error messages #1238 (thanks to Puneetha17)
  • Single topic filter #1235
  • Enable pipeline chain downloader for fast sync #1232
  • Make contract size limit configurable #1227
  • Refactor PrivacyParameters config to use builder pattern #1226 (thanks to antonydenyer)
  • Different request limits for different request types #1224
  • Finish off fast sync pipeline download #1222
  • Enable fast-sync options on command line #1218
  • Replace filtering headers after the fact with calculating number to request up-front #1216
  • Support async processing while maintaining output order #1215
  • Add Unstable Options to the CLI #1213
  • Add private cluster acceptance tests #1211 (thanks to Puneetha17)
  • Re-aligned smart contract interface to EEA client spec 477 #1209
  • Count the number of items discarded when a pipe is aborted #1208
  • Pipeline chain download - fetch and import data #1207
  • Permission provider that allows bootnodes if you have no other connections #1206
  • Cancel in-progress async operations when the pipeline is aborted #1205
  • Pipeline chain download - Checkpoints #1203
  • Push development images to public dockerhub #1202
  • Push builds of master as docker development images #1200
  • Doc CI pipeline for build and tests #1199
  • Replace the use of a disconnect listener with EthPeer.isDisconnected #1197
  • Prep chain downloader for branch by abstraction #1194
  • Maintain the state of MessageFrame in private Tx #1193 (thanks to Puneetha17)
  • Persist private world state only if we are mining #1191 (thanks to Puneetha17)
  • Remove SyncState from SyncTargetManager #1188
  • Acceptance tests base for smart contract node permissioning #1186
  • Fix metrics breakages #1185
  • Typo #1184 (thanks to araskachoi)
  • StaticNodesParserTest to pass on Windows #1183
  • Don't mark world state as stalled until a minimum time without progress is reached #1179
  • Use header validation policy in DownloadHeaderSequenceTask #1172
  • Bond with bootnodes #1160

1.0.2

27 Mar 22:51
Compare
Choose a tag to compare

1.0.2

Additions and Improvements

Technical Improvements

  • Fixed so self persists to the whitelist #1176
  • Fixed to add self to permissioning whitelist #1175
  • Fixed permissioning issues #1174
  • AdminAddPeer returns custom Json RPC error code #1171
  • Periodically connect to peers from table #1170
  • Improved bootnodes option error message #1092
  • Automatically restrict trailing peers while syncing #1167
  • Avoid bonding to ourselves #1166
  • Fix Push Metrics #1164
  • Synchroniser waits for new peer if best is up to date #1161
  • Don't attempt to download checkpoint headers if the number of headers is negative #1158
  • Capture metrics on Vertx event loop and worker thread queues #1155
  • Simplify node permissioning ATs #1153
  • Add metrics around discovery process #1152
  • Prevent connecting to self #1150
  • Refactoring permissioning ATs #1148
  • Added two extra Ropsten bootnodes #1147
  • Fixed TCP port handling #1144
  • Better error on bad header #1143
  • Refresh peer table while we have fewer than maxPeers connected #1142
  • Refactor jsonrpc consumption of local node permissioning controller #1140
  • Disconnect peers before the pivot block while fast syncing #1139
  • Reduce the default transaction pool size from 30,000 to 4096 #1136
  • Fail at load if static nodes not whitelisted #1135
  • Fix private transaction acceptance test #1134 (thanks to Puneetha17)
  • Quieter exceptions when network is unreachable #1133
  • nodepermissioningcontroller used for devp2p connection filtering #1132
  • Remove duplicates from apis specified via CLI #1131
  • Synchronizer returns false if it is in sync #1130
  • Added fromHexStringStrict to check for exactly 20 byte addresses #1128
  • Fix deadlock scenario in AsyncOperationProcessor and re-enable WorldStateDownloaderTest #1126
  • Ignore WorldStateDownloaderTest #1125
  • Updated local config permissioning flags #1118
  • Pipeline Improvements #1117
  • Permissioning cli smart contract #1116
  • Adding default pending transactions value in PantheonControllerBuilder #1114
  • Fix intermittency in WorldStateDownloaderTest #1113
  • Reduce number of seen blocks and transactions Pantheon tracks #1112
  • Timeout long test #1111
  • Errorprone 2.3.3 upgrades #1110
  • Add metric to capture memory used by RocksDB table readers #1108
  • Don't allow creation of multiple gauges with the same name #1107
  • Update Peer Discovery to use NodePermissioningController #1105
  • Move starting world state download process inside WorldDownloadState #1104
  • Enable private Tx capability to Clique #1102 (thanks to Puneetha17)
  • Enable private Tx capability to IBFT #1101 (thanks to Puneetha17)
  • Version Upgrades #1100
  • Don't delete completed tasks from RocksDbTaskQueue #1099
  • Support flat mapping with multiple threads #1098
  • Add pipe stage name to thread while executing [#1097](#10...
Read more

1.0.1

07 Mar 22:39
Compare
Choose a tag to compare

1.0.1

Public key address export subcommand was missing in 1.0 release.

Additions and Improvements

  • Added public-key export-address subcommand #888
  • Documentation update for the public-key export-address subcommand.
  • Updated IBFT 2.0 overview to include use of rlp encode command and information on setting IBFT 2.0 properties to achieve your desired block time.

1.0.0

27 Feb 06:09
Compare
Choose a tag to compare

1.0

Additions and Improvements

Technical Improvements

  • RoundChangeCertificateValidator requires unique authors #997
  • RPC tests can use 127.0.0.1 loopback rather than localhost #979
  • Integration Test implementation dependency for non-IntelliJ IDE #978
  • Only import block if it isn't already on the block chain #977
  • Disable picocli ansi when testing #975
  • Create peer discovery packets on a worker thread #961
  • Removed Orion snapshot dependency #933
  • Use network ID instead of chain ID in MainnetPantheonController. #929
  • Propagate new block messages to other clients in a worker thread #928
  • Parallel downloader should stop on puts if requested. #927
  • Permission config file location and option under docker #925
  • Fixed potential stall in world state download #922
  • Refactoring to introduce deleteOnExit() for temp files #920
  • Reduce "Received transactions message" log from debug to trace #919
  • Handle PeerNotConnected exceptions when sending wire keep alives #918
  • admin_addpeers: error if node not whitelisted #917
  • Expose the Ibft MiningCoordinator #916
  • Check perm api against perm cli #915
  • Update metrics when completing a world state request with existing data #914
  • Improve RocksDBQueue dequeue performance #913
  • Error when removing bootnodes from nodes whitelist #912
  • Incremental Optimization(s) on BlockBroadcaster #911
  • Check permissions CLI dependencies #909
  • Limit the number of times we retry peer discovery interactions #908
  • IBFT to use VoteTallyCache #907
  • Add metric to expose number of inflight world state requests #906
  • Bootnodes not on whitelist - improve errors #904
  • Make chain download cancellable #901
  • Enforce accounts must start with 0x #900
  • When picking fast sync pivot block, use the peer with the best total difficulty #899
  • Process world state download data on a worker thread #898
  • CLI mixin help #895 (macfarla)
  • Use absolute datapath instead of relative. #894. Fixes issue #854.
  • Fix task queue so that the updated failure count for requests is stored #893
  • Fix authentication header #891
  • Reorganize eth tasks #890
  • Unit tests of BlockBroadcaster #887
  • Fix authentication file validation errors #886
  • Fixing file locations under docker #885
  • Handle exceptions properly in EthScheduler #884
  • More bootnodes for goerli #880
  • Rename password hash command #879
  • Add metrics for EthScheduler executors #878
  • Disconnect peer removed from node whitelist #877
  • Reduce logging noise from invalid peer discovery packets and handshaking #876
  • Detect stalled world state downloads #875
  • Limit size of Ibft future message buffer #873
  • Ibft2: Replace NewRound with extended Proposal #872
  • Fixed admin_addPeer to periodically check maintained connections #871
  • WebSocket method permissions #870
  • Select new pivot block when world state becomes unavailable #869
  • Introduce FutureUtils to reduce duplicated code around CompletableFuture #868
  • Implement world state cancel #867
  • Renaming authentication configuration file CLI command #865
  • Break out RoundChangeCertificate validation #864
  • Disconnect peers where the common ancestor is before our fast sync pivot #862
  • Initial scaffolding for block propagation #860
  • Fix NullPointerException when determining fast sync pivot #859
  • Check for invalid token #856
  • Moving NodeWhitelistController to permissioning package #855
  • Fix state download race condition by creating a TaskQueue API #853
  • Changed separator in JSON RPC permissions #852
  • WebSocket acceptance tests now can use WebSockets #851
  • IBFT notifies EthPeer when remote node has a better block #849
  • Support resuming fast-sync downloads #848
  • Tweak Fast Sync Config #847
  • RPC authentication configuration validation + tests. #846
  • Tidy-up FastSyncState persistence #845
  • Do parallel extract signatures in the parallel block importer. #844
  • Fix 'the Input Is Too Long' Error on Windows #843 (thanks to glethuillier). Fixes issue #839.
  • Remove unnecessary sleep #842
  • Shutdown improvements #841
  • Speed up shutdown time [#83...
Read more

1.0.0-RC1

21 Feb 01:31
Compare
Choose a tag to compare
1.0.0-RC1 Pre-release
Pre-release
[Gradle Release Plugin] - creating tag:  '1.0.0-RC1'.

0.9.1

31 Jan 17:33
Compare
Choose a tag to compare

0.9.1

This release is built and compatible with JDK8.

0.9

Breaking Changes to Command Line

Breaking changes have been made to the command line options in v0.9 to improve usability. Many v0.8 command line options no longer work.

The documentation has been updated throughout to use the changed command line options and the command line reference documents the changed options.

Previous Option New Option Change
--config --config-file Renamed
--datadir --data-path Renamed
--dev-mode --network=dev Replaced by --network option
--genesis --genesis-file Renamed
--goerli --network=goerli Replaced by --network option
--metrics-listen=<HOST:PORT> --metrics-host=<HOST> and --metrics-port=<PORT> Split into host and port options
--miner-extraData --miner-extra-data Renamed
--miner-minTransactionGasPriceWei --min-gas-price Renamed
--no-discovery --discovery-enabled Replaced
--node-private-key --node-private-key-file Renamed
--ottoman N/A Removed
--p2p-listen=<HOST:PORT> --p2p-host=<HOST> and --p2p-port=<PORT> Split into host and port options
--rinkeby --network=rinkeby Replaced by --network option
--ropsten --network=ropsten Replaced by --network option
--rpc-enabled --rpc-http-enabled Renamed
--rpc-listen=<HOST:PORT> --rpc-http-host=<HOST> and --rpc-http-port=<PORT> Split into host and port options
--rpc-api --rpc-http-api Renamed
--rpc-cors-origins --rpc-http-cors-origins Renamed
--ws-enabled --rpc-ws-enabled Renamed
--ws-api --rpc-ws-api Renamed
--ws-listen=<HOST:PORT> --rpc-ws-host=<HOST> and --rpc-ws-port=<PORT> Split into host and port options
--ws-refresh-delay --rpc-ws-refresh-delay Renamed
Previous Subcommand New Subcommand Change
pantheon import <block-file> pantheon blocks import --from=<block-file> Renamed
pantheon export-pub-key <key-file> pantheon public-key export --to=<key-file> Renamed

Private Network Quickstart

The Private Network Quickstart has been moved from the pantheon repository to the pantheon-quickstart
repository. The Private Network Quickstart tutorial
has been updated to use the moved quickstart.

Additions and Improvements

  • --network=goerli supports relaunch of Görli testnet #717
  • TOML authentication provider #689
  • Metrics Push Gateway Options #678
  • Additional logging details for IBFT 2.0 #650
  • Permissioning config TOML file #643
  • Added metrics Prometheus Push Gateway Support #638
  • Clique and IBFT not enabled by default in RPC APIs #635
  • Added admin_addPeer JSON-RPC API method #622
  • Implemented --p2p-enabled configuration item #619
  • Command options and commands renaming #618
  • Added IBFT get pending votes #603
  • Implement Petersburg hardfork #601
  • Added private tra...
Read more

0.9.0

31 Jan 05:07
Compare
Choose a tag to compare

0.9

Breaking Changes to Command Line

Breaking changes have been made to the command line options in v0.9 to improve usability. Many v0.8 command line options no longer work.

The documentation has been updated throughout to use the changed command line options and the command line reference documents the changed options.

Previous Option New Option Change
--config --config-file Renamed
--datadir --data-path Renamed
--dev-mode --network=dev Replaced by --network option
--genesis --genesis-file Renamed
--goerli --network=goerli Replaced by --network option
--metrics-listen=<HOST:PORT> --metrics-host=<HOST> and --metrics-port=<PORT> Split into host and port options
--miner-extraData --miner-extra-data Renamed
--miner-minTransactionGasPriceWei --min-gas-price Renamed
--no-discovery --discovery-enabled Replaced
--node-private-key --node-private-key-file Renamed
--ottoman N/A Removed
--p2p-listen=<HOST:PORT> --p2p-host=<HOST> and --p2p-port=<PORT> Split into host and port options
--rinkeby --network=rinkeby Replaced by --network option
--ropsten --network=ropsten Replaced by --network option
--rpc-enabled --rpc-http-enabled Renamed
--rpc-listen=<HOST:PORT> --rpc-http-host=<HOST> and --rpc-http-port=<PORT> Split into host and port options
--rpc-api --rpc-http-api Renamed
--rpc-cors-origins --rpc-http-cors-origins Renamed
--ws-enabled --rpc-ws-enabled Renamed
--ws-api --rpc-ws-api Renamed
--ws-listen=<HOST:PORT> --rpc-ws-host=<HOST> and --rpc-ws-port=<PORT> Split into host and port options
--ws-refresh-delay --rpc-ws-refresh-delay Renamed
Previous Subcommand New Subcommand Change
pantheon import <block-file> pantheon blocks import --from=<block-file> Renamed
pantheon export-pub-key <key-file> pantheon public-key export --to=<key-file> Renamed

Private Network Quickstart

The Private Network Quickstart has been moved from the pantheon repository to the pantheon-quickstart
repository. The Private Network Quickstart tutorial
has been updated to use the moved quickstart.

Additions and Improvements

  • --network=goerli supports relaunch of Görli testnet #717
  • TOML authentication provider #689
  • Metrics Push Gateway Options #678
  • Additional logging details for IBFT 2.0 #650
  • Permissioning config TOML file #643
  • Added metrics Prometheus Push Gateway Support #638
  • Clique and IBFT not enabled by default in RPC APIs #635
  • Added admin_addPeer JSON-RPC API method #622
  • Implemented --p2p-enabled configuration item #619
  • Command options and commands renaming #618
  • Added IBFT get pending votes #603
  • Implement Petersburg hardfork #601
  • Added private transaction abstraction [#592](https://github.com/PegaSysEng/pant...
Read more

0.8.5

15 Jan 23:01
Compare
Choose a tag to compare

Indefinitely delays the roll-out of Constantinople on Ethereum Mainnet due to a potential security issue detected.

Additions and Improvements

  • Remove Constantinople fork block #574

Technical Improvements

  • Rename IBFT message packages #568

0.8.4

15 Jan 03:50
Compare
Choose a tag to compare

Docker Image

If you have been running a node using the v0.8.3 Docker image, the node was not saving data to the
specified data directory,
or referring to the custom configuration file
or genesis file.

To recover the node key and data directory from the Docker container:
docker cp <container>:/opt/pantheon/key <destination_file>
docker cp <container>:/opt/pantheon/database <destination_directory>

Where container is the name or ID of the Docker container containing the Pantheon node.

The container can be running or stopped when you copy the key and data directory. If your node was
fully synchronized to MainNet, the data directory will be ~2TB.

When restarting your node with the v0.8.4 Docker image:

Bug Fixes

  • Fixing default resource locations inside docker #529
  • NewRoundMessageValidator ignores Round Number when comparing blocks #523
  • Fix Array Configurable command line options #514

Additions and Improvements

Technical Improvements

  • Updated --bootnodes command option to take zero arguments #548
  • IBFT Integration Testing - Local Node is proposer #527
  • Remove vertx from discovery tests #539
  • IBFT Integration testing - Round Change #537
  • NewRoundMessageValidator creates RoundChangeValidator with correct value #518
  • Remove time dependency from BlockTimer tests #513
  • Gradle 5.1 #512
  • Metrics measurement adjustment #511
  • Metrics export for import command. #509
  • IBFT Integration test framework #502
  • IBFT message gossiping #501
  • Remove non-transactional mutation from KeyValueStore #500
  • Ensured that the blockchain queries class handles optionals better. #486
  • IBFT mining acceptance test #483
  • Set base directory name to be lowercase in building.md #474 (Thanks to Matthalp)
  • Moved admin_peers to Admin API group #473
  • Nodes whitelist acceptance test #472
  • Rework RoundChangeManagerTest to not reuse validators #469
  • Ignore node files to support truffle. #467
  • IBFT pantheon controller #461
  • IBFT Round to update internal state on reception of NewRound Message #451
  • Update RoundChangeManager correctly create its message validator #450
  • Use seconds for block timer time unit #445
  • IBFT controller and future msgs handling #431
  • Allow IBFT Round to be created using PreparedCert #429
  • Added MessageValidatorFactory #425
  • Inround payload #423
  • Updated IbftConfig Fields #422
  • Repair IbftBlockCreator and add tests #421
  • Make Pantheon behave as a submodule #419
  • Ibft Height Manager #418
  • Ensure bootnodes are a subset of node whitelist #414
  • IBFT Consensus Round Classes #405
  • IBFT message payload tests #404
  • Validate enodeurl syntax from command line #403
  • Update errorprone #401
  • IBFT round change manager #393
  • IBFT RoundState #392
  • Move Block data generator test helper to test support package #391
  • IBFT message tests #367