Gerrit 2.0.12 is now available in the usual location:

WARNING: This version contains a schema change.

Apply the schema upgrade:

  java -jar gerrit.war --cat sql/upgrade010_011.sql | psql reviewdb

Important Notes

Java 6 Required

Gerrit now requires running within a Java 6 (or later) JVM.

Protocol change

The protocol between the browser based JavaScript and the server has changed. After installing 2.0.12 users need to load the site page again to ensure they are running 2.0.12 or later. Users can verify they have the new version by checking the version number in the footer in the lower right. Users who don’t load the new version (e.g. are using a stale tab from a week ago) will see errors when trying to view patches.

New Features

  • Honor --reviewer=not.preferred.email during upload

  • Also scan by preferred email for --reviewers and --cc …

    Better DWIMery for matching reviewers by name, email address, or just local name (e.g. "jdoe") if using HTTP authentication with email_format.

  • Add support for MySQL database

    Now MySQL can be used as a backend data store.

  • Switch all current SSH commands to use args4j

  • Allow targeted cache flushes to only specific caches

    SSH commands, especially administrative ones like "gerrit show-caches", "gerrit flush-caches", or "gerrit show-connections" now accept options like "-h"/"--help" to view command line options, and use a more typical option parsing semantics.

  • GERRIT-164 Bind our SSH daemon with SO_REUSEADDR

  • Honor sshd.tcpKeepAlive for TCP keep alive controls

  • Enable SSH daemon cipher and MAC configuration

    The SSH daemon now binds with SO_REUSEADDR, making warm-restarts of the daemon easier, especially if the site is busy. Additionally, gerrit.config gained some new options to further control the behavior of the internal SSHD.

  • Add admin command gerrit show-connections

    The new "gerrit show-connections" command reports who is connected, from what host, and what command(s) they are running on that SSH session.

  • Replace the top menu bar with a tab panel and links

  • GERRIT-27 Add a search box to quickly locate changes by change n…

    The top menu bar area has been redesigned, and a search box has been added on the right, below the username and Settings links. Currently the search box only accepts change numbers, but in the future we hope to support additional types of query strings.

  • Allow users to disable clippy the flash movie if they …

    A new per-account setting permits users to disable the clippy Flash movie that supports copying text to the clipboard. In every context where this movie appears clicking on the text converts it to a text box, allowing a fast "click Ctrl-C" interaction to place the text on the clipboard. Personally I’ve found that loading 3 Flash movies on a change page really slowed down the UI rendering, so I wanted to disable the Flash movies.

  • Allow users to control the number of results per page

    A new per-account setting allows users to control how many rows appear per page in the All screens, like All Open Changes, etc.

  • Rewrite the keyboard event handlers to use new GlobalK…

  • GERRIT-136 Implement n/p keys to jump to next/previous diff chunk…

  • Add keyboard bindings n/p for all change lists to pagi…

  • Put the "Use ? for keyboard help" ahead of the versi…

  • GERRIT-136 Use f in a patch to browse the list of files in the …

  • Add global jump navigation keys for the main menu

    Keyboard bindings have been completely overhauled in this release, and should now work on every browser. Press ? in any context to see the available actions. Please note that this help is context sensitive, so you will only see keys that make sense in the current context. Actions in a user dashboard screen differ from actions in a patch (for example), but where possible the same key is used when the logical meaning is unchanged.

Bug Fixes

  • Ignore "SshException: Already closed" errors

    Hides some non-errors from the log file.

  • GERRIT-86 Stop generating raw #target anchor tags

    Should be a minor improvement for MSIE 6 users.

Other Changes

  • Start 2.0.12 development

  • Report what version we want on a schema version mismat…

  • Remove unused imports in SshServlet

  • Fix vararg warnings in GerritSshDaemon

  • Update Ehcache to 1.6.0-beta5

  • Update SSHD to 1.0-r773859

  • Start targeting Java 1.6

  • Switch Maven GWT plugin to org.codehaus.mojo:gwt-maven…

  • GERRIT-75 Upgrade to GWT 1.6.4

  • GERRIT-75 Switch to GWT 1.6’s new HostedMode debugging utility

  • Allow become any account to use GET parameters

  • Switch to gwtexpui’s new CSS linker module

  • Load the GWT theme before any other stylesheets

  • Switch from our own LazyTabChild to GWT 1.6’s LazyPanel

  • GERRIT-75 Convert all GWT 1.5 listener uses to GWT 1.6 handlers

  • Stop bundling the PostgreSQL driver

  • Upgrade JGit to 0.4.0-372-gbd3c3db

  • Add args4j 2.0.12 as a dependency

  • Describe MySQL and H2 setup in jetty_gerrit.xml templa…

  • Actually deregister a command when it exits

  • Put the link to the review inside the body instead of …

  • Fix change permalinks after breaking them during GWT 1…

  • Delete dead CSS bundle code

  • Always use NpTextBox or NpTextArea to prevent GlobalKe…

  • Detect cases where system_config has too many rows

  • Remove unnecessary warning suppressions

  • Remove dead code, these aren’t used anymore

  • Fix warnings about potential serialization problems

  • Fix warning about debug code in OpenIdServiceImpl

  • Blur menu item hyperlinks on activation

  • Fix LinkMenuItem blur on older browsers

  • Remove dead LoginService, SignInResult classes

  • Remove pointless GWT.isClient calls in Gerrit module

  • Refactor how user preferences are applied to the UI

  • Move the watched project list to its own tab in settin…

  • Refactor account preferences model

  • Sort the RSA host key before the DSA host key

  • Clarify what the "known hosts entry" is

  • Cleanup the name of the search focus key registration

  • Change sign out handler to use GWT’s HandlerManager su…

  • Fix all onLoad, onUnload methods to be protected acces…

  • Honor GWT 1.6’s handleAsClick logic in DirectScreenLink

  • Switch all hyperlinks to be InlineHyperlink

  • Fix unused import in PatchScreen

  • Make n/p only honor comments on file adds/deletes

  • Switch to gwtjsonrpc’s new Handler based status update…

  • Move the comment editor actions into their own keyboar…

  • Ensure the row pointer is visible before moving it

  • Automatically reposition/resize file browser if window…

  • Minor cleanup to Gerrit module bootstrap code path

  • Make escape in the search box abort the search

  • Switch to tagged gwtexpui, gwtjsonrpc, gwtorm

  • gerrit 2.0.12