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
andaddress
to use. - All whisper RPC APIs are enabled and can be directly acessed.
- 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.
- This changes the behaviors of
- 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
- Parity now provides a private transactions system.
- Please, check out our wiki to get and overview and setup instructions.
- CORE: New Transaction Queue implementation #8074
- Verification is now done in parallel.
- Previous queue had
O(1)
time to get pending set, butO(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 haveO(n * log(senders))
pending set time (with cache) andO(tx_per_sender)
(usually withinlog(tx_per_sender)
) insertion time. Scoring
andReadiness
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 removefuture
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.
- Enables warp-only sync in case
- 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.
- The user interface is now disabled by default. It still can be activated with the
- CONFIGURATION: Auto-updater improvements #8078
- Added
--auto-update-delay
to randomly delay updates byn
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.
- Added
- 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.
- This activates the Ellaism Byzantium hardfork (2018-0004-byzantium) at block
- 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.
- This increases the default block gas limit on development chains to
- 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.
- This activates the Musicoin Byzantium hardfork (MCIP-6) at block
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
- Fetching logs by hash in blockchain database (#8463)
- Betalize 1.11 :) (#8475)
- 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)
- CHANGELOG-1.10 (stable)
- CHANGELOG-1.9 (EOL: 2018-05-09)
- CHANGELOG-1.8 (EOL: 2018-03-22)
- CHANGELOG-1.7 (EOL: 2018-01-25)
- CHANGELOG-1.6 (EOL: 2017-10-15)
- CHANGELOG-1.5 (EOL: 2017-07-28)
- CHANGELOG-1.4 (EOL: 2017-03-13)
- CHANGELOG-1.3 (EOL: 2017-01-19)
- CHANGELOG-1.2 (EOL: 2016-11-07)
- CHANGELOG-1.1 (EOL: 2016-08-12)
- CHANGELOG-1.0 (EOL: 2016-06-24)
- CHANGELOG-0.9 (EOL: 2016-05-02)