Skip to content

Releases: backendmaster/zero

v1.0.14

08 Jan 12:38
Compare
Choose a tag to compare

This release include new features and security updates (v1.0.13 && 1.0.14)

Changes for ZERO 1.0.14

Notable changes

Incoming viewing keys

Support for incoming viewing keys, as described in
the Zcash protocol spec,
has been added to the wallet.

Use the z_exportviewingkey RPC method to obtain the incoming viewing key for a
z-address in a node's wallet. For Sprout z-addresses, these always begin with
"ZiVK" (or "ZiVt" for testnet z-addresses). Use z_importviewingkey to import
these into another node.

A node that possesses an incoming viewing key for a z-address can view all past
transactions received by that address, as well as all future transactions sent
to it, by using z_listreceivedbyaddress. They cannot spend any funds from the
address. This is similar to the behaviour of "watch-only" t-addresses.

z_gettotalbalance now has an additional boolean parameter for including the
balance of "watch-only" addresses (both transparent and shielded), which is set
to false by default. z_getbalance has also been updated to work with
watch-only addresses.

  • Caution: for z-addresses, these balances will not be accurate if any
    funds have been sent from the address. This is because incoming viewing keys
    cannot detect spends, and so the "balance" is just the sum of all received
    notes, including ones that have been spent. Some future use-cases for incoming
    viewing keys will include synchronization data to keep their balances accurate
    (e.g. #2542).

Changelog

Anthony Towns (1):
Add configure check for -latomic

Cory Fields (12):
c++11: don't throw from the reverselock destructor
c++11: CAccountingEntry must be defined before use in a list
c++11: fix libbdb build against libc++ in c++11 mode
depends: use c++11
depends: bump OSX toolchain
build: Split hardening/fPIE options out
build: define base filenames for use elsewhere in the buildsystem
build: quiet annoying warnings without adding new ones
build: fix Windows builds without pkg-config
build: force a c++ standard to be specified
build: warn about variable length arrays
build: add --enable-werror option

Jack Grigg (40):
Squashed 'src/secp256k1/' changes from 84973d3..6ad5cdb
Use g-prefixed coreutils commands if they are available
Replace hard-coded defaults for HOST and BUILD with config.guess
Remove manual -std=c++11 flag
Replace "install -D" with "mkdir -p && install"
Check if OpenMP is available before using it
[libsnark] Use POSIX-compliant ar arguments
Include endian-ness compatibility layer in Equihash implementation
build: Split hardening/fPIE options out in Zcash-specific binaries
Change --enable-werror to apply to all warnings, use it in build.sh
Move Zcash flags into configure.ac
ViewingKey -> ReceivingKey per zcash/zips#117
Implement viewing key storage in the keystore
Factor out common logic from CZCPaymentAddress and CZCSpendingKey
Track net value entering and exiting the Sprout circuit
Add Sprout value pool to getblock and getblockchaininfo
Apply -fstack-protector-all to libsnark
Add Rust and Proton to configure options printout
Clarify operator precedence in serialization of nSproutValue
Remove nSproutValue TODO from CDiskBlockIndex
Add Base58 encoding of viewing keys
Implement viewing key storage in the wallet
Add RPC methods for exporting/importing viewing keys
Update wallet logic to account for viewing keys
Add watch-only support to Zcash RPC methods
Modify zcrawkeygen RPC method to set "zcviewingkey" to the viewing key
Cleanup: Add braces for clarity
Add cautions to z_getbalance and z_gettotalbalance help text about viewing keys
Add release notes for incoming viewing keys
Create release notes starting from the previous non-beta non-RC release
release-notes.py: Remove unnecessary parameter
Regenerate previous release notes to conform to new format
Exclude beta and RC release notes from author tallies
Fix pyflakes warnings in zkey_import_export RPC test
make-release.py: Versioning changes for 1.0.14-rc1.
make-release.py: Updated manpages for 1.0.14-rc1.
make-release.py: Updated release notes and changelog for 1.0.14-rc1.
Update release process
make-release.py: Versioning changes for 1.0.14.
make-release.py: Updated manpages for 1.0.14.

Jay Graber (3):
Add cli and rpc examples for z_sendmany
Fix cli help result for z_shieldcoinbase
Add rpc test that exercises z_importkey

Jonas Schnelli (1):
Add compile and link options echo to configure

Luke Dashjr (4):
depends: Use curl for fetching on Linux
Travis: Use curl rather than wget for Mac SDK
Bugfix: depends/Travis: Use --location (follow redirects) and --fail [on HTTP error response] with curl
Travis: Use Blue Box VMs for IPv6 loopback support

MarcoFalke (2):
Fix url in .travis.yml
[depends] builders: No need to set -L and --location for curl

Per Grön (2):
Deduplicate test utility method wait_and_assert_operationid_status
Print result of RPC call in test only when PYTHON_DEBUG is set

René Nyffenegger (1):
Use AC_ARG_VAR to set ARFLAGS.

Simon Liu (5):
RPC dumpwallet and z_exportwallet updated to no longer allow overwriting an existing file.
Add documentation for shielding coinbase utxos.
Add documentation for payment disclosure.
Closes zcash#2759. Fixes broken pipe error with QA test wallet.py.
Closes zcash#2746. Payment disclosure blobs now use 'zpd:' prefix.

Wladimir J. van der Laan (6):
build: Enable C++11 build, require C++11 compiler
build: update ax_cxx_compile_stdcxx to serial 4
test: Remove java comparison tool
build: Remove check for openssl/ec.h
devtools: Check for high-entropy ASLR in 64-bit PE executables
build: supply -Wl,--high-entropy-va

daniel (1):
add powerpc build support for openssl lib

fanquake (3):
[build-aux] Update Boost & check macros to latest serials
[depends] Add -stdlib=libc++ to darwin CXX flags
[depends] Set OSX_MIN_VERSION to 10.8

kozyilmaz (1):
empty spaces in PATH variable cause build failure

syd (13):
Upgrade googletest to 1.8.0
Get the sec-hard tests to run correctly.
Update libsodium from 1.0.11 to 1.0.15
Remove Boost conditional compilation.
Update to address @daira comments wrt fixing configure.ac
Get rid of consensus.fPowAllowMinDifficultyBlocks.
Don't compile libgtest.a when building libsnark.
Add gtests to .gitignore
Get rid of fp3 from libsnark, it is not used.
InitGoogleMock instead of InitGoogleTest per CR
Get rid of underscore prefixes for include guards.
Rename bash completion files so that they refer to zcash and not bitcoin.
Fix libsnark test failure.

Changes for ZERO 1.0.13

This release introduces new features, performance improvements and bug fixes. Our new low memory prover reduces memory usage by 43% when generating a shielded transaction, from 3 GB to 1.7 GB. An experimental feature, payment disclosure, can help services better manage their shielded payments. We also now fully support the z_shieldcoinbase RPC call to help miners sweep up and shield their coinbase rewards.

Summary of the changes included in this release:

Auto-senescence cycle has been reduced from 18 to 16 weeks. (zcash#2733)
Low-memory prover reduces JoinSplit creation memory usage from 3 GB to 1.7GB. (zcash#2670, stats)
Payment disclosure has been added as an experimental feature with new RPC calls z_getpaymentdisclosure and z_validatepaymentdisclosure (zcash#2519). This feature enables a sender to prove that a payment was made to a recipient, which can help services better manage their shielded payments. See the documentation for a full explanation of this new feature.
z_shieldcoinbase is now a fully supported RPC call (zcash#2692). See an explanation of this command here.
Libsnark has been brought into the source repository tree. (zcash#2652)
Fixed potential shutdown errors have been fixed. (zcash#2555)
User interface messages have been cleaned up. (zcash#2548, zcash#2150, zcash#2649)
The extended QA tests have been migrated to Zcash. (zcash#2533)
A workaround has been implemented in the test wallet_protectcoinbase, which was previously failing on some platforms. (zcash#2698)
Benchmarking has been updated with new performance measurements and fixes. (zcash#2645, zcash#2659, zcash#2377, zcash#2687, zcash#2665)
For a more complete list of changes, see our 1.0.13 milestone.