Release notes for Gerrit 2.1.4 ============================== Gerrit 2.1.4 is now available in the usual location: link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list] 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=&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