| = 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] |
| * link:https://gerrit-documentation.storage.googleapis.com/ReleaseNotes/ReleaseNotes-2.8.3.html[ |
| 2.8.3 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 ➊ |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 |
| |========================== |
| + |
| ➊ 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 |
| |
| == Questions? |
| |
| ++++ |
| <style type="text/css"> |
| #title-page { |
| border-bottom: 0; |
| text-align: center; |
| position: relative; |
| top: 30%; |
| font-size: 60px; |
| } |
| </style> |
| ++++ |