|  | = Release notes for Gerrit 2.9.2 | 
|  |  | 
|  | Download: | 
|  | link:https://www.gerritcodereview.com/download/gerrit-2.9.2.war[ | 
|  | https://www.gerritcodereview.com/download/gerrit-2.9.2.war] | 
|  |  | 
|  | == Important Notes | 
|  |  | 
|  | *WARNING:* There are no schema changes from | 
|  | link:ReleaseNotes-2.9.1.html[2.9.1], but when upgrading from an existing site | 
|  | that was initialized with Gerrit version 2.6 or later the primary key column | 
|  | order will be updated for some tables. It is therefore important to upgrade the | 
|  | site with the `init` program, rather than only copying the .war file over the | 
|  | existing one. | 
|  |  | 
|  | It is recommended to run the `init` program in interactive mode. Warnings will | 
|  | be suppressed in batch mode. | 
|  |  | 
|  | ---- | 
|  | java -jar gerrit.war init -d site_path | 
|  | ---- | 
|  |  | 
|  | *WARNING:* When upgrading from version 2.8.4 or older with a site that uses | 
|  | Bouncy Castle Crypto, new versions of the libraries will be downloaded. The old | 
|  | libraries should be manually removed from site's `lib` folder to prevent the | 
|  | startup failure described in | 
|  | link:https://code.google.com/p/gerrit/issues/detail?id=3084[Issue 3084]. | 
|  |  | 
|  | == Bug Fixes | 
|  |  | 
|  | === ssh | 
|  |  | 
|  | * Update SSHD to 0.13.0. | 
|  | + | 
|  | This fixes link:https://issues.apache.org/jira/browse/SSHD-348[SSHD-348] which | 
|  | was causing ssh threads allocated to stream-events clients to get stuck. | 
|  | + | 
|  | Also update SSHD Mina to 2.0.8 and Bouncycastle to 1.51. | 
|  |  | 
|  | === Database | 
|  |  | 
|  | * Update gwtorm to 1.14. | 
|  | + | 
|  | The primary key column order for compound keys was wrong for some Gerrit | 
|  | database tables. This caused poor performance for those SQL queries which rely | 
|  | on using a prefix of the primary key column sequence in their WHERE conditions. | 
|  | + | 
|  | This version of gwtorm fixes the issue for new sites. For existing sites that | 
|  | were initialized with Gerrit version 2.6 or later, the primary key column | 
|  | order will be fixed during initialization when upgrading to 2.9.2. | 
|  |  | 
|  | === Secondary Index | 
|  |  | 
|  | * Fix "400 cannot create query for index" error in "Conflicts With" list. | 
|  | + | 
|  | The new | 
|  | link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.9.2/config-gerrit.html#index.defaultMaxClauseCount[ | 
|  | index.defaultMaxClauseCount] setting allows to increase the BooleanQuery limit | 
|  | for the Lucene index. | 
|  | + | 
|  | Raising the limit avoids failing a query with `BooleanQuery.TooManyClauses`, | 
|  | preventing users from seeing a "400 cannot create query for index" error | 
|  | in the "Conflicts With" section of the change screen. | 
|  |  | 
|  | * link:https://code.google.com/p/gerrit/issues/detail?id=2996[Issue 2996]: | 
|  | Delete a change from the index if it is not in the database. | 
|  | + | 
|  | If for some reason the secondary index is out of date, i.e. a change was deleted | 
|  | from the database but wasn't deleted from the secondary index, it was impossible | 
|  | to re-index (remove) that change. | 
|  | + | 
|  | Automatically remove the change from the secondary index if it doesn't exist in | 
|  | the database. If a user clicks on search result from a stale change, they will | 
|  | get a 404 page and the change will be removed from the index. | 
|  |  | 
|  | === Change Screen | 
|  |  | 
|  | * link:https://code.google.com/p/gerrit/issues/detail?id=2964[Issue 2964]: | 
|  | Fix comment box font colors of dark CodeMirror themes. | 
|  | + | 
|  | When using a dark-colored theme, for example "Twilight", the comments were | 
|  | shown in a light color on a light background making them unreadable. | 
|  |  | 
|  | * link:https://code.google.com/p/gerrit/issues/detail?id=2918[Issue 2918]: | 
|  | Fix placement of margin column in side-by-side diff. | 
|  | + | 
|  | The margin was placed approximately 10% too far to the right. | 
|  |  | 
|  | * link:https://code.google.com/p/gerrit/issues/detail?id=2970[Issue 2970]: | 
|  | Fix display of accented characters in side-by-side diff. | 
|  | + | 
|  | On some browsers, accented characters were not displayed correctly | 
|  | because the line was not high enough. | 
|  |  | 
|  | * link:https://code.google.com/p/gerrit/issues/detail?id=2960[Issue 2960]: | 
|  | Show filename in side-by-side diff screen. | 
|  | + | 
|  | In the old side-by-side diff screen, the name of the file being diffed was shown | 
|  | in the window title. This feature was missed in the new side-by-side diff screen. | 
|  |  | 
|  | * Remove 'send email' checkbox from reply box on change screen. | 
|  |  | 
|  | === Plugins | 
|  |  | 
|  | * link:https://code.google.com/p/gerrit/issues/detail?id=543[Issue 543] | 
|  | Replication plugin: Prevent creating repos on extra servers. | 
|  | + | 
|  | If using a group to replicate only certain repositories, it was possible | 
|  | to be in a state where the authGroup is used on some servers but not | 
|  | others.  If this happened, Gerrit would create the repository on all | 
|  | servers, even if the authGroup would prevent replicating code to it. | 
|  | By ensuring the authGroup can see the project first, the repository is | 
|  | not created if it's not needed. | 
|  |  | 
|  | === Security | 
|  |  | 
|  | * Do not throw away bytes from the CNSPRG when generating HTTP passwords. | 
|  | + | 
|  | The implementation generated LEN bytes of cryptography-safe random data and | 
|  | applied base64 encoding on top of that. The base64 transformation, however, | 
|  | inflated the size of the data by 33%, and this meant that only 9 bytes of | 
|  | randomness were actually used. | 
|  |  | 
|  | * Increase the size of HTTP passwords. | 
|  | + | 
|  | The length of generated HTTP passwords is increased from 12 to 42 characters. | 
|  |  | 
|  | * Consider rule action while constructing local owners list | 
|  | + | 
|  | Previously rule action was not considered during computation of the local | 
|  | owners list. This meant that members of a group that was given OWNER permission | 
|  | with BLOCK or DENY action were considered as project owners. | 
|  |  | 
|  |  | 
|  | === Miscellaneous Fixes | 
|  |  | 
|  | * link:https://code.google.com/p/gerrit/issues/detail?id=2911[Issue 2911]: | 
|  | Fix Null Pointer Exception after a MergeValidationListener throws | 
|  | MergeValidationException. | 
|  |  | 
|  | * link:https://code.google.com/p/gerrit/issues/detail?id=2989[Issue 2989]: | 
|  | Fix incorrect submodule subscriptions. | 
|  | + | 
|  | The gitlinks update failed after deleting a branch in a super project which had | 
|  | other branches subscribed to the same submodule branch. | 
|  |  | 
|  | * Fix infinite loop when checking group membership. | 
|  |  | 
|  | * Fix quoted-printable encoding of e-mail addresses. | 
|  | + | 
|  | The "(Code Review)" part of the e-mail sender name was truncated when the | 
|  | author's name was not pure ASCII. |