---
title: "Release Plan for Gerrit 3.10"
tags: news
keywords: news
permalink: 2024-02-13-gerrit-3.10-release-plan.html
summary: "Release Plan for Gerrit 3.10"
hide_sidebar: true
hide_navtoggle: true
toc: true
---

## High Level Release Plan

| Date       | Activity                                          |
|------------|---------------------------------------------------|
| Apr  5     | Create `stable-3.10` branch, Release `3.10.0-rc0` |
| Apr 12     | Release `3.10.0-rc1`                              |
| Apr 19     | Release `3.10.0-rc3` (rc2 has been withdrawn)     |
| Apr 26     | Release `3.10.0-rc4`                              |
| May  3     | Release `3.10.0-rc5` (withdrawn, clone broken)    |
| May  6     | Release `3.10.0-rc6` - Feature freeze deadline    |
| May  10    | Release `3.10.0-rc7`                              |
| May  13-17 | Gerrit Hackathon hosted by SAP in Walldorf (DE)   |
| May  17    | Final release of `3.10.0`                         |

## Gerrit Hackathon

The Gerrit hackathon is planned after the release week, from the 13th to the 17th of May
at SAP in Walldorf, focused on the [k8s-gerrit project](https://gerrit.googlesource.com/k8s-gerrit)
and the associated plugins for supporting multi-primary setups in the cloud.

We will also ask the community members to allocate some of their time during the
hackathon to help with finalizing the release:

- Test the release candidates.
- Report issues.
- Triage and troubleshoot incoming bug reports.
- Make fixes.
- Do code reviews.
- Test the latest head of the stable branch.

To expedite reviews of Library-Compliance and frontend changes, we will ask
Google to make some members available in the EU time-zone.

## 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.10, 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.10 branch and run on a daily basis.

## End of Life for Gerrit 3.7.x

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

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