Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

Releases: EOSIO/eos

EOSIO v1.7.4 Release Notes

04 Jun 21:06
5082391
Compare
Choose a tag to compare

This release contains security and miscellaneous fixes.

Security bug fixes

  • (#7439) Fix #7436 SIGSEGV - 1.7.x
  • (#7462) fix assignment during timer creation - 1.7

Note: These security fixes are relevant to all nodes on public p2p networks.

Other changes

  • (#7226) Update to fc with gcc7 fix - v1.7.x
  • (#7245) Change default log level from debug to info. - v1.7.x
  • (#7257) Move Test Metrics Code to Agent
  • (#7271) Added eosio-nightly-builds pipeline to pipeline.jsonc
  • (#7277) Fix cleos REX help - v1.7.x
  • (#7333) Use debug level logging for --verbose - 1.7.x
  • (#7323) Look in both lib and lib64 for CMake modules when building EOSIO Tester
  • (#7354) Created "version-label" Integration Test
  • (#7410) Centralize EOSIO Pipeline
  • (#7427) [Anka] 1.7.x configured base images pipeline.

Deprecation notice reminder

Please refer to the v1.8.0-rc1 Release Notes for the currently active set of deprecation notices.

Disclaimer: Block.one makes its contribution on a voluntary basis as a member of the EOSIO community and is not responsible for ensuring the overall performance of the software or any related applications. We make no representation, warranty, guarantee or undertaking in respect of the releases described here, the related GitHub release, the EOSIO software or any related documentation, whether expressed or implied, including but not limited to the warranties or merchantability, fitness for a particular purpose and noninfringement. In no event shall we be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or documentation or the use or other dealings in the software or documentation. Any test results or performance figures are indicative and will not reflect performance under all conditions. Any reference to any third party or third-party product, resource or service is not an endorsement or recommendation by Block.one. We are not responsible, and disclaim any and all responsibility and liability, for your use of or reliance on any of these resources. Third-party resources may be updated, changed or terminated at any time, so the information here may be out of date or inaccurate. Any person using or offering this software in connection with providing software, goods or services to third parties shall advise such third parties of these license terms, disclaimers and exclusions of liability. Block.one, EOSIO, EOSIO Labs, EOS, the heptahedron and associated logos are trademarks of Block.one. All other trademarks referenced herein are the property of their respective owners.

EOSIO v1.6.6 Release Notes

04 Jun 21:06
21d7fcc
Compare
Choose a tag to compare

This release contains security and miscellaneous fixes.

Security bug fixes

  • (#7438) Fix #7436 SIGSEGV - 1.6.x
  • (#7456) fix assignment during timer creation - 1.6

Note: These security fixes are relevant to all nodes on public p2p networks.

Other changes

  • (#7225) Update to fc with gcc7 fix - v1.6.x
  • (#7244) Change default log level from debug to info. - v1.6.x
  • (#7258) Move Test Metrics Code to Agent
  • (#7270) Added eosio-nightly-builds pipeline to pipeline.jsonc
  • (#7332) Use debug level logging for --verbose - 1.6.x
  • (#7355) Created "version-label" Integration Test
  • (#7411) Centralize EOSIO Pipeline
  • (#7426) [ANKA] 1.6.x pipeline base images

Deprecation notice reminder

Please refer to the v1.8.0-rc1 Release Notes for the currently active set of deprecation notices.

Disclaimer: Block.one makes its contribution on a voluntary basis as a member of the EOSIO community and is not responsible for ensuring the overall performance of the software or any related applications. We make no representation, warranty, guarantee or undertaking in respect of the releases described here, the related GitHub release, the EOSIO software or any related documentation, whether expressed or implied, including but not limited to the warranties or merchantability, fitness for a particular purpose and noninfringement. In no event shall we be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or documentation or the use or other dealings in the software or documentation. Any test results or performance figures are indicative and will not reflect performance under all conditions. Any reference to any third party or third-party product, resource or service is not an endorsement or recommendation by Block.one. We are not responsible, and disclaim any and all responsibility and liability, for your use of or reliance on any of these resources. Third-party resources may be updated, changed or terminated at any time, so the information here may be out of date or inaccurate. Any person using or offering this software in connection with providing software, goods or services to third parties shall advise such third parties of these license terms, disclaimers and exclusions of liability. Block.one, EOSIO, EOSIO Labs, EOS, the heptahedron and associated logos are trademarks of Block.one. All other trademarks referenced herein are the property of their respective owners.

EOSIO v1.8.0-rc2 Release Notes

15 May 19:54
d4da0bb
Compare
Choose a tag to compare
Pre-release

This is a RELEASE CANDIDATE for version 1.8.0. The latest STABLE release is v1.7.3.

This release includes an EOSIO consensus upgrade which necessitates a replay from genesis. Please see this guide for important upgrade instructions.

A blog post providing more information can be found here.

Changes

Nodeos bug fixes

Nodeos was using chainbase in a manner that could have exposed security vulnerabilities if the REPLACE_DEFERRED protocol feature was activated. The way the chainbase indices are used have now changed (#7266) to close this potential vulnerability even with the REPLACE_DEFERRED protocol feature activated.

Due to the changes in how chainbase indices are used, a shared_memory.bin file created by v1.8.0-rc1 is not compatible with v1.8.0-rc2.

The fork database serialized its blocks to disk in the wrong order in certain circumstances thus creating a fork_db.dat file that could not be opened during nodeos startup. The issue has been fixed (#7326) to not serialize the blocks to disk in the wrong order, but the fix cannot allow nodeos to open any fork_db.dat file that is already corrupted.

Updates to state history plugin

The state history plugin logged all values in traces including subjective ones that varied from node to node, e.g. the elapsed time to locally execute an action. The default behavior of the state history plugin is now to modify these subjective values to get consistent results across all nodes (#7298). The new default behavior enables state history nodes on the same version to generate identical trace and table delta logs assuming they both end at the same head block. The old behavior (which can enable access to action console logs and error messages) can be recovered by setting the trace-history-debug-mode to true which puts the state history plugin into a debug mode.

Notes on using the build script

Users of the build scripts may have run into build issues under certain environments. The first thing to try if running into build issues is to pass the -P -f flags to the build script which will force the script to build pinned versions of EOSIO dependencies (which may add significant time to the build process) before building EOSIO itself.

With this release, version 1.70 of Boost is also supported and is the preferred version that the build script will pin to if the -P flag is passed in. While Boost version 1.67 is still supported, the minimum version of Boost supported in EOSIO is expected to increase to 1.70 in the future. Since this release requires a replay from genesis for everyone upgrading from v1.7.x and earlier, users should consider forcing their EOSIO build to use Boost 1.70 by passing in the -P -f flags to the build script. Doing so will make it less likely to require portable snapshots in order to upgrade an existing chain state database to work with a future version of EOSIO.

Upgrading from v1.8.0-rc1

Upgrading from v1.8.0-rc1 to v1.8.0-rc2 for a nodeos configured to run with plugins that handle history requires a replay from genesis similar to the upgrade from v1.7.x to v1.8.0-rc2 (see the upgrade guide).

If nodeos is not configured with any history-related plugins, it is possible to upgrade from v1.8.0-rc1 to v1.8.0-rc2 without doing a replay from genesis. The snapshots generated and accepted by both versions are identical. So the operator could:

  1. Launch nodeos v1.8.0-rc1 in irreversible mode and with the producer_api_plugin enabled by passing the --read-mode=irreversible --plugin=eosio::producer_api_plugin command-line options. (Note that producers cannot be configured when launching nodeos in irreversible mode.)
  2. Create a snapshot of the last irreversible block by calling the create_snapshot RPC (for example by using the command curl -X POST http:/127.0.0.1:8888/v1/producer/create_snapshot -d '{}' | jq). Record the path to the generated snapshot file in snapshot_name field of the returned JSON object.
  3. Shut down nodeos and delete the blocks/reversible and state sub-directories within the data directory.
  4. Launch nodeos v1.8.0-rc2 from the generated snapshot using --snapshot command line option.

Other changes

  • (#7246) Change default log level from debug to info. - v1.8.x
  • (#7256) Move Test Metrics Code to Agent
  • (#7242) Created Universal Pipeline Configuration File
  • (#7265) use protocol-features-sync-nodes branch for LRT pipeline - v1.8.x
  • (#7280) build unittests in c++17, not c++14 - 1.8
  • (#7283) Fix cleos REX help - v1.8.x
  • (#7274) restrict range of error codes that contracts are allowed to emit
  • (#7281) Update EosioTester.cmake.in
  • (#7296) Modify the pipeline control file for triggered builds
  • (#7297) added sudo -E to installs for Ben on automation + zlib if fix
  • (#7298) add debug_mode to state history plugin
  • (#7311) when unable to find mongo driver stop cmake - 1.8
  • (#7334) Use debug level logging for --verbose - 1.8.x
  • (#7335) Anka for 1.8.x + new linux vm image labels
  • (#7324) Look in both lib and lib64 for CMake modules when building EOSIO Tester
  • (#7347) Anka 1.8.x fixes
  • (#7351) correct signed mismatch warning in chain controller - 1.8
  • (#7344) correct signed mismatch warning in http_plugin - 1.8
  • (#7345) (softfloat sync) clean up strict-aliasing rules warnings - 1.8
  • (#7357) Boost 1.70.0 changes - v1.8.x
  • (#7358) Fixes for Boost 1.70 to compile with our current CMake (release 1.8.x)
  • (#7360) update to use boost 1.70 (release 1.8.x)

Deprecation notice reminder

Please refer to the v1.8.0-rc1 Release Notes for the currently active set of deprecation notices.

Thanks!

Special thanks to the community contributors that submitted patches for this release:

Disclaimer: Block.one makes its contribution on a voluntary basis as a member of the EOSIO community and is not responsible for ensuring the overall performance of the software or any related applications. We make no representation, warranty, guarantee or undertaking in respect of the releases described here, the related GitHub release, the EOSIO software or any related documentation, whether expressed or implied, including but not limited to the warranties or merchantability, fitness for a particular purpose and noninfringement. In no event shall we be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or documentation or the use or other dealings in the software or documentation. Any test results or performance figures are indicative and will not reflect performance under all conditions. Any reference to any third party or third-party product, resource or service is not an endorsement or recommendation by Block.one. We are not responsible, and disclaim any and all responsibility and liability, for your use of or reliance on any of these resources. Third-party resources may be updated, changed or terminated at any time, so the information here may be out of date or inaccurate. Any person using or offering this software in connection with providing software, goods or services to third parties shall advise such third parties of these license terms, disclaimers and exclusions of liability. Block.one, EOSIO, EOSIO Labs, EOS, the heptahedron and associated logos are trademarks of Block.one. All other trademarks referenced herein are the property of their respective owners.

EOSIO v1.8.0-rc1 Release Notes

29 Apr 18:33
7cef0c5
Compare
Choose a tag to compare
Pre-release

This release has been superseded by version 1.8.0-rc2. Please use the later version instead of v1.8.0-rc1.

This is a RELEASE CANDIDATE for version 1.8.0. The latest STABLE release is v1.7.3.

This release includes an EOSIO consensus upgrade which necessitates a replay from genesis. Please see the "Consensus Protocol Upgrades" section for details and a link to a guide with important upgrade instructions.

A blog post providing more information can be found here.

Deprecation and Removal Notices

Platforms dropped

Support for the following operating systems has been dropped:

  • Mint 18
  • Fedora 27
  • Amazon Linux 1
  • macOS versions earlier than 10.14 such as High Sierra

bnet plugin removed

The bnet_plugin was deprecated in the v1.7.1 release and has now been removed with this release. The net_plugin is the only supported plugin enabling nodeos instances to communicate with one another on the peer-to-peer network.

Users of the irreversible mode feature of the bnet_plugin should switch to the new irreversible read-mode support added to the core of nodeos.

For more information about the new irreversible read-mode, please see below.

Docker files removed

Several months ago we deprecated support for EOSIO Docker images. With this release, we have now removed the Docker folder and its associated files.

Mongo DB plugin deprecated

The Mongo DB plugin has been deprecated and will be removed from the EOSIO source in a future release. Users are recommended to switch to non-deprecated history solutions such as the ones built off of the state_history_plugin.

Changes

Consensus Protocol Upgrades

This release adds the foundations needed to support consensus protocol upgrades (#6831, #7167). PR #6831 also introduced the consensus protocol upgrade feature (or just protocol feature for short) with the codename PREACTIVATE_FEATURE which, after activation, enables operators of an EOSIO blockchain to use an on-chain process to activate further protocol features. For example, after activation of PREACTIVATE_FEATURE, block producers of an EOSIO chain could deploy the new system contract from eosio.contracts v1.7.0-rc1 and then use a standard eosio.msig proposal to activate any of the other protocol features supported by this release.

This release introduces an initial set of protocol features that can be activated individually:

  1. ONLY_LINK_TO_EXISTING_PERMISSION (#6831)
  2. REPLACE_DEFERRED (#6997, #7185)
  3. NO_DUPLICATE_DEFERRED_ID (#7072, #7173, activation depends on REPLACE_DEFERRED)
  4. FIX_LINKAUTH_RESTRICTION (#7025)
  5. DISALLOW_EMPTY_PRODUCER_SCHEDULE (#7026)
  6. RESTRICT_ACTION_TO_SELF (#7088)
  7. ONLY_BILL_FIRST_AUTHORIZER (#7089)
  8. FORWARD_SETCODE (#7109)
  9. GET_SENDER (#7111)
  10. RAM_RESTRICTIONS (#7131)

Support for consensus protocol upgrades required extensive changes to nodeos which force a replay from genesis. Please see this guide for how to upgrade from v1.7.x and earlier to v1.8.x as well as important notes to be aware of regarding the transition. In particular, the guide includes special instructions that block producers of EOSIO networks should be aware of before upgrading their nodes to carry out a smooth transition for the network when activating the first protocol feature.

Irreversible read mode

A new read-mode has been enabled in nodeos: irreversible (#6624, #6842, #6843). When nodeos is configured to be in irreversible read mode, it will still track the most up-to-date blocks in the fork database, but the state will lag behind the current best head block (referred to as the fork DB head in the output of cleos get info) to always reflect the state of the last irreversible block. The irreversible mode behaves in a similar manner to read-only mode in that the node will not accept transactions pushed to it through the chain API.

Support has been added to easily switch back and forth between irreversible mode and the other modes. When switching from speculative mode to irreversible mode, the state will be rolled back to that of the last irreversible block and the reversible blocks database will be deleted. When switching from irreversible mode to speculative mode, nodeos will attempt to recover the reversible blocks from the fork database and re-apply those blocks to get the state back to the one corresponding to the best available head block.

The create_snapshot RPC of the producer API has been modified to only return the path to the finalized snapshot when the block they represent becomes irreversible (#7119). These changes protect the user from generating an invalid snapshot. When a request for a snapshot is received through the API, nodeos will now write the snapshot data to a temporary file, create an internal tracking record, and then the RPC will just wait until the snapshot is finalized. As this block becomes irreversible OR the real last irreversible block passes it on a competing fork, nodeos will either rename the temporary file to the expected snapshot name and return the path to the caller OR delete the temporary file and return an error indicating that the snapshot was unusable. When in irreversible read mode, the create_snapshot RPC will immediately return the finalized path to the snapshot after the snapshot is written to disk (#7172).

Changes to transaction traces

The structure of transaction traces has significantly changed (#7044, #7108). All the action traces are now stored within the transaction trace in a flat format. The legacy tree structure can be recovered by using the new action_ordinal and closest_unnotified_ancestor_action_ordinal fields added to action traces. However, clients are encouraged to instead consider an alternative tree representation of the action traces: the creation tree. The creation tree solves an issue of ambiguities that may exist in the legacy tree structure (see issue #6897 for details). Clients can construct the creation tree from the flat set of action traces by using the new action_ordinal and creator_action_ordinal fields added to action traces. Additionally, the transaction trace may optionally contain an account_ram_delta field which can enable block explorers to properly track the RAM usage changes due to the scheduling and retirement of deferred transactions.

The existing push_transaction and push_transactions RPCs of the chain API have been modified to return a transaction trace JSON that is designed to remain backwards compatible with existing consumers of those APIs. The transaction trace will still include the newly added fields; however, it will be re-assembled into the legacy tree structure that the client may expect.

Clients are encouraged to switch over to the new send_transaction RPC of the chain API which does the same thing as push_transaction except that it returns the new flat structure rather than spending the time to convert the output back into the legacy format.

The changes to the transaction trace structure will likely affect any nodeos plugin that depends on them. In addition, PR #7150 has modified the interface of the applied_transaction signal, which means existing nodeos plugins that use this signal need to be updated to continue to compile and function correctly. The state_history_plugin, as well as the deprecated history_plugin and mongo_db_plugin, have already been updated to support these changes.

Updates to state history plugin

The state history plugin was introduced as an alpha product in EOSIO v1.5.0. As part of being alpha, the release notes mentioned how it was likely for the state history plugin to substantially change prior to its final release. This release makes breaking changes both to the structure of the files that the state history plugin stores on disk as well as the WebSocket API the clients use to retrieve traces and table deltas from the state history plugin (#7113, #7139, #7150, #7163).

With this release, the state history plugin has been promoted to a stable product that is ready for use in production environments. Future changes to the APIs and data structures will leverage the versioning system baked into the state history plugin to avoid the need to replay from genesis in order to maintain the existing history, assuming consumers can tolerat...

Read more

EOSIO v1.7.3 Release Notes

25 Apr 20:07
448287d
Compare
Choose a tag to compare

This release contains stability and miscellaneous fixes.

Stability bug fixes

  • (#7199) Keep block log open to minimize open/close of file - v1.7.x

Other changes

  • (#7161) Centralize Long-Running Test Pipeline
  • (#7169) Reduce logging of complete object when unable to serialize
  • (#7202) Fix bugs in block_log - v1.7.x
  • (#7203) Add some missing libs for build (Docker 1.7 fix)

Deprecation notice reminder

Please refer to the v1.7.1 Release Notes for the currently active set of deprecation notices.

Thanks!

Special thanks to the community contributors that submitted patches for this release:

Disclaimer: Block.one makes its contribution on a voluntary basis as a member of the EOSIO community and is not responsible for ensuring the overall performance of the software or any related applications. We make no representation, warranty, guarantee or undertaking in respect of the releases described here, the related GitHub release, the EOSIO software or any related documentation, whether expressed or implied, including but not limited to the warranties or merchantability, fitness for a particular purpose and noninfringement. In no event shall we be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or documentation or the use or other dealings in the software or documentation. Any test results or performance figures are indicative and will not reflect performance under all conditions. Any reference to any third party or third-party product, resource or service is not an endorsement or recommendation by Block.one. We are not responsible, and disclaim any and all responsibility and liability, for your use of or reliance on any of these resources. Third-party resources may be updated, changed or terminated at any time, so the information here may be out of date or inaccurate. Any person using or offering this software in connection with providing software, goods or services to third parties shall advise such third parties of these license terms, disclaimers and exclusions of liability.

EOSIO v1.6.5 Release Notes

25 Apr 20:07
b3229de
Compare
Choose a tag to compare

This release contains stability and miscellaneous fixes.

Stability bug fixes

  • (#7198) Keep block log open to minimize open/close of file - v1.6.x

Other changes

  • (#7162) Removed Centralized Pipelines
  • (#7170) Reduce logging of complete object when unable to serialize - v1.6.x
  • (#7201) Fix bugs in block_log - v1.6.x

Deprecation notice reminder

Please refer to the v1.7.1 Release Notes for the currently active set of deprecation notices.

Disclaimer: Block.one makes its contribution on a voluntary basis as a member of the EOSIO community and is not responsible for ensuring the overall performance of the software or any related applications. We make no representation, warranty, guarantee or undertaking in respect of the releases described here, the related GitHub release, the EOSIO software or any related documentation, whether expressed or implied, including but not limited to the warranties or merchantability, fitness for a particular purpose and noninfringement. In no event shall we be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or documentation or the use or other dealings in the software or documentation. Any test results or performance figures are indicative and will not reflect performance under all conditions. Any reference to any third party or third-party product, resource or service is not an endorsement or recommendation by Block.one. We are not responsible, and disclaim any and all responsibility and liability, for your use of or reliance on any of these resources. Third-party resources may be updated, changed or terminated at any time, so the information here may be out of date or inaccurate. Any person using or offering this software in connection with providing software, goods or services to third parties shall advise such third parties of these license terms, disclaimers and exclusions of liability.

EOSIO v1.7.2 Release Notes

18 Apr 16:50
38d8c2b
Compare
Choose a tag to compare

This release contains stability and miscellaneous fixes.

Deprecation notices

Please refer to the v1.7.1 Release Notes for the currently active set of deprecation notices.

Stability bug fixes

  • (#7085) Fix crash caused by multithreading concurrency issues #7084 - v1.7.x

Other changes

  • (#7058) Add back in Docker Hub deprecation that was accidentally removed - v1.7.x
  • (#7065) fix rpm command for uninstalling eosio - 1.7
  • (#7130) Revert EXCLUDE_FROM_ALL (release/1.7.x)
  • (#7140) Added lib64 to CMAKE_MODULE_PATH
  • (#7148) .buildkite Folder Updates Merged in from develop

Disclaimer: Block.one makes its contribution on a voluntary basis as a member of the EOSIO community and is not responsible for ensuring the overall performance of the software or any related applications. We make no representation, warranty, guarantee or undertaking in respect of the releases described here, the related GitHub release, the EOSIO software or any related documentation, whether expressed or implied, including but not limited to the warranties or merchantability, fitness for a particular purpose and noninfringement. In no event shall we be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or documentation or the use or other dealings in the software or documentation. Any test results or performance figures are indicative and will not reflect performance under all conditions. Any reference to any third party or third-party product, resource or service is not an endorsement or recommendation by Block.one. We are not responsible, and disclaim any and all responsibility and liability, for your use of or reliance on any of these resources. Third-party resources may be updated, changed or terminated at any time, so the information here may be out of date or inaccurate. Any person using or offering this software in connection with providing software, goods or services to third parties shall advise such third parties of these license terms, disclaimers and exclusions of liability.

EOSIO v1.7.1 Release Notes

03 Apr 16:52
14a65ac
Compare
Choose a tag to compare

This release contains stability, security, and miscellaneous fixes.

Deprecation notices

  • Support for the following operating systems will be removed in EOSIO v1.8.0

    • Mint 18
    • Fedora 27
    • Amazon Linux 1
    • macOS versions earlier than 10.14 such as High Sierra
  • Support for the bnet_plugin will be removed in EOSIO v1.8.0

Security bug fixes

Consolidated Security Fixes for 1.7.1 (#7049)

  • net_plugin security fixes

Note: These security fixes are relevant to all nodes on public p2p networks.

Stability bug fixes

  • Use shared_future - v1.7.x (#7031)
  • Fix for close() called while async_read in-flight - v1.7.x (#7027)
  • Add strand to protect internals of asio - 1.7.x (#6961)

Other changes

  • (#6969) remove eosio-wat2wasm and other WAVM tools from being built - 1.7
  • (#6974) Fix txn_test_gen_plugin crash on multiple create_test_accounts calls - 1.7.x
  • (#6982) fix memory leak when --trace-history not used
  • (#6986) Remove setting CMAKE_OSX_SYSROOT - 1.7.x
  • (#7008) Update LICENSE
  • (#7009) Update README.md
  • (#7010) Create CONTRIBUTING.md
  • (#7018) [XC 10.2] Remove boost::thread usage from mongo plugin - 1.7
  • (#7020) [XC 10.2] disable asio's experimental string_view usage on macos - 1.7
  • (#7029) [XC 10.2] fc sync - Remove fc::shared_ptr & refactor logging code to not use it - 1.7
  • (#7032) [XC 10.2] chainbase sync - Remove boost thread include and locking support - 1.7
  • (#7037) [XC 10.2] Remove final boost thread references in cmake & change macos boost build - 1.7
  • (#7046) print action traces in cleos even if nonmandatory fields are missing - v1.7.x

Disclaimer: Block.one makes its contribution on a voluntary basis as a member of the EOSIO community and is not responsible for ensuring the overall performance of the software or any related applications. We make no representation, warranty, guarantee or undertaking in respect of the releases described here, the related GitHub release, the EOSIO software or any related documentation, whether expressed or implied, including but not limited to the warranties or merchantability, fitness for a particular purpose and noninfringement. In no event shall we be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or documentation or the use or other dealings in the software or documentation. Any test results or performance figures are indicative and will not reflect performance under all conditions. Any reference to any third party or third-party product, resource or service is not an endorsement or recommendation by Block.one. We are not responsible, and disclaim any and all responsibility and liability, for your use of or reliance on any of these resources. Third-party resources may be updated, changed or terminated at any time, so the information here may be out of date or inaccurate. Any person using or offering this software in connection with providing software, goods or services to third parties shall advise such third parties of these license terms, disclaimers and exclusions of liability.

EOSIO v1.6.4 Release Notes

03 Apr 16:52
b2cc2a8
Compare
Choose a tag to compare

EOSIO v1.6.4 Release Notes

This release contains stability, security, and miscellaneous fixes.

Security bug fixes

Consolidated Security Fixes for 1.6.4 (#7048)

  • net_plugin security fixes

Note: These security fixes are relevant to all nodes on public p2p networks.

Stability bug fixes

  • Fix for close() called while async_read in-flight - v1.6.x (#7040)

Other changes

  • (#7021) [XC 10.2] disable asio's experimental string_view usage on macos - 1.6
  • (#7030) [XC 10.2] fc sync - Remove fc::shared_ptr & refactor logging code to not use it - 1.6
  • (#7033) [XC 10.2] chainbase sync - Remove boost thread include and locking support- 1.6
  • (#7045) print action traces in cleos even if nonmandatory fields are missing - v1.6.x

Disclaimer: Block.one makes its contribution on a voluntary basis as a member of the EOSIO community and is not responsible for ensuring the overall performance of the software or any related applications. We make no representation, warranty, guarantee or undertaking in respect of the releases described here, the related GitHub release, the EOSIO software or any related documentation, whether expressed or implied, including but not limited to the warranties or merchantability, fitness for a particular purpose and noninfringement. In no event shall we be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or documentation or the use or other dealings in the software or documentation. Any test results or performance figures are indicative and will not reflect performance under all conditions. Any reference to any third party or third-party product, resource or service is not an endorsement or recommendation by Block.one. We are not responsible, and disclaim any and all responsibility and liability, for your use of or reliance on any of these resources. Third-party resources may be updated, changed or terminated at any time, so the information here may be out of date or inaccurate. Any person using or offering this software in connection with providing software, goods or services to third parties shall advise such third parties of these license terms, disclaimers and exclusions of liability.

EOSIO v1.7.0 Release Notes

14 Mar 01:09
686f0de
Compare
Choose a tag to compare

This release comprises several additional features and fixes, in addition to the cumulative patches made against v1.6.

A blog post providing more information can be found here.

Deprecation and Removal Notices

Contracts directory removed

In the v1.2.0 release of EOSIO we deprecated the example contracts and the contract development libraries located in the contracts/ directory. The contract development libraries were deprecated in favor of the libraries and tools in the eosio.cdt repository that have since been updated. The eosio.* reference contract sources in the contracts/ were deprecated in favor of the ones tracked in the eosio.contracts repository which have also been updated since v1.2.0.

In this release, we have removed the contracts/ directory from this repository. Some of the contracts from that directory are still required by the EOSIO automated tests. Pre-compiled WebAssembly code of the eosio.* contracts (source code is tracked in the eosio.contracts repository) has been moved to the unittests/contracts/ directory for use by some unit and integration tests. The other relevant test contracts have been updated to work with the latest eosio.cdt release and have moved to the unittests/test-contracts/ directory. Pre-compiled WebAssembly code and ABIs of the test contracts are also included in the repository to enable the automated tests to run without requiring eosio.cdt as a dependency. (#6329, #6728, #6749, #6901)

Binaryen dependency removed

This release also removes the dependency on binaryen (#6557) which was deprecated in the v1.3.0 release and removed as a WebAssembly runtime option in the v1.4.0 release but kept around until now only to build the old test contracts.

Security bug fixes

Consolidated Security Fixes for 1.7.0-rc2 (#6882)

  • Fixed small memory leak in net_plugin.
  • Added additional deadline checks to transaction authorization.

Note: These security fixes are relevant to both Producer nodes and HTTP API providers.

Changes

Added get_supported_apis RPC API (#6572)

A new RPC API /v1/node/get_supported_apis has been added to allow applications to discover the current set of activated plugins on an API server. This information can then allow applications to intelligently render their UI elements customized for the capabilities provided by the API server.

Improved handling of default values in config.ini (#6620)

In previous releases of nodeos the generated config.ini would have default values specified for every configuration item. This behavior has changed in v1.7.0: default values are still noted but now commented out instead. To help encourage use of this new pattern—where the intention is the user will only explicitly set configurations in config.ini he or she actually explicitly wants to set—nodeos upon startup will print a warning if the config.ini file specifies a value for a configuration item that is already the default value. The warning will look like

APPBASE: Warning: The following configuration items in the config.ini file are redundantly set to
         their default value:
             bnet-peer-log-format, blocks-dir
         Explicit values will override future changes to application defaults. Consider commenting out or
         removing these items.

Upgraded the yubihsm wallet to use libyubihsm2 & YubiHSM 2.1 support (#6733)

Upgraded the yubihsm wallet to use libyubihsm2. This brings about two user facing features: support for newly shipping YubiHSM 2.1 firmware and support for talking to a YubiHSM directly through USB instead of through the connector (use yubihsm-url = yhusb://).

Added REX support to cleos (#6785)

Added cleos support for REX related actions by creating the cleos system rex subcommand and associated sub-subcommands that correspond to different actions.

Display shortened error messages even when --verbose-http-errors is not specified (#6769)

This PR adds shortened log_message output to the errors returned by API nodes when --verbose-http-errors is not enabled, which is the recommended operating mode for public facing API nodes. Full error messages can still be enabled by specifying the --verbose-http-errors option, though that is only recommended for local debugging purposes rather than production use.

Logging changes

Fixed startup logging when loading snapshots (#6713)

Fixed nodeos logging to not report erroneous error messages when loading snapshots and to also indicate when snapshot initialization starts and stops

Added logging for hard replay progress (#6535)

Nodeos output logging during a hard replay has been upgraded to include two new progress messages, one for reconstruction of the index file and another for reconstruction of the block log file. Both messages are output every 1000 blocks. All existing log messages are still present.

Various Performance Improvements

Several of the PRs in this release contribute to the overall goal of increasing the efficiency of the peer-to-peer networking layer and real-time transaction throughput. This has been accomplished by: creating a priority queue for the main application thread that assigns high priority for block production and block propagation and a lower priority for transaction processing (#6577), creating an efficient way for net_plugin to quickly determine known blocks (#6735), and adding multithreading improvements to net_plugin (#6725) and http_plugin (#6687) with corresponding config options to control the number of worker threads in their respective thread pools.

Other Changes

  • (#6518) Added support for FC_REFLECT_DERIVED
  • (#6509) Additional transaction tests
  • (#6543) Verify Ctrl-C on Nodeos causes it to return an Exit Status of 0
  • (#6329) EOSIO.CDT test porting/contract refactor
  • (#6552) get account raw
  • (#6544) Fix for mongo empty json keys
  • (#6553) MongoDB eosio.system contract fix
  • (#6557) Remove binaryen & other vesigigial pieces
  • (#6514) Net plugin fix for sync
  • (#6558) Removing unneeded contract directory
  • (#6565) No longer build wasm llvm on macos & ubuntu
  • (#6566) Remove WASM_ROOT from scripts & remove "install" of old tools
  • (#6570) Remove cotire
  • (#6568) Added Checkboxes to Pull Request Template
  • (#6579) Remove the copy of the contracts directory from the Dockerfile
  • (#6579) Create "base install" target
  • (#6581) Unittest for old wasm host ptr fix
  • (#6593) Revert ability to customize name of http_plugin options
  • (#6589) Use https url for wabt submodule
  • (#6583) Add support for account creation with permission level to cleos
  • (#6580) Long running test fixes and better error reporting
  • (#6619) update appbase submodule to point to latest master (07850236)
  • (#6626) Return code_version instead of recalculating code hash
  • (#6636) Merge 1.6.0 changes to develop
  • (#6632) Remove link reference to old boost signals library
  • (#6640) Long running test Min RAM test fix
  • (#6656) Improve logging to identify why forking integration test is failing.
  • (#6622) Remove obsolete poorly documented tutorial.
  • (#6680) Remove some obsolete cleos help text for 'wallet stop'
  • (#6681) Fix comment on max trx decompressed size
  • (#6679) Fix IS #5418
  • (#6633) Set minimum dependencies for Debian packages.
  • (#6665) Return active producers when producerstable doesn't exist
  • (#6686) Remove queued HTTP handler registration
  • (#6677) Use additional docker tags for internal image repositories
  • (#6691) Monitor wallet lock file and shut down if it's removed.
  • (#6539) Update EOS license year 2019
  • (#6526) typo: Web Assembly -> WebAssembly
  • (#6701) fix signed_int pack/unpack
  • (#6710) Merge 1.6.1 to develop
  • (#6717) Spell fix in help
  • (#6655) Fix numerous signed unsigned mismatch warnings
  • (#6716) Unit Tests Now Run In Parallel
  • (#6445) Regularize replay logging
  • (#6728) Not building test-contracts by default
  • (#6732) Add buildkite step to gather brew files for automatic update
  • (#6731) txn_test_gen_plugin thread pool
  • (#6690) g++ Warning fix
  • (#6748) Fix net_plugin shutdown
  • (#6744) Fix integration test errors in restart-scenarios-test.py
  • (#6749) Updated test contract to work with v1.6.x of eosio.cdt
  • (#6750) Fix segfault on shutdown
  • (#6753) Fix plugin test
  • (#6747) added memo to base_tester::issue
  • (#6757) Remove xcode dep and duplicate gmp
  • (#6756) Fix net_plugin catchup reported blocks
  • (#6715) V2 build scripts for ci
  • (#6772) commonize & integrate into getopts noninteractive option
  • (#6779) Use -y for noninteractive builds in the CI pipeline
  • (#6781) reflector_init fix
  • (#6780) Fix/llvm dir path
  • (#6786) Security fix ported from 1.6.2
  • (#6789) cleanup centos rpm deps
  • (#6787) Fix for reflector_init on derived
  • (#6550) Consolidated Security Fixes ported from 1.6.0-rc2
  • (#6791) Reinitialize net plugin logger on HUP
  • (#6776) Add warning to --state-history-endpoint
  • (#6799) Reduce max time allowed for checktime_hashing_fail test
  • (#6702) Refactor BUILDKITE_TAG logic in Docker image builds
  • (#6802) Remove -fno-builtin-memcmp for gcc builds
  • (#6804) Replace binaryen reference to wabt
  • (#6806) Enable options to print full console output
  • (#6803) Net plugin use local logger
  • (#6816) appbase: Block (queue) exit signals during shutdown
  • (#6858) appbase: rework blocking (queuing) exit signals during shutdown
  • (#6859) Update to appbase with FIFO priority queue
  • (#6868) appbase: ensure ctrl-c during startup handled
  • (#6871) Signature cpu usage - more cor...
Read more