Skip to content

Releases: zcash/zcash

v2.0.7-3

25 Sep 01:46
v2.0.7-3
e3983af
Compare
Choose a tag to compare

This release fixes a security issue described at
https://z.cash/support/security/announcements/security-announcement-2019-09-24/ .

Users should upgrade their nodes to this version immediately and discontinue use of older versions.

Please note that the issue does not put funds at risk of theft or counterfeiting.

The service period of this release is shorter than normal due to the upcoming
v2.1.0 Blossom release. The End-of-Service of v2.0.7-3 will occur at block height
653012, expected to be on 2019-12-10.

Shrinking of debug.log files is temporarily disabled

In previous versions, zcashd would shrink the debug.log file to 200 KB on
startup if it was larger than 10 MB. This behaviour, and the -shrinkdebugfile
option that controlled it, has been disabled.

v2.0.7-2

02 Sep 07:55
v2.0.7-2
Compare
Choose a tag to compare

Pre-Blossom EOS Halt

v2.0.7-2 contains a shortened EOS halt so that it is in alignment with v2.0.7.

Testnet Blossom Rewind

Testnet users needed to upgrade to 2.0.7 before Blossom activated. The amount of notice given to these users was brief, so many were not able to upgrade in time. These users may now be on the wrong branch. v2.0.7-2 adds an "intended rewind" to prevent having to manually reindex when reconnecting to the correct chain.

Insight Explorer Logging Fix

Fixed an issue where ERROR: spent index not enabled would be logged unnecessarily.

v2.0.7

20 Aug 05:24
v2.0.7
Compare
Choose a tag to compare

Shorter Block Times

Shorter block times are coming to Zcash! In the v2.0.7 release we have implemented ZIP208 which will take effect when Blossom activates. Upon activation, the block times for Zcash will decrease from 150 seconds to 75 seconds, and the block reward will decrease accordingly. This affects at what block height halving events will occur, but should not affect the overall rate at which Zcash is mined. The total founders' reward stays the same, and the total supply of Zcash is decreased only microscopically due to rounding.

Blossom Activation on Testnet

The v2.0.7 release includes Blossom activation on testnet, bringing shorter block times. The testnet Blossom activation height is 584000.

Insight Explorer

Changes needed for the Insight explorer have been incorporated into Zcash. This is an experimental feature and therefore is subject to change. To enable, add the experimentalfeatures=1, txindex=1, and insightexplorer=1 flags to zcash.conf. This feature adds several RPCs to zcashd which allow the user to run an Insight explorer.

v2.0.6

01 Jul 17:42
v2.0.6
Compare
Choose a tag to compare

Zcashd v2.0.6 is a maintenance release, focussing on code clean-ups and minor bug fixes. It precedes v2.0.7 which is planned to include the implementation of the Blossom upgrade for testnet.

This release will be supported until block 617512, expected to arrive around October 9th 2019, at which point the software will end-of-support halt and shut down.

Summary of the changes included in this release:

  • Debian Stretch is now a supported platform.
  • Fixed a bug in z_mergetoaddress, that prevented users sending from ANY_SPROUT or ANY_SAPLING when a wallet contained both Sprout and Sapling notes (#3909).
  • Insight Explorer: we have been incorporating changes to support the Insight Explorer directly from
    zcashd. v2.0.6 includes the first change to an RPC method.

For a more complete list of changes for 2.0.6, see our 2.0.6 milestone.

v2.0.5-2

21 May 21:22
Compare
Choose a tag to compare

This is a hotfix release that all users are encouraged to upgrade to, especially users who updated to 2.0.5 or 2.0.5-1.

Zcashd v2.0.5-2 will be supported until block 598012, expected to arrive around September 5th 2019, at which point the software will end-of-support halt and shut down.

Summary of the changes included in this release:

  1. We prevented zcashd from trying to send migration transactions when it is syncing. (#3987)
  2. We increased the expiry height for migration transactions to 450. (#3995)
  3. We added additional logging to the Sprout to Sapling migration tool. (#4002)

For a more complete list of changes for this hotfix and 2.0.5, see our 2.0.5 milestone.

v2.0.5-1

21 May 21:22
Compare
Choose a tag to compare

This is a hotfix release that all users are encouraged to upgrade to, especially users who updated to 2.0.5.

Zcashd v2.0.5-1 will be supported until block 593762, expected to arrive around 28th August 2019, at which point the software will end-of-support halt and shut down.

Summary of the changes included in this release:

  1. We fixed an issue that would cause the Zcashd to crash when calling z_getmigrationstatus while a wallet's migration transactions were in the mempool. (#3987)
  2. We fixed an where the wallet would incorrectly calculate the amount to migrate and would not send as many migration transactions as it could each round of migration. (#3990)
  3. We fixed an issues that could cause Zcashd to crash while generating migration transactions if a wallet had a large number of sprout notes. (#3990)

For a more complete list of changes for this hotfix and 2.0.5, see our 2.0.5 milestone.

v2.0.5

21 May 21:22
Compare
Choose a tag to compare

UPDATE: We are aware of an issue that causes nodes running Sprout->Sapling migrations in v2.0.5 to occasionally crash. Users are advised to upgrade to v2.0.5-1, which fixes the issue.

This release of Zcashd v2.0.5 adds the Sprout to Sapling migration tool, introduces a new consensus rule on mainnet to reject blocks that violate turnstiles, and adds 64-bit ARMv8 support. Zcashd v2.0.5 will be supported until block 592512, expected to arrive around 26th August 2019, at which point the software will end-of-support halt and shut down.

Notable Changes in this Release

Sprout to Sapling Migration Tool

This release includes the addition of a tool that will enable users to migrate shielded funds from the Sprout pool to the Sapling pool while minimizing information leakage.

The migration can be enabled using the RPC z_setmigration or by including -migration in the zcash.conf file. Unless otherwise specified funds will be migrated to the wallet's default Sapling address; it is also possible to set the receiving Sapling address using the -migrationdestaddress option in zcash.conf.

See ZIP308 for full details.

New consensus rule: Reject blocks that violate turnstile

In the 2.0.4 release the consensus rules were changed on testnet to enforce a consensus rule which marks blocks as invalid if they would lead to a turnstile violation in the Sprout or Shielded value pools.
This release enforces the consensus rule change on mainnet

The motivations and deployment details can be found in the accompanying ZIP draft and PR 3968.

Developers can use a new experimental feature -developersetpoolsizezero to test Sprout and Sapling turnstile violations. See PR 3964 for more details.

64-bit ARMv8 support

Added ARMv8 (AArch64) support. This enables users to build zcash on even more devices.

For information on how to build see the User Guide

Users on the Zcash forum have reported successes with both the Pine64 Rock64Pro and Odroid C2 which contain 4GB and 2GB of RAM respectively.

Just released, the Odroid N2 looks like a great solution with 4GB of RAM. The newly released Jetson Nano Developer Kit from Nvidia (also 4GB of RAM) is also worth a look. The NanoPC-T3 Plus is another option but for the simplest/best experience choose a board with 4GB of RAM. Just make sure before purchase thatthe CPU supports the 64-bit ARMv8 architecture.

Summary of the Changes Included in this Release

  1. Sprout to Sapling migration (#3848, #3888, #3967, #3973, #3977)
  2. Activate turnstile on mainnet (#3968)
  3. Update boost to v1.70.0 to eliminate build warning (#3951)
  4. Fix new HD seed generation for previously-encrypted wallets (#3940)
  5. Fix enable-debug build DB_COINS undefined (#3907)
  6. Update "Zcash Company" to "Electric Coin Company" (#3901)
  7. Support additional cross-compilation targets in Rust (#3505)

For a more complete list of changes, please see the 2.0.5 milestone.

Zcash 2.0.4

27 Mar 20:01
Compare
Choose a tag to compare

This release of Zcashd v2.0.4 fixes a Sprout wallet security bug, fixes miner address selection behaviour and introduces a new consensus rule on testnet to reject blocks that violate turnstiles. Zcashd v2.0.4 will be supported until block 569112, expected to arrive around 15th July 2019, at which point the software will end-of-support halt and shut down.

Notable Changes in this Release

Sprout note validation bug fixed in wallet

We include a fix for a bug in the Zcashd wallet which could result in Sprout z-addresses displaying an incorrect balance. Sapling z-addresses are not impacted by this issue.

This bug would occur if someone sending funds to a Sprout z-address intentionally sent a different amount in the note commitment of a Sprout output than the value provided in the ciphertext (the encrypted message from the sender). A symptom of this bug is the error message "logic error: witness of wrong element for joinsplit input" when attempting to send Sprout funds.

Users should install this update and then rescan the blockchain by invoking “zcashd -rescan”. Sprout address balances shown by the zcashd wallet should then be correct.

Thank you to Alexis Enston for bringing this to our attention.

Security Announcement 2019-03-19

Miner address selection behaviour fixed

Zcash inherited a bug from upstream Bitcoin Core where both the internal miner and RPC call getblocktemplate would use a fixed transparent address, until RPC getnewaddress was called, instead of using a new transparent address for each mined block. This was fixed in Bitcoin 0.12 and we have now merged the change.

Miners who wish to use the same address for every mined block, should use the -mineraddress option.

Mining Guide

New consensus rule: Reject blocks that violate turnstile (Testnet only)

Testnet nodes will now enforce a consensus rule which marks blocks as invalid if they would lead to a turnstile violation in the Sprout or Sapling value pools. The motivations and deployment details can be found in the accompanying ZIP draft.

The consensus rule will be enforced on mainnet in a future release.

Summary of the Changes Included in this Release

  1. Fix Sprout note validation bug in wallet (#3897)
  2. Fix default miner address behaviour (#3762)
  3. Add consensus rule on testnet to reject blocks that violate turnstile (#3885)
  4. Sapling benchmarks updated (#3657, #3843)
  5. Boost, OpenSSL, Rust and Proton dependencies updated (#3809). AMQP users should review the Proton security fixes.
  6. Backported 'size_on_disk' field to RPC call 'getblockchaininfo' (#3639)
  7. Docs folder updated (#3819, #3846)
  8. Security related documentation updated (#3890, #3892)

For a more complete list of changes, please see the 2.0.4 milestone.

Zcash 2.0.3

11 Feb 20:51
Compare
Choose a tag to compare

This release is intended to address security issues in libraries used by Zcash and other outstanding tickets that were in our Spring cleaning sprints.

Notable Changes in this Release

[CVE-2019-6250] Update libzmq version

A pointer overflow, with code execution, was discovered in ZeroMQ libzmq (aka 0MQ) 4.2.x and 4.3.x before 4.3.1. A v2_decoder.cpp zmq::v2_decoder_t::size_ready integer overflow allows an authenticated attacker to overwrite an arbitrary amount of bytes beyond the bounds of a buffer, which can be leveraged to run arbitrary code on the target system. This update addresses the vulnerability when ZeroMQ is enabled, which is not enabled by default.

Bitcoin 0.12 Performance Improvements

This change makes sigcache faster, more efficient, and larger. It also reduces the number of database lookups when processing new transactions.

Summary of the Changes Included in this Release

  1. Update ZMQ to 4.3.1 (#3789)
  2. Fix Tx expiring soon test (#3784)
  3. ZMQ: add flag to publish all checked blocks (#3737)
  4. wallet: Skip transactions with no shielded data in CWallet::SetBestChain() (#3711)
  5. Update z_mergetoaddress documentation (#3699)
  6. Allow user to ask server to save the Sprout R1CS to a file during startup (#3691)
  7. On shutdown, wait for miner threads to exit (join them) (#3647)
  8. Update for Mac OS local rpc-tests
  9. Bitcoin 0.12 performance improvements (#3263)

For a more complete list of changes, please see the 2.0.3 milestone.

For information on specific Sapling RPC parameter changes, please see the Network Upgrade Developer guide.

Zcash 2.0.2

30 Nov 20:39
Compare
Choose a tag to compare

This release adds further support for Sapling in the zcashd wallet RPC and mitigates an issue identified by an external auditor. Information on the Sapling network upgrade (which activated on Oct 28th 2018) can be found below:

Notable Changes in this Release

RPC z_getnewaddress now returns a Sapling address by default

Previously when calling z_getnewaddress a Sprout shielded address would be returned by default. With this release, a Sapling shielded address will be returned by default.

Transactions expiring soon will not be propagated

To address auditor issue ZEC-013 which identified a potential denial-of-service vector related to expiry height, nodes will no longer propagate transactions which are expiring soon, defined as within the next 3 blocks. For example, if the current block height is 99, and the next block to be mined is 100, a transaction with an expiry height of 100, 101, 102 will be considered "expiring soon" and will be rejected by the mempool. A transaction with an expiry height of 103 will be accepted. This does not impact transactions which have disabled expiry height (by setting to 0).

Summary of the Changes Included in this Release

  1. Add Sapling support to RPC z_mergetoaddress (#3619)
  2. Mitigate ZEC-013 transaction expiry height related DoS vector (#3689)
  3. Return Sapling addresses by default when calling RPC z_getnewaddress (#3680)
  4. Add Sapling spend and output description benchmarks to RPC zcbenchmark (#3611)
  5. Fix bug with Sapling chain value tracking (#3684)
  6. Fix language encoding bug with parameter paths on Windows (#3633)
  7. Backport from upstream the relaying of blocks when pruning (#2815)
  8. Don't ban peers when loading pre-Sapling blocks during syncing (#3670)
  9. Fix bug with contents of default memo in Sapling (#3605)
  10. Update tests for Sapling (#3585, #3588)

For a more complete list of changes, please see the 2.0.2 milestone.

For information on specific Sapling RPC parameter changes, please see the Network Upgrade Developer guide.