# Gerrit Code Review Releases

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

[TOC]

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

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

## 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}

* Support for Git LFS

* Metrics interface

* Hooks plugin

* Access control for git submodule subscriptions

[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).
