| 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 those that were |
| abandoned. |
| |
| * link:https://code.google.com/p/gerrit/issues/detail?id=2513[Issue 2513]: |
| Improve the "This patchset was cherry picked" message. |
| + |
| When cherry-picking a change, the message "This patchset was cherry picked to |
| change: <Change-Id>" was added as a message on the change. This was not very |
| useful as the Change-Id is the same on the newly created change. |
| + |
| The message is changed to "This patchset was cherry picked to branch <branch |
| name> as commit <SHA1>". |
| |
| * 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. |
| |
| * Guard against `diff.mnemonicprefix` in `commit-msg` hook. |
| + |
| When `diff.mnemonicprefix` was enabled in the git config, committing |
| changes with `git commit -v` caused the diff to be included in the |
| generated commit message. |
| |
| * link:https://code.google.com/p/gerrit/issues/detail?id=2453[Issue 2453]: |
| Fix submit rule evaluation for non blocking labels. |
| + |
| Putting a negative score on a label configured as `NoBlock` was causing |
| the submit button to be disabled. |
| |
| * link:https://code.google.com/p/gerrit/issues/detail?id=2331[Issue 2331]: |
| Allow to create branch with new commits. |
| + |
| Branches could not be created with a new commit which is not on other branches |
| already. |
| |
| * Fix incompatibility between "Rebase if Necessary" and "copy scores". |
| + |
| When a project was set up with "Rebase if Necessary", one of its labels had |
| `copyAllScoresOnTrivialRebase` or `copyMaxScore`, and a change that actually |
| needed a trivial rebase was submitted, Gerrit first rebased the change, and in |
| the process copied the approval for the label. It then copied all the |
| approvals, including the one already copied, which resulted in a constraint |
| violation on the database. |
| |
| * Add `Implementation-Vendor` default manifest entry for plugins. |
| + |
| In buck, the `java_binary` rule merges manifest entries from dependent JARs |
| unless the input JAR possesses these entries itself. This was causing some |
| plugins to display the wrong vendor information if they had dependency on |
| another JAR file that provided a `Implementation-Vendor` value. |
| |
| * link:https://code.google.com/p/gerrit/issues/detail?id=2498[Issue 2498]: |
| Handle null commits when updating submodules. |
| + |
| In some edge cases it was possible that a null commit would exist, and this |
| caused a crash when updating submodules. |
| |
| * Update and insert comments/approvals in a single step. |
| + |
| When a review includes both new label scores and updates to existing label |
| scores, use `upsert` to record them all at the same time, rather than in |
| separate `update` and `insert` operations. |
| |
| * link:https://code.google.com/p/gerrit/issues/detail?id=2374[Issue 2374]: |
| Prevent duplicate commits in same project when uploading to `refs/changes/n`. |
| + |
| Under certain circumstances, when pushing to `refs/changes/n`, the same |
| commit could be pushed onto multiple changes even if the changes were on the |
| same branch. |
| |
| * 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%. |
| |
| * Fire `comment-added` stream event even when mail notification is not sent. |
| + |
| Unchecking the "and send email" option on the change screen prevented the |
| `comment-added` event from being sent to the event stream. |
| |
| * link:https://code.google.com/p/gerrit/issues/detail?id=2493[Issue 2493]: |
| Set uploader to current user in `patchset-created` event upon rebasing |
| a change in the UI. |
| + |
| When a change was rebased from the change screen, the `uploader` field |
| of the `patchset-created` event was incorrectly set to the original |
| change uploader, rather than the user that performed the rebase. |
| |
| * Display a warning instead of an error when the intraline diff times out. |
| + |
| Displaying an error was confusing for users and administrators. |
| |
| * link:https://code.google.com/p/gerrit/issues/detail?id=2514[Issue 2514]: |
| Display an error message when commentlink regex is invalid. |
| + |
| If a commentlink was configured with an invalid regular expression, for example |
| an expression that is valid in Java but not in JavaScript, the change screen |
| failed to load. |
| + |
| Now, an error message will be displayed in the UI. |
| |
| 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. |
| |
| * link:https://code.google.com/p/gerrit/issues/detail?id=2515[Issue 2515]: |
| Fix internal server error when updating an existing label with `gerrit review`. |
| |
| 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. |
| |
| * Remove double border around code snippets. |
| |
| * Add border around tables. |