blob: 2280144fe2cb99d51bbd7f58983f631c8b711108 [file] [log] [blame]
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:* Upgrading to 2.12.x requires the server be first upgraded to 2.8 (or
2.9) and then to 2.12.x. If you are upgrading from 2.8.x or later, 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.
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
~~~~~~~~~~~~~~~~~~~~~~~~~~
* TODO: Details
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 byt 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 change edits 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 be written to allow runtime reconfiguration of various Lucene
performance related parameters.
* 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 My dashboard menu.
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
^^^^^^^^^^^^^
* 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.
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.
Tags
^^^^
* Support filtering by substring and regex in the list tags endpoint.
* Support pagination with `--start` and `--end` in the list tags endpoint.
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.
Other
~~~~~
* 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].
* 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.
Bug Fixes
---------
* 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.
* 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.
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.0.201509280440-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