Gerrit 2.1.1.1 is now available in the usual location:

Schema Change

WARNING This release contains a schema change. To upgrade:

  java -jar gerrit.war init -d site_path

Patch 2.1.1.1

  • Update MINA SSHD to SVN 897374

    A deadlock was recently discovered in the SSHD, causing an IoProcessor thread to freeze and stop servicing clients. This manifests itself as spotty SSH service; sometimes a connection works, sometimes it hangs and never executes the command. Fixed.

  • issue 376 Fix deletion of comments on publish comments screen

    Discarding a comment from the publish comments screen caused a ConcurrentModificationException. Fixed.

New Features

  • issue 322 Update to GWT 2.0.0

    JavaScript code generation is now based upon GWT 2.0, which is the latest stable release available. One benefit of this is the initial JavaScript download is smaller, by omitting less-frequently used sections of the UI like the admin screens or user preferences.

  • Support creating new users in DEVELOPMENT_BECOME_ANY_

    Developers can now create new users (to facilitate testing scenarios) through the /become URL, rather than manually inserting account records or switching over to OpenID/LDAP.

  • issue 371 Make gitweb url links customizable, add support for c…

    The linkage to gitweb is now more configurable, and we also support linking to cgit, a popular C based alternative to the Perl based gitweb.cgi.

  • Log SSH activity to $site_path/logs/sshd_log

    SSH authentication failures and commands are now logged, including execution times, so administrators can monitor server activity. The log file is local to the server running the daemon process, and came about to help replace the lastUsedOn columns which were dropped from the database (see below).

  • Drop the lastUsedOn from AccountSshKeys, AccountExternalIds

  • Implement automatic schema upgrading

    The lastUsedOn column is no longer updated in the database, and was actually removed by a schema upgrade in this release.

  • issue 162 Record submitters as the author of a merge commit

    Merge commits created by Gerrit during change submission now use the submitter’s identity as the author identity, and generic Gerrit user identity as the committer identity.

  • issue 162 Summarize single change merges with short description

    The short description of a merge commit including exactly one change into the branch now includes that change’s short description, making the log easier to read.

  • Reload GerritSiteHeader, GerritSiteFooter, GerritSite…

    The site header/footer files are reloaded on the fly if they are modified, allowing the administrator to abuse the header for a "message of the day" feature, if desired.

  • Reduce the size (and cost) of the host page

  • Use server side permutation selection

  • Allow ?s=0 to disable server side permutation

    The host page was compacted slightly, and the CPU time used on the server to send it to a client was reduced by reusing as much work as possible between sessions. Additionally, the host page now selects the correct JavaScript based on the User-Agent HTTP header, removing one HTTP round trip during initial page load, and saving ~5 KiB of transfer.

  • Make hyperlinks update URL when screen is visible

    The address bar now only updates when the corresponding content is actually visible. This matches the behavior used within other AJAX applications like Gmail.

  • Use a glass pane behind our dialogs, make most modal

    Error dialogs are now more noticeable, and less easily dismissed by an accidental click. This is especially useful when there is a merge error during submit.

Bug Fixes

  • issue 359 Allow updates of commits where only the parent changes

    Commit replacements were sometimes rejected when the only thing that changed as the parent pointer, e.g. rebasing a change because the parent’s commit message was modified to correct a typo. We now allow these replacements, with a warning to the console.

  • gsql: Fix \d table missing first column

    The gsql tool skipped the first column of any table, e.g. when showing "\d accounts" the registered_on column wasn’t displayed.

  • Default to the en locale

  • Limit permutations to only the en locale

    The WAR file shrank because we deleted a large chunk of JavaScript which was never used. GWT created this code in case the browser didn’t get forced into the en locale, but we always force it to use the en locale because the top of our HTML page demands it.

  • issue 364 Fix SchemaCreatorTest to work when localized errors a…

    This test failed when the JVM’s default locale wasn’t en_US, as it was testing a translated string against an English expected value.

  • issue 365 Skip CommitMsgHookTest on Win32

    This test failed on Windows platforms, where there is no shell or perl available from a native Win32 application like the JVM. For now, we skip the test.

  • issue 369 Add missing repositories to build search path

    The out-of-the-box build of Gerrit’s own source code didn’t work, due to missing Maven repository URLs in our pom.xml. I never noticed the failure because my local repository already had the required JARs present.

  • Fix MSIE 8 compatibility

    Releases between 2.0.18 and 2.1.1 have not supported MSIE 8, due to a broken GWT upgrade. Fixed.

  • Ensure gitweb.cgi pipes are closed

    Exceptions may have allowed our internal gitweb CGI invocations to leak file descriptors, as pipes to the external CGI were not always closed. Fixed.

Other

  • Switch to ClientBundle

  • Update to gwtexpui-1.2.0-SNAPSHOT

  • Merge branch master into gwt-2.0

  • Use gwt-maven’s -Dgwt.style rather than our own

  • Don’t build the "Story of Your Compile" report by def…

  • Drop the com.google.gerrit.httpd.auth.become system p…

  • Move all of our CSS rules into our CssResource

  • Start splitting our code to reduce initial download

  • Defer our large JavaScript parsing until later

  • Move prettify to be loaded as part of our patch split…

  • issue 363 Update Google Code Prettify to 3-Dec-2009

  • Start next release development

  • Merge branch gwt-2.0

  • documentation: Remove Eclipse user library

  • Fix disclosure panel CSS

  • Simplify pretty printer loading

  • Fix formatting of whitespace errors

  • Correct URL to apache license in CSS headers

  • Restore the CSS linker for GWT’s stylesheet

  • documentation: Correct calculation of QPS

  • Consolidate windows platform tests to a single class

  • documentation: Correct other calculations of QPS

  • issue 370 Revert "Defer our large JavaScript parsing until late…

  • Merge change If238e2bd

  • Remove unnecessary /login/* URLs when auth.type = LDAP

  • Stop using AccountExternalId lastUsedOn for most rece…

  • Revert "Remove unnecessary /login/* URLs when auth.ty…

  • Document why LoginRedirectServlet is required

  • Cleanup Maven build by pushing component dependencies…

  • Cleanup Maven build by using common plugin management

  • Fix package-before-copyright in GerritLauncher

  • Fix unified patch view

  • Fix background of RPC loading status message

  • Use @def for common CSS definitions

  • Correct comment panel border styles

  • Improve keyapplet referencing

  • Remove the duplicate Version class

  • Be specific about the Maven plugin groupId

  • Fix automatic formatting in SshPanel

  • Remove unnecessary compile scope tags

  • Disable unnecessary class operations

  • Use the full name Gerrit Code Review in sign-in dia…

  • init: Defer all prune executions until upgrade cycle …

  • Fix automatic formatting in LdapRealm

  • Update gwtorm, gwtjsonrpc, gwtexpui

  • Push Command.destroy down through DispatchCommand red…

  • Quote usernames in the sshd_log if necessary

  • Document why ReplicationUser doesn’t use registered g…

  • Configure the gwtorm KeyUtil.Encoder during module lo…