Luca Milanesio | 4dc4716 | 2020-09-02 14:54:08 +0100 | [diff] [blame] | 1 | --- |
| 2 | title: "Release Plan for Gerrit 3.3" |
| 3 | tags: news |
| 4 | keywords: news |
| 5 | permalink: 2020-09-07-gerrit-3.3-release-plan.html |
| 6 | summary: "Release Plan for Gerrit 3.3" |
| 7 | hide_sidebar: true |
| 8 | hide_navtoggle: true |
| 9 | toc: true |
| 10 | --- |
| 11 | |
| 12 | ## High Level Release Plan |
| 13 | |
| 14 | | Date | Activity | |
| 15 | |-----------|----------------------------------------------------| |
| 16 | | Oct 5 | Set language level to Java 11 on master | |
| 17 | | Oct 6 | Create stable-3.3 branch, Release '3.3.0-rc0' | |
| 18 | | Oct 12 | Release `3.3.0-rc1` | |
| 19 | | Oct 19 | Release `3.3.0-rc2` | |
| 20 | | Oct 26 | Release `3.3.0-rc3` | |
| 21 | | Nov 2 | Release `3.3.0-rc4` | |
Luca Milanesio | d7877c6 | 2020-11-03 17:08:06 +0000 | [diff] [blame] | 22 | | Nov 2-6 | Extra E2E testing week | |
| 23 | | Nov 9 | Release `3.3.0-rc5` | |
| 24 | | Nov 9-13 | "Release week" (see below) | |
Luca Milanesio | 74ec039 | 2020-11-16 13:15:58 +0000 | [diff] [blame] | 25 | | Nov 16 | Release `3.3.0-rc6` | |
Edwin Kempin | d3b0ab1 | 2023-06-20 08:02:45 +0000 | [diff] [blame] | 26 | | Nov 23-27 | Fix of the P0 [Issue 40013013](https://issues.gerritcodereview.com/issues/40013013) | |
Luca Milanesio | 4da0ea0 | 2020-11-23 23:30:01 +0000 | [diff] [blame] | 27 | | Nov 24 | Release `3.3.0-rc7` | |
| 28 | | Nov 30 | Final release of `3.3.0` | |
Luca Milanesio | 4dc4716 | 2020-09-02 14:54:08 +0100 | [diff] [blame] | 29 | |
| 30 | ## Change Acceptance Policy for the Stable Branch |
| 31 | |
| 32 | We don't expect that all ongoing feature development will be completed before |
| 33 | the stable branch is created, so we will allow the completion of existing features |
| 34 | on the stable branch to bring features to completion *until `rc3`*. |
| 35 | |
| 36 | The development of new features is strongly discouraged on the stable branch |
| 37 | as it may compromise the stability of the release. |
| 38 | |
| 39 | After `rc3` only bug fixes will be accepted on the stable branch. |
| 40 | |
| 41 | We would prefer that bug fixes are pushed for review directly onto the stable |
| 42 | branch, rather than onto master to be cherry-picked back. The reason for this |
| 43 | is to avoid that the release managers need to spend time manually checking |
| 44 | which changes need to be backported, which could result in changes being |
| 45 | overlooked. |
| 46 | |
| 47 | ## "Release Week" |
| 48 | |
| 49 | The continued emergency with the global outbreak of COVID-19 has caused the |
| 50 | cancellation of the Gerrit User Summit 2020, where we typically had managed |
| 51 | the release with the cooperation of all the maintainers. |
| 52 | |
| 53 | We will ask the community members to allocate some of their time during the |
Luca Milanesio | d7877c6 | 2020-11-03 17:08:06 +0000 | [diff] [blame] | 54 | "release week" (9-13 Nov) to help with finalizing the release: |
Luca Milanesio | 4dc4716 | 2020-09-02 14:54:08 +0100 | [diff] [blame] | 55 | |
| 56 | - test the release candidates |
| 57 | - report issues |
| 58 | - triage and troubleshoot incoming bug reports |
| 59 | - make fixes |
| 60 | - do code reviews |
| 61 | - test the latest head of the stable branch |
| 62 | |
| 63 | To expedite reviews of Library-Compliance and frontend changes, we will ask |
| 64 | Google to make some members available, and we will also ask Matthias Sohn or |
| 65 | anyone else from the JGit community to be available to help with JGit related |
| 66 | issues. |
| 67 | |
| 68 | We have set up a dedicated channel on Slack |
| 69 | ([`#gerrit-33-release`](https://gerritcodereview.slack.com/archives/C01AB8FANQ1)) |
| 70 | where these activities will be coordinated. It is yet to be confirmed if we will |
| 71 | set up any kind of video or voice conferences. |
| 72 | |
| 73 | ## End-to-end Testing |
| 74 | |
| 75 | We plan to use the |
| 76 | [Gatling e2e test framework for Git](https://gerrit-review.googlesource.com/Documentation/dev-e2e-tests.html), |
| 77 | developed by GerritForge and Ericsson, to test the stability of the release on a production-like |
| 78 | setup on AWS automatically provisioned using the [aws-gerrit](https://gerrit.googlesource.com/aws-gerrit) |
| 79 | templates. |
| 80 | |
| 81 | [GerritForge](https://www.gerritforge.com) has also offered its own AWS infrastructure to test the |
| 82 | scalability of Gerrit v3.3, particularly with medium to large sized projects. |
| 83 | |
| 84 | ## End of Life for Gerrit 3.0.x |
| 85 | |
| 86 | Per the support policy mentioned on the |
| 87 | [project homepage](https://www.gerritcodereview.com/support.html#supported-versions), |
| 88 | after 3.3.0 is released 3.0.x will reach end of life and will no longer be |
| 89 | actively supported. |
| 90 | |
| 91 | Support for 3.2.x and 3.1.x will continue as usual, 2.16.x may have additional ad-hoc |
| 92 | releases for issues related to the migration to NoteDb. |
| 93 | Users of 3.0.x or earlier are recommended to upgrade to one of these versions. |
| 94 | |
| 95 | ## Java |
| 96 | |
| 97 | ### Java 11 official language level |
| 98 | |
| 99 | Gerrit v3.3.x official releases will have Java 11 language level, this means |
| 100 | that the officially released gerrit.war won't start on Java 8. |
| 101 | |
| 102 | ### Java 8 compatibility |
| 103 | |
| 104 | __NOTE:This will be the last version with a Java 8 compatible code-base!__ |
| 105 | |
| 106 | Although the official releases will be with Java 11 language level the |
| 107 | code-base of stable-3.3 will be validated against both Java 8 and Java 11, |
| 108 | thus it will still be possible to build stable-3.3 with Java 8. |
| 109 | |
| 110 | We are aware that a number of companies still rely on Java 8, we have |
| 111 | therefore opted to keep the code-base of stable-3.3 Java 8 compatible. |
| 112 | However, we are planning to, at some time prior to the release of v3.4, drop Java 8 |
| 113 | compatibility on the master branch. |