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

EOSIO 1.3.0 Release Notes

Compare
Choose a tag to compare
@wanderingbort wanderingbort released this 19 Sep 00:01
· 11378 commits to master since this release

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

A blog post providing more information can be found here

DEPRECATION NOTICES

  • eosiocpp was scheduled to be removed in v1.3.0 but is NOT. It remains deprecated and the timeline for removal is undefined. It has been supplanted by on-going effort in the eosio.cdt repository
  • cleos currently attempts to auto-launch keosd and communicate over TCP socket when no instance exists. This is deprecated and v1.4.0 will change this default to named-socket communication. Please see the notes below for details on how to take advantage of named-sockets in v1.3.0
  • binaryen as a WebAssembly runtime is deprecated and will be removed in v1.4.0 in favor of wabt. At that time the default WebAssembly runtime will become wabt. Please see the notes below for details on the new interpreter backend.

Changes

New WebAssembly Interpreter: wabt (#5416)

WABT (pronounced: wabbit) is a well respected standards compliant WebAssembly interpreter. Internal profiling indicated that it was up to 2x faster at retiring contract transactions compared to our current default interpreter: binaryen. This release includes a complete integration of WABT into the EOSIO blockchain allowing nodes to take advantage of the decreased cost of transaction processing. This can be enabled by setting the wasm-runtime configuration for nodeos to wabt.

Trusted Producer: Light Validation (#5631)

In order to facilitate faster propagation of transactions and blocks within the local network of API, P2P and block-signing nodes operated by a given block producer, the option to grant light-validation to blocks created by that producer's block-signing node has been added to nodeos. This can be enabled by adding the producer's own account name as the trusted-producer value on the nodeos command line for all internal nodes.

MongoDB improvements (#5339) (#5670)

MongoDB now stores the block information and the RAM usage as part of action_trace data allowing greater insight into how actions utilize resources.

Additionally, the ability to filter actions based on wildcards in any combination of the receiver, contract, action filters allows for greater flexibility when tracking a subset of the actions on a given chain.

HTTP over Unix Socket support for keosd (#5425)

keosd now supports HTTP-RPC requests delivered over a Unix socket. This allows operators to take advantage of greater security and permissions concepts available to named sockets. By default, keosd will accept requests at ~/eosio-wallet/keosd.sock however, this is configurable. For more details, see the write-up attached to #5425

Unknown configuration items in config.ini will now error on startup (#5678)

Prior to 1.3.0 unknown configuration items in config.ini would be silently ignored. This behavior has been changed in 1.3.0 to an error that prevents startup of nodeos. Users with old auto-generated config.ini files may need to remove some options that are no longer available in nodeos for example wallet-dir or unlock-timeout

Other Changes

  • Transaction trace logging for visibility of transactions on P2P (#5725)
  • Fix typo in cleos help text (#5639)
  • Doxygen fixes for copy of eosiolib (#5603)
  • Unit test fixes (#5634)
  • Fix wording for Inline Action Depth Reached (#5635)
  • Support iteration over scopes & tables in cleos (#5486)
  • Remove unused variable (#5582)
  • Spelling and whitespace corrections in transaction.h (#5580)
  • Inverted check for flag for no auto keosd (#5574)
  • Fix Spurious Long Running Test Failures (#5558)
  • Launcher tests (#5476)
  • Print separators properly with cleos get account (#5506)
  • cleos support for delayed transaction(#5492)
  • Remove old exchange contract (#5477)
  • New test to ensure require_recipient to generator is ignored (#5446)
  • Chain api: get code hash (#5434)
  • add cleos set contract/code/abi --clear (#5442)
  • Correct cleos get table help text from 'contract' to 'account' (#5448)
  • Stop creating anonymous volumes during image build (#5444)
  • Docker Improvements (#5452)
  • Build secp256k1 as a submodule (#5478)
  • Updates to fc:
    • A handful of fc changes to support unix sockets for HTTP RPC (EOSIO/fc#12)
    • Optimize sha256 comparison (EOSIO/fc#16)
    • Change various asserts in fc code to use FC_ASSERT (EOSIO/fc#19)
    • Fix uninitialized data bug in fc cryptographic hash classes when constructing from a hex string (EOSIO/fc#21)
  • Fixed framework casing for case sensitive MacOS builds (#5386)
  • Improve error for malformed signature (#5305)
  • use config::producers_account_name instead of N(eosio.prods) (#5277)
  • Add new get_raw_abi RPC to chain API (#5375)
  • Support for ABI version 1.1 in abi_serializer: added variants and binary extensions; major version number in ABI is now enforced (#5652, #5673)
  • Fixed bugs in abi_serializer (#5680)
  • When clearing state DB, erase contents of the state directory but not the directory itself (#5696)
  • Add optional --pay-ram-to-open flag for the cleos transfer command to prepend an eosio.token::open action before the eosio.token::transfer action (#5581)
  • get_account RPC in chain API now tries to determine the core symbol from the installed system contract rather than relying on the build configuration parameter (#5704)
  • Improvements to cleos get account sub-command: robust against mismatch of core symbol between API node and cleos; now also prints account creation time in output (#5704)
  • Proper matching of transaction ID prefix within get_transaction RPC of the history_plugin (#5723)
  • avoid plugin through irreversible_block signal change block before apply_block (#5611)