1# How to release v1
2
31. Determine the current release version with `git tag -l`. It should look
4   something like `vX.Y.Z`. We'll call the current version `$CV` and the new
5   version `$NV`.
61. On master, run `git log $CV..` to list all the changes since the last
7   release.
8   a. NOTE: Some commits may pertain to only v1 or v2. Manually introspect
9   each commit to figure which occurred in v1.
101. Edit `CHANGES.md` to include a summary of the changes.
111. Mail the CL containing the `CHANGES.md` changes. When the CL is approved,
12   submit it.
131. Without submitting any other CLs:
14   a. Switch to master.
15   b. `git pull`
16   c. Tag the repo with the next version: `git tag $NV`. It should be of the
17   form `v1.Y.Z`.
18   d. Push the tag: `git push origin $NV`.
191. Update [the releases page](https://github.com/googleapis/google-cloud-go/releases)
20   with the new release, copying the contents of the CHANGES.md.
21
22# How to release v2
23
24Same process as v1, once again noting that the commit list may include v1
25commits (which should be pruned out). Note also whilst v1 tags are `v1.Y.Z`, v2
26tags are `v2.Y.Z`.
27
28# On releasing multiple major versions
29
30Please see https://github.com/golang/go/wiki/Modules#releasing-modules-v2-or-higher.
31