Gerrit version {{ data.version }} is now available.{% if data.summary %} {{ data.summary }} {% endif %}Please see the release notes for details.

Release Notes:
https://www.gerritcodereview.com/releases/{{ data.version.major }}.md{% if data.version.patch %}#{{ data.version.patch }}{% endif %}

Documentation:
http://gerrit-documentation.storage.googleapis.com/Documentation/{{ data.version }}/index.html
{% if data.previous %}
Log of changes since {{ data.previous }}:
https://gerrit.googlesource.com/gerrit/+log/v{{ data.previous }}..v{{ data.version }}
{% endif %}
Download:
https://gerrit-releases.storage.googleapis.com/gerrit-{{ data.version }}.war

SHA1:
{{ data.sha1 }}

SHA256:
{{ data.sha256 }}

MD5:
{{ data.md5 }}

Maintainers' public keys:
https://www.gerritcodereview.com/releases/public-keys.md

