Releases: ethereum/ethereumj
1.12.0 Release
Changeset
- Switch StandaloneBlockchain to PetersburgConfig 8731060
- Fix RC in StandaloneBlockchain inside of
Transaction.getHash()
call #1267 - Fix consensus break on Ropsten, block
#5,284,326
#1270 - Update bootnodes for the Mainnet 237259b
Test coverage
- BloomFilter #1268, thanks to @derekzuk
- Various unit tests #1272, thanks to @alexjavabraz
1.11.0 Petersburg
Introduces Constantinople hard fork version without EIP-1283 which is internally called Petersburg. Block numbers:
- Mainnet
7,280,000
- Ropsten
4,939,394
1.10.1 Constantinople postponed
Cancels Constantinople hard fork on Mainnet at block #7_080_000.
Bug was found in EIP-1283 - reentrance vulnerability, so hardfork is delayed until the issue is solved.
1.10.0 Constantinople on Mainnet
1.9.1 Post-constantinople fixes
1.9.0 Constantinople on Ropsten
Enables Constantinople hard fork on Ropsten network at block #4_230_000
.
Constantinople work
- EXTCODEHASH opcode, #1162
- Bitwise shifting instructions in EVM, #1167
- Net gas metering for SSTORE without dirty maps, #1173
- Skinny CREATE2, #1178
- Constantinople Difficulty Bomb Delay and Block Reward Adjustment, #1181
- CREATE2 gas cost update, #1204
Fixes and improvements
- Abstract nodeId and nodePrivateKey generating, #1104
- Race condition in ChannelManager, #1120
- Immutable DataWord, #1154
- Discovery improvements, #1160, #1164
- Add Uint type to SolidityType, #1187
- Use list of files as a source for configuration, #1169
Special thanks
- Abstract nodeId and nodePrivateKey generating, lucassaldanha
- Discovery improvements, JMdoubleU
- Add Uint type to SolidityType, jondoe1337
1.8.2 Hotfix Release
Fixes consensus break happened on the main net, block 6,108,275
1.8.1 Hotfix Release
1.8.0 Release
This release scope represents an ongoing work in performance improvement area and aims finishing of DB transition made by EthereumJ in the previous release. Though we've switched to RocksDB formally on v1.7.0, that version and consequent updates were very slow in terms of processing blocks during regular synchronization. Moving to the other DB engine is a big task, and we were not able to do it in one step. Now we got 5-10x block processing time improvement comparing to 1.7.x, faster regular sync than we had with LevelDB and speed which puts us to the next target: matching top clients performance. We are still slower but the difference is not in range of an order.
Along with database we were working on network improvements, which affects client speed too. Targeting memory usage, peer abuse and network attacks we've made changes which refines both regular and fast sync. See full change set below.
Features
- Convenient sync management for private networks #1094, #1050
- New gas price tracker #1056
- Ethhash events listener for miners #1084, #1095
- Local run configuration for Github tests #1087
Improvements
- Memory limit on outgoing eth messages #1057
- Reduced sync queue memory footprint #1062,
- Fast Sync memory improvements #1074, 02de75d
- Boost
RocksDB.get()
which increases processing speed from 5 to 10 times depending on the env #1061 - Resistance to attacks with wrong RLP length #1073
- Fast Sync peer rotation improvement #1074
- Basic protection from eclipse attacks #1082
- Limited outgoing transaction size a3535b0
Fixes
- Incorrect blocks total difficulty and ETH header responses in
sync.fast.skipHistory
mode #1060 - Race condition in
BlockchaiNImpl.updateBlockTotDifficulties()
99e22a5 - Sync fallback into infinite loop in private networks e0730e2
Many thanks to the community
1.7.3 Hotfix Release
Adds a sanity check for signature recovery result df3350b, quite an important check in some cases.