Browse Source

Update versions and release notes.

pull/4/head
Sean Bowe 8 years ago
parent
commit
a6770caa45
  1. 2
      doc/README.md
  2. 69
      doc/release-notes/release-notes-0.11.2.z3.md
  3. 71
      doc/release-process.md

2
doc/README.md

@ -1,4 +1,4 @@
Zcash Core 0.11.2.z2
Zcash Core 0.11.2.z3
====================
[Zcash](https://z.cash/) is the Zcash client. It downloads and stores the entire history of Zcash transactions (which is currently several GBs); depending on the speed of your computer and network connection, the synchronization process can take anywhere from a few hours to a day or more.

69
doc/release-notes/release-notes-0.11.2.z3.md

@ -0,0 +1,69 @@
Daira Hopwood (1):
zkSNARK: Add constraint that the total value in a JoinSplit is a 64-bit integer.
Nathan Wilcox (4):
Add a depends description for googletest.
Add a zcash-gtest binary to our build with a single tautological test.
Add coverage support scoped to only the zcash-gtest run; invoke with make zcash-cov; make cov is a superset.
Add googlemock 1.7.0 dependency.
Sean Bowe (49):
Add serialization for primitive boost::optional<T>.
New implementation of incremental merkle tree
Integrate new incremental merkle tree implementation into consensus.
Test old tree along with new tree as much as possible.
Deprecate the old tree and remove old tree tests from the test suite.
Initialize curve/field parameters in case another test hasn't done so.
Improve well-formedness checks and add additional serialization/deserialization tests.
Add more well-formedness checks/tests to tree.
Make appending algorithm more succinct.
Move incremental merkle tree tests to zcash-gtest.
NoteEncryption implementation and integration, removal of ECIES and crypto++ dependencies.
Move NoteEncryption tests to gtest suite.
Add additional tests for ephemeral key behavior.
Clarify the usage of decryption API.
Check exception has specific string message.
Small nit fixes
Run `zcash-gtest` in `make check` and fix performance tests.
Perform zerocash tests as part of full-test-suite, in preparation for removal of zerocash waterfall.
Distinguish the failure cases of wfcheck in tree.
Change ciphertext length to match protocol spec, and refactor the use of constants.
Initialize libsodium in the gtest suite.
Introduce new `libzcash` Zcash protocol API and crypto constructions surrounding the zkSNARK circuit.
zkSNARK: Foundations of circuit design and verification logic.
zkSNARK: Add "zero" constant variable.
zkSNARK: Enforce spend-authority of input notes.
zkSNARK: Enforce disclosure of input note nullifiers
zkSNARK: Authenticate h_sig with a_sk
zkSNARK: Enforce that new output notes have unique `rho` to prevent faerie gold attack.
zkSNARK: Enforce disclosure of commitments to output notes.
zkSNARK: Ensure that values balance correctly.
zkSNARK: Witness commitments to input notes.
zkSNARK: Enforce merkle authentication path from nonzero-valued public inputs to root.
libzcash: Add tests for API
Remove scriptPubKey/scriptSig from CPourTx, and add randomSeed.
Transplant of libzcash.
Added public zkSNARK parameter generation utility.
Stop testing old tree against new tree.
Remove nearly all of libzerocash.
Update public zkSNARK parameters for new circuit.
Fix performance measurements due to modified transaction structure.
Remove the zerocash tests from the full test suite.
Protect-style joinsplits should anchor to the latest root for now, until #604 is resolved.
Use inheritance for PRF gadgets.
Rename ZCASH_ constants to ZC_.
Rename hmac -> mac in circuit.
`Note` values should be little-endian byte order.
Update zkSNARK proving/verifying keys.
Add h_sig test vectors.
Change testnet network magics.
Taylor Hornby (7):
Add check that vpubs are not both nonzero and test it.
Fix sighash tests
Add empty merkle/noteencryption tests so Sean can rebase.
Fix RPC tests
Rename bitcoin.conf and bitcoind.pid to zcash.conf and zcashd.pid in qa/ and src/
Trivial change: Capitalize the Z in Zerocash
Remove the Merkle tree hash function's fixed point.

71
doc/release-process.md

@ -1,60 +1,73 @@
Release Process
====================
Meta: There should always be a single release engineer to disambiguate responsibility.
### Define the release version as:
$ ZCASH_RELEASE=${UPSTREAM_VERSION}.z${ZCASH_RELEASE_COUNTER}
## A. Define the release version as:
$ ZCASH_RELEASE=${UPSTREAM_VERSION}.z${ZCASH_RELEASE_COUNTER}
Example:
$ ZCASH_RELEASE=0.11.2.z2
Also, the following commands use the ZCASH_RELEASE_PREV bash variable
for the previous release:
$ ZCASH_RELEASE_PREV=0.11.2.z1
$ ZCASH_RELEASE=0.11.2.z2
Also, the following commands use the ZCASH_RELEASE_PREV bash variable for the previous release:
### update (commit) version in sources
$ ZCASH_RELEASE_PREV=0.11.2.z1
## B. create a new release branch / github PR
### B1. update (commit) version in sources
doc/README.md
src/clientversion.h
In clientverion.h change CLIENT_VERSION_IS_RELEASE to false while Zcash
doc/README.md
In `clientversion.h` change CLIENT_VERSION_IS_RELEASE to false while Zcash
is in alpha-test phase.
### write release notes
### B2. write release notes
git shortlog helps a lot, for example:
$ git shortlog --no-merges v${ZCASH_RELEASE_PREV}..HEAD \
> ./doc/release-notes/release-notes-${ZCASH_RELEASE}.md
### B3. merge the previous changes
Do the normal pull-request, review, testing process for this release PR.
### merge the previous changes
## C. Verify code artifact hosting
Do the normal pull-request, review, testing process.
### C1. Ensure depends tree is working
### make tags / release-branch for the newly merged result
http://ci.leastauthority.com:8010/builders/depends-sources
### C2. Ensure public parameters work
Run `./fetch-params.sh`.
## D. make tags / release-branch for the newly merged result
In this example, we ensure zc.v0.11.2.latest is up to date with the
previous merged PR, then:
$ git tag v${ZCASH_RELEASE}
$ git tag v${ZCASH_RELEASE}
$ git branch zc.v${ZCASH_RELEASE}
$ git push origin v${ZCASH_RELEASE}
$ git push origin zc.v${ZCASH_RELEASE}
## E. update github default branch to this new release branch
## F. write / publish a release announcement
## G. deploy testnet
## H. write and publish appropriate announcements (blog, zcash-dev, slack)
## I. celebrate
## missing steps
### update github default branch to this new release branch
Zcash still needs:
### write / publish a release announcement
* deterministic build
### celebrate
* signatured tags
### missing steps
* thorough pre-release testing (presumably more thorough than standard PR tests)
Zcash still needs:
* release deployment steps (eg: updating build-depends mirror, deploying testnet, etc...)
a. deterministic build
b. signatured tags
c. thorough pre-release testing (presumably more thorough than standard PR tests)
d. release deployment steps (eg: updating build-depends mirror, deploying testnet, etc...)
e. proper zcash-specific versions and names in software and documentation.
* proper zcash-specific versions and names in software and documentation.

Loading…
Cancel
Save