Release notes for Gerrit 2.4.1
==============================

Gerrit 2.4.1 is now available:

link:http://code.google.com/p/gerrit/downloads/detail?name=gerrit-2.4.1.war[http://code.google.com/p/gerrit/downloads/detail?name=gerrit-2.4.1.war]


There are no schema changes from 2.4.  However, if upgrading from
anything but 2.4, follow the upgrade procedure in the 2.4
link:ReleaseNotes-2.4.html[ReleaseNotes].


Bug Fixes
---------
* Catch all exceptions when async emailing
+
This fixes email notification issues reported
link:https://groups.google.com/group/repo-discuss/browse_thread/thread/dd157ebc55b962ef/652822d6fbe61e71[here].

* Fixed cleanup of propagated SshScopes
+
This improves error reporting in case of email notification errors.

* issue 1394 Fix lookup of the 'Commit Message' file in patch set
+
There is an assumption that the commit message is always first in the list of
files of a patch set. However, there was another place in Gerrit code, which
did binary search through the list of the files, without taking this assumption
into account. In case when a patch set contained a file which lexicographically
sorted before '/COMMIT_MSG' (like '.gitignore' for example) it could have
happened that the commit message was not found and, as a side effect, it wasn't
possible to review it.

* issue 1162 Fix deadlock on destroy of CommandFactoryProvider

* Honor the sendmail.smtpUser from gerrit.config on upgrade
+
If sendmail.smtpUser was not present in the gerrit.config then don't set it in
site upgrade.

* issue 1420 Forge committer bypassed
+
It was possible to forge committer even without having permission for that.
This was a regression from 2.3.

* Make sure the "Object too large..." error message is printed when an object
larger than receive.maxObjectSizeLimit is rejected by Gerrit

* Display proper error if file diff fails because content is too large

* Get around a log4j bug that causes AsyncAppender-Dispatcher thread to die and
block other threads
** Make async logging buffer size configurable
** Make logging events discardable, prevent NPE in AsyncAppender-Dispatcher thread
