blob: 99304f39a5eb85c22730ba871df3d200b23d8925 [file] [log] [blame] [view]
---
title: "Release Plan for Gerrit 3.5"
tags: news
keywords: news
permalink: 2021-09-07-gerrit-3.5-release-plan.html
summary: "Release Plan for Gerrit 3.5"
hide_sidebar: true
hide_navtoggle: true
toc: true
---
## High Level Release Plan
| Date | Activity |
|-----------|----------------------------------------------------|
| September | Set Java source/target language level to 11 |
| Oct 25 | Create stable-3.5 branch, Release '3.5.0-rc0' |
| Nov 1 | Release `3.5.0-rc1` |
| Nov 15 | Release `3.5.0-rc2` |
| Nov 16-21 | E2E testing week |
| Nov 22 | Release `3.5.0-rc3` |
| Nov 29 | Release `3.5.0-rc4` |
| Nov 30 - Dec 05 | "Release week" (see below) |
| Dec 06 | Final release of `3.5.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.
## "Release Week"
The continued emergency with the global outbreak of COVID-19 has made unlikely
to have a face-to-face Gerrit Maintainers' Hackathon in the fall of 2021,
where we typically had managed the release with the cooperation of all
maintainers.
We will ask the community members to allocate some of their time during the
"release and e2e testing week" (16-28 November) 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, and we will
also ask Matthias Sohn or anyone else from the JGit community to be available to
help with JGit related issues.
There is a dedicated private [Slack channel](https://gerritcodereview.slack.com/archives/C02DLRM0VGE)
for facilitating the communication and coordination of the Gerrit v3.5.0 release.
All Gerrit maintainers are part of the channel. Anyone willing to help with the
preparation of the release, including other Gerrit contributors, can request to
be added to the channel on the [repo-discuss](https://groups.google.com/g/repo-discuss)
mailing list.
## 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.5, particularly with medium to large sized projects.
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.5 branch and run on a daily basis.
## End of Life for Gerrit 3.2.x
Per the support policy mentioned on the
[project homepage](https://www.gerritcodereview.com/support.html#supported-versions),
after 3.5.0 is released 3.2.x will reach end of life and will no longer be
actively supported.
Support for 3.4.x and 3.3.x will continue as usual.
Users of 3.2.x or earlier are recommended to upgrade to one of these versions.
## End of the special status for Gerrit 2.16.x
The ESC has agreed on the [meeting in June](https://www.gerritcodereview.com/2021-06-01-esc-minutes.html)
that the special [EOL status of Gerrit v2.16](https://www.gerritcodereview.com/2020-04-22-gerrit-3.2-release-plan.html#end-of-life-for-gerrit-216x.html)
will end when v3.5 is released.
## Java
### Java 11 official language level
Gerrit v3.5.x official releases will have Java 11 language level, this means
that the officially released gerrit.war won't start on Java 8.
### Java 8 compatibility
Gerrit v3.5.x does not support Java 8: all users will have to upgrade to
Java 11 prior to upgrading.
The Gerrit code will be set to Java 11 source-level validation in September
2021, prior to the release cycle of Gerrit v3.5.