| = Release notes for Gerrit 2.1.4 | 
 |  | 
 | Gerrit 2.1.4 is now available in the usual location: | 
 |  | 
 | link:https://www.gerritcodereview.com/download/index.html[https://www.gerritcodereview.com/download/index.html] | 
 |  | 
 | == 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 |