Release notes for Gerrit 2.0.8
==============================

Gerrit 2.0.8 is now available in the usual location:

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

*WARNING: This version contains a schema change.*

Schema upgrade:

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

This version has some major bug fixes for JGit.  I strongly encourage people to upgrade, we had a number of JGit bugs identified last week, all of them should be fixed in this release.


New Features
------------
* Allow users to subscribe to submitted change events
+
Someone asked me on an IRC channel to have Gerrit send emails when changes are actually merged into a project.  This is what triggered the schema change; there is a new checkbox on the Watched Projects list under Settings to subscribe to these email notifications.

* BCC any user who has starred a change when sending rela...
+
A nice idea.  If the user starred the change, keep them informed on all emails related to that change, even if they aren't otherwise watching that project.

* GERRIT-33  Quote the line a comment applies to when sending commen...
+
A long standing "bug"/feature request.  I had a small chunk of time I didn't know what else to do with on Friday... it was too small for most items on the open list, so this got done instead.

* Record the remote host name in the reflogs
* Record the starting revision expression used when makin...
+
The reflogs now contain the remote user's IP address when Gerrit makes edits, resulting in slightly more detail than was there before.

Bug Fixes
---------
* Make sure only valid ObjectIds can be passed into git d...
* GERRIT-92  Upgrade JGit to 0.4.0-262-g3c268c8
+
The JGit bug fixes are rather major.  I would strongly encourage upgrading.

Other Changes
-------------
* Start 2.0.8 development
* Upgrade MINA SSHD to SVN trunk 755651
* Fix a minor whitespace error in ChangeMail
* Refactor patch parsing support to be usable outside of ...
* Gerrit 2.0.8