= What's new in Gerrit 2.8
:backend: slidy
:max-width: 70em

[[title-page]]
== What's new in Gerrit 2.8

== What's new in Gerrit 2.8
* link:https://gerrit-documentation.storage.googleapis.com/ReleaseNotes/ReleaseNotes-2.8.html[
2.8 Release Notes]
* link:https://gerrit-documentation.storage.googleapis.com/ReleaseNotes/ReleaseNotes-2.8.1.html[
2.8.1 Release Notes]
* link:https://gerrit-documentation.storage.googleapis.com/ReleaseNotes/ReleaseNotes-2.8.2.html[
2.8.2 Release Notes]

* Statistics
+
[width="50%",cols=">s,^m,^m,^m,^m,^m",options="header"]
|==========================
|                 |Gerrit 2.8 |Gerrit 2.7 |Gerrit 2.6 |Gerrit 2.5 |Gerrit 2.4
|commits &#x278a; |1373       |272        |1301       |508        |122
|resolved issues
|link:http://code.google.com/p/gerrit/issues/list?can=1&q=FixedIn=2.8[72]
|link:http://code.google.com/p/gerrit/issues/list?can=1&q=FixedIn=2.7[9]
|link:http://code.google.com/p/gerrit/issues/list?can=1&q=FixedIn=2.6[85]
|link:http://code.google.com/p/gerrit/issues/list?can=1&q=FixedIn=2.5[51]
|link:http://code.google.com/p/gerrit/issues/list?can=1&q=FixedIn=2.4[35]
|contributors     |54         |31         |56         |34         |22
|==========================
+
&#x278a; not including merge commits

== Improved performance of change queries

The change search in Gerrit is now backed by a secondary index which can
deliver results much faster than the database.

* Lucene and Solr Cloud indexes are supported

* Lucene is built-in; Solr Cloud requires external setup

* In 2.8 the secondary index is optional

* From 2.9 it will be mandatory; the default will be Lucene

== New search operators

New search operators are available when the secondary index
is enabled.

* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/user-search.html#file[
  file] operator: find changes on the specified file. Regular
  expressions can be used to specify a file name pattern.
+
.Find all merged changes in the 'gerrit' project that touched 'ReceiveCommits.java'
----
  status:merged project:gerrit
  file:gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java
----

* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/user-search.html#comment[
  comment] operator: find changes that match a string in any comment
  left by a reviewer.
+
.Find all merged changes in the 'gerrit' project where a reviewer wrote 'third-party libraries' in any comment
----
  status:merged project:gerrit comment:"third-party libraries"
----

== New Change Screen / New Side-By-Side Diff Screen

The Change Screen was completely redesigned and is now based on the
Gerrit REST API.

* In the new Side-By-Side Diff Screen comments can be added on code
  blocks.

** To insert comments in the new Side-By-Side Diff Screen select a code
   block and press 'c'.
+
Inserting a comment by double click does not work!

* There is a new button to cherry-pick a change to another branch.
* For identical files the reviewed flag is automatically copied to
  new patch sets.

WARNING: The new change screen in 2.8 is still beta.

* Not all features that the old change screen supports are available
  on the new change screen.
* The design is not final yet and with Gerrit 2.9 some things will
  look different.
* There are known issues with the new change screen that are fixed
  only in Gerrit 2.9

== Change Screen Preference

A preference setting allows the user to decide if the new or the old
change screen should be used.

* In 2.8 the old screen is default.
* In 2.9 the new screen is default.
* In later versions (possibly from 2.10) the old screen will be removed.

image:../../img/change-screen-preference.png[]

== New Change Screen screenshot

.New Change Screen
image:../../img/new-change-screen.png[]

.Old Change Screen
image:../../img/old-change-screen.png[]

== Labels can be configured to copy scores forward to new patch sets

* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/config-labels.html#label_copyAllScoresOnTrivialRebase[
  For trivial rebases]
+
----
[label "Code-Review"]
  function = MaxWithBlock
  copyMinScore = true
  copyAllScoresOnTrivialRebase = true
  value = -2 Do not submit
  value = -1 I would prefer that you didn't submit this
  value =  0 No score
  value = +1 Looks good to me, but someone else must approve
  value = +2 Looks good to me, approved
----

* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/config-labels.html#label_copyAllScoresIfNoCodeChange[
  If there is no code change (e.g. only the commit message was edited)]
+
----
[label "Verified"]
  function = MaxWithBlock
  copyAllScoresIfNoCodeChange = true
  value = -1 Fails
  value =  0 No score
  value = +1 Verified
----

== REST API

Many new
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api.html[
REST API endpoints] were added.

== Plugin Extension Points

Gerrit Plugins may now

* Contribute buttons to various parts of the UI using the UI
  extension and JavaScript API.
* Provide global capabilities.
* Provide pre-merge validation steps.
* Provide entries in Gerrit’s top menu.
* Provide download schemes and download commands (for changes).

** Core download schemes and commands for changes are now provided by
the `download_commands` plugin.

** Project download commands are still only provided in core Gerrit
and cannot be added by plugins.

* Send events to the events stream.

The new plugin API features are demonstrated in the
link:https://gerrit-review.googlesource.com/#/admin/projects/plugins/cookbook-plugin[
Cookbook Plugin] and core plugins.

* The Cookbook Plugin replaces the "Hello World" plugin.

== Important Bug Fixes
* Don’t allow project owners to delete/create branches if force push
  is blocked.

* Allow disabling drafts by blocking push on `refs/drafts/*`.

* Performance Fix: Minimize number of advertisedHaves.
+
By filtering the refs before the objectIds are added to
advertisedHaves, lots of time can be saved when pushing to complex
Git repositories.

* Show review comments for unchanged files.
+
When comparing patch sets and some comment was put in one side, that
comment was not shown if there was no code changed between the two
patch sets.

== New Build System

* Gerrit is now built using link:https://github.com/facebook/buck/[Buck]
rather than Maven.

* The dependency on Maven is not completely removed.  It is still used
to:

** Install the plugin API artifacts to the developer's local repository

** Deploy the plugin API artifacts to the public repository

++++
<style type="text/css">
#title-page {
  border-bottom: 0;
  text-align: center;
  position: relative;
  top: 30%;
  font-size: 60px;
}
</style>
++++
