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