851 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			851 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
Release notes for Gerrit 2.8
 | 
						|
============================
 | 
						|
 | 
						|
 | 
						|
Gerrit 2.8 is now available:
 | 
						|
 | 
						|
link:https://www.gerritcodereview.com/download/gerrit-2.8.war[
 | 
						|
https://www.gerritcodereview.com/download/gerrit-2.8.war]
 | 
						|
 | 
						|
 | 
						|
Schema Change
 | 
						|
-------------
 | 
						|
 | 
						|
 | 
						|
*WARNING:* This release contains schema changes.  To upgrade:
 | 
						|
----
 | 
						|
  java -jar gerrit.war init -d site_path
 | 
						|
----
 | 
						|
 | 
						|
*WARNING:* Upgrading to 2.8.x requires the server be first upgraded to 2.1.7 (or
 | 
						|
a later 2.1.x version), and then to 2.8.x.  If you are upgrading from 2.2.x.x or
 | 
						|
later, you may ignore this warning and upgrade directly to 2.8.x.
 | 
						|
 | 
						|
*WARNING:* The replication plugin now automatically creates missing repositories
 | 
						|
on the destination if during the replication of a ref the target repository is
 | 
						|
found to be missing. This is a change in behavior of the replication plugin. To go
 | 
						|
back to the old behavior, set the parameter `remote.NAME.createMissingRepositories`
 | 
						|
in the `replication.config` file to `false`.
 | 
						|
 | 
						|
*WARNING:* The deprecated `approve` alias for the
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/cmd-review.html[
 | 
						|
review] SSH command has been removed. This is important for all users
 | 
						|
of the Jenkins link:https://wiki.jenkins-ci.org/display/JENKINS/Gerrit+Trigger[
 | 
						|
Gerrit Trigger Plugin] since this plugin by default uses the `approve`
 | 
						|
command to vote and comment on changes in Gerrit. If you use the Gerrit
 | 
						|
Trigger Plugin, go to its global configuration in Jenkins and adapt the
 | 
						|
Gerrit commands to use the `review` command instead of the `approve`
 | 
						|
command.
 | 
						|
 | 
						|
*WARNING:* The new change screen only displays download commands if the
 | 
						|
`download-commands` core plugin or any other plugin providing download
 | 
						|
commands is installed. The `download-commands` plugin provides the
 | 
						|
standard download schemes and commands. It is packaged together with
 | 
						|
Gerrit and can be installed during the
 | 
						|
link:https://gerrit-review.googlesource.com/Documentation/pgm-init.html[
 | 
						|
site initialization].
 | 
						|
 | 
						|
 | 
						|
Release Highlights
 | 
						|
------------------
 | 
						|
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/intro-change-screen.html[
 | 
						|
New change screen] with completely redesigned UI and fully using the REST API.
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/config-gerrit.html#__a_id_index_a_section_index[
 | 
						|
Secondary indexing with Lucene and Solr].
 | 
						|
 | 
						|
* Lots of new link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api.html[
 | 
						|
REST API endpoints].
 | 
						|
 | 
						|
* New
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/dev-plugins.html#ui_extension[
 | 
						|
UI extension] and
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/js-api.html[
 | 
						|
JavaScript API] for plugins.
 | 
						|
 | 
						|
* New build system using Facebook's link:http://facebook.github.io/buck/[Buck].
 | 
						|
 | 
						|
* New core plugin: Download Commands.
 | 
						|
 | 
						|
 | 
						|
New Features
 | 
						|
------------
 | 
						|
 | 
						|
Build
 | 
						|
~~~~~
 | 
						|
 | 
						|
* Gerrit is now built with
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/dev-buck.html[
 | 
						|
Buck].
 | 
						|
 | 
						|
* Documentation is now built with Buck and link:http://asciidoctor.org[Asciidoctor].
 | 
						|
 | 
						|
 | 
						|
Indexing and Search
 | 
						|
~~~~~~~~~~~~~~~~~~~
 | 
						|
 | 
						|
Gerrit can be configured to use a
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/config-gerrit.html#__a_id_index_a_section_index[
 | 
						|
secondary index] with Lucene or Solr.
 | 
						|
 | 
						|
Existing search operations use the secondary index, when enabled, to increase
 | 
						|
performance and reduce resource usage.
 | 
						|
 | 
						|
The following additional search operations are possible when secondary indexing
 | 
						|
is enabled:
 | 
						|
 | 
						|
* New
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/user-search.html#comment[
 | 
						|
`comment` search operator].
 | 
						|
 | 
						|
* The link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/user-search.html#file[
 | 
						|
`file` operator] can be used to find changes on the specified file.
 | 
						|
 | 
						|
* Regular expressions are allowed in `file` searches.
 | 
						|
 | 
						|
 | 
						|
*WARNING:* After enabling the secondary index, the index must be built using the
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/pgm-reindex.html[
 | 
						|
reindex program] before restarting the Gerrit server.
 | 
						|
 | 
						|
 | 
						|
Configuration
 | 
						|
~~~~~~~~~~~~~
 | 
						|
 | 
						|
* Project owners can define `receive.maxObjectSizeLimit` in the
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/config-gerrit.html#receive.maxObjectSizeLimit[
 | 
						|
project configuration] to further reduce the global setting.
 | 
						|
 | 
						|
* Site administrators can define a
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/config-mail.html#_footer_vm[
 | 
						|
footer template] that will be appended to the end of all outgoing emails after
 | 
						|
the 'ChangeFooter' and 'CommentFooter'.
 | 
						|
 | 
						|
* New `topic-changed` hook and stream event is fired when a change's topic is
 | 
						|
edited from the Web UI or via a REST API.
 | 
						|
 | 
						|
* New options `--list-plugins` and `--install-plugins` on the
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/pgm-init.html[
 | 
						|
site initialization command].
 | 
						|
 | 
						|
* New `auth.httpDisplaynameHeader` and `auth.httpEmailHeader` in the
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/config-gerrit.html#__a_id_auth_a_section_auth[
 | 
						|
authentication configuration].
 | 
						|
+
 | 
						|
When using HTTP-based authentication, the SSO can be delegated to check not only
 | 
						|
the user credentials but also to fetch the full user-profile.
 | 
						|
+
 | 
						|
With the config properties `auth.httpDisplaynameHeader` and `auth.httpEmailHeader`
 | 
						|
it is possible to configure the name of the headers used for propagating this extra
 | 
						|
information and enforce them on the user profile during login and beyond.
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/config-gerrit.html#__a_id_httpd_a_section_httpd[
 | 
						|
Customizable registration page for HTTP authentication].
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/config-gerrit.html#__a_id_httpd_a_section_httpd[
 | 
						|
Configurable external `robots.txt` file].
 | 
						|
 | 
						|
* Support for
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/database-setup.html#createdb_oracle[
 | 
						|
Oracle database].
 | 
						|
 | 
						|
* New bash completion script for autocompletion of parameters to the gerrit.sh wrapper.
 | 
						|
 | 
						|
* The site can be
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/config-auto-site-initialization.html[
 | 
						|
auto-initialized on server startup].
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/config-gerrit.html#httpd.filterClass[
 | 
						|
Configurable filtering of HTTP traffic through Gerrit's HTTP protocol].
 | 
						|
 | 
						|
* Labels can be
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/config-labels.html#httpd.label_copyAllScoresIfNoCodeChange[
 | 
						|
configured to copy scores forward to new patch sets if there is no code change].
 | 
						|
 | 
						|
* Labels can be
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/config-labels.html#httpd.label_copyAllScoresOnTrivialRebase[
 | 
						|
configured to copy scores forward to new patch sets for trivial rebases].
 | 
						|
 | 
						|
Web UI
 | 
						|
~~~~~~
 | 
						|
 | 
						|
 | 
						|
Global
 | 
						|
^^^^^^
 | 
						|
 | 
						|
* The change status is shown in a separate column on dashboards and search results.
 | 
						|
 | 
						|
Change Screens
 | 
						|
^^^^^^^^^^^^^^
 | 
						|
 | 
						|
 | 
						|
* New change screen with completely redesigned UI, using the REST API.
 | 
						|
+
 | 
						|
Site administrators can
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/config-gerrit.html#gerrit.changeScreen[
 | 
						|
configure which change screen is shown by default].
 | 
						|
+
 | 
						|
Users can choose which one to use in their personal preferences, either using
 | 
						|
the site default or explicitly choosing the old one or new one.
 | 
						|
 | 
						|
* link:https://code.google.com/p/gerrit/issues/detail?id=141[Issue 141]:
 | 
						|
In the new change screen, comments can be added on a range of lines.
 | 
						|
 | 
						|
* New button to cherry-pick the change to another branch.
 | 
						|
 | 
						|
* When issuing a rebase via the Web UI, the committer is now the logged in
 | 
						|
  user, rather than "Gerrit Code Review".
 | 
						|
+
 | 
						|
If the user has more than one email address, the preferred email address will
 | 
						|
be used.
 | 
						|
 | 
						|
* Default user's full name to git committer name if user has not configured a
 | 
						|
full name in their profile.
 | 
						|
 | 
						|
* Include comment author attributes in comment panels.
 | 
						|
+
 | 
						|
Comment author's email address and name are included as attributes in comment
 | 
						|
panels.  This makes it easier to filter out CI-based comments using user
 | 
						|
scripts.
 | 
						|
 | 
						|
* Copy reviewed flag to new patch sets for identical files.
 | 
						|
+
 | 
						|
If a user has already seen and reviewed a file, the 'reviewed' flag is forwarded
 | 
						|
on to the next patch set when the content of the file in the next patch set is
 | 
						|
identical to the reviewed file.
 | 
						|
 | 
						|
* "Uploaded Patch Set 1" change message is added on changes when they
 | 
						|
are uploaded.
 | 
						|
 | 
						|
 | 
						|
REST API
 | 
						|
~~~~~~~~
 | 
						|
 | 
						|
* Several new link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api.html[
 | 
						|
REST API endpoints] are added.
 | 
						|
 | 
						|
* REST views can determine how long their response should be cached.
 | 
						|
 | 
						|
* REST views can handle 'HTTP 422 Unprocessable Entity' responses.
 | 
						|
 | 
						|
Access Rights
 | 
						|
^^^^^^^^^^^^^
 | 
						|
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-access.html#list-access[
 | 
						|
List access rights for project(s)]
 | 
						|
 | 
						|
Accounts
 | 
						|
^^^^^^^^
 | 
						|
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-accounts.html#create-account[
 | 
						|
Create account]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-accounts.html#get-account-name[
 | 
						|
Get account full name]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-accounts.html#set-account-name[
 | 
						|
Set account full name]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-accounts.html#delete-account-name[
 | 
						|
Delete account full name]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-accounts.html#list-account-emails[
 | 
						|
List account email addresses]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-accounts.html#get-account-email[
 | 
						|
Get account email address]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-accounts.html#set-preferred-email[
 | 
						|
Set account preferred email address]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-accounts.html#create-account-email[
 | 
						|
Create account email]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-accounts.html#delete-account-email[
 | 
						|
Delete account email]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-accounts.html#get-active[
 | 
						|
Get account state]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-accounts.html#set-active[
 | 
						|
Set account state to active]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-accounts.html#delete-active[
 | 
						|
Set account state to inactive]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-accounts.html#get-http-password[
 | 
						|
Get account HTTP password]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-accounts.html#set-http-password[
 | 
						|
Set or generate account HTTP password]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-accounts.html#delete-http-password[
 | 
						|
Delete account HTTP password]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-accounts.html#list-ssh-keys[
 | 
						|
List account SSH keys]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-accounts.html#get-ssh-key[
 | 
						|
Get account SSH key]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-accounts.html#add-ssh-key[
 | 
						|
Add account SSH key]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-accounts.html#delete-ssh-key[
 | 
						|
Delete account SSH key]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-accounts.html#get-username[
 | 
						|
Get account username]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-accounts.html#get-starred-changes[
 | 
						|
Get starred changes]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-accounts.html#star-change[
 | 
						|
Star change]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-accounts.html#unstar-change[
 | 
						|
Unstar change]
 | 
						|
 | 
						|
Changes
 | 
						|
^^^^^^^
 | 
						|
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-changes.html#rebase-change[
 | 
						|
Rebase change]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-changes.html#cherry-pick[
 | 
						|
Cherry-pick revision]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-changes.html#get-content[
 | 
						|
Get content of a file in a revision]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-changes.html#get-patch[
 | 
						|
Get revision as a formatted patch]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-changes.html#get-diff[
 | 
						|
Get diff of a file in a revision]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-changes.html#get-commit[
 | 
						|
Get parsed commit of a revision]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-changes.html#publish-draft-change[
 | 
						|
Publish draft change]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-changes.html#delete-draft-change[
 | 
						|
Delete draft change]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-changes.html#suggest-reviewers[
 | 
						|
Suggest reviewers]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-changes.html#get-included-in[
 | 
						|
Get included in]
 | 
						|
 | 
						|
 | 
						|
Config
 | 
						|
^^^^^^
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-config.html#get-capabilities[
 | 
						|
Get capabilities]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-config.html#get-version[
 | 
						|
Get version] (of the Gerrit server)
 | 
						|
 | 
						|
 | 
						|
Projects
 | 
						|
^^^^^^^^
 | 
						|
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-projects.html#list-branches[
 | 
						|
List branches]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-projects.html#get-branch[
 | 
						|
Get branch]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-projects.html#create-branch[
 | 
						|
Create branch]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-projects.html#delete-branch[
 | 
						|
Delete branch]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-projects.html#list-child-projects[
 | 
						|
List child projects]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-projects.html#get-child-project[
 | 
						|
Get child project]
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/rest-api-projects.html#set-config[
 | 
						|
Set configuration]
 | 
						|
 | 
						|
 | 
						|
Capabilities
 | 
						|
~~~~~~~~~~~~
 | 
						|
 | 
						|
 | 
						|
New global capabilities are added.
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/access_control.html#capability_generateHttpPassword[
 | 
						|
Generate Http Password] allows non-administrator users to generate HTTP
 | 
						|
passwords for users other than themselves.
 | 
						|
+
 | 
						|
This capability would typically be assigned to a non-interactive group
 | 
						|
to be able to generate HTTP passwords for users from a tool or web service
 | 
						|
that uses the Gerrit REST API.
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/access_control.html#capability_runAs[
 | 
						|
Run As] allows users to impersonate other users by setting the `X-Gerrit-RunAs`
 | 
						|
HTTP header on REST API calls.
 | 
						|
+
 | 
						|
Site administrators do not inherit this capability;  it must be granted
 | 
						|
explicitly.
 | 
						|
 | 
						|
 | 
						|
Emails
 | 
						|
~~~~~~
 | 
						|
 | 
						|
* The `RebasedPatchSet` template is removed.  Email notifications for rebased
 | 
						|
changes are now sent with the `ReplacePatchSet` template.
 | 
						|
 | 
						|
* Comment notification emails now include context of comments that are replied
 | 
						|
to, and links to the file(s) in which comments are made.
 | 
						|
 | 
						|
 | 
						|
Plugins
 | 
						|
~~~~~~~
 | 
						|
 | 
						|
 | 
						|
Global
 | 
						|
^^^^^^
 | 
						|
 | 
						|
 | 
						|
* Plugins may now contribute buttons to various parts of the UI using the
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/dev-plugins.html#ui_extension[
 | 
						|
UI extension] and
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/js-api.html[
 | 
						|
JavaScript API].
 | 
						|
 | 
						|
* Plugins may now provide an 'About' section on their documentation index page.
 | 
						|
 | 
						|
* Plugins may now provide separate sections for REST API and servlet
 | 
						|
documentation on their index page.
 | 
						|
 | 
						|
* Plugins may now provide
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/config-validation.html#pre-merge-validation[
 | 
						|
pre-merge validation steps].
 | 
						|
 | 
						|
* Plugins may now provide
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/dev-plugins.html#capabilities[
 | 
						|
Global capabilities].
 | 
						|
 | 
						|
* Plugins may now
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/dev-plugins.html#plugin_name[
 | 
						|
define their own name] and get the name injected at runtime.
 | 
						|
 | 
						|
* The "hello world" plugin is replaced with the "cookbook plugin" which has more
 | 
						|
examples of the plugin API's usage.
 | 
						|
 | 
						|
* Plugins may now trigger and listen to a "project deleted"
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/dev-plugins.html#events[
 | 
						|
event].
 | 
						|
 | 
						|
* link:https://code.google.com/p/gerrit/issues/detail?id=2101[Issue 2101]:
 | 
						|
Plugins implementing LifecycleListener can use auto registration.
 | 
						|
 | 
						|
* Plugins may bind REST endpoints with empty view names.
 | 
						|
 | 
						|
* Plugins may now provide
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/dev-plugins.html#top-menu-extensions[
 | 
						|
entries in Gerrit's top menu].
 | 
						|
 | 
						|
* Plugins may now
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/dev-plugins.html#stream-events[
 | 
						|
send events to the events stream].
 | 
						|
 | 
						|
* Plugins may now bind multiple SSH commands to the same implementation class.
 | 
						|
 | 
						|
* Plugins may now provide
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/dev-plugins.html#download-commands[
 | 
						|
download schemes and download commands].
 | 
						|
+
 | 
						|
Commonly used download schemes and commands are moved out of core
 | 
						|
Gerrit and are now implemented by a new core plugin, `download-commands`.
 | 
						|
 | 
						|
 | 
						|
 | 
						|
Commit Message Length Checker
 | 
						|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 | 
						|
 | 
						|
 | 
						|
* Commits whose subject or body length exceeds the limit can be rejected.
 | 
						|
 | 
						|
Replication
 | 
						|
^^^^^^^^^^^
 | 
						|
 | 
						|
* Automatically create missing repositories on the destination.
 | 
						|
+
 | 
						|
If during the replication of a ref the target repository is found to be missing,
 | 
						|
the repository is automatically created.
 | 
						|
+
 | 
						|
This is a change in behavior of the replication plugin. To go back to the old
 | 
						|
behavior, set the parameter `remote.NAME.createMissingRepositories` in the
 | 
						|
`replication.config` file to `false`.
 | 
						|
 | 
						|
* Support for replication of project deletions.
 | 
						|
+
 | 
						|
The replication plugin can now be configured to listen to project deletion events
 | 
						|
and to replicate the project deletions. By default project deletions are *not*
 | 
						|
replicated.
 | 
						|
 | 
						|
* link:http://code.google.com/p/gerrit/issues/detail?id=1880[Issue 1880]:
 | 
						|
Make `{name}` placeholder optional when replicating a single project.
 | 
						|
+
 | 
						|
The `{$name}` placeholder is optional when replicating a single project,
 | 
						|
allowing a single project to be replicated under a different name.
 | 
						|
 | 
						|
* Project names can be matched with wildcard or regex patterns in `replication.config`.
 | 
						|
 | 
						|
* The `replication start` command does not exit until replication is finished
 | 
						|
when the `--wait` option is used.
 | 
						|
 | 
						|
* The `replication start` command displays a summary of the replication status.
 | 
						|
 | 
						|
* Retry counts are added to replication task names, so they can be seen in the
 | 
						|
output of the `show-queue` command.
 | 
						|
 | 
						|
* The `remoteNameStyle` option can be set to `basenameOnly` to replicate projects
 | 
						|
using only the basename on the target server.
 | 
						|
 | 
						|
* The `startReplication` global capability is now provided by the plugin.
 | 
						|
 | 
						|
* Pushes to each destination URI are serialized.
 | 
						|
+
 | 
						|
Scheduling a retry to avoid collision with an in-flight push is differentiated
 | 
						|
from a retry due to a transport error.  In the case of collision avoidance, the
 | 
						|
job is rescheduled according to the replication delay, rather than the retry
 | 
						|
delay.
 | 
						|
 | 
						|
 | 
						|
ssh
 | 
						|
~~~
 | 
						|
 | 
						|
 | 
						|
* The `commit-msg` hook installation command is now
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/config-gerrit.html#gerrit.installCommitMsgHookCommand[
 | 
						|
configurable].
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/cmd-ls-members.html[
 | 
						|
New `ls-members` command].
 | 
						|
 | 
						|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/cmd-set-members.html[
 | 
						|
New `set-members` command].
 | 
						|
+
 | 
						|
New command to manipulate group membership. Members can be added or removed
 | 
						|
and groups can be included or excluded in one specific group or number of groups.
 | 
						|
 | 
						|
* The full commit message is now included in the data sent by the
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/cmd-stream-events.html[
 | 
						|
`stream-events` command].
 | 
						|
 | 
						|
* The link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/cmd-show-queue.html[
 | 
						|
`show-queue` command] now shows the time that a task was added to the queue.
 | 
						|
 | 
						|
* The deprecated `approve` alias of the `review` command is removed.
 | 
						|
 | 
						|
* The 'CHANGEID,PATCHSET' format for specifying a patch set in the `review` command
 | 
						|
is no longer considered to be a 'legacy' feature that will be removed in future.
 | 
						|
 | 
						|
Daemon
 | 
						|
~~~~~~
 | 
						|
 | 
						|
 | 
						|
* Add `--init` option to Daemon to initialize site on daemon start.
 | 
						|
+
 | 
						|
The `--init` option will also upgrade an already existing site and is processed in
 | 
						|
non-interactive (batch) mode.
 | 
						|
 | 
						|
 | 
						|
Bug Fixes
 | 
						|
---------
 | 
						|
 | 
						|
 | 
						|
General
 | 
						|
~~~~~~~
 | 
						|
 | 
						|
 | 
						|
* Use the parent change on the same branch for rebases.
 | 
						|
+
 | 
						|
Since there can be multiple changes with the same commit on different branches,
 | 
						|
use the parent change on the same branch during rebase.
 | 
						|
 | 
						|
* link:https://code.google.com/p/gerrit/issues/detail?id=600[Issue 600]:
 | 
						|
Fix change stuck in SUBMITTED state but actually merged.
 | 
						|
 | 
						|
* link:https://code.google.com/p/gerrit/issues/detail?id=1699[Issue 1699]:
 | 
						|
Fix handling of projects with trailing ".git" suffix.
 | 
						|
 | 
						|
* Limit retrying of submitted changes to 12 hours.
 | 
						|
 | 
						|
* Don't allow project owners to delete branches if force push is blocked.
 | 
						|
 | 
						|
* Allow usernames to begin with digit.
 | 
						|
 | 
						|
* Verify access to source ref during add branch operation.
 | 
						|
+
 | 
						|
Previously Gerrit didn't check access to source ref during add branch
 | 
						|
operation. Because of that users could create a branch from any known
 | 
						|
commit SHA1, even when they didn't have access to that commit.
 | 
						|
 | 
						|
* Fix Gerrit API sources JAR contents.
 | 
						|
+
 | 
						|
The gerrit-extension-api-X.Y-all-sources.jar did not actually contain any
 | 
						|
sources.
 | 
						|
 | 
						|
* Generate javadoc for Gerrit Extension and Plugin APIs.
 | 
						|
 | 
						|
* link:https://code.google.com/p/gerrit/issues/detail?id=2244[Issue 2244]:
 | 
						|
Update patch status before skipping duplicate emails.
 | 
						|
 | 
						|
* link:https://code.google.com/p/gerrit/issues/detail?id=1640[Issue 1640]:
 | 
						|
Catch missing LDAP accounts in group membership.
 | 
						|
 | 
						|
* Use `rev-parse` to find gitdir when generating commit-msg hook hint.
 | 
						|
 | 
						|
* 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 Gits.
 | 
						|
 | 
						|
 | 
						|
Configuration
 | 
						|
~~~~~~~~~~~~~
 | 
						|
 | 
						|
 | 
						|
* Do not persist default project state in `project.config`.
 | 
						|
 | 
						|
* Honor the `gerrit.canonicalWebUrl` setting when opening the browser after init.
 | 
						|
 | 
						|
* Fix 'query disabled' error when Query Limit is set.
 | 
						|
 | 
						|
* Honor the `gerrit.createChangeId` setting from the git config in the
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/cmd-hook-commit-msg.html[
 | 
						|
`commit-msg` hook].
 | 
						|
 | 
						|
* link:https://code.google.com/p/gerrit/issues/detail?id=2045[Issue 2045]:
 | 
						|
Define user scope when parsing server config.
 | 
						|
 | 
						|
* link:https://code.google.com/p/gerrit/issues/detail?id=1990[Issue 1990]:
 | 
						|
Support optional Certificate Revocation List (CRL) with `CLIENT_SSL_CERT_LDAP`.
 | 
						|
 | 
						|
* Do not override error and gc logging configuration provided by the
 | 
						|
`-Dlog4j.configuration` parameter.
 | 
						|
 | 
						|
* Fix JdbcSQLException when numbers are read from cache.
 | 
						|
 | 
						|
Web UI
 | 
						|
~~~~~~
 | 
						|
 | 
						|
 | 
						|
Global
 | 
						|
^^^^^^
 | 
						|
 | 
						|
 | 
						|
* link:https://code.google.com/p/gerrit/issues/detail?id=1574[Issue 1574]:
 | 
						|
Correctly highlight matches of text in escaped HTML entities in suggestion results.
 | 
						|
 | 
						|
* link:https://code.google.com/p/gerrit/issues/detail?id=1996[Issue 1996]:
 | 
						|
The "Keyboard Shortcuts" help popup can be closed by pressing the Escape key.
 | 
						|
 | 
						|
* link:https://code.google.com/p/gerrit/issues/detail?id=2013[Issue 2013]:
 | 
						|
Correctly populate the list of watched changes when watching more than one project.
 | 
						|
 | 
						|
* Display "Working..." when header is hidden.
 | 
						|
 | 
						|
* link:https://code.google.com/p/gerrit/issues/detail?id=2125[Issue 2125]:
 | 
						|
Correctly shows '-1' instead of '1' for label score.
 | 
						|
+
 | 
						|
If a user voted '-1', and then another user voted '+1' for a label, the
 | 
						|
label was shown as a red '1' in the change list instead of red '-1'.
 | 
						|
 | 
						|
Change Screens
 | 
						|
^^^^^^^^^^^^^^
 | 
						|
 | 
						|
 | 
						|
* Default review comment visibility is changed to expand all recent.
 | 
						|
+
 | 
						|
By default all comments within the last week are expanded, rather than
 | 
						|
only the most recent.
 | 
						|
 | 
						|
* link:https://code.google.com/p/gerrit/issues/detail?id=1814[Issue 1814]:
 | 
						|
Sort labels alphabetically by name in the approval table.
 | 
						|
 | 
						|
* Don't add "This patchset was cherry picked to ..." for the same change.
 | 
						|
+
 | 
						|
If a patchset is cherry-picked to the same destination branch and
 | 
						|
ends up on the same change, it does not make sense to add the "This
 | 
						|
patchset was cherry picked to change ..." message.
 | 
						|
+
 | 
						|
In this case, it makes more sense for the message to say "Uploaded
 | 
						|
patch set N" instead.
 | 
						|
 | 
						|
* Make links appear with consistent colors.
 | 
						|
 | 
						|
* Prevent duplicate permitted_labels from being shown in labels list.
 | 
						|
 | 
						|
Diff Screens
 | 
						|
^^^^^^^^^^^^
 | 
						|
 | 
						|
 | 
						|
* link:https://code.google.com/p/gerrit/issues/detail?id=1233[Issue 1233]:
 | 
						|
Prevent expansion when whole file isn't loaded.
 | 
						|
 | 
						|
* link:https://code.google.com/p/gerrit/issues/detail?id=2122[Issue 2122]:
 | 
						|
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
 | 
						|
 | 
						|
Project Screens
 | 
						|
^^^^^^^^^^^^^^^
 | 
						|
 | 
						|
 | 
						|
* Only enable the delete branch button when branches are selected.
 | 
						|
 | 
						|
* Disable the delete branch button while branch deletion requests are
 | 
						|
still being processed.
 | 
						|
 | 
						|
User Profile Screens
 | 
						|
^^^^^^^^^^^^^^^^^^^^
 | 
						|
 | 
						|
 | 
						|
* The preferred email address field is shown as empty if the user has no
 | 
						|
preferred email address.
 | 
						|
 | 
						|
 | 
						|
REST API
 | 
						|
~~~~~~~~
 | 
						|
 | 
						|
 | 
						|
* Support raw input also in POST requests.
 | 
						|
 | 
						|
* Show granted date for labels/all when using `/changes/`.
 | 
						|
 | 
						|
* Return all revisions when `o=ALL_REVISIONS` is set on `/changes/`.
 | 
						|
 | 
						|
ssh
 | 
						|
~~~
 | 
						|
 | 
						|
 | 
						|
* The `--force-message` option is removed from the
 | 
						|
The link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/cmd-review.html[
 | 
						|
`review` command].
 | 
						|
 | 
						|
* link:https://code.google.com/p/gerrit/issues/detail?id=1908[Issue 1908]:
 | 
						|
Provide more informative error messages when rejecting updates.
 | 
						|
 | 
						|
* Remove the limit in the query of patch sets by revision.
 | 
						|
 | 
						|
* Add `isDraft` in the `patchSet` attribute of `stream-events` data.
 | 
						|
+
 | 
						|
This allows consumers of the event stream to determine whether or not
 | 
						|
the event is related to a draft patch set.
 | 
						|
 | 
						|
* Normalize the case of review labels submitted via the
 | 
						|
The link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/cmd-review.html[
 | 
						|
`review` command].
 | 
						|
 | 
						|
* The `@CommandMetaData(descr)` annotation is deprecated in favor of `@CommandMetaData(description)`.
 | 
						|
 | 
						|
* Improve the error message when rejecting upload for review to a read-only project.
 | 
						|
 | 
						|
 | 
						|
Plugins
 | 
						|
~~~~~~~
 | 
						|
 | 
						|
Global
 | 
						|
^^^^^^
 | 
						|
 | 
						|
* Better error message when a Javascript plugin cannot be loaded.
 | 
						|
 | 
						|
* Plugin documentation links are opened in a new tab.
 | 
						|
 | 
						|
* The GitReferenceUpdatedListener.Event API is simplified.
 | 
						|
+
 | 
						|
The Event exposed the getUpdates method which implied that one Event
 | 
						|
could contain updates of more than one reference. However, this feature
 | 
						|
was never used.
 | 
						|
+
 | 
						|
The API is simplified in the sense that one Event now corresponds to
 | 
						|
one ref update only.
 | 
						|
 | 
						|
* Make plugin servlet's context path authorization aware.
 | 
						|
 | 
						|
 | 
						|
Review Notes
 | 
						|
^^^^^^^^^^^^
 | 
						|
 | 
						|
* Do not try to create review notes for ref deletion events.
 | 
						|
 | 
						|
* Fix committing the notes from the export command.
 | 
						|
 | 
						|
* link:https://code.google.com/p/gerrit/issues/detail?id=2087[Issue 2087]:
 | 
						|
Fix note creation when the same commit exists in another Git repository.
 | 
						|
 | 
						|
* Improve the export command performance.
 | 
						|
 | 
						|
* Create review note also when newObjectId already present in another branch.
 | 
						|
 | 
						|
* Correct documentation of the export command.
 | 
						|
 | 
						|
Emails
 | 
						|
~~~~~~
 | 
						|
 | 
						|
* Email notifications are sent for new changes created via actions in the
 | 
						|
Web UI such as cherry-picking or reverting a change.
 | 
						|
 | 
						|
 | 
						|
Tools
 | 
						|
~~~~~
 | 
						|
 | 
						|
 | 
						|
* git-exproll.sh: return non-zero on errors
 | 
						|
 | 
						|
 | 
						|
Documentation
 | 
						|
-------------
 | 
						|
 | 
						|
 | 
						|
* The link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/index.html[
 | 
						|
documentation index page] is rewritten in a hierarchical structure.
 | 
						|
 | 
						|
* Documentation of
 | 
						|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/config-project-config.txt[
 | 
						|
project configuration] is added.
 | 
						|
 | 
						|
* Various spelling mistakes are corrected in the documentation and previous
 | 
						|
release notes.
 | 
						|
 | 
						|
* link:https://code.google.com/p/gerrit/issues/detail?id=2144[Issue 2144]:
 | 
						|
Documentation of the query operator is fixed.
 | 
						|
 | 
						|
 | 
						|
Upgrades
 | 
						|
--------
 | 
						|
 | 
						|
* Update JGit to 3.1.0.201310021548-r
 | 
						|
* Update gwtorm to 1.7
 | 
						|
* Update guice to 4.0-beta
 | 
						|
* Update guava to 15.0
 | 
						|
* Update H2 to 1.3.173
 | 
						|
* Update bouncycastle to 1.44
 | 
						|
* Update Apache Mina to 2.0.7
 | 
						|
* link:https://code.google.com/p/gerrit/issues/detail?id=2232[Issue 2232]:
 | 
						|
Update Apache SSHD to 0.9.0.201311081
 | 
						|
* asciidoctor 0.1.4 is now required to build the documentation
 | 
						|
* jsr305 library was removed
 | 
						|
* link:https://code.google.com/p/gerrit/issues/detail?id=2232[Issue 2232]:
 | 
						|
Update Jsch to 1.5.0
 |