EOSIO v1.6.0 Release Notes
This release comprises several additional features and fixes, in addition to the cumulative patches made against v1.5.
A blog post providing more information can be found here.
Important Notices
Synchronizing Sub-Module Changes
As part of this release, some of the URLs have changed for the submodules this git repository depends on. Users who are fetching updates into a pre-existing clone of the repository are strongly encouraged to execute git submodule sync
to ensure that their workflow is not interrupted.
Users who clone a fresh copy of the repository do not need to perform this additional step.
Deprecation and Removal Notices
None
Changes
(#6612) Restricting Processing Time for Scheduled Transactions
The patches will introduce a new configuration parameter max-scheduled-transaction-time-per-block-ms
which defaults to 100
which determines the maximum wall-clock time a node will spend retiring scheduled transactions before processing user-signed transactions.
For more information about the motivation for this change refer to this blog post about CVE-2019-6199.
Various Performance Improvements
Several of the PRs in this release contribute to the overall goal of increasing the efficiency of the peer-to-peer networking layer and real-time transaction throughput. Internal benchmarks show considerable increases in token-transfers-per-second as a result. While this does not represent real-world usage, it does suggest that there will be noticeable improvements to transactions per second, reductions in the billable CPU time for transactions, and lower latency for block propagation.
(#6496) NOTICE: State History Plugin Fix
This was included in Release v1.5.2 however, that release's proximity to this release candidate warrants re-mentioning the following:
Serialization for permission_object failed when both it and its parent were deleted. This happened in block 31700785 of the mainnet.
If you are running the state history plugin AND has proceeded past a block with this condition, then you'll need to restore from a snapshot made prior to that block to continue.
Other Changes
- (#6372) Net plugin cleanup
- (#6370) Fix requires in spec file to resolve dependency resolution issues with rpms
- (#6397) net_plugin reduce signed_block copies
- (#6398) Update buildkite pipeline to use new queues
- (#6400) Add community plugin links
- (#6401) Stop the unix_server from listening in shutdown stage as well.
- (#6436) Use 64-bit float printing of 128-bit floats on non x86_64
- (#6435) remove x86_64 arch dep specification on AMI2 build script
- (#6459) Allow disablement of net_plugin's listen socket
- (#6430) add a test that reduces the size of the producer set
- (#6426) Reflect Validation Script
- (#6470) Update the bios-boot-tutorial.py script and readme.md
- (#6485) Spelling correction
- (#6419) Update LICENSE path
- (#6498) Fix cluster writes for mongo DB
- (#6500) Fix return codes of build scripts so that buildkite can fail properly
- (#6490) Return 400 on get_block with nonexist block number
- (#6499) mongo_db_plugin action_trace indexes
- (#6471) Optimize transaction signature recovery
- (#6501) optimization when writing shared_blob data
- (#6494) packed_transaction enhancement
- (#6549) Consolidated Security Fixes for 1.6.0-rc2
- (#6555) update developer portal link
- (#6596) Use https url for wabt submodule
- (#6612) Build WABT with support for C++ exceptions.
- (#6600) Add libtinfo5 dependency to deb package.
Thanks!
Special thanks to the community contributors that submitted patches for this release:
- @conr2d
- @evsward
- @necokeine
- @iamveritas
- @UMU618
Special thanks to PeckShield for their work related to CVE-2019-6199