Skip to content

Commit

Permalink
Update versions and release notes.
Browse files Browse the repository at this point in the history
  • Loading branch information
ebfull committed May 17, 2016
1 parent 383f8b0 commit a6770ca
Show file tree
Hide file tree
Showing 3 changed files with 112 additions and 30 deletions.
2 changes: 1 addition & 1 deletion doc/README.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
69 changes: 69 additions & 0 deletions doc/release-notes/release-notes-0.11.2.z3.md
Original file line number Diff line number Diff line change
@@ -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 changes: 42 additions & 29 deletions doc/release-process.md
Original file line number Diff line number Diff line change
@@ -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.

0 comments on commit a6770ca

Please sign in to comment.