blob: ec5b77e3c02810127fc7a6db878cf4f2104d695d [file] [log] [blame]
= 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.