Parity-Ethereum v2.0.0 "Ethereum" (2018-07-18)
This is the Parity-Ethereum//v2.0.0-beta release, code-named "Ethereum", YOLO!
Please note, Parity-Ethereum//v2.0.0 comes with some breaking changes that might be interrupting your usual workflows. Please mind them before upgrading:
- The Parity client is now called Parity-Ethereum to distinguish it from other software we provide, such as Parity-Bitcoin and Parity-Polkadot (#9052).
- The public node and the user interface (a.k.a. "Parity Wallet") are completely removed from the Parity-Ethereum//v2.0.0 client (#8758, #8783, #8641). Users interested running a Parity Wallet, check out the stand-alone UI application.
- The DApps subsystem was completely removed from the client (#9017, #9107). Again, use the standalone wallet if you wish to continue working with them.
- Windows and MacOS versions are not available as installer anymore and the system trays were removed (#8778). If you desire to run Parity-Ethereum on Windows or MacOS, you still can get the binaries from our mirrors. Furthermore, MacOS users are encouraged to use our homebrew tap.
- Linux versions are not available as deb-/rpm-packages anymore (#8887). Communities are encouraged to provide their own packages or maintain their own repositories, such as Arch Linux does for instance.
- MD5-checksums are completely replaced by SHA256-checksums (#8884). This is also reflected on our homepage by now.
- Deprecated, removed, or replaced CLI-options are hidden from client
--help
to further discourage their usage (#8967).
Additional noteworthy changes to the client:
- Tracing of precompiled contracts when the transfer value is not zero (#8486)
- Parity-Ethereum as a library now provides APIs for running full and light nodes and a C interface (#8412). Shared crates are now available in Parity-Common (#9083).
- The Morden database and keys are now moved to a
./Morden
subdirectory instead of./test
which is by default used by Ropsten (#8621). - Adding support for having an on-chain contract calculating the block rewards (#8419).
- Enforcing warp-only synchronization with
--warp-barrier [blocknumber]
flag (#8228). - Adding a fork-choice and meta-data framework suitable for implementing Casper (#8401).
- Returning an error if RLP-size of a transaction exceeds a 300kB limit (#8473).
- Warp-sync is now resumable by keeping the downloaded chunks between client restarts. Also, it seeds downloaded snapshots for other nodes (#8544).
- The developer chain
--chain dev
now contains Byzantium features, this breaks existing developer chains (#8717). - The EIP150, EIP160 and EIP161 forks are now to be specified in common params section of a chain-spec file instead of the Ethash params to enable these features on non-proof-of-work chains (#8614). Please update your chain specs.
- Allowing to disable local-by-default for transactions with new configurations (#8882).
- Never drop local transactions from different senders (#9002).
- Optimize pending transactions filter and fix ethstats reporting of pending transactions (#9026).
- Add separate database directory for light client allowing to run full and light nodes at the same time (#9064).
If you are upgrading directly from versions 1.10.9 or earlier, please note important changes to our transaction-queue implementation, namely:
- The pool now limits transactions per-sender (see
--tx-queue-per-sender
), local transactions also have to obey that limit. Consider increasing the limit via CLI-flag when running benchmarks or sending a lot of transactions at once. - In case the pool is full, transactions received over the network, but originating from accounts that you have private keys for might not get accepted to the pool any more with higher priority. Consider running with larger pool size or submitting the transactions directly on the node via
eth_sendRawTransaction
.
The full list of included changes:
- Backports to 2.0.0-beta (#9094)
- Parity-version: betalize 2.0
- Multiple improvements to discovery ping handling (#8771)
- Discovery: Only add nodes to routing table after receiving pong.
- Discovery: Refactor packet creation into its own function.
- Discovery: Additional testing for new add_node behavior.
- Discovery: Track expiration of pings to non-yet-in-bucket nodes.
- Discovery: Verify echo hash on pong packets.
- Discovery: Track timeouts on FIND_NODE requests.
- Discovery: Retry failed pings with exponential backoff.
- !fixup Use slice instead of Vec for request_backoff.
- Add separate database directory for light client (#9064)
- Add separate default DB path for light client (#8927)
- Improve readability
- Revert "Replace
std::env::home_dir
withdirs::home_dir
(#9077)" (#9097)- Revert "Replace
std::env::home_dir
withdirs::home_dir
(#9077)"- This reverts commit 7e77932.
- Restore some of the changes
- Update parity-common
- Revert "Replace
- Offload cull to IoWorker. (#9099)
- Fix work-notify. (#9104)
- Update hidapi, fixes #7542 (#9108)
- Docker: add cmake dependency (#9111)
- Update light client hardcoded headers (#9098)
- Insert Kovan hardcoded headers until 7690241
- Insert Kovan hardcoded headers until block 7690241
- Insert Ropsten hardcoded headers until 3612673
- Insert Mainnet hardcoded headers until block 5941249
- Make sure to produce full blocks. (#9115)
- Insert ETC (classic) hardcoded headers until block 6170625 (#9121)
- Fix verification in ethcore-sync collect_blocks (#9135)
- Completely remove all dapps struct from rpc (#9107)
- Completely remove all dapps struct from rpc
- Remove unused pub use
evm bench
fix broken dependencies (#9134)evm bench
use valid dependencies- Benchmarks of the
evm
used stale versions of a couple a crates that this commit fixes! - Fix warnings
- Update snapcraft.yaml (#9132)
- Parity Ethereum 2.0.0 (#9052)
- Don't fetch snapshot chunks at random (#9088)
- Remove the dapps system (#9017)
- Fix nightly warnings (#9080)
- Db: remove wal disabling / fast-and-loose option. (#8963)
- Transactions hashes missing in trace_replayBlockTransactions method result #8725 (#8883)
- Delete crates from parity-ethereum and fetch them from parity-common instead (#9083)
- Updater verification (#8787)
- Phrasing, precisions and typos in CLI help (#9060)
- Some work towards iOS build (#9045)
- Clean up deprecated options and add CHECK macro (#9036)
- Replace
std::env::home_dir
withdirs::home_dir
(#9077) - Fix warning in secret-store test (#9074)
- Seedhashcompute remove needless
new
impl (#9063) - Remove trait bounds from several structs (#9055)
- Docs: add changelog for 1.10.9 stable and 1.11.6 beta (#9069)
- Enable test in
miner/pool/test
(#9072) - Fetch: replace futures-timer with tokio-timer (#9066)
- Remove util-error (#9054)
- Fixes for misbehavior reporting in AuthorityRound (#8998)
- A last bunch of txqueue performance optimizations (#9024)
- Reduce number of constraints for triedb types (#9043)
- Bump fs-swap to 0.2.3 so it is compatible with osx 10.11 again (#9050)
- Recursive test (#9042)
- Introduce more optional features in ethcore (#9020)
- Update ETSC bootnodes (#9038)
- Optimize pending transactions filter (#9026)
- Eip160/eip161 spec: u64 -> BlockNumber (#9044)
- Move the C/C++ example to another directory (#9032)
- Bump parking_lot to 0.6 (#9013)
- Never drop local transactions from different senders. (#9002)
- Precise HTTP or WebSockets for JSON-RPC options (#9027)
- Recently rejected cache for transaction queue (#9005)
- Make HashDB generic (#8739)
- Only return error log for rustls (#9025)
- Update Changelogs for 1.10.8 and 1.11.5 (#9012)
- Attempt to graceful shutdown in case of panics (#8999)
- Simplify kvdb error types (#8924)
- Add option for user to set max size limit for RPC requests (#9010)
- Bump ntp to 0.5.0 (#9009)
- Removed duplicate dependency (#9021)
- Minimal effective gas price in the queue (#8934)
- Parity: fix db path when migrating to blooms db (#8975)
- Preserve the current abort behavior (#8995)
- Improve should_replace on NonceAndGasPrice (#8980)
- Tentative fix for missing dependency error (#8973)
- Refactor evm Instruction to be a c-like enum (#8914)
- Fix deadlock in blockchain. (#8977)
- Snap: downgrade rust to revision 1.26.2, ref snapcraft/+bug/1778530 (#8984)
- Use local parity-dapps-glue instead of crate published at crates.io (#8983)
- Parity: omit redundant last imported block number in light sync informant (#8962)
- Disable hardware-wallets on platforms that don't support
libusb
(#8464) - Bump error-chain and quick_error versions (#8972)
- Evm benchmark utilities (#8944)
- Parity: hide legacy options from cli --help (#8967)
- Scripts: fix docker build tag on latest using master (#8952)
- Add type for passwords. (#8920)
- Deps: bump fs-swap (#8953)
- Eliminate some more
transmute()
(#8879) - Restrict vault.json permssion to owner and using random suffix for temp vault.json file (#8932)
- Print SS.self_public when starting SS node (#8949)
- Scripts: minor improvements (#8930)
- Rpc: cap gas limit of local calls (#8943)
- Docs: update changelogs (#8931)
- Ethcore: fix compilation when using slow-blocks or evm-debug features (#8936)
- Fixed blooms dir creation (#8941)
- Update hardcoded headers (#8925)
- New blooms database (#8712)
- Ethstore: retry deduplication of wallet file names until success (#8910)
- Update ropsten.json (#8926)
- Include node identity in the P2P advertised client version. (#8830)
- Allow disabling local-by-default for transactions with new config entry (#8882)
- Allow Poll Lifetime to be configured via CLI (#8885)
- Cleanup nibbleslice (#8915)
- Hardware-wallets
Clean up things I missed in the latest PR
(#8890) - Remove debian/.deb and centos/.rpm packaging scripts (#8887)
- Remove a weird emoji in new_social docs (#8913)
- Minor fix in chain supplier and light provider (#8906)
- Block 0 is valid in queries (#8891)
- Fixed osx permissions (#8901)
- Atomic create new files with permissions to owner in ethstore (#8896)
- Add ETC Cooperative-run load balanced parity node (#8892)
- Add support for --chain tobalaba (#8870)
- Fix some warns on nightly (#8889)
- Add new ovh bootnodes and fix port for foundation bootnode 3.2 (#8886)
- Secretstore: service pack 1 (#8435)
- Handle removed logs in filter changes and add geth compatibility field (#8796)
- Fixed ipc leak, closes #8774 (#8876)
- Scripts: remove md5 checksums (#8884)
- Hardware_wallet/Ledger
Sign messages
+ some refactoring (#8868) - Check whether we need resealing in miner and unwrap has_account in account_provider (#8853)
- Docker: Fix alpine build (#8878)
- Remove mac os installers etc (#8875)
- Readme.md: update the list of dependencies (#8864)
- Fix concurrent access to signer queue (#8854)
- Tx permission contract improvement (#8400)
- Limit the number of transactions in pending set (#8777)
- Use sealing.enabled to emit eth_mining information (#8844)
- Don't allocate in expect_valid_rlp unless necessary (#8867)
- Fix Cli Return Code on --help for ethkey, ethstore & whisper (#8863)
- Fix subcrate test compile (#8862)
- Network-devp2p: downgrade logging to debug, add target (#8784)
- Clearing up a comment about the prefix for signing (#8828)
- Disable parallel verification and skip verifiying already imported txs. (#8834)
- Devp2p: Move UDP socket handling from Discovery to Host. (#8790)
- Fixed AuthorityRound deadlock on shutdown, closes #8088 (#8803)
- Specify critical release flag per network (#8821)
- Fix
deadlock_detection
feature branch compilation (#8824) - Use system allocator when profiling memory (#8831)
- Added from and to to Receipt (#8756)
- Ethcore: fix ancient block error msg handling (#8832)
- Ci: Fix docker tags (#8822)
- Parity: fix indentation in sync logging (#8794)
- Removed obsolete IpcMode enum (#8819)
- Remove UI related settings from CLI (#8783)
- Remove windows tray and installer (#8778)
- Docs: add changelogs for 1.10.6 and 1.11.3 (#8810)
- Fix ancient blocks queue deadlock (#8751)
- Disallow unsigned transactions in case EIP-86 is disabled (#8802)
- Fix evmbin compilation (#8795)
- Have space between feature cfg flag (#8791)
- Rpc: fix address formatting in TransactionRequest Display (#8786)
- Conditionally compile ethcore public test helpers (#8743)
- Remove Result wrapper from AccountProvider in RPC impls (#8763)
- Update
license header
andscripts
(#8666) - Remove HostTrait altogether (#8681)
- Ethcore-sync: fix connection to peers behind chain fork block (#8710)
- Remove public node settings from cli (#8758)
- Custom Error Messages on ENFILE and EMFILE IO Errors (#8744)
- Ci: Fixes for Android Pipeline (#8745)
- Remove NetworkService::config() (#8653)
- Fix XOR distance calculation in discovery Kademlia impl (#8589)
- Print warnings when fetching pending blocks (#8711)
- Fix PoW blockchains sealing notifications in chain_new_blocks (#8656)
- Remove -k/--insecure option from curl installer (#8719)
- Ease tiny-keccak version requirements (1.4.1 -> 1.4) (#8726)
- Bump tinykeccak to 1.4 (#8728)
- Remove a couple of unnecessary
transmute()
(#8736) - Fix some nits using clippy (#8731)
- Add 'interface' option to cli (#8699)
- Remove unused function new_pow_test_spec (#8735)
- Add a deadlock detection thread (#8727)
- Fix local transactions policy. (#8691)
- Shutdown the Snapshot Service early (#8658)
- Network-devp2p: handle UselessPeer disconnect (#8686)
- Fix compilation error on nightly rust (#8707)
- Add a test for decoding corrupt data (#8713)
- Update dev chain (#8717)
- Remove unused imports (#8722)
- Implement recursive Debug for Nodes in patrica_trie::TrieDB (#8697)
- Parity: trim whitespace when parsing duration strings (#8692)
- Set the request index to that of the current request (#8683)
- Remove empty file (#8705)
- Update mod.rs (#8695)
- Use impl Future in the light client RPC helpers (#8628)
- Fix cli signer (#8682)
- Allow making direct RPC queries from the C API (#8588)
- Remove the error when stopping the network (#8671)
- Move connection_filter to the network crate (#8674)
- Remove HostInfo::client_version() and secret() (#8677)
- Refactor EIP150, EIP160 and EIP161 forks to be specified in CommonParams (#8614)
- Parity: improve cli help and logging (#8665)
- Updated tiny-keccak to 1.4.2 (#8669)
- Remove the Keccak C library and use the pure Rust impl (#8657)
- Remove HostInfo::next_nonce (#8644)
- Fix not downloading old blocks (#8642)
- Resumable warp-sync / Seed downloaded snapshots (#8544)
- Don't open Browser post-install on Mac (#8641)
- Changelog for 1.10.4-stable and 1.11.1-beta (#8637)
- Typo (#8640)
- Fork choice and metadata framework for Engine (#8401)
- Check that the Android build doesn't dep on c++_shared (#8538)
- Remove NetworkContext::io_channel() (#8625)
- Fix light sync with initial validator-set contract (#8528)
- Store morden db and keys in "path/to/parity/data/Morden" (ropsten uses "test", like before) (#8621)
- ´main.rs´ typo (#8629)
- Fix BlockReward contract "arithmetic operation overflow" (#8611)
- Gitlab test script fixes (#8573)
- Remove manually added text to the errors (#8595)
- Fix account list double 0x display (#8596)
- Typo: wrong indentation in kovan config (#8610)
- Fix packet count when talking with PAR2 peers (#8555)
- Use full qualified syntax for itertools::Itertools::flatten (#8606)
- 2 tiny modification on snapshot (#8601)
- Fix the mio test again (#8602)
- Remove inject.js server-side injection for dapps (#8539)
- Block_header can fail so return Result (#8581)
- Block::decode() returns Result (#8586)
- Fix compiler warning (#8590)
- Fix Parity UI link (#8600)
- Make mio optional in ethcore-io (#8537)
- Attempt to fix intermittent test failures (#8584)
- Changelog and Readme (#8591)
- Added Dockerfile for alpine linux by @andresilva, closes #3565 (#8587)
- Add whisper CLI to the pipelines (#8578)
- Rename
whisper-cli binary
towhisper
(#8579) - Changelog nit (#8585)
- Remove unnecessary cloning in overwrite_with (#8580)
- Handle socket address parsing errors (#8545)
- Update CHANGELOG for 1.9, 1.10, and 1.11 (#8556)
- Decoding headers can fail (#8570)
- Refactoring
ethcore-sync
- Fixing warp-sync barrier (#8543) - Remove State::replace_backend (#8569)
- Make trace-time publishable. (#8568)
- Don't block sync when importing old blocks (#8530)
- Trace precompiled contracts when the transfer value is not zero (#8486)
- Parity as a library (#8412)
- Rlp decode returns Result (#8527)
- Node table sorting according to last contact data (#8541)
- Keep all enacted blocks notify in order (#8524)
- Ethcore, rpc, machine: refactor block reward application and tracing (#8490)
- Consolidate crypto functionality in
ethcore-crypto
. (#8432) - Eip 145: Bitwise shifting instructions in EVM (#8451)
- Remove expect (#8536)
- Don't panic in import_block if invalid rlp (#8522)
- Pass on storage keys tracing to handle the case when it is not modified (#8491)
- Fetching logs by hash in blockchain database (#8463)
- Transaction Pool improvements (#8470)
- More changes for Android (#8421)
- Enable WebAssembly and Byzantium for Ellaism (#8520)
- Secretstore: merge two types of errors into single one + Error::is_non_fatal (#8357)
- Hardware Wallet trait (#8071)
- Directly return None if tracing is disabled (#8504)
- Show imported messages for light client (#8517)
- Remove unused dependency
bigint
(#8505) duration_ns: u64 -> duration: Duration
(#8457)- Return error if RLP size of transaction exceeds the limit (#8473)
- Remove three old warp boot nodes. (#8497)
- Update wasmi and pwasm-utils (#8493)
- Update hardcodedSync for Ethereum, Kovan, and Ropsten (#8489)
- Fix snap builds (#8483)
- Bump master to 1.12 (#8477)
- Don't require write lock when fetching status. (#8481)
- Use rename_all for RichBlock and RichHeader serialization (#8471)
- CHANGELOG-1.11 (stable)
- CHANGELOG-1.10 (EOL: 2018-07-18)
- 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)