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 withrepo 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 thetopic:
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 requiresgit
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