| --- |
| title: "Release Plan for Gerrit 3.3" |
| tags: news |
| keywords: news |
| permalink: 2020-09-07-gerrit-3.3-release-plan.html |
| summary: "Release Plan for Gerrit 3.3" |
| hide_sidebar: true |
| hide_navtoggle: true |
| toc: true |
| --- |
| |
| ## High Level Release Plan |
| |
| | Date | Activity | |
| |-----------|----------------------------------------------------| |
| | Oct 5 | Set language level to Java 11 on master | |
| | Oct 6 | Create stable-3.3 branch, Release '3.3.0-rc0' | |
| | Oct 12 | Release `3.3.0-rc1` | |
| | Oct 19 | Release `3.3.0-rc2` | |
| | Oct 26 | Release `3.3.0-rc3` | |
| | Nov 2 | Release `3.3.0-rc4` | |
| | Nov 2-6 | Extra E2E testing week | |
| | Nov 9 | Release `3.3.0-rc5` | |
| | Nov 9-13 | "Release week" (see below) | |
| | Nov 16 | Release `3.3.0-rc6` | |
| | Nov 23-27 | Fix of the P0 [Issue 40013013](https://issues.gerritcodereview.com/issues/40013013) | |
| | Nov 24 | Release `3.3.0-rc7` | |
| | Nov 30 | Final release of `3.3.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 strongly discouraged on the stable branch |
| as it may compromise the stability of the release. |
| |
| After `rc3` only 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 caused the |
| cancellation of the Gerrit User Summit 2020, where we typically had managed |
| the release with the cooperation of all the maintainers. |
| |
| We will ask the community members to allocate some of their time during the |
| "release week" (9-13 Nov) 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, and we will also ask Matthias Sohn or |
| anyone else from the JGit community to be available to help with JGit related |
| issues. |
| |
| We have set up a dedicated channel on Slack |
| ([`#gerrit-33-release`](https://gerritcodereview.slack.com/archives/C01AB8FANQ1)) |
| where these activities will be coordinated. It is yet to be confirmed if we will |
| set up any kind of video or voice conferences. |
| |
| ## 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.3, particularly with medium to large sized projects. |
| |
| ## End of Life for Gerrit 3.0.x |
| |
| Per the support policy mentioned on the |
| [project homepage](https://www.gerritcodereview.com/support.html#supported-versions), |
| after 3.3.0 is released 3.0.x will reach end of life and will no longer be |
| actively supported. |
| |
| Support for 3.2.x and 3.1.x will continue as usual, 2.16.x may have additional ad-hoc |
| releases for issues related to the migration to NoteDb. |
| Users of 3.0.x or earlier are recommended to upgrade to one of these versions. |
| |
| ## Java |
| |
| ### Java 11 official language level |
| |
| Gerrit v3.3.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 |
| |
| __NOTE:This will be the last version with a Java 8 compatible code-base!__ |
| |
| Although the official releases will be with Java 11 language level the |
| code-base of stable-3.3 will be validated against both Java 8 and Java 11, |
| thus it will still be possible to build stable-3.3 with Java 8. |
| |
| We are aware that a number of companies still rely on Java 8, we have |
| therefore opted to keep the code-base of stable-3.3 Java 8 compatible. |
| However, we are planning to, at some time prior to the release of v3.4, drop Java 8 |
| compatibility on the master branch. |