High Level Release Plan
|September||Set Java source/target language level to 11|
|Oct 25||Create stable-3.5 branch, Release ‘3.5.0-rc0’|
|Nov 16-21||E2E testing week|
|Nov 23-28||“Release week” (see below)|
|Nov 29||Final release of
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
The development of new features is very rarely accepted on the stable branch as it may compromise the stability of the release.
rc3 only E2E test and associated bug fixes will be accepted on the
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.
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 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 mailing list.
We plan to use the Gatling e2e test framework for Git, 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 templates.
GerritForge 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 has also an automated aws-gerrit pipeline 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, 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
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.