Gerrit 2.0.11 is now available in the usual location:

WARNING: This version contains a schema change.

Apply the schema upgrade:

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

Important Notes

Cache directory

Gerrit now prefers having a temporary directory to store a disk-based content cache. This cache used to be in the PostgreSQL database, and was the primary reason for the rather large size of the Gerrit schema. In 2.0.11 the cache has been moved to the local filesystem, and now has automatic expiration management to prevent it from growing too large. As this is only a cache, making backups of this directory is not required.

It is suggested (but not required) that you enable this cache:

  mkdir $site_path/disk_cache
  chown gerrituser $site_path/disk_cache
  chmod 700 $site_path/disk_cache           ; # just to be paranoid

The directory can also be placed elsewhere in the local filesystem, see cache.directory in the gerrit.config file.

Protocol change

The protocol between the browser based JavaScript and the server has changed. After installing 2.0.11 users need to load the site page again to ensure they are running 2.0.11 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

  • GERRIT-8 Add Whole File as a context preference in the user s…

  • GERRIT-9 Honor user’s "Default Context" preference

  • GERRIT-14 Split patch view RPCs into two halves

  • GERRIT-61 Database error in side by side view

  • GERRIT-156 Rewrite the side-by-side and unified diff viewers

    The side by side and unified patch viewers have been completely rewritten. Gerrit now honors the user’s Default Context setting (from My > Settings) in both the side by side and the unified patch view. A new "Whole File" setting is also available, showing the complete file.

  • GERRIT-154 Add the branch name to the beginning of the subject li…

  • Sending mail when merge failed due to path conflict, m…

    Some improvements have been made with regards to the emails sent by Gerrit.

  • Configure the JGit WindowCache from $site_path/gerrit….

  • Document the new gerrit.config file

    Gerrit now supports a Git-style "$site_path/gerrit.config" configuration file. Currently this supports configuration of the various memory caches, including control over JGit’s pack file cache. See the updated documentation section for more details: http://gerrit.googlecode.com/svn/documentation/2.0/config-gerrit.html

  • Add "gerrit show-caches" to view cache statistics

    There is a new administrative command over SSH called "gerrit show-caches" which displays current cache statistics for the various caches within the Gerrit memory space.

  • Expand local part emails when creating new changes

    Simple DWIMery: users can now do repo upload --reviewer=who to have the reviewer email automatically expand according to the email_format column in system_config, e.g. by expanding who to who@example.com.

Bug Fixes

  • GERRIT-81 Can’t repack a repository while Gerrit is running

    Running "git repack", "git gc" or "git fetch" in a repository owned by Gerrit is now safe while Gerrit is running.

  • GERRIT-165 Don’t create new user accounts as full name = "null nu…

    New users coming from Google Accounts OpenID provider where given a full name of "null null" rather than "Anonymous Coward".

  • Honor account.preferred_email when checking co…

    Service users created by manually inserting into the accounts table didn’t permit using their preferred_email in commits or tags; administrators had to also insert a dummy record into the account_external_ids table. The dummy account_external_ids record is no longer necessary.

Other Changes

  • Start 2.0.11 development

  • Include the Google Format style we selected in our p…

  • Upgrade JGit to v0.4.0-310-g3da8761

  • Include JGit sources when building GWT code

  • Cleanup classpath and use source JARs to build JavaScr…

  • Remove the ImportGerrit1 command line utility

  • Remove EncryptContactInfo helper program

  • Add custom serialization for jgit.diff.Edit

  • Add Ehcache 1.6.0-beta5 to our dependency list

  • Start/stop Ehcache when GerritServer starts/stops

  • Cache OpenID discovery results inside of Ehcache

  • Cache JGit FileHeader and EditList inside of Ehcache

  • Store FileHeader and EditList in Ehache during patch s…

  • Remove the now dead patch_contents table from the data…

  • Fix "null null" user names during schema upgrade from …

  • Work around asciidoc 8.2.2 not including our APLv2 lic…

  • Remove unused logger from SshServlet

  • Reuse is administrator test in admin SSH commands

  • Use common PrintWriter construction in command impleme…

  • Refactor gerrit flush-caches to just flush everything …

  • GERRIT-166 Move the SSH key cache into Ehcache

  • Change the diff cache serialization of JGit ObjectId i…

  • Fix git_base_path documentation in config-gerrit

  • Clarify the default max_session_age in config-gerrit

  • Enhance the site_path entry in config-gerrit

  • Clarify the caching of static assets under $site_path/…

  • Minor grammar fixes in the Google Analytics documentat…

  • Document that replication honors StrictHostKeyChecking

  • Document how ~/.ssh/known_hosts is used during replica…

  • Document how ssh-agent cannot be used for replication

  • Fix git_base_path references in project-setup

  • Cleanup project setup documentation

  • Expand the config-contact documentation to describe th…

  • Clarify the gitweb integration documentation

  • Minor corrections in install documentation

  • Reformat the config-gerrit page to free up section hea…

  • Enable table of contents in documentation files

  • Add the source code version number to documentation

  • More reformatting of the config-gerrit page

  • Cleanup formatting references for file system path var…

  • Cleanup the documentation index

  • Kill the feature roadmap in the documentation

  • Only use the disk cache directory if we can write to it

  • Change the title of the installation guide

  • Note in the developer install guides that you need to …