db0c787373
Change-Id: Id9844f5d9e983a478dfd7b213903737a04119d21
524 lines
17 KiB
Plaintext
524 lines
17 KiB
Plaintext
Release notes for Gerrit 2.12
|
|
=============================
|
|
|
|
|
|
Gerrit 2.12 is now available:
|
|
|
|
link:https://www.gerritcodereview.com/download/gerrit-2.12.war[
|
|
https://www.gerritcodereview.com/download/gerrit-2.12.war]
|
|
|
|
Important Notes
|
|
---------------
|
|
|
|
*WARNING:* This release contains schema changes. To upgrade:
|
|
----
|
|
java -jar gerrit.war init -d site_path
|
|
----
|
|
|
|
*WARNING:* To use online reindexing when upgrading to 2.12.x, the server must
|
|
first be upgraded to 2.8 (or 2.9) and then through 2.10 and 2.11 to 2.12.x. If
|
|
reindexing will be done offline, you may ignore this warning and upgrade directly
|
|
to 2.12.x.
|
|
|
|
*WARNING:* When upgrading from version 2.8.4 or older with a site that uses
|
|
Bouncy Castle Crypto, new versions of the libraries will be downloaded. The old
|
|
libraries should be manually removed from site's `lib` folder to prevent the
|
|
startup failure described in
|
|
link:https://code.google.com/p/gerrit/issues/detail?id=3084[issue 3084].
|
|
|
|
*WARNING:* The Solr secondary index is no longer supported. With this release
|
|
the only supported secondary index is Lucene.
|
|
|
|
*WARNING:* The format of the `ref-updated` event has changed. Users of the
|
|
link:https://wiki.jenkins-ci.org/display/JENKINS/Gerrit+Trigger[
|
|
Jenkins Gerrit Trigger plugin] with jobs triggering on `ref-updated` should
|
|
upgrade to at least
|
|
link:https://wiki.jenkins-ci.org/display/JENKINS/Gerrit+Trigger#GerritTrigger-Version2.15.1%28releasedSept142015%29[
|
|
version 2.15.1]. If an upgrade of the plugin is not possible, a workaround is
|
|
to change the branch configuration to type `Path` with a pattern like
|
|
`refs/*/master` instead of `Plain` and `master`.
|
|
|
|
|
|
Release Highlights
|
|
------------------
|
|
|
|
This release includes the following new features. See the sections below for
|
|
further details.
|
|
|
|
* New change submission workflows: 'Submit Whole Topic' and 'Submitted Together'.
|
|
|
|
* Support for GPG Keys and signed pushes.
|
|
|
|
|
|
New Features
|
|
------------
|
|
|
|
New Change Submission Workflows
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
* New 'Submit Whole Topic' setting.
|
|
+
|
|
When the
|
|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/config-gerrit.html#change.submitWholeTopic[
|
|
`change.submitWholeTopic`] setting is enabled, all changes belonging to the same
|
|
topic will be submitted at the same time.
|
|
+
|
|
This setting should be considered experimental, and is disabled by default.
|
|
|
|
* Submission of changes may include ancestors.
|
|
+
|
|
If a change is submitted that has submittable ancestor changes, those changes
|
|
will also be submitted.
|
|
|
|
* The merge queue is removed.
|
|
+
|
|
Changes that cannot be submitted due to missing dependencies will no longer
|
|
enter the 'Submitted, Merge Pending' state.
|
|
|
|
|
|
GPG Keys and Signed Pushes
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
* Signed push can be enabled by setting
|
|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/config-gerrit.html#receive.enableSignedPush[
|
|
`receive.enableSignedPush`] to true.
|
|
+
|
|
When a client pushes with `git push --signed`, Gerrit ensures that the push
|
|
certificate is valid and signed with a valid public key stored in the
|
|
`refs/gpg-keys` branch of the `All-Users` repository.
|
|
|
|
* When signed push is enabled, and
|
|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/config-gerrit.html#gerrit.editGpgKeys[
|
|
`gerrit.editGpgKeys`] is set to true, users may upload their public GPG
|
|
key via the REST API or UI.
|
|
+
|
|
If this setting is not enabled, GPG keys may only be added by administrators
|
|
with direct access to the `All-Users` repository.
|
|
|
|
* Administrators may also configure
|
|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/config-gerrit.html#receive.certNonceSeed[
|
|
`receive.certNonceSeed`] and
|
|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/config-gerrit.html#receive.certNonceSlop[
|
|
`receive.certNonceSlop`].
|
|
|
|
|
|
Secondary Index
|
|
~~~~~~~~~~~~~~~
|
|
|
|
* link:http://code.google.com/p/gerrit/issues/detail?id=3333[Issue 3333]:
|
|
Support searching for changes by author and committer.
|
|
+
|
|
Changes are indexed by the git author and committer of the latest patch set,
|
|
and can be searched with the `author:` and `committer:` operators.
|
|
+
|
|
Changes are matched on either the exact whole email address, or on parts of the
|
|
name or email address.
|
|
|
|
* Add `from:` search operator to match by owner of change or author of comments.
|
|
|
|
* Add `commentby:` search operator to search by author of comments.
|
|
|
|
* Change the `topic:` search operator to search by the exact topic name.
|
|
|
|
* Add `intopic:` search operator to search by topics containing the search term.
|
|
|
|
* link:http://code.google.com/p/gerrit/issues/detail?id=3291[Issue 3291]:
|
|
Add `has:edit` search operator to match changes that have edit revisions on them.
|
|
|
|
* Allow configuration of maximum query size.
|
|
+
|
|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/config-gerrit.html#index.maxTerms[
|
|
`index.maxTerms`] can be set to limit the number of leaf index terms.
|
|
|
|
* Expose Lucene index writers for plugins.
|
|
+
|
|
Plugins can now reconfigure various Lucene performance related parameters
|
|
at runtime.
|
|
|
|
* Make Lucene index writers auto-commit writers.
|
|
+
|
|
Plugins can now temporarily turn on auto-committing in situations where it makes
|
|
sense to enforce all changes to be written to disk ASAP.
|
|
|
|
|
|
UI
|
|
~~
|
|
|
|
General
|
|
^^^^^^^
|
|
|
|
* Edit and diff preferences can be modified from the user preferences screen.
|
|
+
|
|
Previously it was only possible to edit these preferences from the actual
|
|
diff and edit screens.
|
|
|
|
* Add 'Edits' to the 'My' dashboard menu to list changes on which the user
|
|
has an unpublished edit revision.
|
|
|
|
* Support for URL aliases.
|
|
+
|
|
Administrators may define
|
|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/config-gerrit.html#urlAlias[
|
|
URL aliases] to map plugin screens into the Gerrit URL namespace.
|
|
+
|
|
Plugins may use user-specific URL aliases to replace certain screens for certain
|
|
users.
|
|
|
|
|
|
Project Screen
|
|
^^^^^^^^^^^^^^
|
|
|
|
* New tab to list the project's tags, similar to the branch list.
|
|
|
|
|
|
Inline Editor
|
|
^^^^^^^^^^^^^
|
|
|
|
* Store and load edit preferences in git.
|
|
+
|
|
Edit preferences are stored and loaded to/from the `All-Users` repository.
|
|
|
|
* Add 'auto close brackets' feature.
|
|
|
|
* Add 'match brackets' feature.
|
|
|
|
* Make the cursor blink rate customizable.
|
|
|
|
* Add support for Emacs and Vim key maps.
|
|
|
|
|
|
Change Screen
|
|
^^^^^^^^^^^^^
|
|
|
|
* link:http://code.google.com/p/gerrit/issues/detail?id=3318[Issue 3318]:
|
|
Highlight 'Reply' button if there are draft comments on any patch set.
|
|
+
|
|
If any patch set of the change has a draft comment by the current user,
|
|
the 'Reply' button is highlighted.
|
|
+
|
|
The icons depicting draft comments are removed from the revisions drop-down
|
|
list.
|
|
|
|
* link:http://code.google.com/p/gerrit/issues/detail?id=1100[Issue 1100]:
|
|
Publish all draft comments when replying to a change.
|
|
+
|
|
All draft comments, including those on older patch sets, are published when
|
|
replying to a change.
|
|
|
|
* Show file size increase/decrease for binary files.
|
|
|
|
* Show uploader if different from change owner.
|
|
|
|
* Show push certificate status.
|
|
|
|
* Show change subject as tooltip on related changes list.
|
|
+
|
|
This helps to identify changes when the subject is truncated in the list.
|
|
|
|
|
|
Side-By-Side Diff
|
|
^^^^^^^^^^^^^^^^^
|
|
|
|
* link:http://code.google.com/p/gerrit/issues/detail?id=3293[Issue 3293]:
|
|
Add syntax highlighting for Puppet.
|
|
|
|
* link:http://code.google.com/p/gerrit/issues/detail?id=3447[Issue 3447]:
|
|
Add syntax highlighting for VHDL.
|
|
|
|
|
|
Group Screen
|
|
^^^^^^^^^^^^
|
|
|
|
* link:http://code.google.com/p/gerrit/issues/detail?id=1479[Issue 1479]:
|
|
The group screen now includes an 'Audit Log' panel showing member additions,
|
|
removals, and the user who made the change.
|
|
|
|
|
|
API
|
|
~~~
|
|
|
|
Several new APIs are added.
|
|
|
|
Accounts
|
|
^^^^^^^^
|
|
|
|
* Suggest accounts.
|
|
|
|
Tags
|
|
^^^^
|
|
|
|
* List tags.
|
|
|
|
* Get tag.
|
|
|
|
|
|
REST API
|
|
~~~~~~~~
|
|
|
|
New REST API endpoints and new options on existing endpoints.
|
|
|
|
|
|
Accounts
|
|
^^^^^^^^
|
|
|
|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/rest-api-accounts.html#set-username[
|
|
Set Username]: Set the username of an account.
|
|
|
|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/rest-api-accounts.html#get-detail[
|
|
Get Account Details]: Get the details of an account.
|
|
+
|
|
In addition to the
|
|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/rest-api-accounts.html#account-info[
|
|
AccountInfo] fields returned by the existing
|
|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/rest-api-accounts.html#get-account[
|
|
Get Account] endpoint, the new REST endpoint returns the registration date of
|
|
the account and the timestamp of when contact information was filed for this
|
|
account.
|
|
|
|
|
|
Changes
|
|
^^^^^^^
|
|
|
|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/rest-api-changes.html#set-review[
|
|
Set Review]: Add an option to omit duplicate comments.
|
|
|
|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/rest-api-changes.html#get-safe-content[
|
|
Download Content]: Download the content of a file from a certain revision, in a
|
|
safe format that poses no risk for inadvertent execution of untrusted code.
|
|
|
|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/rest-api-changes.html#submitted-together[
|
|
Get Submitted Together]: Get the list of all changes that will be submitted at
|
|
the same time as the change.
|
|
|
|
* link:http://code.google.com/p/gerrit/issues/detail?id=1100[Issue 1100]:
|
|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/rest-api-changes.html#set-review[
|
|
Set Review]: Add an option to publish draft comments on all revisions.
|
|
|
|
Config
|
|
^^^^^^
|
|
|
|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/rest-api-config.html#get-info[
|
|
Get Server Info]: Return information about the Gerrit server configuration.
|
|
|
|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/rest-api-config.html#confirm-email[
|
|
Confirm Email]: Confirm that the user owns an email address.
|
|
|
|
|
|
Groups
|
|
^^^^^^
|
|
|
|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/rest-api-groups.html#list-group[
|
|
List Groups]: Add option to suggest groups.
|
|
+
|
|
This allows group auto-completion to be used in a plugin's UI.
|
|
|
|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/rest-api-groups.html#get-audit-log[
|
|
Get Audit Log]: Get the audit log of a Gerrit internal group, showing member
|
|
additions, removals, and the user who made the change.
|
|
|
|
|
|
Projects
|
|
^^^^^^^^
|
|
|
|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/rest-api-projects.html#run-gc[
|
|
Run GC]: Add `aggressive` option to specify whether or not to run an aggressive
|
|
garbage collection.
|
|
|
|
* link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/rest-api-projects.html#list-tags[
|
|
List Tags]: Support filtering by substring and regex, and pagination with
|
|
`--start` and `--end`.
|
|
|
|
|
|
SSH
|
|
~~~
|
|
|
|
* Add support for ZLib Compression.
|
|
+
|
|
To enable compression use the
|
|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/config-gerrit.html#sshd.enableCompression[
|
|
`sshd.enableCompression` setting].
|
|
|
|
* Add support for hmac-sha2-256 and hmac-sha2-512 as MACs.
|
|
|
|
Plugins
|
|
~~~~~~~
|
|
|
|
General
|
|
^^^^^^^
|
|
|
|
* Gerrit client can now pass JavaScriptObjects to extension panels.
|
|
|
|
* New UI extension point for header bar in change screen.
|
|
|
|
* New UI extension point to password screen.
|
|
|
|
* New UI extension points to project info screen.
|
|
|
|
* New UI extension point for pop down buttons on change screen.
|
|
|
|
* New UI extension point for buttons in header bar on change screen.
|
|
|
|
* New UI extension point at bottom of the user preferences screen.
|
|
|
|
* New UI extension point for the 'Included In' drop-down panel.
|
|
+
|
|
By implementing the
|
|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/dev-plugins.html#included-in[
|
|
Included In interface], plugins may add entries to the 'Included In' dropdown
|
|
menu on the change screen.
|
|
|
|
* Plugins can extend Gerrit screens with GWT controls.
|
|
|
|
* Plugins can add custom settings screens.
|
|
|
|
* Referencing groups in `project.config`.
|
|
+
|
|
Plugins can refer to groups so that when they are renamed, the project
|
|
config will also be updated in this section.
|
|
|
|
|
|
Other
|
|
~~~~~
|
|
|
|
* link:http://code.google.com/p/gerrit/issues/detail?id=3401[Issue 3401]:
|
|
Add option to
|
|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/config-gerrit.html#sendemail.allowRegisterNewEmail[
|
|
disable registration of new email addresses].
|
|
|
|
* link:http://code.google.com/p/gerrit/issues/detail?id=2061[Issue 2061]
|
|
Add Support for `git-upload-archive`.
|
|
+
|
|
This allows use the standard `git archive` command to create an archive
|
|
of the content of a repository.
|
|
|
|
* Add a background job to automatically abandon inactive changes.
|
|
+
|
|
The
|
|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/config-gerrit.html#changeCleanup[
|
|
changeCleanup] configuration can be set to periodically check for inactive
|
|
changes and automatically abandon them.
|
|
|
|
* Add support for the
|
|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/database-setup.html#createdb_db2[
|
|
DB2 database].
|
|
|
|
* link:http://code.google.com/p/gerrit/issues/detail?id=3441[Issue 3441]:
|
|
Add support for the
|
|
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/database-setup.html#createdb_derby[
|
|
Apache Derby database].
|
|
|
|
* Download commands plugin: Use commit IDs for download commands when change refs are hidden.
|
|
+
|
|
Git has a configuration option to hide refs from the initial advertisement
|
|
(`uploadpack.hideRefs`). This option can be used to hide the change refs from
|
|
the client. As consequence this prevented fetching changes by change ref from
|
|
working.
|
|
+
|
|
Setting `download.checkForHiddenChangeRefs` in the `gerrit.config` to true
|
|
allows the download commands plugin to check for hidden change refs.
|
|
|
|
* Add a new 'Maintain Server' global capability.
|
|
+
|
|
Members of a group with the 'Maintain Server' capability may view caches, tasks,
|
|
and queues, and invoke the index REST API on changes.
|
|
|
|
|
|
Bug Fixes
|
|
---------
|
|
|
|
* link:http://code.google.com/p/gerrit/issues/detail?id=3499[Issue 3499]:
|
|
Fix syntax highlighting of raw string literals in go.
|
|
|
|
* link:http://code.google.com/p/gerrit/issues/detail?id=3643[Issue 3643]:
|
|
Fix syntax highlighting of ES6 string templating using backticks.
|
|
|
|
* link:http://code.google.com/p/gerrit/issues/detail?id=3653[Issue 3653]:
|
|
Correct timezone in sshd log after DST change.
|
|
+
|
|
When encountering a DST switch, the timezone wasn't updated until
|
|
the server was reloaded.
|
|
|
|
* link:http://code.google.com/p/gerrit/issues/detail?id=3306[Issue 3306]:
|
|
Allow admins to read, push and create on `refs/users/default`.
|
|
|
|
* link:http://code.google.com/p/gerrit/issues/detail?id=3212[Issue 3212]:
|
|
Fix failure to run `init` when `--site-path` option is not explicitly given.
|
|
|
|
* Make email validation case insensitive.
|
|
+
|
|
While link:https://tools.ietf.org/html/rfc5321#section-2.3.11[
|
|
RFC 5321 section 2.3.11] allows for the local-part (the part left of
|
|
the '@') of an email address to be case sensitive, the domain portion is
|
|
case insensitive according to
|
|
link:https://tools.ietf.org/html/rfc1035#section-3.1[RFC 1035 section 3.1].
|
|
And in practice, even the local-part is typically case insensitive also.
|
|
|
|
* `commit-msg` hook: Don't add `Change-Id` line on temporary commits.
|
|
+
|
|
Commits created with `git commit --fixup` or `git commit --squash` are not
|
|
intended to be pushed to Gerrit, and don't need a `Change-Id` line.
|
|
+
|
|
This also prevents changes from being accidentally uploaded, at least for
|
|
projects that have the 'Require Change-Id' configuration enabled.
|
|
|
|
* link:http://code.google.com/p/gerrit/issues/detail?id=3444[Issue 3444]:
|
|
download-commands plugin: Fix clone with commit-msg hook when project name
|
|
contains '/'.
|
|
|
|
* Use full ref name in `refName` attribute of `ref-updated` events.
|
|
+
|
|
The link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.12/json.html#refUpdate[
|
|
refUpdate attribute] in `ref-updated` events did not include the full name
|
|
of the ref in the `refName` attribute, i.e. `master` was used instead of
|
|
`refs/heads/master`.
|
|
+
|
|
Support for the new format is added in
|
|
link:https://wiki.jenkins-ci.org/display/JENKINS/Gerrit+Trigger#GerritTrigger-Version2.15.1%28releasedSept142015%29[
|
|
version 2.15.1 of the Jenkins Gerrit Trigger plugin].
|
|
+
|
|
Users who are unable to upgrade the plugin may instead change the
|
|
trigger's branch configuration to type `Path` with a pattern like
|
|
`refs/*/master` instead of `Plain` and `master`.
|
|
|
|
Upgrades
|
|
--------
|
|
|
|
* Upgrade Asciidoctor to 1.5.2
|
|
|
|
* Upgrade AutoValue to 1.1
|
|
|
|
* Upgrade Bouncy Castle to 1.52
|
|
|
|
* Upgrade CodeMirror to 5.7
|
|
|
|
* Upgrade gson to 2.3.1
|
|
|
|
* Upgrade guava to 19.0-RC2
|
|
|
|
* Upgrade gwtorm to 1.14-20-gec13fdc
|
|
|
|
* Upgrade H2 to 1.3.176
|
|
|
|
* Upgrade httpcomponents to 4.4.1
|
|
|
|
* Upgrade Jetty to 9.2.13.v20150730
|
|
|
|
* Upgrade JGit to 4.1.1.201511131810-r
|
|
|
|
* Upgrade joda-time to 2.8
|
|
|
|
* Upgrade JRuby to 1.7.18
|
|
|
|
* Upgrade jsch to 0.1.53
|
|
|
|
* Upgrade JUnit to 4.11
|
|
|
|
* Upgrade Lucene to 5.3.0
|
|
|
|
* Upgrade Prolog Cafe 1.4.1
|
|
|
|
* Upgrade servlet API to 8.0.24
|
|
|
|
* Upgrade Truth to version 0.27
|
|
|