Release notes for Gerrit 2.8.1
==============================

There are no schema changes from link:ReleaseNotes-2.8.html[2.8].

link:https://gerrit-releases.storage.googleapis.com/gerrit-2.8.1.war[https://gerrit-releases.storage.googleapis.com/gerrit-2.8.1.war]

Bug Fixes
---------
* link:https://code.google.com/p/gerrit/issues/detail?id=2073[Issue 2073]:
Changes that depend on outdated patch sets were missing in the related changes list.
+
After rebasing the first change the other changes disappeared from the related changes list.

* Fix plugin API packaging. Parts from JGit signed library were included in the
plugin API. As a consequence unit tests were failing to execute against it.

* Fix IllegalArgumentException in task queue comparator.
+
This could happen if you have a long queue and the state of a task (DONE, CANCELLED,
RUNNING, READY, SLEEPING, OTHER) changes while the sorting is ongoing.

* Delegate to the filters for init and destroy phases in AllRequestFilter.
+
This fixes a bug that prevented javamelody from working properly.

* Fix ArrayOutOfBoundsException on initial commits.
+
This happened if a new patch set was given for an initial commit in a repository.

* Enable syntax highlighting for CXX, HXX, Python, Go, BUCK and .gitmodules.
