Release notes for Gerrit 2.7 ============================ Gerrit 2.7 is now available: link:https://gerrit-releases.storage.googleapis.com/gerrit-2.7.war[ https://gerrit-releases.storage.googleapis.com/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/`. * 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].