openethereum/CHANGELOG.md

25 KiB

Parity v1.11.0 (2018-05-09)

This is the Parity 1.11.0-beta release! Hurray!

Notable changes in reversed alphabetical order:

  • TOOLING: Whisper CLI #8201
    • whisper-cli is a standalone tool to communicate with the Whisper protocol.
    • It provides functionality to specify whisper-pool-size, port and address to use.
    • All whisper RPC APIs are enabled and can be directly acessed. I'm not used to writing these changelogs but I guess that would explain it
  • JSON-RPC API: Return error in case eth_call returns VM errors #8448
    • This changes the behaviors of eth_call to respect VM errors if any.
    • In case of REVERT, it will also return the reverted return data in hex format.
  • ENGINES: Block reward contract #8419
    • The AuRa PoA engine has now support for having a contract to calculate the block rewards.
    • The engine passes a list of benefactors and reward types to the contract which then returns a list of addresses and respective rewards.
  • CORE: Private transactions integration pr #6422
  • CORE: New Transaction Queue implementation #8074
    • Verification is now done in parallel.
    • Previous queue had O(1) time to get pending set, but O(n^2) insertion time. And obviously insertion/removal happens much more often than retrieving the pending set (only for propagation and pending block building) Currently we have O(n * log(senders)) pending set time (with cache) and O(tx_per_sender) (usually within log(tx_per_sender)) insertion time.
    • Scoring and Readiness are separated from the pool, so it's easier to customize them or introduce different definitions (for instance for EIP-859 or private transactions, etc).
    • Banning removed, soft-penalization introduced instead: if transaction exceeds the limit other transactions from that sender get lower priority.
    • There is no explicit distinction between current and future transactions in the pool - Readiness determines that. Because of this we additionally remove future transactions that occupy the pool for long time.
  • CONFIGURATION: Warp-only sync with --warp-barrier [block-number] flag. #8228
    • Enables warp-only sync in case --warp-barrier [block-number] is provided.
    • This avoids clients to warp to outdated snapshots that are too far away from the best block.
    • This avoids clients to fall back to normal sync if there are no recent snapshots available currently.
  • CONFIGURATION: Disable UI by default. #8105
    • The user interface is now disabled by default. It still can be activated with the --force-ui flag.
    • To get the stand-alone Parity UI, please check the dedicated releases page.
  • CONFIGURATION: Auto-updater improvements #8078
    • Added --auto-update-delay to randomly delay updates by n blocks. This takes into account the number of the block of the update release (old updates aren't delayed).
    • Added --auto-update-check-frequency to define the periodicity of auto-update checks in number of blocks.
    • This is an important improvement to ensure the network does not update all clients at the same time.
  • CHAIN SPECS: Enable WebAssembly and Byzantium for Ellaism #8520
    • This activates the Ellaism Byzantium hardfork (2018-0004-byzantium) at block 2_000_000.
    • This enables the Wasm VM on Ellaism (2018-0003-wasm-hardfork) at block 2_000_000.
    • Please, upgrade your clients if you run an Ellaism configuration.
  • CHAIN SPECS: Dev chain - increase gasLimit to 8_000_000 #8362
    • This increases the default block gas limit on development chains to 8_000_000.
    • Please note, this makes previous dev chain configurations incompatible.
  • CHAIN SPECS: Add MCIP-6 Byzyantium transition to Musicoin spec #7841
    • This activates the Musicoin Byzantium hardfork (MCIP-6) at block 2_222_222.
    • Please, upgrade your clients if you run a Musicoin configuration.

The full list of included changes:

  • Backports (#8558)
    • Fetching logs by hash in blockchain database (#8463)
      • Fetch logs by hash in blockchain database
      • Fix tests
      • Add unit test for branch block logs fetching
      • Add docs that blocks must already be sorted
      • Handle branch block cases properly
      • typo: empty -> is_empty
      • Remove return_empty_if_none by using a closure
      • Use BTreeSet to avoid sorting again
      • Move is_canon to BlockChain
      • typo: pass value by reference
      • Use loop and wrap inside blocks to simplify the code
      • typo: missed a comment
    • Pass on storage keys tracing to handle the case when it is not modified (#8491)
      • Pass on storage keys even if it is not modified
      • typo: account and storage query
      • Fix tests
      • Use state query directly because of suicided accounts
      • Fix a RefCell borrow issue
      • Add tests for unmodified storage trace
      • Address grumbles
      • typo: remove unwanted empty line
      • ensure_cached compiles with the original signature
    • Update wasmi and pwasm-utils (#8493)
      • Update wasmi to 0.2
      • Update pwasm-utils to 0.1.5
    • Show imported messages for light client (#8517)
    • Enable WebAssembly and Byzantium for Ellaism (#8520)
      • Enable WebAssembly and Byzantium for Ellaism
      • Fix indentation
      • Remove empty lines
    • Don't panic in import_block if invalid rlp (#8522)
      • Don't panic in import_block if invalid rlp
      • Remove redundant type annotation
      • Replace RLP header view usage with safe decoding
    • Node table sorting according to last contact data (#8541)
      • network-devp2p: sort nodes in node table using last contact data
      • network-devp2p: rename node contact types in node table json output
      • network-devp2p: fix node table tests
      • network-devp2p: note node failure when failed to establish connection
      • network-devp2p: handle UselessPeer error
      • network-devp2p: note failure when marking node as useless
  • Betalize 1.11 :) (#8475)
    • Betalize 1.11 :)
    • Update Gitlab scripts
    • Use master as gitlab latest
    • Fix snap builds (#8483)
    • Update hardcodedSync for Ethereum, Kovan, and Ropsten (#8489)
  • Fix typos in vm description comment (#8446)
  • Add changelog for 1.9.7 and 1.10.2 (#8460)
  • Fix docker build (#8462)
  • Parityshell::open Return result (#8377)
  • Return error in case eth_call returns VM errors (#8448)
  • Update wasmi (#8452)
  • Allow 32 bit pipelines to fail (#8454)
  • Update Cargo hidapi-rs dependency (#8447)
  • Private transactions processing error handling (#8431)
  • Improve VM executor stack size estimation rules (#8439)
  • Block reward contract (#8419)
  • Permission fix (#8441)
  • Use forked app_dirs crate for reverted Windows dir behavior (#8438)
  • Remove From::from. (#8390)
  • Move ethcore::Error to error_chain (#8386)
  • Changelogs for 1.9.6 and 1.10.1 (#8411)
  • Fix receipts stripping. (#8414)
  • Typo, docs parity_chainId: empty string -> None (#8434)
  • Update zip to 0.3 (#8381)
  • Fix TODO comments (#8413)
  • Replace legacy Rlp with UntrustedRlp and use in ethcore rlp views (#8316)
  • Tokio-core v0.1.16 -> v0.1.17 (#8408)
  • More code refactoring to integrate Duration (#8322)
  • Remove Tendermint extra_info due to seal inconsistencies (#8367)
  • Use tokio::spawn in secret_store listener and fix Uri (#8373)
  • Unify and limit rocksdb dependency places (#8371)
  • Clarify that windows need perl and yasm (#8402)
  • New Transaction Queue implementation (#8074)
  • Some tweaks to main.rs for parity as a library (#8370)
  • Handle queue import errors a bit more gracefully (#8385)
  • Ci: fix change detection in master builds (#8382)
  • Fix config test by adding no-hardcodec-sync (#8380)
  • Fixed unsafe shell call on windows (#8372)
  • Parity uses winapi 0.3.4 (#8366)
  • No hardcoded client name (#8368)
  • Add util/mem to zero out memory on drop. (#8356)
  • Use atty instead of isatty (#8365)
  • Increase gasLimit to 8'000'000 (#8362)
  • Util fake-fetch (#8363)
  • Bump snappy and ring, use single rayon version, closes #8296 (#8364)
  • Use async hyper server in secret_store and upgrade igd (#8359)
  • Enable UI by default, but only display deprecation notice (#8262)
  • Ethcrypto renamed to ethcore-crypto and moved to ethcore dir (#8340)
  • Use hyper 0.11 in ethcore-miner and improvements in parity-reactor (#8335)
  • Ethcore-sync (#8347)
  • Rpc, eth_filter: return error if the filter id does not exist (#8341)
  • Ethcore-stratum crate moved to ethcore directory (#8338)
  • Secretstore: get rid of engine.signer dependency (#8173)
  • Whisper cli (#8201)
  • Replace_home for password_files, reserved_peers and log_file (#8324)
  • Add Ethereum Social support (#8325)
  • Private transactions integration pr (#6422)
  • Decouple rocksdb dependency from ethcore (#8320)
  • Remove the clone operation of code_cache (#8334)
  • Fix the JSONRPC API not running with the light client (#8326)
  • Read registry_address from block with REQUEST_CONFIRMATIONS_REQUIRED (#8309)
  • Tweaks and add a Dockerfile for Android (#8036)
  • Use associated type M::Error instead of Error (#8308)
  • Remove InvalidParentHash in favor of assert! (#8300)
  • Bump proc macro deps (#8310)
  • Decouple timestamp open-block-assignment/verification to Engine (#8305)
  • Validate if gas limit is not zero (#8307)
  • Implement Easthub chain spec (#8295)
  • Update some dependencies (#8285)
  • Ethcore now uses Rayon 1.0 as a dependency (#8296) (#8304)
  • Upgrader remove raw unwrap and bump semver (#8251)
  • Cleaner binary shutdown system (#8284)
  • Ethcore now uses rayon to 0.9 as a dependency (#8296) (#8302)
  • Include suicided accounts in state diff (#8297)
  • Remove evmjit (#8229)
  • Build: fix updater rand dependency in Cargo.lock (#8298)
  • Honor --max-peers if --min-peers is not specified (#8087)
  • Auto-updater improvements (#8078)
  • Dapps-fetcher: calculate keccak in-flight while reading the response (#8294)
  • Cleanup Ellaism bootnodes (#8276)
  • Allow unsafe js eval on Parity Wallet. (#8204)
  • Remove RefCell from Header (#8227)
  • Typo fix: todo with no content (#8292)
  • Revert "ci: disable link-dead-code in coverage build (#8118)" (#8287)
  • Bump ethabi & ethereum-types. (#8258)
  • Allow customization of max WS connections. (#8257)
  • Supress TemporaryInvalid verification failures. (#8256)
  • Return null number for pending block in eth_getBlockByNumber (#8281)
  • Use constant durations (#8278)
  • Typo fix: Mode doc - RLP should be client (#8283)
  • Eth_uninstallfilter should return false for non-existent filter (#8280)
  • Update app_dirs to 1.2.1 (#8268)
  • Add missing license header for runtime.rs (#8252)
  • Warp-only sync with warp-barrier [blocknumber] flag. (#8228)
  • Replace all Rlp usages with UntrustedRlp except for ethcore views (#8233)
  • Add test for ethstore-cli, fixes #8027 (#8187)
  • Update musicoin spec in line with gmc v2.6.2 (#8242)
  • Fixed ethcore tx_filter (#8200)
  • Update CLI help for jsonrpc-apis, ws-apis and ipc-apis (#8234)
  • Remove network stats (#8225)
  • Node-filter does not use ChainNotify (#8231)
  • Implement hardcoded sync in the light client (#8075)
  • Update some of the dependencies for WASM (#8223)
  • Bump wasmi version (#8209)
  • Updated jsonrpc to point to the 1.11 branch (#8180)
  • Change name Wallet -> UI (#8164)
  • Introduce Parity UI (#8202)
  • Update Changelogs (#8175)
  • Returns number of topcis to take fr.. (#8199)
  • Make docopt usage non-const (#8189)
  • Avoid allocations when computing triehash. (#8176)
  • Handle rlp decoding Result in patricia trie (#8166)
  • Bump wasm libs (#8171)
  • Re-enable signer, even with no UI. (#8167)
  • Update daemonize (#8165)
  • Some tiny modifications. (#8163)
  • Secretstore: store key author address in db (#7887)
  • Rename DatabaseValueView::new to from_rlp (#8159)
  • Dapps: update parity-ui dependencies (#8160)
  • Disable UI by default. (#8105)
  • Fix wasmi x32 builds (#8155)
  • Postpone Kovan hard fork (#8137)
  • Secretstore: ability to identify requester via Public/Address (#7886)
  • Optional dependency on secp256k1 for ethcrypto (#8109)
  • Network: init discovery using healthy nodes (#8061)
  • Check one step deeper if we're on release track branches (#8134)
  • Explicitly mention pruning_history uses RAM (#8130)
  • Remove ethcrypto::{en,de}crypt_single_message. (#8126)
  • Fix typo (#8124)
  • Secret_store: use ecies::encrypt/ecies::decrypt. (#8125)
  • Fix comment for fn gas() in wasm/runtime (#8122)
  • Structured rlp encoding in journaldb (#8047)
  • Ci: disable link-dead-code in coverage build (#8118)
  • Fix trace filter returning returning unrelated reward calls, closes #8070 (#8098)
  • Const time comparison (#8113)
  • Replace reqwest with hyper (#8099)
  • More dos protection (#8104)
  • Remove the time dependency where possible (#8100)
  • Fix comment for gas extern in Wasm runtime (#8101)
  • Replace std::env::temp_dir with tempdir in tests (#8103)
  • Fix Cargo.lock not parsable (#8102)
  • Additional data in EVMTestClient (#7964)
  • Update serde, serde-derive, ethabi-derive, syn, quote and rlp_derive (#8085)
  • Ethcore-service (#8089)
  • [contract-client] refactor (#7978)
  • Revert removing blooms (#8066)
  • Ethcore test::helpers cleanup (#8086)
  • Add some dos protection (#8084)
  • Wasm libraries bump (#7970)
  • Echo back the message hash of a ping in the pong request (#8042)
  • Add Kovan WASM activation blocknumber (#8057)
  • [ethkey] Unify debug/display for Address/Public/Secret (#8076)
  • Limit incoming connections. (#8060)
  • Max code size on Kovan (#8067)
  • Updater: apply exponential backoff after download failure (#8059)
  • Make blockchain functions more idiomatic, avoid needless writes to cache_man (#8054)
  • Make patricia-trie more idiomatic and remove redundant code (#8056)
  • Abstract devp2p (#8048)
  • Update refs to shell (#8051)
  • Fix cache & snapcraft CI build (#8052)
  • Prelude to the block module cleanup (#8025)
  • Add MCIP-6 Byzyantium transition to Musicoin spec (#7841)
  • Bump master to 1.11.0 (#8021)
  • client refactoring (#7038)
  • [hardware wallet] sleeping -> pollling (#8018)
  • Fixed broken link in README (#8012)
  • Support parity protocol. (#8035)
  • Add changelog for 1.8.11 stable and 1.9.4 beta (#8017)
  • Fix for verify_block_basic crashing on invalid transaction rlp (#8032)
  • Extract the hard dependency on rocksdb from the light client (#8034)
  • Fixed parsing ethash seals and verify_block_undordered (#8031)
  • Fixed ethstore sign (#8026)
  • Ci: Fix cargo cache (#7968)
  • Update ref to new shell (#8024)

Previous releases