---
title: "Release Plan for Gerrit 3.9"
tags: news
keywords: news
permalink: 2023-10-05-gerrit-3.9-release-plan.html
summary: "Release Plan for Gerrit 3.9"
hide_sidebar: true
hide_navtoggle: true
toc: true
---

## High Level Release Plan

| Date      | Activity                                           |
|-----------|----------------------------------------------------|
| Oct 20    | Create `stable-3.9` branch, Release `3.9.0-rc0`    |
| Oct 27    | Release `3.9.0-rc1` (*)                            |
| Nov  3    | Release `3.9.0-rc3`                                |
| Nov 10    | Release `3.9.0-rc4` - Feature freeze deadline      |
| Nov 17    | Release `3.9.0-rc5`                                |
| Nov 24    | Release of `3.9.0` **BROKEN** (**)                 |
| Nov 28    | Release `3.9.0-rc6` (**)                           |
| Dec  1    | Final release of `3.9.0.1`                         |

> **(\*) NOTE**: The `3.9.0-rc2` release was not announced and limited to
> the release of the [gerrit-acceptance-framework on Maven](https://repo1.maven.org/maven2/com/google/gerrit/gerrit-acceptance-framework/3.9.0-rc2/).
> From a Gerrit's perspective, it was identical to the `3.9.0-rc1`
> therefore did not make sense to have it officially released.

> **(\*\*) WARNING**: The `3.9.0-rc6` has been introduced to revert the unwanted
> merge with master happened with [Change 394445](https://gerrit-review.googlesource.com/c/gerrit/+/394445)
> which has caused the invalidation of the release `v3.9.0`.

## Java 17

The language level used for Gerrit source code will stay on Java 11,
however, Gerrit will be also built and distributed for Java 17.

The reasons not to use LTS Java 21 directly are:

  * Java 17 is an LTS anyway, so it is a stable release we can rely on
  * Java 21 is not widely adopted yet by Bazel, OSes

## End-to-end Testing

We plan to use the
[Gatling e2e test framework for Git](https://gerrit-review.googlesource.com/Documentation/dev-e2e-tests.html),
developed by GerritForge and Ericsson, to test the stability of the release
on a production-like setup on AWS automatically provisioned using the
[aws-gerrit](https://gerrit.googlesource.com/aws-gerrit) templates.

[GerritForge](https://www.gerritforge.com) has also offered its own AWS
infrastructure to test the scalability of Gerrit v3.9, particularly with
medium to large sized projects and in a multi-primary setup.

The [Gerrit-CI](https://gerrit-ci.gerritforge.com) has also an automated
[aws-gerrit pipeline](https://gerrit-ci.gerritforge.com/job/gatling-gerrit-test/)
that will be pointed to the stable-3.9 branch and run on a daily basis.

## End of Life for Gerrit 3.6.x

Per the support policy mentioned on the
[project homepage](https://www.gerritcodereview.com/support.html#supported-versions),
after 3.9.0 is released 3.6.x will reach end of life and will no longer be
actively supported.

Support for 3.7.x and 3.8.x will continue as usual.
Users of 3.6.x or earlier are recommended to upgrade to one of these versions.
