Release notes for Gerrit 2.9
============================


Gerrit 2.9 is now available:

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


*WARNING:* Support for Java 1.6 has been discontinued.
As of Gerrit 2.9, Java 1.7 is required.


Schema Change
-------------


*WARNING:* This release contains schema changes.  To upgrade:
----
  java -jar gerrit.war init -d site_path
----

*WARNING:* Upgrading to 2.9.x requires the server be first upgraded to 2.1.7 (or
a later 2.1.x version), and then to 2.9.x.  If you are upgrading from 2.2.x.x or
later, you may ignore this warning and upgrade directly to 2.9.x.


Release Highlights
------------------


* 'Gerrit Inspector' for interactive inspection and troubleshooting of a running
Gerrit instance.


New Features
------------


ssh
~~~


* New `--all-reviewers` option on the `query` command allowing query results
to include information about all reviewers added on the change.

* New link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.9/cmd-apropos.html[
`apropos` command] to search the Gerrit documentation.

* Deprecated `@CommandMetaData(descr)` has been discontinued. As of Gerrit 2.9
  `@CommandMetaData(description)` annotation must be used.

REST API
~~~~~~~~


Documentation
^^^^^^^^^^^^^


* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.9/rest-api-documentation#search-documentation.html[
Search documentation].

Daemon
~~~~~~


* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.9/dev-inspector.html[
Gerrit Inspector]: interactive Jython shell.
+
New `-s` option is added to the Daemon to start an interactive Jython shell for inspection and
troubleshooting of live data of the Gerrit instance.


Bug Fixes
---------


Configuration
~~~~~~~~~~~~~


* The number of accounts shown on the 'Become Any Account' login
screen is increased from 5 to 100.


Upgrades
--------

* Update gwtjsonrpc to 1.4
* Update gwtorm to 1.8
