Skip to content

Leap v3.1.1

Compare
Choose a tag to compare
@stephenpdeos stephenpdeos released this 22 Sep 21:26
· 306 commits to release/3.1 since this release
5810297

This patch release contains several bug fixes.

Leap v3.1.1 Release Notes

Bug fixes

Change to cleos exit status on failed trx processing

PRs

  • (199) [3.1] Update cleos to return an error code 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

PRs

  • (124) [3.1] Allow for larger subjective CPU billing amounts


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

PRs

  • (55) [3.1] Fix 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