= Release notes for Gerrit 2.0.16 Gerrit 2.0.16 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 version contains a schema change* (since 2.0.14) Apply the database specific schema script: ---- java -jar gerrit.war --cat sql/upgrade013_014_postgres.sql | psql reviewdb java -jar gerrit.war --cat sql/upgrade013_014_mysql.sql | mysql reviewdb ---- == New Features * Search for changes created or reviewed by a user + The search box in the upper right corner now accepts "owner:email" and "reviewer:email", in addition to change numbers and commit SHA-1s. Using owner: and reviewer: is not the most efficient query plan, as potentially the entire database is scanned. We hope to improve on that as we move to a pure git based backend. * Make History panel settings in a diff screen sticky + When comparing different patch sets, e.g. patch set 3 against patch set 2, the settings are now sticky across files in the same change, reducing the number of clicks required to re-review an existing change. * GERRIT-113 Permit projects to require Signed-off-by lines to crea... + GERRIT-113 requested that project owners be able to enforce having a Signed-off-by line in the footer of a commit message. Forks of the Linux kernel require this line in order to contribute back upstream. If enabled in the project settings screen there must be a SOB line for the author, the committer, and the uploader of a change (though typically committer == uploader). * Use Tested-by: instead of Verified-by: during cherry-p... + The Verified-by footer line created during a cherry-picked submit is now called Tested-by. This better matches with the upstream Linux kernel's conventions of what the role means. Since the kernel is more widespread than Gerrit Code Review, I'm sticking with the kernel's conventions. * Extract reviewer suggestions from commit messages + If a commit message contains Reviewed-by, Tested-by or CC footer lines and those email addresses are registered in Gerrit, those users will receive notification of the new change. This is an alternate method to supplying reviewer address on the command line. * Drop the unnecessary host page servlet name from URLs + The "/Gerrit" suffix is no longer necessary in the URL. Gerrit now favors just "/" as its path location. This drops one redirection during initial page loading, slightly improving page loading performance, and making all URLs 6 characters shorter. :-) == Bug Fixes * Don't create reflogs for patch set refs + Previously Gerrit created pointless 1 record reflogs for each change ref under refs/changes/. These waste an inode on the local filesystem and provide no metadata value, as the same information is also stored in the metadata database. These reflogs are no longer created. * Fix "Error out if a user forgets to squash when replac... + Users were still able to find a way to make a change depend upon itself, which makes the change unsubmittable. Often this was done by creating a merge commit, then committing on top of that, and uploading it as a replacement. Gerrit failed to notice this condition because it only considered direct ancestors, now it also looks for indirect ancestors. * Fix syntax error in MySQL URL in jetty_gerrit.xml + Someone noticed that the MySQL URL was invalid XML, its fixed now. * Catch OpenID errors caused by clock skew and present t... + OpenID errors caused by clock skew (or other factors) now present as an error in the client user interface, and in the server log file, making it more obvious when an OpenID failure occurs. New administrators trying to setup Gerrit installations have often run into problems here, due to bad error reporting. * GERRIT-232 Support HTTP connections tunneled through SSH + If the hostname is "localhost" or "127.0.0.1", such as might happen when a user tries to proxy through an SSH tunnel, we honor the hostname anyway if OpenID is not being used. == Other Changes * Start 2.0.16 development * Update JGit to 0.4.9-18-g393ad45 * Name replication threads by their remote name * Exclude JGit's JSch version during build * Update ehcache to 1.6.0 release * Update JGit to 0.5.0 * Update openid4java to 0.9.5 release * Remove --offline mode from to_hosted.sh * Save all project settings in one RPC * Don't tag Reviewed-by, Tested-by if already Signed-off... * Don't append duplicate Reviewed-on Gerrit URLs during ... * Don't append duplicate Verified-by or Tested-by lines * Use the List to determine if a paragraph b... * Try harder to pretty-print an exception name in error ... * Fix minor whitespace issues in ErrorDialog * Document how to contribute to Gerrit Code Review * gerrit 2.0.16