Releases: EOSIO/eos
EOSIO v2.0.8 Release Notes
This release contains security, stability, and miscellaneous fixes.
Security bug fixes
Consolidated Security Fixes for 2.0.8 (#9745)
- Adjust eos-vm-oc string intrinsic to perform as intended.
- Adjust CPU validation logic for unapplied transactions.
Note: These security fixes are relevant to all nodes on EOSIO blockchain networks.
Stability bug fixes
- (#9370) set medium priority for process signed block - 2.0.x
- (#9382) Handle case newaccount in Account Query DB
- (#9412) port the fix of flight bytes bug into release/2.0.x
- (#9423) Update to fc with variant blob fix - 2.0
- (#9441) Fix app() shutdown - 2.0
- (#9516) Keep http_plugin_impl alive while connection objects are alive - 2.0
- (#9624) Fixing typos on injected params for `producer_plugin::log_failed_tran…
Other Changes
- (#9304) relaxing the on_notify constraint to *
- (#9311) Track Source Files Excluded from Code Coverage Reports
- (#9314) Prevent an older version of g++ to build eosio
- (#9334) Add missing comma in loggers array
- (#9399) [2.0.x] Fix docker tags when building forked PRs
- (#9638) Migrate CI from Docker Hub to Amazon ECR
- (#9657) CI: Fix Serial Test Bug + Simplification + UX
- (#9665) Add "Testing Changes" Section to Pull Request Template
Documentation
- (#9323) [docs] Remove unneeded options for nodeos replays - 2.0
- (#9322) [docs] Remove redundant nodeos replay example - 2.0
- (#9373) [docs] Fix broken link in Wallet API plugin - 2.0
- (#9464) [docs] Create nodeos concepts folder and rearrange folders - 2.0
- (#9479) [docs] Add explainers on CFD, eosio utilities, eosio-blocklog - 2.0
- (#9487) [docs] Minor edits on CFD explainer and eosio-blocklog reference - 2.0
- (#9488) [docs] Fix how-tos for delegating cpu/net with cleos - 2.0
- (#9491) [docs] Add EOSIO upgrade guide 2.0 to dev portal
- (#9492) Add explicit left nav link for eosio 2.0 upgrade guide - 2.0
- (#9496) [docs] Add eosio 2.0 release notes to dev portal - 2.0
- (#9498) [docs] Add trace_api_util reference to eosio utilities docs - 2.0
- (#9503) [docs] Add slices, trace log, clog format explainers to Trace API plugin - 2.0
- (#9584) [docs] Update cleos get table reference - 2.0
- (#9592) [docs] Various additions/fixes to cleos reference - 2.0
- (#9602) [docs] Fix broken anchor link on MacOS build from source - 2.0
- (#9627) [docs] Update get_table_* reference in Chain API - 2.0
- (#9753) [docs] Update URL in net_api_plugin description - 2.0
- (#9754) [docs] Update some chain_api_plugin descriptions - 2.0
- (#9756) [docs] Remove sudo command from install/uninstall script instructions - 2.0
Thanks!
Special thanks to the community contributors that submitted patches for this release:
Disclaimer: All repositories and other materials are provided subject to this IMPORTANT notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources, and forward-looking statements. By accessing any of our repositories and other materials, you accept and agree to the terms of the notice.
EOSIO v2.0.7 Release Notes
This release contains stability and miscellaneous fixes.
Stability bug fixes
- (#9223) Fix log of pending block producer - 2.0
Changes
The following logger has been added: transaction_failure_tracing
. (#9252)
A detailed log that emits failed verdicts from relay nodes on the P2P network. In addition, it adds a logging statement for a failed signature condition.
New config file option: max-nonprivileged-inline-action-size
. (#9262)
This option is the cap for the size of an inline action above which a transaction will subjectively fail; the default value is 4KB.
Other Changes
- (#9170) Fix onblock trace tracking - 2.0
- (#9201) [2.0.x] Anka version bump
- (#9265) Remove Concurrency Groups for Scheduled Builds
Documentation
- (#9124) Update the authority example
- (#9275) [docs] New threshold for non privileged inline actions - 2.0
- (#9288) [docs] Fix character formatting in nodeos CLI option - 2.0
- (#9290) [docs] Correct Producer API title in RPC reference - 2.0
Disclaimer: All repositories and other materials are provided subject to this IMPORTANT notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources, and forward-looking statements. By accessing any of our repositories and other materials, you accept and agree to the terms of the notice.
EOSIO v2.0.6 Release Notes
This release contains security, stability, and miscellaneous fixes.
Security bug fixes
- (#9172) Escape Unicode C1 control code points.
Note: These security fixes are relevant to API nodes on EOSIO blockchain networks.
Stability bug fixes
- (#9065) Fix for cleos and keosd race condition - 2.0
- (#9089) make ship WA key serialization match expected serialization - 2.0
- (#9095) fix gcc10 build due to libyubihsm problem - 2.0
- (#9127) Fix onblock handling in trace_api_plugin - 2.0
- (#9129) GCC 8.3 on CentOS 7 compiler workaround - 2.0
- (#9128) Restore abi_serializer backward compatibility - 2.0
Changes
Add more information in trace-api-plugin responses for better usage. (#9005)
Adds transaction_mroot
, action_mroot
and schedule_version
in block trace. Also adds status
, cpu_usage_us
, net_usage_words
, signatures
, and transaction_header
in transaction trace.
New RPC endpoint get_accounts_by_authorizers
(#8899)
New optional RPC endpoint POST /v1/chain/get_accounts_by_authorizers
added to chain_api_plugin
that provides a super-set of the deprecated history_api_plugin
's get_key_accounts
and get_controlled_accounts
RPC methods.
Flag to enable endpoint (default false): --enable-account-queries
Other Changes
- (#8975) failing nodeos_run_test when core symbol is not SYS - 2.0
- (#9002) Support Triggering a Build that Runs ALL Tests in One Build
- (#9007) Improved reporting in nodeos_forked_chain_lr_test - 2.0.x
- (#9013) Bugfix for uninitialized variable in cleos - 2.0
- (#9009) Upgrade CLI11 to 1.9.0 - 2.0
- (#9028) Fix keosd auto-launching after CLI11 upgrade - 2.0
- (#9035) For Release 2.0 - Updated the priority of the APIs in producer_api_plugin and net_api_plugin to MEDIUM_HIGH
- (#9049) add rapidjson license to install - 2.0
- (#9052) Print stderr if keosd_auto_launch_test.py fails - 2.0
- (#9060) Fix uninitialized struct members used as CLI flags - 2.0
- (#9062) Fix timedelta and strftime usage - 2.0
- (#9078) Update date in LICENSE - 2.0
- (#9063) add help text to wasm-runtime - 2.0.x
- (#9084) Add support for specifing a logging.json to keosd - 2.0
- (#9082) Add change type to pull request template - 2.0
- (#8899) Account Query DB : Proposal to maintain get_(key|controlled)_accounts [2.0]
- (#9103) Add default contract name clarifier in how to deploy smart contract - 2.0
- (#9109) [2.0.x] Bump Anka plugin version and timeouts.
- (#9115) Simplify create_snapshot POST request - 2.0
- (#9110) Update algorithm for determining number of parallel jobs - 2.0
Documentation
- (#8980) Add nodeos RPC API index, improve nodeos implementation doc, fix link - 2.0
- (#8995) Update example logging.json - 2.0
- (#9102) Fix inaccurate nodeos reference in wallet_api_plugin - 2.0
- (#9116) Replace inaccurate wording in how to replay from snapshot - 2.0
- (#9113) Add trace_api logger to docs - 2.0
- (#9142) Add missing reference to RPC API index [docs] - 2.0
- (#9141) Fix Trace API reference request/response inaccuracies [docs] - 2.0
- (#9144) Fix title case issue in keosd how-to [docs] - 2.0
- (#9145) Add conditional step in state history plugin how-to [docs] - 2.0
Thanks!
Special thanks to the community contributors that submitted patches for this release:
Disclaimer: All repositories and other materials are provided subject to this IMPORTANT notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources, and forward-looking statements. By accessing any of our repositories and other materials, you accept and agree to the terms of the notice.
EOSIO v1.8.14 Release Notes
This release contains security and miscellaneous fixes.
Security bug fixes
- (#9171) Escape Unicode C1 control code points.
Note: These security fixes are relevant to API nodes on EOSIO blockchain networks.
Other Changes
- (#9003) Support Triggering a Build that Runs ALL Tests in One Build
- (#8969) Support Running ALL Tests in One Build
- (#8885) Correctly Sanitize git Branch and Tag Names
Disclaimer: All repositories and other materials are provided subject to this IMPORTANT notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources, and forward-looking statements. By accessing any of our repositories and other materials, you accept and agree to the terms of the notice.
EOSIO v2.0.5 Release Notes
This release contains security, stability, and miscellaneous fixes.
Security bug fixes
Consolidated Security Fixes for 2.0.5 (#8983)
- EOS-VM security fixes
Note: These security fixes are relevant to all nodes on EOSIO blockchain networks.
Stability bug fixes
- (#8826) trace_api_plugin yield timeout - 2.0
- (#8836) fix potential leak in OC's wrapped_fd move assignment op - 2.0
Changes
Trace API Compressed Data Log Support (#8826, #8837, #8881)
Compressed file support was added to trace_api_plugin
. See (#8837) for more details.
The RPC call v1/trace_api/get_block
now has "async" http support. Therefore, executing get_block
no longer runs on the main application thread but on the configurable http-threads
thread pool.
Additionally, trace_api_plugin
now respects http-max-response-time-ms
for limiting response time of RPC call v1/trace_api/get_block
. It is very likely that the default value of http-max-response-time-ms
will not be appropriate for large blocks and will need to be increased.
Other Changes
- (#8822) Merge minimize logging changes to 2.0.x
- (#8823) yield_function for abi_serializer - 2.0
- (#8855) Improve too many bytes in flight error info - 2.0
- (#8861) HTTP Plugin async APIs [2.0]
- (#8873) Fix spurious HTTP related test failure [2.0] (round 3)
- (#8883) wabt: don't search for python because we don't run tests - 2.0
- (#8884) Correctly Sanitize git Branch and Tag Names
- (#8894) Increase get info priority to medium high
- (#8889) Sync from snapshot - 2.0
- (#8906) Remove assert check for error code 400 - release 2.0.x
- (#8944) noop change to macos-10.14-unpinned.sh to regen CI image, 2.0
- (#8941) replace boost::bind with std::bind, fixing boost 1.73beta builds - 2.0
- (#8954) llvm 10 support for EOS VM OC - 2.0
- (#8949) Replace bc with shell arithmetic - 2.0
- (#8962) tests/get_table_tests.cpp: incorrect use of CORE_SYM_STR - 2.0
- (#8963) Make /bin/df ignore $BLOCKSIZE - 2.0
- (#8952) Fix SHIP block delay - 2.0
- (#8972) Add possibility to run .cicd scripts from different environments (2.0.x Backport)
- (#8968) Support Running ALL Tests in One Build
Documentation changes
- (#8825) remove leading $ chars from shell codeblocks in README.md - 2.0
- (#8835) Trace API documentation update - 2.0
- (#8843) Fix double titles for release 2.0.x
- (#8845) [docs] trace api reference api correction - 2.0
- (#8918) Updates to manual build instructions - 2.0
Thanks!
Special thanks to the community contributors that submitted patches for this release:
Disclaimer: All repositories and other materials are provided subject to this IMPORTANT notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources, and forward-looking statements. By accessing any of our repositories and other materials, you accept and agree to the terms of the notice.
EOSIO v2.0.4 Release Notes
This release contains stability and miscellaneous fixes.
Deprecation Notices
The read-only
option for the read-mode
parameter in nodeos
has been deprecated. It is possible to achieve the same behavior with read-mode = head
, p2p-accept-transactions = false
, and api-accept-transactions = false
. See the sub-section "Accept transactions options" below for more details.
Please refer to the Consolidated EOSIO Deprecations List for the currently active set of deprecation notices.
Stability bug fixes
Changes
Trace API Plugin (#8800)
This release contains the first official release of the Trace API Plugin. This plugin is an optional addition to nodeos
that stores a tailored view of the transactions and actions that execute on the chain retrievable at a block level. The Trace API focuses on operational maintainability storing data on the filesystem instead of in RAM like the deprecated history-plugin
and organizing that data such that operators can easily prune old data without disrupting operations.
For more information, see the PR notes and the official documentation.
Exit transaction early when there is insufficient account CPU (#8638)
nodeos
no longer considers a transaction for inclusion in a block in the process of being produced if the billed account(s) do not have sufficient CPU available to cover the previously estimated CPU usage of the transaction (only if a previous estimate for CPU usage is available).
Produce block immediately if resource limits are exhausted (#8651, #8673)
nodeos
now immediately produces a block if either the CPU or NET usage thresholds are exceeded. This change includes a fix for dropping late blocks starting 50ms earlier than the block production window.
New options:
max-block-cpu-usage-threshold-us
:
Threshold (in microseconds) of CPU block production to consider block full; when accumulated CPU usage within a block is less thanmax-block-cpu-usage-threshold-us
away frommax-block-cpu-usage
, the block can be produced immediately. Default value is 5000.max-block-net-usage-threshold-bytes
:
Threshold (in bytes) of NET block production to consider block full; when accumulated NET usage within a block is less thanmax-block-net-usage-threshold-us
away frommax-block-net-usage
, the block can be produced immediately. Default value is 1024.
Accept transactions options (#8702)
New options:
p2p-accept-transactions
: Allow transactions received over p2p
network to be evaluated and relayed if valid. Default is true.api-accept-transactions
: Allow API transactions to be evaluated
and relayed if valid. Default is true.
Provides ability to have a read-mode = head
with p2p-accept-transactions = false
and api-accept-transactions = true
. This combination creates an efficient API node that is not burdened with processing P2P transactions.
The same behavior of the now deprecated read-mode = read-only
can be achieved with read-mode = head
by setting p2p-accept-transactions = false
and api-accept-transactions = false
.
WARNING: Use of read-mode = irreversible
now requires setting p2p-accept-transactions = false
and api-accept-transactions = false
to avoid assertion at startup.
Relay block early (#8701)
Improve block relaying performance when a block is from a trusted producer or if nodeos
is running in light validation mode. This is achieved by relaying the block as soon as block header validation is complete (but before full block application/validation).
Other Changes
- (#8654) Fix format message. - 2.0
- (#8668) Add troubleshooting item for PREACTIVATE_FEATURE protocol
- (#8689) incoming-defer-ratio description - 2.0
- (#8695) [2.0.x] Community PR tweaks.
- (#8700) [2.0.x] Base images pipeline.
- (#8714) [2.0.x] Actions rerun fixes.
- (#8710) Add block producing explainer doc - 2.0
- (#8721) Fix multiple version protocol test intermittent failure - 2.0
- (#8727) Update the getting started link [merge 2]
- (#8752) chain_api_plugin swagger file - 2.0
- (#8756) Fixes #8600 clean up nodeos options section
- (#8757) link cleos net status reference doc with the peer network protocol doc
- (#8590) db_size_api_plugin swagger file - 2.0
- (#8591) net_api_plugin swagger file - 2.0
- (#8592) producer_api_plugin swagger file - 2.0
- (#8593) test_control_api_plugin swagger file - 2.0
- (#8754) swagger configuration for docs - 2.0
- (#8762) Fix broken link in producer plugin docs - 2.0
- (#8763) Fix wasm-runtime option parameters - 2.0
- (#8765) Add Incoming-defer-ratio description - 2.0
- (#8767) Fix other blocks.log callout - 2.0
- (#8768) Improve create account description - 2.0
- (#8782) link to librt when using posix timers - 2.0
- (#8781) free unknown EOS VM OC codegen versions from the code cache - 2.0
- (#8794) disable EOS VM on non-x86 platforms - 2.0
- (#8803) Expire blacklisted scheduled transactions by LIB time - 2.0
- (#8811) Add initial Trace API plugin docs to nodeos - 2.0
- (#8814) Add RPC Trace API plugin reference to nodeos - 2.0
Disclaimer: All repositories and other materials are provided subject to this IMPORTANT notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources, and forward-looking statements. By accessing any of our repositories and other materials, you accept and agree to the terms of the notice.
EOSIO v1.8.13 Release Notes
This release contains miscellaneous fixes.
Deprecation Notices
The read-only
option for the read-mode
parameter in nodeos
has been deprecated. It is possible to achieve the same behavior with read-mode = head
, p2p-accept-transactions = false
, and api-accept-transactions = false
. See the sub-section "Accept transactions options" below for more details.
Please refer to the Consolidated EOSIO Deprecations List for the currently active set of deprecation notices.
Changes
Exit transaction early when there is insufficient account CPU (#8678)
nodeos
no longer considers a transaction for inclusion in a block in the process of being produced if the billed account(s) do not have sufficient CPU available to cover the previously estimated CPU usage of the transaction (only if a previous estimate for CPU usage is available).
Produce block immediately if resource limits are exhausted (#8680, #8682)
nodeos
now immediately produces a block if either the CPU or NET usage thresholds are exceeded. This change includes a fix for dropping late blocks starting 50ms earlier than the block production window.
New options:
max-block-cpu-usage-threshold-us
:
Threshold (in microseconds) of CPU block production to consider block full; when accumulated CPU usage within a block is less thanmax-block-cpu-usage-threshold-us
away frommax-block-cpu-usage
, the block can be produced immediately. Default value is 5000.max-block-net-usage-threshold-bytes
:
Threshold (in bytes) of NET block production to consider block full; when accumulated NET usage within a block is less thanmax-block-net-usage-threshold-us
away frommax-block-net-usage
, the block can be produced immediately. Default value is 1024.
Accept transactions options (#8742)
New options:
p2p-accept-transactions
: Allow transactions received over p2p
network to be evaluated and relayed if valid. Default is true.api-accept-transactions
: Allow API transactions to be evaluated
and relayed if valid. Default is true.
Provides ability to have a read-mode = head
with p2p-accept-transactions = false
and api-accept-transactions = true
. This combination creates an efficient API node that is not burdened with processing P2P transactions.
The same behavior of the now deprecated read-mode = read-only
can be achieved with read-mode = head
by setting p2p-accept-transactions = false
and api-accept-transactions = false
.
WARNING: Use of read-mode = irreversible
now requires setting p2p-accept-transactions = false
and api-accept-transactions = false
to avoid assertion at startup.
Relay block early (#8705)
Improve block relaying performance when a block is from a trusted producer or if nodeos
is running in light validation mode. This is achieved by relaying the block as soon as block header validation is complete (but before full block application/validation).
Other Changes
- (#8653) Fix format message. - 1.8
- (#8690) incoming-defer-ratio description - 1.8
- (#8696) [1.8.x] Community PR tweaks.
- (#8715) [1.8.x] Actions rerun fixes.
- (#8722) Fix multiple version protocol test intermittent failure - 1.8
Disclaimer: All repositories and other materials are provided subject to this IMPORTANT notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources, and forward-looking statements. By accessing any of our repositories and other materials, you accept and agree to the terms of the notice.
EOSIO v2.0.3 Release Notes
This release contains security, stability, and miscellaneous fixes.
Security bug fixes
Consolidated Security Fixes for 2.0.3 (#8643)
- Add deadline to base58 encoding.
Note: These security fixes are relevant to all nodes on EOSIO blockchain networks.
Stability bug fixes
- (#8617) Init net_plugin member variables - 2.0
Other Changes
- (#8606) Skip sync from genesis and resume from state test on tagged builds
- (#8612) [2.0.x] Actions for community PRs.
- (#8633) remove brew's python@2 install - 2.0
- (#8636) bump script's macos version check to 10.14 - 2.0
Deprecation notice reminder
Please refer to the Consolidated EOSIO Deprecations List for the currently active set of deprecation notices.
Disclaimer: All repositories and other materials are provided subject to this IMPORTANT notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources, and forward-looking statements. By accessing any of our repositories and other materials, you accept and agree to the terms of the notice.
EOSIO v1.8.12 Release Notes
This release contains stability and miscellaneous fixes.
Stability bug fixes
- (#8616) Init net_plugin member variables - 1.8
Other Changes
- (#8605) Skip sync from genesis and resume from state test on tagged builds
- (#8611) [1.8.x] Actions for community PRs.
- (#8634) remove brew's python@2 install - 1.8
Deprecation notice reminder
Please refer to the Consolidated EOSIO Deprecations List for the currently active set of deprecation notices.
Disclaimer: All repositories and other materials are provided subject to this IMPORTANT notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources, and forward-looking statements. By accessing any of our repositories and other materials, you accept and agree to the terms of the notice.
EOSIO v2.0.2 Release Notes
This release contains security, stability, and miscellaneous fixes.
Security bug fixes
Consolidated Security Fixes for 2.0.2 (#8595)
- Restrict allowed block signature types.
Note: These security fixes are relevant to all nodes on EOSIO blockchain networks.
Stability bug fixes
- (#8526) Handle socket close before async callback - 2.0
- (#8546) Net plugin dispatch - 2.0
- (#8552) Net plugin unlinkable blocks - 2.0
- (#8560) Backport of 8056 to 2.0
- (#8561) Net plugin post - 2.0
- (#8564) Delayed production time - 2.0
Changes
Limit block production window (#8571, #8578)
The new options cpu-effort-percent
and last-block-cpu-effort-percent
now provide a mechanism to restrict the amount of time a producer is processing transactions for inclusion into a block. It also controls the time a producer will finalize/produce and transmit a block. Block construction now always begins at whole or half seconds for the next block.
Stricter signature parsing
Versions of EOSIO prior to v2.0.x accept keys and signatures containing extra data at the end. In EOSIO v2.0.x, the Base58 string parser performs additional sanity checks on keys and signatures to make sure they do not contain more data than necessary. These stricter checks cause nodes to reject signatures generated by some transaction signing libraries; eosjs v20 is known to generate proper signatures. For more information see issue #8534.
Other Changes
- (#8555) Drop late check - 2.0
- (#8557) Read-only with drop-late-block - 2.0
- (#8568) Timestamp watermark slot - 2.0.x
- (#8577) [release 2.0.x] Documentation patch 1 update
- (#8583) P2p read only - 2.0
- (#8589) Producer plugin log - 2.0
Deprecation notice reminder
Please refer to the Consolidated EOSIO Deprecations List for the currently active set of deprecation notices.
Disclaimer: All repositories and other materials are provided subject to this IMPORTANT notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources, and forward-looking statements. By accessing any of our repositories and other materials, you accept and agree to the terms of the notice.