Leap v3.1.1
This patch release contains several bug fixes.
Leap v3.1.1 Release Notes
Bug fixes
Change to cleos exit status on failed trx processing
The behavior of cleos' exit status for failed transactions has changed in 3.1.1 to more closely align with behavior in previous EOSIO 2.0 releases. In Leap 3.1.0, cleos would return a 0 exit status on a failed transaction and require the caller of cleos to inspect the JSON output to determine that a transaction has failed. In Leap 3.1.1, similar to EOSIO 2.0, cleos' exit status will be non-zero for transaction failures.
Update subjective CPU billing to use uint64_t
instead of uint32_t
Subjective billing was previously utilizing uint32_t
for duration in microseconds, which only allowed for 1.2 hours before wrapping and returning to zero. If an account had over 1.2 hours of CPU extra, subjective CPU would never be applied, which was directly observed on WAX where waxptreasury
subjective CPU wrapped. This has been partially attributed to instances of high CPU usage on that network. To resolve, this value has been updated to match objective billing, which utilizes uint64_t
.
Race condition causing failure to sync on startup
Leap 3.1.0 included an attempted fix for block producers stuck in a coma state. However, the fix was a bit too aggressive and introduced a race-condition on startup syncing. This change reverts the aggressive reset of syncing from LIB instead of HEAD for every call to start_sync
. Now it instead restarts syncing from LIB only when unlinkable blocks causes a connection to be closed.
Improved validation for set_whitelist_blacklist
, add_greylist_accounts
and remove_greylist_accounts
PRs
- (113) [3.1] validate input of set_whitelist_blacklist, add_greylist_accounts and remove_greylist_accounts
A lack of input validation for set_whitelist_blacklist
, add_greylist_accounts
and remove_greylist_accounts
was introducing troubleshooting issues. Our current solution is to ensure at least one optional parameter is present in a RPC call.
Further details on changes since last release
Contributors
Special thanks to the contributors that submitted patches for this release:
Full list of changes since last release
PRs
- (56) [3.1] add a final job that passes if all tests pass making it easier to branch protect on checks
- (63)[3.1] fix a number of issues with http-max-bytes-in-flight-mb configuration
- (69)[3.1] Fix python format issue that caused test to fail
- (55)[3.1] Fix failure to sync on startup
- (72)[3.1] Fix crash on startup if port already in use
- (85)[3.1] patch pinned build's boost 1.70 to fix websocket defect
- (99)[3.1] add CLI11 license to install
- (106)[3.1] Fix test failure due to trx hitting near end of block production time
- (113)[3.1] validate input of set_whitelist_blacklist, add_greylist_accounts and remove_greylist_accounts
- (124)[3.1] Allow for larger subjective CPU billing amounts
- (128)[3.1] Test: verify on the correct fork before verifying trx status
- (135)[3.1] net_plugin fix startup issue when peer does not have requested blocks
- (155)[3.1] always overwrite old downloads in pinned build script
- (165)[3.1] use a temp dir for release-build test as it can leak creation of config.ini in to default location
- (179) [3.1] pinned_build.sh: make relative path work
- (183)[3.1] trx_finality_status_forked_test fix
- (194)[3.1] promote ship log recovery logging from dlog to ilog
- (199)[3.1] Update cleos to return an error code on failed trx processing
Full Changelog: v3.1.0...v3.1.1