GWT UI is deprecated
PolyGerrit is now the default UI
Experimental Dark Mode in PolyGerrit.
Inline editing support in PolyGerrit UI.
Redesigned UI for PolyGerrit based on material.
This release contains schema changes. To upgrade:
java -jar gerrit.war init -d site_path
Gerrit 2.16 introduces a new secondary index for projects. The initial version of this index must be created by running the offline reindex before starting Gerrit:
java -jar gerrit.war reindex --index projects -d site_path
The group index got two new fields upon which Gerrit 2.16 depends. For this reason, the following command to offline reindex the group index must be executed as well:
java -jar gerrit.war reindex --index groups -d site_path
The offline reindex for groups should also be run on Gerrit slave hosts.
Note that it is not necessary to reindex the changes and accounts indexes offline. These will automatically be reindexed by the online reindexer after starting Gerrit.
From 2.16 GWT UI is deprecated and will be removed in a future version.
In version 2.14 support for Soy templates was added. For backwards compatibility, support for Velocity templates (VTL) was kept.
In version 2.16 support for VTL is completely removed. Site administrators must replace any Velocity templates (
.vm files in
$site/etc/mail/) with the equivalent Soy templates before upgrading to this version.
The possibility to push to
refs/changes is now disabled by default. It is still possible to enable it in the gerrit config by setting receive.allowPushToRefsChanges to true.
Some proxies, which are not under client control, prohibit DELETE requests with bodies. DELETE requests with bodies could work on a first attempt, but could fail afterwards because a server they have no control over was updated. In this case, client users could be in trouble if they were not notified.
Therefore, we have decided to no longer recommend sending DELETE requests with bodies. They will continue to work in this release but should be considered as deprecated and will be removed in the next release.
refs/for namespace is no longer used when evaluating access rights.
refs/for support in the ACLs intends to solve the following issues:
Vast majority of permissions are defined on “real” branches. Forcing users to define a small subset of the permissions on
refs/for/* hinders readability and the understanding of the applied ACLs.
For people using
refs/publish/ to upload reviews, it is confusing to force Project Owners to set the push rules on
refs/for/ to allow creation of changes.
refs/for/ in the ACL UI makes it impossible to look at one single ACL section and acknowledge with certainty which rules will be in effect for that ref.
Instead of defining push on
refs/for/* a new
Create Review permission is introduced. Like other permissions, it should be defined on
Submit on Push option for the
Submit permission, which will enable the %submit push parameter and remove the need to specify
Add Patch Set will work the same way, but should be specified on
refs/heads/* (just like the new
Create Review permission).
Push Merges will work the same way, but should be specified on
refs/heads/* instead of
Any permission that could previously be applied to
refs/for will automatically be migrated to the new permission upon loading the ACLs.
Note: The configuration is not automatically resaved, so the next time the user edits the ACLs from the UI, the migrated ACLs will be shown and possibly saved if the user chose to do so.
Update Brics Automaton to 1.12-1
Update commons-lang3 to 3.6
Update Dropwizard metrics-core to 3.2.5
Update elasticsearch to 2.4.6
Update greenmail to 1.5.5
Update gson to 2.8.2
Update javax.mail to 1.6.0
Update protobuf-java to 3.4.0
Update soy to 2017-08-08
Update tukaani-xz to 1.6
Remove dependency on Velocity
com.google.gerrit.server.api.accounts.AccountExternalIdCreatorwas moved to