Release notes for Gerrit 2.9.1
==============================

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

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

Bug Fixes
---------

* link:https://code.google.com/p/gerrit/issues/detail?id=2801[Issue 2801]:
Set default for review SSH command to `notify=ALL`.
+
In 2.9 the default was incorrectly set to `notify=NONE`, which prevented
mail notifications from being sent for review comments that were added by
build jobs based on the Gerrit Trigger plugin.

* link:https://code.google.com/p/gerrit/issues/detail?id=2879[Issue 2879]:
Remove fixed limit of results returned by secondary index query.
+
The limit was hard-coded to 1000 results, which overrode the value set in
the global query limit capability.

* Don't require secondary index when running server in daemon mode.
+
The server failed to start if a secondary index was not present when starting
the daemon in slave mode.
+
Now the daemon can be started in slave mode without requiring the index
to be present.
+
The reindex program and the ssh query command are no longer available on
a server that is running in slave mode.

* Add full names for options on list groups REST API.

* Add full names for options on list projects REST API.

* link:https://code.google.com/p/gerrit/issues/detail?id=2878[Issue 2878]:
Make `-S` an alias of `--start` in changes query REST API.

* Run change hooks and ref-updated events after indexing is done.
+
The change hooks and ref-updated events were run parallel to the change
(re)indexing. This meant that the event-stream sent events to the clients
before the change indexing was finished.

* link:https://code.google.com/p/gerrit/issues/detail?id=2877[Issue 2877]:
Fix NullPointerException when ReviewInput's message is empty.

* link:https://code.google.com/p/gerrit/issues/detail?id=2500[Issue 2500],
link:https://code.google.com/p/gerrit/issues/detail?id=1748[Issue 1748]:
Fix replication of tags.

* Fix NullPointerException in `/projects/{name}/children?recursive` when a
project has a parent project that is does not exist.

* Fix NullPointerException when submitting review with inline comments via REST.

* Improve error logging in MergeabilityChecker.

* Gracefully skip mergeability checking on broken changes.

* link:https://code.google.com/p/gerrit/issues/detail?id=2861[Issue 2861]:
Replace "line" with "end_line" when range is given in inline comment.
+
Also update the documentation with an example of a range comment.

* Fix mutual exclusivity of --delete and --submit review command options.

* link:https://code.google.com/p/gerrit/issues/detail?id=2848[Issue 2848]:
Add support for CSharp syntax highlighting.

* link:https://code.google.com/p/gerrit/issues/detail?id=2831[Issue 2831]:
Add missing call to ref-updated hook for submodule updates.

* link:https://code.google.com/p/gerrit/issues/detail?id=2773[Issue 2773]
Fix stale dates in committer field.

* Prevent NullPointerException when trying to add an account that doesn't
exist as a reviewer.

* Fix potential NullPointerException in cherry-pick submit strategy.

* Add `--start` option to skip changes in ssh `query` command.

* Fix loading of javascript plugins when using non-root Gerrit URLs.
+
When Gerrit is not on the root URL path the javascript plugins failed to
load because of the exact matching required on the request URL.

* link:https://code.google.com/p/gerrit/issues/detail?id=2279[Issue 2279]:
Display parents for all changes, not only merge commits.
+
In the new change screen the parent commit is now also shown for regular
commits, as well as merge commits. This makes it consistent with the old
change screen.

* Fix handling of permissions for user-specific refs.
+
Push permission granted on a ref using the `${username}` placeholder, for
example `refs/heads/users/${username}/*`, was not honored if this was the
only ref on which the user had push permission.
