This release contains schema changes. To upgrade:
java -jar gerrit.war init -d site_path
Gerrit now requires Java Runtime Environment (JRE) version 8. It is no longer possible to run Gerrit on JRE 7.
The Bouncy Castle Crypto API libraries are now distributed in the Gerrit
.war file rather than being downloaded during site initialization. When upgrading from a previous version of Gerrit, previously downloaded Bouncy Castle
.jar files remaining in the site's
/lib folder will be disabled by appending
.disabled to the file name.
Support for HTTP Digest Authentiation is removed.
With the move to NoteDB, the per-account data (including the HTTP password) will be stored in a branch in the
All-Users repo, where it is subject to Gerrit ACLs. Since these are notoriously hard to setup correctly, we want to avoid storing the password in plaintext.
Existing passwords will be migrated to a hashed password during site initialization when upgrading from an earlier version of Gerrit.
This release deprecates the use of Velocity mail templates. In a future release support will be removed and it will be necessary to upgrade custom mail templates to Soy files.
The permissions “Push Annotated Tag” and “Push Signed Tag” are renamed to “Create Annotated Tag” and “Create Signed Tag”. Existing project configurations using the old permission names will be migrated during site initialization.
Changes may be assigned to a specific user. This allows a workflow where the user that is assigned to a change is responsible for reviewing the change and/or passing the assignment on to another user.
In the UI, changes assigned to the currently logged in user are highlighted.
assignee: search predicate allows to find changes assigned to a given user.
Gerrit email messages are made easier to read by sending HTML content parts in addition to the existing text email content. This is enabled by default, and can be disabled by setting
Users can opt to always receive plaintext emails by setting the Email Format preference.
Mail templates can now be written using Closure Templates (Soy). Mail templates written in Velocity (VTL) are deprecated but still supported. Support for VTL will be dropped in the next release.
Gerrit now supports receiving review comments by email.
Note that the Elastic Search implementation is still considered experimental and it is not advised to use it for production systems.
Tags can be created and deleted via the Tags screen in the UI.
For merge commits, the list of commits that will be merged into the destination branch is included as the
/MERGE_LIST magic file which is shown as
Merge List in the UI.
Gerrit now includes a new user interface, referred to as “PolyGerrit”, based on Polymer.
The UI can be switched between PolyGerrit and GWT by clicking the “New UI” and “Old UI” links in the site footer. Alternatively, the UI can be switched by adding
?polygerrit=0 to the URL.
Note that PolyGerrit is still under development. Most use cases are supported, but there are still some missing features compared to the GWT UI.
Update auto-value to 1.4
Update Bouncy Castle to 1.56
Update codemirror to 5.25.0
Update commons-compress to 1.12
Update Guava to 21.0
Update Guice to 4.1.0
Update GWT to 2.8.0
Update gwtjsonrpc to 1.11
Update gwtorm to 1.17
Update JavaEWAH to 1.1.6
Update JGit to 184.108.40.206704051617-r
Update jsch to 0.54
Update Lucene to 5.5.2
Update mina to 2.0.16
Update ow2-asm to 5.1
Update prolog-cafe to 1.4.2
Update SSHD to 1.4.0
Add support for Git LFS locking.
Plugins implementing LFS may now include support for locking.
Upgrade JGit to 220.127.116.11706071930-r.
This includes a fix to make auto GC run in the background.
In some cases, the auto GC limit is lower than the true number of unreachable loose objects, so auto GC will run after every (e.g) fetch operation. This leads to the appearance of poor fetch performance. Since these GCs will never make progress (until either the objects become referenced, or the two week timeout expires), blocking on them simply reduces throughput.
Allow multiple Servlet filters on Jetty HTTPD.
It is now possible to specify multiple values for
group indexed extension point.
Similar to the existing
change indexed and
account indexed extension points, this allows plugins to be notified when a group has been indexed.
Extend upload validation interface to allow listening to negotiation start.
This can be used to check rate limits for fetch requests. Rate limits should be checked before git transport negotation starts to avoid unnecessary work in case the limit is already reached.
Fix support for ECDSA and ED25519 SSH keys.
ECDSA and ED25519 SSH host keys were not generated during site initialization and were not loaded if they existed.
Fix initialization failure when removing old Bouncy Castle library fails.
During initialization, old Bouncy Castle libraries are renamed with a
.backup suffix, but if the destination file already existed the initialization would fail with a fatal error. Now a warning is printed and the initialization continues.
Issue 6278: Fix internal server error when cloning from slave over HTTP.
Fix firing change related events for deleted change.
Issue 5393: Improve the performance of reviewer suggestion.
The idle timeout was not properly set for the nio2 backend, so connections would always time out with the default value (10 minutes).
Improve error message when publishing an already published change edit.
Fix ref visibility checks in dashboards.
Replication plugin: Fix replication retries when
maxRetries is set to 0.
Fix autocomplete for Firefox on LDAP login screen.
Add support for mariadb in AccountPatchReviewStore.
Fix notifications for comments on draft patch sets.
Fix internal server error when deleting current patch set and previous patch set doesn't exist.
Issue 6176: Fix internal server error when old patch set is not found.
Always use SSL implicitly for POP3 and IMAP.
receiveemail.encryption is set to TLS/SSL, we always want to use the implicit mode to execute the TLS/SSL command right after establishing the conection with the mail server. Strict mail servers like Gmail would close the connection prematurely otherwise.
Allow plugins to non-transitively depend on prolog rules.
Issue 6367: Allow to set blocking label range rules in permission rule editor.
Issue 6096: Add an “up” button to the diff screen.
Issue 6041: Display
Merge List and
Issue 6080: Allow editing status when full name is not editable.
Issue 6166: Fix loading favicon on a prefixed URL.
Make sure ‘Merge Conflict’ displays on change view.
Use a default name for accounts that do not have a display name.