Release notes for Gerrit 2.0.6
==============================

Gerrit 2.0.6 is now available in the usual location:

link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list]

New Features
------------

* GERRIT-41  Add support for abandoning a dead change
+
Everyone cheer for Brad Larson for providing this!

* Bold substrings which match query when showing completi...

Bug Fixes
---------

* GERRIT-43  Work around Safari 3.2.1 OpenID login problems
* GERRIT-43  Suggest boosting the headerBufferSize when deploying un...
* GERRIT-94  Only show the progress meter if we haven't reset the ta...
* GERRIT-94  Defer showing the patch set table until it is fully bui...
* GERRIT-76  Upgrade to JGit 0.4.0-209-g9c26a41
* Ensure branches modified through web UI replicate

Other Changes
-------------

* Start 2.0.6 development
* Generate the id for the iframe used during OpenID login
* Fix formatting after method rename caused longer lines
* Change copyright messages in file headers to AOSP
* Add missing copyright notice headers to Java sources
* Support running the SSH daemon from the command line
* Ignore GerritServer.properties at the top level
* Fix gerrit_macos.launch to make Eclipse happy
* Merge
* Merge
* Gerrit 2.0.6