This release provides bug fixes and regression tests.
Description of the Issues
Ambiguous CPU billing of scheduled transactions (#5068)
in #5001 the ability to bill appropriate CPU time for soft_fail and hard_fail scheduled transaction was added. However, this exposes an ambiguity in the block structure: There is no way to represent the objective failure of a scheduled transaction due to a limit that was breached by the billed CPU time. Producing a block with this ambiguity would fail to validate protecting the chain but causing minor disruptions. As a result, producers will no longer include those scheduled transactions in their blocks, giving each producer a chance to execute it in under the limited time or to another objective failure case. (#5068)
Misclassification of Blocks as "exhausted" (#5071)
The producer_plugin was treating leeway cpu exceptions as subjective failures. This implied to the rest of the producer_plugin code that the block is exhausted. However, this exception does not represent an exhausted block and rarely clears in the next block. Therefore, leeway cpu exceptions are no longer considered block exhaustion signals.
Regression Tests for Previous Security Issues
This release includes regression tests that cover security issues fixed through version 1.0.8. Regression tests lag the disclosing release(s) by one-month to enhance the security of operational networks.
Fix for asset overflows in eosiolib for parity with the WASM SDK (#5092)
We tested on Jungle Testnet and We are done on Mainnet. Thanks to CryptoLions.
If you are an advanced blockchain user, feel free to use any of those tools that you are comfortable with.