= Release checklist =

== Source release ==

- Check for uncommitted changes to master.
- Update OPUS_LT_* API versioning in configure.ac.
- Tag the release commit with 'git tag -s vN.M'.
 - Include release notes in the tag annotation.
- Verify 'make distcheck' produces a tarball with
  the desired name.
- Push tag to public repo.
- Upload source package 'opus-${version}.tar.gz'
 - Add to https://svn.xiph.org/releases/opus/
 - Update checksum files
 - svn commit
 - Copy to archive.mozilla.org/pub/opus/
 - Update checksum files there as well.
- Add release notes to https://git.xiph.org/opus-website.git
- Update links and checksums on the downloads page.
- Add a copy of the documentation to <https://www.opus-codec.org/docs/>
  and update the links.
- Update /topic in #opus IRC channel.

Releases are commited to https://svn.xiph.org/releases/opus/
which propagates to downloads.xiph.org, and copied manually
to https://archive.mozilla.org/pub/opus/

Website updates are committed to https://git.xiph.org/opus-website.git
which propagates to https://opus-codec.org/

== Binary release ==

We usually build opus-tools binaries for MacOS and Windows.

Binary releases are copied manually to
https://archive.mozilla.org/pub/opus/win32/

For Mac, submit a pull request to homebrew.

== Website updates ==

For major releases, recreate the files on https://opus-codec.org/examples/
with the next encoder.
