Release notes for Gerrit 2.7
============================


Gerrit 2.7 is now available:

link:https://www.gerritcodereview.com/download/gerrit-2.7.war[
https://www.gerritcodereview.com/download/gerrit-2.7.war]

Gerrit 2.7 includes the bug fixes done with link:ReleaseNotes-2.6.1.html[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 link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.7/config-labels.html#label_copyMaxScore[
configured] to copy approvals forward to the next patch set.

* Comment links can be link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.7/config-gerrit.html#commentlink[
defined per project in the project configuration].

* Gerrit administrators can define project-specific themes.
+
Themes can be link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.7/config-themes.html[
configured site-wide or per project].

* 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 link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.7/access-control.html#capability_streamEvents[
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
link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.7/config-gerrit.html#gitweb.linkDrafts[
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
link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.7/user-upload.html#auto_merge[
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
^^^^^^^^^^^^^^


* link:https://code.google.com/p/gerrit/issues/detail?id=667[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.


REST API
~~~~~~~~


Several new link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.7/rest-api.html[
REST API endpoints] are added.

Accounts
^^^^^^^^


* link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.7/rest-api-accounts.html#get-diff-preferences[
Get account diff preferences]

* link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.7/rest-api-accounts.html#set-diff-preferences[
Set account diff preferences]


Changes
^^^^^^^


* link:https://code.google.com/p/gerrit/issues/detail?id=1820[Issue 1820]:
link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.7/rest-api-changes.html#list-comments[
List comments]

* link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.7/rest-api-changes.html#get-comment[
Get comment]



Projects
^^^^^^^^


* link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.7/rest-api-projects.html#get-config[
Get project configuration]


ssh
~~~


* link:https://code.google.com/p/gerrit/issues/detail?id=1088[Issue 1088]:
Support link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.7/config-gerrit.html#sshd.kerberosKeytab[
Kerberos authentication for ssh interaction].


Bug Fixes
---------

General
~~~~~~~

* Postpone check for first account until adding an account.

* link:https://code.google.com/p/gerrit/issues/detail?id=1848[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.

* link:https://code.google.com/p/gerrit/issues/detail?id=600[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.

* link:https://code.google.com/p/gerrit/issues/detail?id=1966[Issue 1966]:
Fix Gerrit plugins under Tomcat by avoiding Guice static filter.

* link:https://code.google.com/p/gerrit/issues/detail?id=2054[Issue 2054]:
Expand capabilities of `ldap.groupMemberPattern`.

* link:https://code.google.com/p/gerrit/issues/detail?id=2098[Issue 2098]:
Fix re-enabling of disabled plugins.

* link:https://code.google.com/p/gerrit/issues/detail?id=2128[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).

* link:https://code.google.com/p/gerrit/issues/detail?id=1848[Issue 1848]:
Don't discard inline comments when escape key is pressed.

* link:https://code.google.com/p/gerrit/issues/detail?id=1863[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.

* link:https://code.google.com/p/gerrit/issues/detail?id=1872[Issue 1872]:
Fix tab expansion in diff screens when syntax coloring is on.

* link:https://code.google.com/p/gerrit/issues/detail?id=1904[Issue 1904]:
Fix diff screens for files with CRLF line endings.

* link:https://code.google.com/p/gerrit/issues/detail?id=2056[Issue 2056]:
Display custom NoOp label score for open changes.

* link:https://code.google.com/p/gerrit/issues/detail?id=2093[Issue 2093]:
Fix incorrect title of "repo download" link on change screen.

* link:https://code.google.com/p/gerrit/issues/detail?id=2127[Issue 2127]:
Remove hard-coded documentation links from the admin page.

* link:https://code.google.com/p/gerrit/issues/detail?id=2010[Issue 2010]:
Fix null-pointer exception when searching for changes with the query
`owner:self`.

* link:https://code.google.com/p/gerrit/issues/detail?id=2039[Issue 2039]:
Fix browser null-pointer exception when ChangeCache is incomplete.


REST API
~~~~~~~~


* link:https://code.google.com/p/gerrit/issues/detail?id=1819[Issue 1819]:
Include change-level messages to the payload returned from
the link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.7/rest-api-changes#get-change-detail[
Get Change Detail REST API endpoint].

* Correct URL encoding in 'GroupInfo'.


Email
~~~~~

* Log failure to access reviewer list for notification emails.

* Log when appropriate if email delivery is skipped.


ssh
~~~


* link:https://code.google.com/p/gerrit/issues/detail?id=2016[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
-------------


* Update the access control documentation to clarify how to set
link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.7/access-control.html#global_capabilities[
global capabilities].

* Clarify the
link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.7/config-gerrit.html#cache_names[
change cache configuration].

