---
title: "Release Plan for Gerrit 3.6"
tags: news
keywords: news
permalink: 2022-02-24-gerrit-3.6-release-plan.html
summary: "Release Plan for Gerrit 3.6"
hide_sidebar: true
hide_navtoggle: true
toc: true
---

## High Level Release Plan

| Date      | Activity                                           |
|-----------|----------------------------------------------------|
| Apr 11    | Create stable-3.6 branch, Release '3.6.0-rc0'      |
| Apr 18    | Release `3.6.0-rc1`                                |
| Apr 25    | Release `3.6.0-rc2`                                |
| May  2    | Release `3.6.0-rc3`                                |
| May  9    | Release `3.6.0-rc4`                                |
| May  9 - May 13 | Gerrit/JGit London Hackathon (see below)     |
| May 16    | Release `3.6.0-rc5`                                |
| May 23    | Final release of `3.6.0`                           |

## Change Acceptance Policy for the Stable Branch

We don't expect that all ongoing feature development will be completed before
the stable branch is created, so we will allow the completion of existing
features on the stable branch to bring features to completion *until `rc3`*.

The development of new features is very rarely accepted on the stable branch
as it may compromise the stability of the release.

After `rc3` only E2E test and associated bug fixes will be accepted on the
stable branch.

We would prefer that bug fixes are pushed for review directly onto the stable
branch, rather than onto master to be cherry-picked back. The reason for this
is to avoid that the release managers need to spend time manually checking
which changes need to be backported, which could result in changes being
overlooked.

## Gerrit/JGit London Hackathon

After 2 years of __work from home__ policy and remote interactions, the Gerrit
hackathon is back, sponsored and hosted by [GerritForge Ltd](https://www.gerritforge.com)
in [London, White City Place](https://whitecityplace.com/).

This year, [GerritForge is focusing on making Gerrit faster for mono-repos](https://gitenterprise.me/2022/01/10/2022-goals-for-gerrit/)
and therefore encourages all the [JGit contributors and committers](https://projects.eclipse.org/projects/technology.jgit/who)
to join the event.

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.

> NOTE: for all of those who cannot travel or is still blocked by travelling restrictions
> [GerritForge](https://www.gerritforge.com) will setup a remote collaboration channel
> where anyone around the world could join the hackathon remotely.

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

> UPDATE: The e2e test period has been extended by 1 more week and a new v3.6.0-rc5 is going to be released
> on the 16th of May. The extra test is necessary to address the [Issue 40014797](https://issues.gerritcodereview.com/issues/40014797)
> which is impacting the migration process.

## End of Life for Gerrit 3.3.x

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

Support for 3.5.x and 3.4.x will continue as usual.
Users of 3.3.x or earlier are recommended to upgrade to one of these versions.
