Gerrit 2.7 is now available:

Gerrit 2.7 includes the bug fixes done with Gerrit 2.6.1. These bug fixes are not listed in these release notes.

Schema Change

WARNING: This release contains schema changes. To upgrade:

  java -jar gerrit.war init -d site_path

WARNING: Upgrading to 2.7.x requires the server be first upgraded to 2.1.7 (or a later 2.1.x version), and then to 2.7.x. If you are upgrading from 2.2.x.x or newer, you may ignore this warning and upgrade directly to 2.7.x.

Gerrit Trigger Plugin in Jenkins

WARNING: Upgrading to 2.7 may cause the Gerrit Trigger Plugin in Jenkins to stop working. Please see the "New Stream Events global capability" section below.

Release Highlights

  • New copyMaxScore setting for labels.

  • Comment links configurable per project.

  • Themes configurable per project.

  • Better support for binary files and images in diff screens.

  • User avatars in more places.

  • Several new REST APIs.

New Features

General

  • New copyMaxScore setting for labels.

    Labels can be configured to copy approvals forward to the next patch set.

  • Comment links can be defined per project in the project configuration.

  • Gerrit administrators can define project-specific themes.

  • New /a/tools URL.

    This allows users to download the commit-msg hook via the command line if the Gerrit server requires authentication globally.

  • New Stream Events global capability.

    The Stream Events capability controls access to the stream-events ssh command.

    Only administrators and users having this capability are allowed to use stream-events.

    If you are using the Gerrit Trigger Plugin in Jenkins, you must make sure that the Non-Interactive Users group, or whichever group the Jenkins user belongs to, is given the Stream Events capability.

  • Allow opening new changes on existing commits.

    The %base argument can be used with refs/for/ to identify a specific revision the server should start to look for new commits at. Any commits in the range $base..$tip will be opened as a new change, even if the commit already has another change on a different branch.

  • New setting gitweb.linkDrafts to control if gitweb links are shown on drafts.

    By default, Gerrit will show links to gitweb on all patch sets. If the gitweb.linkDrafts setting is set to false, links will not be shown on draft patch sets.

  • Allow changes to be automatically submitted on push.

    Teams that want to use Gerrit’s submit strategies to handle contention on busy branches can use %submit to create a change and have it immediately submitted, if the caller has Submit permission on refs/for/<ref>.

  • Allow administrators to see all groups.

Web UI

Global

  • User avatars are displayed in more places in the Web UI.

  • Diffy is used as avatar for the Gerrit server itself.

  • A popup with user profile information is shown when hovering the mouse over avatar images.

Change Screens

  • Issue 667: Highlight patch sets that have drafts.

    Patch sets having unpublished draft comments are highlighted with an icon.

  • Option to show relative times in change tables.

    A new preference setting allows the user to decide if absolute or relative dates should be shown in change tables.

  • Option to set default visibility of change comments.

    A new preference setting allows the user to set the default visibility of change comments.

Diff Screens

  • Show images in side-by-side and unified diffs.

  • Show diffed images above/below each other in unified diffs.

  • Harmonize unified diff’s styling of images with that of text.

Bug Fixes

General

  • Postpone check for first account until adding an account.

  • Issue 1848: Mark ALREADY_MERGED changes as merged in the database.

    If a change was marked ALREADY_MERGED, likely due to a bug in merge code, it does not end up in the list of changes to be submitted and never gets marked as merged despite the branch head already having advanced.

  • Issue 600: Fix change stuck in SUBMITTED state but actually merged.

    When submitting a commit that has a tag, it could not be merged.

  • Fix null-pointer exception when dashboard title is not specified.

    If the title is not specified, the path of the dashboard config file is used as title.

  • Allow label values to be configured with no text.

  • Issue 1966: Fix Gerrit plugins under Tomcat by avoiding Guice static filter.

  • Issue 2054: Expand capabilities of ldap.groupMemberPattern.

  • Issue 2098: Fix re-enabling of disabled plugins.

  • Issue 2128: Fix null-pointer exception when deleting draft patch set when previous draft was already deleted.

Web UI

  • Properly handle double-click on external group in GroupTable.

    Double-clicking on an external group opens the group’s URL (if it is provided).

  • Issue 1848: Don’t discard inline comments when escape key is pressed.

  • Issue 1863: Drop Arial Unicode MS font and request only sans-serif.

    Arial Unicode MS does not have a bold version. Selecting this font prevents correct display of bold text on Mac OS X. Simplify the selector to sans-serif and allow the browser to use the user’s preferred font in this family.

  • Issue 1872: Fix tab expansion in diff screens when syntax coloring is on.

  • Issue 1904: Fix diff screens for files with CRLF line endings.

  • Issue 2056: Display custom NoOp label score for open changes.

  • Issue 2093: Fix incorrect title of "repo download" link on change screen.

  • Issue 2127: Remove hard-coded documentation links from the admin page.

  • Issue 2010: Fix null-pointer exception when searching for changes with the query owner:self.

  • Issue 2039: Fix browser null-pointer exception when ChangeCache is incomplete.

REST API

Email

  • Log failure to access reviewer list for notification emails.

  • Log when appropriate if email delivery is skipped.

ssh

  • Issue 2016: Flush caches after adding or deleting ssh keys via the set-account ssh command.

Tools

  • The release build now builds for all browser configurations.

Upgrades

  • gwtexpui is now built in the gerrit tree rather than linking a separate module.

Documentation