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/{{ data.version.major }}.html{% 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 }}?no-merges
{% 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

