From: %YOU%
To: dev@couchdb.apache.org
Subject: [REQUEST] Release notes for %VERSION%-rc.%CANDIDATE%
================================================================================

Dear community,

This is a request to help with the release notes for the %VERSION%-rc.%CANDIDATE% release.

You can view my initial draft here:

    https://dist.apache.org/repos/dist/dev/couchdb/notes/VERSION/rc.CANDIDATE

Please read through this and suggest any changes. The summaries were taken from the CHANGES file. But we aim to be more descriptive in the release notes. A paragraph or two explaining the change, or what it means for the user, for example.

This file is kept in Subversion, and if you are a committer, you can just check out the directory, make your changes, and check them in. Otherwise, please just comment in reply to this email and I will take care of it.

Thanks,
