EOSIO v1.5.0 Release Notes
This release comprises several additional features and fixes, in addition to the cumulative patches made against v1.4
A blog post providing more information can be found here
DEPRECATION/REMOVAL NOTICES
- Fedora <= 27 are end-of-life. As a result we will be DEPRECATING support for those platforms and any applicable packages and REMOVING them in the future v1.6.0 release. At that time we will SUPPORT Fedora 28 and 29 officially.
Changes
Changes to Enforcement of Subjective Whitelist/Blacklist (#6318)
This release enforces the whitelist/blacklist for actions dispatched from within contracts (inline actions) as well as transactions sent by contracts (deferred transactions). This allows a more complete whitelist/blacklist feature than the original spec allowed for.
As this feature is enforced on privileged accounts as well, an additional configuration has been added to allow explicitly specified contracts to act outside of the whitelist/blacklist. This can be useful for taking administrative action on behalf of an account or contract that is otherwise blacklisted. For more details, please see the notes in the PR linked above.
Support reverse iteration & show RAM payer in get table & changes to upper_bound
and limit
parameters (#6264) (#6285)
This release changes the get_table_rows
and get_table_by_scope
RPC calls to support iterating the response sequences in reverse. This resulted in a few breaking changes compared to previous versions of the RPC calls. Particularly:
- The definition of the
upper_bound
parameter has been corrected; see #6285 for details. - The acceptable values of
limit
for theget_table_rows
andget_table_by_scope
RPC calls have been changed to be consistent with other RPC methods. Any zero or negative value will return an empty response sequence.
In addition to the changes, the RAM payer
for each table row will now be part of the response sequence if the show_payer
boolean in the request is set to true.
These changes are supported in cleos
with new command line options.
Multi-threaded transaction/block key recovery (#6149) (#6167)
This release introduces the support for recovering keys from cryptographic signatures (aka signature verification) for transactions and blocks across multiple threads. Dispatching these recovery tasks has been pushed forward in the timeline for block validation and relay such that for most blocks the expense associated with them can be effectively mitigated. This should improve block validation times substantially however, it does not affect the cost of producing blocks or the billable expense of retiring transactions on the blockchain.
Add cleos
helper command to add eosio.code
to permission (#6116)
This release provides (community authored) convenience options for crafting permissions involving the eosio.code
meta permission. This permission is essential for allowing contract code to act on behalf of users and making it accessible will allow easier access to better user facing solutions.
Enhancements to cleos multisig approve
with proposal_hash, invalidate, and improved review (#6356)
This release modifies cleos
support for enhancements to eosio.msig
contract that were released as part of EOSIO contracts v1.5.0 and EOSIO contracts v1.3.0. See the PR for more information about the new features.
Replay ctrl-c support (#6237)
This release provides a safe path for responding to signals and gracefully shutting down nodeos
during a replay without resulting in a corrupted state database. This has been a pain point for users who replay often, including the development team. The node is left in a state where it should be able to resume replaying from where it left off.
[ALPHA] State history plugin (#5970)
The State History Plugin is a re-imagining of how blockchain data will be retrieved from a running nodeos
process in the future. It is intended to serve as the basis of a replacement for the currently deprecated History Plugin with additional features such as support for real-time streaming and access to contract table values and deltas.
This plugin is considered ALPHA at this time and is likely to change substantially before a final release however, the development team invites the community to evaluate it and provide feedback to help guide the development of this product.
Other Changes
- On keosd auto-launch force unix socket path (#6024)
- cleos parse last_bid_time support time_point (#6031)
- Remove unused contracts and cleanup tests (#6044)
- Add brackets (#6049)
- Added Address Sanitizer to the Sanitizers Pipeline (#6053)
- Fix cleos to get table rows only when satisfying condition (#6070)
- EOSIO.* Contract Test Cleanup (#6055)
- Transaction catch up in net_plugin (#6037)
- Remove eos_utilities lib (#6051)
- No need to prompt the user to set bnet-no-trx (#6065)
- Change exception name from wast_file_not_found to wasm_file_not_found (#6048)
- Add cleos Timing Information to Integration Tests (#6101)
- Enable nodeos remote test. (#6117)
- Build and push docker containers to automation gcr (#6131)
- Fix cleos Subcommand Permissions (#6147)
- make next_session_id thread safe (#6151)
- Start block state creation early (#6167)
- Update Sanitizers Pipeline ctest command (#6135)
- More Timing Information For cleos Commands In Integration Tests (#6165)
- fix _last_sent_block_id (#6152)
- Removed
ricardeos.py
script in favor of the one ineosio.cdt
(#6200) - Update comment to match latest code (#6204)
- Build eos image for eos (#6208)
- Nodeos permissive of redundant genesis state command line arguments (#6212)
- Remove hard-coded symbol name in help messages (#6142)
- Fix wrong full-board check in Tic-Tac-Toe contract (#5572)
- Fix bug:default producer vote num is bigger than actual producers num. (#6234)
- Fix json load decoding issue and reuse function 'getOutput'. (#6233)
- Fix shutdown on error (#6224)
- Support Secure Enclave wallet on 2018 Macmini & MacBookAir (#6221)
- Pass host, port to the cluster. (#6240)
- Cleanup - Remove eosio-abigen (#6247)
- removed eosiocpp reference in dockerfile (#6250)
- Update buildkite agent and set instance type (#6254)
- secp256 dependency ordering error (#6268)
- Add debian package build step to buildkite pipeline (#6270)
- transfer the function body of get_read_write_api. (#6282)
- Reduce noise (#6249)
- Modified the github pull request template to allow developers to use level-3 markdown headers in their descriptions (#6306)
- Use buildkite queues rather than roles. (#6309)
- Fix awk to correctly match mojave version when building bottle (#6307)
- Explicitly throw away get_table_type return value for code clarity (#6308)
- Change package naming convention in build scripts for deb and rpm (#6315)
- Revert to previous explicit soft float less operator (#6320)
- Add package build steps for all builds (#6317)
- Explicitly throw away get_table_type return value for code clarity (more) (#6319)
- remove repeat register of history_plugin (#6280)
- sudo removed from yum info (manually tested on centos 7 VM) (#6287)
- Migrate buildkite pipelines to using the new fleets (#6331)
- Fix rpm/deb package names (#6335)
- support reverse iteration & show RAM payer in get table (#6264)
- Remove some get_code dead code (#6349)
- licensing updates for wabt (#6350)
- Print the canonical path of wasm/abi when not found (#6346)
- Prepend syslog priority when logging to systemd journal (#6351) (fc)
- fix GMP & secp256 linker order for EosioTesterBuild.cmake.in (#6359)
- Fix requires in spec file to resolve dependency resolution issues with rpms (#6371)
- separate out version suffix (#6396)
- Update buildkite pipeline to use new queues (#6399)
- Fix deb package names (#6417)
- Fix requires in spec file to resolve dependency resolution issues with rpms (#6371)
- separate out version suffix (#6396)
- Update buildkite pipeline to use new queues (#6399)
- Fix deb package names (#6417)
Thanks!
Special thanks to the community contributors that submitted patches for this release: