Gerrit 2.1.4 is now available in the usual location:

Schema Change

WARNING This release contains multiple schema changes. To upgrade:

  java -jar gerrit.war init -d site_path

New Features

Change Management

  • issue 504 Implement full query operators

    The search box now implements a wide range of operators and boolean expressions, permitting complex queries such as is:open CodeReview>=1 (has:draft OR is:starred) to locate open changes that have been code reviewed, but still have unpublished drafts or were starred by the current user. The full range of supported operators is documented in the user guide.

  • Change lists now use query operators

    All current change lists have been reimplemented using query operators, so selecting All open changes actually performs the query is:open. This is to help end-users learn the different operators that are supported, and simplifies the internal implementation considerably by removing redundant code.

  • issue 51 Tag changes with topic branches

    Changes can be tagged with a topic name during upload. To add the tag query when pushing to branch master, use git push URL HEAD:refs/for/master/query. To add a topic name with repo upload use the -t command line flag. Topic names are displayed next to the branch name in the web UI, and can be searched for with the topic: query operator.

  • Filter the list of open changes by watched projects

    The query operator is:watched matches changes matching the user’s watched project list, and a new menu item was added under the My menu to select open changes matching these watched projects.

Web UI

  • issue 579 Remember diff formatting preferences

    Formatting options at the top of a side-by-side or unified diff page are now remembered by saving the current preferences into the user’s account whenever Update is clicked.

  • issue 680 Show commit message on the per-file review pages

  • issue 498 Improved keyboard navigation

    More keyboard bindings have been added, reducing the need to switch to the mouse while navigating through a change and performing a review.

  • issue 395 Open new window/new tab for all files in a change

    New buttons permit opening all modified files of a change into new windows or tabs.

  • issue 440 Add copy to clipboard button for change-id

    The Change-Id field in the upper left side of a change now support to copy "Change-Id: I…." onto the clipboard, making it easier to paste into a commit message.

  • issue 559 Allow copying user public ssh key to clipboard

  • issue 509 Make branch columns link to changes on that branch

Email Notifications

  • issue 311 No longer CC a user by default

    The user who causes a notification to be sent is no longer CC’d on the email when it is sent. This reduces the number of messages sent to a user, but can be re-enabled through a checkbox in the Settings > Preferences panel.

  • issue 535 Enable watching of all projects

    Adding the magic \-- All Projects \-- to the watched project list permits the user to be notified of any change occurring in any project. Project specific entries override the notification settings for all projects.

  • issue 492 Allow watching specific branches or any other search query

    In addition to watching a project, users can register a query string to match specific changes, reducing notifications to be a smaller subset of the changes that occur in a project.

  • issue 70 Allow file:^regex to match affected files

    The file:^path operator can be used in a watch filter to receive notifications only when files matching the regular expression are modified by the change.

  • issue 623 Include Gerrit-Owner, Gerrit-Reviewer in email footers

    New fields in the email footer provide additional detail, enabling better filtering and classification of messages.

Access Control

  • Support regular expressions for ref access rules

    References in an access rule can now be specified by regular expression by prefixing the reference name with ^.

  • issue 577 Support ${username} in access rules

    Adding $\{username\} into a reference causes the current username to be inserted at that position. When combined with the Push Branch permission this creates a per-user branch namespace feature, giving each user their own "sandbox" to push changes to.

  • issue 313 ssh gerrit create-group

    Groups can now be created over SSH by administrators using the gerrit create-group command.

Authentication

  • Remove password authentication over SSH

    Adding password authentication over SSH turned out to be a major mistake. Users primarily use SSH public keys, and the password prompt just got in the way or confused them. Password support has been removed from the SSH server.

  • Username cannot be changed once assigned

    Once a username has been selected for a user account, it cannot be modified by the user.

  • issue 555 Make LDAP sessions persistent for the session age

    Web sessions are now persistent for the cache.web_sessions.maxAge setting, rather than expiring when the browser closes. (Previously sessions expired when the browser exited.)

Misc.

  • Add topic, lastUpdated, sortKey to ChangeAttribute

    Additional change fields are now exported as part of the stream-events output.

  • issue 504 gerrit query SSH command

    Queries to lookup change information can be executed over SSH through the gerrit query command, with results output in either human readable text or machine readable JSON. Change queries can also be run over HTTP with the /query?q=<query>&format=JSON URL. Both interfaces are intended for automated tools.

  • Remove git diff-tree dependency

    Gerrit no longer requires git in the PATH; differences are now constructed in pure Java code. Remote repository initialization over SSH still requires git on the remote host’s PATH.

  • Internal dependencies updated

    Updated JGit to 0.8.4.89-ge2f5716, log4j to 1.2.16, GWT to 2.0.4, sfl4j to 1.6.1, easymock to 3.0, JUnit to 4.8.1.

Bug Fixes

Web UI

  • issue 352 Confirm branch deletion in web UI

    Deleting a branch now presents a confirmation dialog to give the user a second chance to abort the destructive operation.

  • Fix some JavaScript errors under Chrome

    The GWT compiler started to define symbols in the same namespace as the prettify syntax highlighting library. We moved the prettify library into its own iframe so it has a different JavaScript namespace in the browser.

  • Close button on OpenId register / sign-in dialog

    There was no obvious way to leave the sign-in dialog. Fixed.

  • Links in OpenId sign-in dialog not focusable

    Keyboard navigation to standard links like Google Accounts wasn’t supported. Fixed.

Misc.

  • issue 614 Fix 503 error when Jetty cancels a request

    A bug was introduced in 2.1.3 that caused a server 503 error when a fetch/pull/clone or push request timed out. Fixed.

Version

ae59d1bf232bba16d4d03ca924884234c68be0f2