blob: 67a11358c37e21da0f8bb6cde42364919372c5de [file] [log] [blame]
Release notes for Gerrit 2.8.2
==============================
There are no schema changes from link:ReleaseNotes-2.8.1.html[2.8.1].
Download:
link:https://gerrit-releases.storage.googleapis.com/gerrit-2.8.2.war[
https://gerrit-releases.storage.googleapis.com/gerrit-2.8.2.war]
Lucene Index
------------
* Support committing Lucene writes within a fixed interval.
+
The `ramBufferSize` and `maxBufferedDocs` options control how often the
writer is flushed, but this does not fsync files on disk and thus
might not be permanent, particularly in a machine under heavy load.
+
As a result, commits to the index may not be completed, and updates may
be lost if the server goes down.
+
A new option `commitWithin` is added, to control how frequently the
indexes are committed.
General
-------
* Only add "cherry picked from" when cherry picking a merged change.
+
The "(cherry picked from commit ...)" line was being added in the commit
message when cherry picking from closed changes, which included abandoned.
* Fix PUSH permission check for draft changes.
+
It was not possible to block pushes to the `refs/drafts` namespace.
* Don't allow project owners to create branches if create is blocked.
+
Project owners were able to create branches through the WebUI, REST and SSH
even when the 'create reference' permission was actually blocked for them.
* link:https://code.google.com/p/gerrit/issues/detail?id=2397[Issue 2397]:
Remove quotes and trailing period from "topic edited" messages.
+
The quotes and trailing period were causing linkification to fail for topics
that were set to a URL.
* Check if user can read HEAD commit when resolving detached HEAD.
+
If HEAD was detached the `GetHead` REST endpoint refused to resolve HEAD
when the user was not a project owner.
* link:https://code.google.com/p/gerrit/issues/detail?id=2932[Issue 2932]:
Keep `status:closed` limit below MySQL Connector/J's hard limit.
+
Since MySQL Connector/J 5.1.21 does not allow limits above 50M rows
and aborts them with 'setMaxRows() out of range', we cannot use `MAX_VALUE`
as limit for plain `status:closed` queries.
* Fix IllegalArgumentException when running query with `limit:0` on secondary
index.
+
Running a query with `limit:0` when the secondary index is enabled was causing
an internal server error.
* link:https://code.google.com/p/gerrit/issues/detail?id=2331[Issue 2331]:
Make sure change-merged event contains correct patch set number.
+
When a change is submitted with the cherry-pick strategy, or when the
change is rebased with the "rebase if necessary" strategy, a new patch
set is created. The newly created patch set was not being set in the
change-merged event.
* Remove dependency on joda time library in gerrit launcher.
+
The joda time library was being unnecessarily packaged in the root of
the gerrit.war file.
Change Screen / Diff Screen
---------------------------
* link:https://code.google.com/p/gerrit/issues/detail?id=2398[Issue 2398]:
Enable syntax highlighting for Groovy, Clojure, Lisp, Ruby and Perl.
* link:https://code.google.com/p/gerrit/issues/detail?id=2416[Issue 2416]:
Fix copy functionality in Firefox and Safari.
+
Ctrl-C/Cmd-C was activating the 'insert comment' feature, and preventing the
browser from copying the selected text to the clipboard.
* link:https://code.google.com/p/gerrit/issues/detail?id=2428[Issue 2428]:
Fix truncation of long lines in side-by-side diff.
+
Lines whose length exceeded the width of the window were being truncated
and only shown fully after zooming out/in on the browser.
* Fix handling of the enter key when editing the topic.
+
The enter key was causing the file diff view to open, instead of confirming
the topic edit.
* Fix wrong button being passed to the 'revert' action.
+
The action was using the cherry-pick button instead of the revert button.
* Improve the error message shown when cherry picking a change fails.
+
The error message "Could not create merge commit during cherry pick" was
confusing for users, and is replaced with simply "Cherry pick failed".
* Add newline on commit messages created by cherry picking a change in the UI
or via the REST API.
+
If a commit was cherry-picked from the UI or via the REST API, the
trailing newline on the end of the commit message was lost.
* link:https://code.google.com/p/gerrit/issues/detail?id=2405[Issue 2405]:
Update change to invalidate cache after deletion of draft revision.
+
When a non-current draft patch set was deleted no update of the change
was made, causing the change screen to not work properly because it
relied on cached data.
* Extend change screen's horizontal bars to full width.
+
This allows the title of the change message to have some padding within
the bar.
* Fix tab alignment to be correct width in side-by-side diff.
+
This fixes the tab width to be the user's preference, rather than
1 + user's preference when show tabs is enabled.
* Fill the browser width in side-by-side diff.
+
Filling the browser available space with each side of the diff at
50% size allows the user to more easily view long lines if they
have a wide display, and better fit on more narrow displays by
splitting the available width at 50%.
ssh
---
* Support for nio2 backend is removed.
+
The nio2 backend is link:https://issues.apache.org/jira/browse/SSHD-252[
broken in MINA SSHD]. Support is removed until the next release of MINA
SSHD in which it is fixed.
* link:https://code.google.com/p/gerrit/issues/detail?id=2424[Issue 2424]:
Add descriptions on commands that are disabled in slave mode.
+
Commands that are disabled on a server running in slave mode were being listed
with an empty description.
* Remove obsolete commands from slave mode commands list.
+
The `approve` and `replicate` commands, which no longer exist, were still being
listed in the available commands shown when running the ssh `gerrit` command
without any arguments on a server running in slave mode.
* Remove 'including replication' from the `show-queue` command description.
+
The `replication` command is provided by the replication plugin, so it is no
longer relevant to mention this in the description of a core command.
* Fix aliasing of SSH commands.
Replication Plugin
------------------
* Never replicate automerge-cache commits.
+
Commits in the `automerge-cache` namespace are used on the master to
improve performance of the diff UI. They are not needed on remote
mirrors and it is wasteful to replicate them.
* link:https://code.google.com/p/gerrit/issues/detail?id=2420[Issue 2420]:
Fix failure to create missing remote repository via git:// protocol.
+
When replicating to a mirror over the anonymous git:// protocol and the
repository did not exist on the remote (i.e. if the remote was offline
when the repository was originally created), the replication failed with
a "remote repository error", rather than the expected "no repository".
* Improve info logging related to repository creation and deletion, and
differentiate between local and remote repository errors.
* Update documentation to clarify replication of refs/meta/config when
refspec is 'all refs'.
Upgrades
--------
* JGit is upgraded to 3.2.0.201312181205-r
Documentation
-------------
* Add missing documentation of the secondary index configuration.
+
Document that open and closed changes are indexed in separate indexes,
and for Lucene indexes the RAM buffer size and maximum buffered documents
can be configured.
* Correct the Gerrit download link.
+
The link on the documentation index was pointing to the Google Code page,
which has not been used for some time.
* Correct the description of the `revisions` field in the REST API's
`ChangeInfo` entity.
* Add a link from the plugin documentation to the validation listeners API
documentation.