# Gerrit Code Review Releases

Latest release: **[2.13.5](/releases/2.13.md)**.

[TOC]

## 2.14 *(In development)* {#2.14}

* Changes can be assigned to specific users

* HTML emails and new templating framework

* Secondary index with Elastic Search

[Release notes for Gerrit 2.14](/releases/2.14.md)

## 2.13 {#2.13}

* Metrics interface

* Hooks plugin

[Release notes for Gerrit 2.13](/releases/2.13.md).

## 2.12 {#2.12}

* New change submission workflows: 'Submit Whole Topic' and 'Submitted Together'.

* Support for GPG Keys and signed pushes.

[Release notes for Gerrit 2.12](/releases/2.12.md).

## Older Releases {#older}

Release notes for releases prior to 2.12 can be found on the old
[documentation site](http://gerrit-documentation.storage.googleapis.com/ReleaseNotes/index.html).
