Release notes for Gerrit 2.6.2
==============================

Gerrit 2.6.2 is now available:

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

There are no schema changes from 2.6.1.

However, if upgrading from a version older than 2.6, follow the upgrade
procedure in the 2.6 link:ReleaseNotes-2.6.html[Release Notes].


Bug Fixes
---------


* Fix null-pointer exception when dashboard title is not specified.
+
If the title is not specified, the path of the dashboard config file
is used as title.

* link:https://code.google.com/p/gerrit/issues/detail?id=2010[Issue 2010]:
Fix null-pointer exception when searching for changes with the query
`owner:self`.

* Properly handle double-click on external group in GroupTable.
+
Double-clicking on an external group opens the group's URL (if it
is provided).

* link:https://code.google.com/p/gerrit/issues/detail?id=1872[Issue 1872]:
Fix tab expansion in diff screens when syntax coloring is on.

* link:https://code.google.com/p/gerrit/issues/detail?id=1904[Issue 1904]:
Fix diff screens for files with CRLF line endings.

* Allow label values to be configured with no text.

* link:https://code.google.com/p/gerrit/issues/detail?id=1966[Issue 1966]:
Fix Gerrit plugins under Tomcat by avoiding Guice static filter.

* link:https://code.google.com/p/gerrit/issues/detail?id=2054[Issue 2054]:
Expand capabilities of `ldap.groupMemberPattern`.

* link:https://code.google.com/p/gerrit/issues/detail?id=2039[Issue 2039]:
Fix browser NPE when ChangeCache is incomplete.

No other changes since 2.6.1.

