blob: 683d0841d5038070264f9e8f07af36880d724dd8 [file] [log] [blame]
= What's new in Gerrit 2.8
:backend: slidy
:max-width: 70em
== What's new in Gerrit 2.8
== What's new in Gerrit 2.8
* link:[
2.8 Release Notes]
* link:[
2.8.1 Release Notes]
* link:[
2.8.2 Release Notes]
* link:[
2.8.3 Release Notes]
* Statistics
| |Gerrit 2.8 |Gerrit 2.7 |Gerrit 2.6 |Gerrit 2.5 |Gerrit 2.4
|commits ➊ |1373 |272 |1301 |508 |122
|resolved issues
|contributors |54 |31 |56 |34 |22
➊ 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:[
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 ''
status:merged project:gerrit
* link:[
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
** 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.
== New Change Screen screenshot
.New Change Screen
.Old Change Screen
== Labels can be configured to copy scores forward to new patch sets
* link:[
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:[
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
Many new
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 Gerrits 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
Cookbook Plugin] and core plugins.
* The Cookbook Plugin replaces the "Hello World" plugin.
== Important Bug Fixes
* Dont 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:[Buck]
rather than Maven.
* The dependency on Maven is not completely removed. It is still used
** Install the plugin API artifacts to the developer's local repository
** Deploy the plugin API artifacts to the public repository
== Questions?
<style type="text/css">
#title-page {
border-bottom: 0;
text-align: center;
position: relative;
top: 30%;
font-size: 60px;