| 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=2392[Issue 2392]: | |
| 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=2441[Issue 2441]: | |
| 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. |