High Level Release Plan

Date Activity
Oct 20 Create stable-3.9 branch, Release 3.9.0-rc0
Oct 27 Release 3.9.0-rc1 (*)
Nov 3 Release 3.9.0-rc3
Nov 10 Release 3.9.0-rc4 - Feature freeze deadline
Nov 17 Release 3.9.0-rc5
Nov 24 Release of 3.9.0 BROKEN (**)
Nov 28 Release 3.9.0-rc6 (**)
Dec 1 Final release of 3.9.0.1

(*) NOTE: The 3.9.0-rc2 release was not announced and limited to the release of the gerrit-acceptance-framework on Maven. From a Gerrit’s perspective, it was identical to the 3.9.0-rc1 therefore did not make sense to have it officially released.

(**) WARNING: The 3.9.0-rc6 has been introduced to revert the unwanted merge with master happened with Change 394445 which has caused the invalidation of the release v3.9.0.

Java 17

The language level used for Gerrit source code will stay on Java 11, however, Gerrit will be also built and distributed for Java 17.

The reasons not to use LTS Java 21 directly are:

  • Java 17 is an LTS anyway, so it is a stable release we can rely on
  • Java 21 is not widely adopted yet by Bazel, OSes

End-to-end Testing

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.9, particularly with medium to large sized projects and in a multi-primary setup.

The Gerrit-CI has also an automated aws-gerrit pipeline that will be pointed to the stable-3.9 branch and run on a daily basis.

End of Life for Gerrit 3.6.x

Per the support policy mentioned on the project homepage, after 3.9.0 is released 3.6.x will reach end of life and will no longer be actively supported.

Support for 3.7.x and 3.8.x will continue as usual. Users of 3.6.x or earlier are recommended to upgrade to one of these versions.