Skip to content

Releases: ethereum/ethereumj

1.7.2 Hotfix Release

07 Apr 04:30
Compare
Choose a tag to compare
  • Guava upgrade #1046
  • Spongy Castle upgrade, thanks to Quan Nguyen from Wycheproof for pointing that out

1.7.1 Hotfix Release

23 Mar 09:39
Compare
Choose a tag to compare

Fixes a rare case when sync process gets stuck.

1.7.0 Release

21 Mar 16:04
Compare
Choose a tag to compare

This release was started as performance improvement. But since work on that improvement took a while other updates and features came in as well.

Change set:

  • Database engine switched to RocksDB.
    Prefix lookups feature supported by RocksDB allowed us to get rid of reference counting and make database flushes 100 times faster improving speed of blocks processing on the Mainnet.
  • Pruning completely re-worked.
    Previous algorithm was based on reference counting and we had to build something different. New algorithm uses bloom filters and gives 99% prune rate with almost zero processing time.
  • Snappy compression support was added.
    Check EIP-706 for details.
  • Project moved to Java 8.
  • Implementation of Event API was done (#421)
    New API provides easy and efficient access to event and log management.
  • An option to skip bodies and receipts was added.
    Fast sync just finishes much faster without fetching all this big data.
  • Memory consumption of fast sync queues was limited.
    Now fast sync is able to get finished with -Xmx1g on the Mainnet.
  • Several bug fixes were made.
  • NOTE: db engine has been changed, hence an update to this version requires database reset.

Thanks to community for their help:

1.6.3 Hotfix release

03 Nov 11:03
Compare
Choose a tag to compare

Fixes an issue in framing configuration. It might cause inability to accept devp2p packets from EthereumJ peers.

1.6.2 Hotfix release

30 Oct 10:06
Compare
Choose a tag to compare

Fixes:

  • NPE in a Trie caused import issue on block 4439552 #944
  • A part of EIP-8 related to p2p #941

1.6.1 Hotfix Release

16 Oct 17:36
Compare
Choose a tag to compare
  • Fix gas for Byzantium precompiles d8cbf6f
  • Fix gas calculations overflow fbae1f0

1.6.0 Byzantium Release

11 Oct 09:09
Compare
Choose a tag to compare

Byzantium hardfork implementation

1.5.0 Release

26 Apr 20:19
Compare
Choose a tag to compare

This is mostly performance improvement release, however, it primarily affects regular sync time (fast sync is as fast as before). So here are improvements:

  • Since ref counting DB introduction the DB write performance significantly dropped, so there are changes to compensate this drawback
    • Asynchronous background write cache flush: the flush is now performed in background thread and almost doesn't affect the blocks import speed
    • DB Bloom filters: updating the Trie in ref counting DB is significantly slowed down by inserting new nodes and deleting pruned nodes: each operation requires additional DB read to get current ref count. We added two bloom filters: the first is filtering non-existing node entries (speeds up insert-if-absent operation), the second is filtering node with ref count < 2 (speeds up delete operation)
  • New Trie implementation with optimized updates and root calculation gave us up to x20 speed up on some scenarios due to parallelization
  • Program precompiles DB cache improves performance in general and especially on some attack blocks
  • Eliminate 'hot' prototype Spring beans where Spring machinery overhead became a problem
  • Genesis config support allows specifying blockchain parameters (like fork blocks, chainId, etc) in Genesis config section
  • Latest Solidity new features support like function types and payable flag
  • Flush all DB changes with a single LevelDB batchUpdate should increase DB reliability
  • Get rid of the last MapDB dependency: now all the data is stored with LevelDB only
  • And of course, bugs fixing and new bugs creation
  • NOTE: DB structure (databaseVersion) was changed so after upgrade your node will be forced to sync from scratch

1.4.2 Hotfix Release

13 Mar 16:16
Compare
Choose a tag to compare

A couple of bugs for the Harmony project fixed

1.4.1 Hotfix Release

06 Feb 11:32
Compare
Choose a tag to compare
  • Critical consensus failure on Ropsten fixed: #724
  • Potential consensus failure fixed: 69961f0
  • Regression fixed when miner doesn't include Txs into blocks in private network: #709
  • Allow longer CHAIN_IDs: #715
  • Regression fixed: double closing EthereumJ instance: #722