Release notes for Gerrit 2.11 ============================= Gerrit 2.11 is now available: link:https://www.gerritcodereview.com/download/gerrit-2.11.war[ https://www.gerritcodereview.com/download/gerrit-2.11.war] Gerrit 2.11 includes the bug fixes done with link:ReleaseNotes-2.10.1.html[Gerrit 2.10.1], link:ReleaseNotes-2.10.2.html[Gerrit 2.10.2] and link:ReleaseNotes-2.10.3.html[Gerrit 2.10.3]. These bug fixes are *not* listed in these release notes. Important Notes --------------- *WARNING:* This release contains schema changes. To upgrade: ---- java -jar gerrit.war init -d site_path ---- Gerrit 2.11 requires a secondary index, which can be created offline by running the `reindex` program: ---- java -jar gerrit.war reindex -d site_path ---- If the site that is upgraded already has a secondary index, the secondary index can be upgraded online. This is important for large sites since running the `reindex` program can take a long time and contributes significantly to the downtime that is required for the upgrade. Gerrit 2.11 supports online reindexing only from the index version `11` which is the index version of Gerrit 2.10. This means if you come from an older release it makes sense to first upgrade to 2.10 and then do the upgrade to 2.11 so that you can profit from online reindexing. In case you are upgrading from 2.10 it is *important* to check *before* the upgrade to 2.11 that the index version of your Gerrit 2.10 site is `11`. You can check the index version in `$site_path/index/gerrit_index.config`. Your Gerrit 2.10 site may run with an older index version (e.g. if online reindexing to index version `11` is still running or if online reindexing to version `11` has failed). In this case you first need to successfully migrate your index version of your Gerrit 2.10 site to `11` and only then start with the 2.11 upgrade. If you start the 2.11 upgrade when the schema version of your Gerrit 2.10 site is older than `11`, online reindexing is no longer possible and you need to reindex offline by using the `reindex` program. *WARNING:* Upgrading to 2.11.x requires the server be first upgraded to 2.8 (or 2.9) and then to 2.11.x. If you are upgrading from 2.8.x or later, you may ignore this warning and upgrade directly to 2.11.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 'Generate HTTP Password' capability has been link:#remove-generate-http-password-capability[removed]. *WARNING:* Google will link:https://developers.google.com/+/api/auth-migration[shut down their OpenID service on 20th April 2015]. Administrators of sites whose users are registered with Google OpenID accounts should encourage the users to link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/config-sso.html#_multiple_identities[ add an alternative identity to their account] before this date. Users who do not add an alternative identity before this date will need to create a new account and ask the site administrator to link:https://code.google.com/p/gerrit/wiki/SqlMergeUserAccounts[merge it]. *WARNING:* The link:https://gerrit-review.googlesource.com/Documentation/2.10/rest-api-changes.html#message[ Edit Commit Message] REST API endpoint is removed *WARNING:* The deprecated '/query' URL is removed and will now return `Not Found`. Release Highlights ------------------ * link:http://code.google.com/p/gerrit/issues/detail?id=505[Issue 505]: Changes can be created and edited directly in the browser. See the link:#inline-editing[Inline editing] section for more details. * Many improvements in the new change screen. * The old change screen is removed. New Features ------------ Web UI ~~~~~~ [[inline-editing]] Inline Editing ^^^^^^^^^^^^^^ Refer to the link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/user-inline-edit.html[ inline editing user guide] for detailed instructions. * New changes can be created directly in the browser via a 'Create Change' button on the project info screen. * New follow-up changes can be created via a 'Follow-Up' button on the change screen. * File content can be edited in a full screen CodeMirror editor with support for themes and syntax highlighting. * The CodeMirror screen can be configured in the same way as the side-by-side diff screen. * The file table in the change screen supports seamless navigation to the CodeMirror editor. * Edit mode can be started from the side-by-side diff screen with seamless navigation to the CodeMirror editor. * The commit message must now be changed in the context of a change edit. The 'Edit Message' button is removed from the change screen. * Files can be added, deleted, restored and modified directly in browser. Change Screen ^^^^^^^^^^^^^ * Remove the 'Edit Message' button from the change screen. + The commit message is now edited using the inline edit feature. * Add support for changing parent revision with the 'Rebase' button. + Using the 'Rebase' button it is now possible to rebase a change onto a different change (on the same destination branch), rather than only onto the head of the destination branch or the latest patch set of the predecessor change. * Show the parent commit's subject as a tooltip. * link:http://code.google.com/p/gerrit/issues/detail?id=2541[Issue 2541], link:http://code.google.com/p/gerrit/issues/detail?id=2974[Issue 2974]: Allow the 'Reply' button's link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/config-gerrit.html#change.replyLabel[ label and tooltip] to be configured. * Improve file sorting for C and C++ files. + Header files are now listed before implementation files. * link:http://code.google.com/p/gerrit/issues/detail?id=3148[Issue 3148]: Allow display of colored size bars to be enabled or disabled per user. + The 'Show Change Sizes As Colored Bars In Changes Table' setting is renamed to 'Show Change Sizes As Colored Bars' and is now used to also control how the change size is shown per file in the file table. + When enabled (which is the default), the change size per file is shown as a sum of lines added/removed, and also representated by a colored bar showing the proportion of added/removed lines. + When disabled, the colored bar is not shown and the change size per file is shown in the same way as it used to be in the old change screen. * Show changes across all projects and branches in the `Same Topic` tab. Side-By-Side Diff ^^^^^^^^^^^^^^^^^ * New button to switch between side-by-side diff and unified diff. * New preference setting to toggle auto-hiding of the diff table header. + The setting determines whether or not the diff table header with the patch set selection should be automatically hidden when scrolling down more than half of a page. * Highlight search results on scrollbar. + Search results in vim mode are highlighted in the scrollbar with gold colored annotations. * Set line length to 72 characters for commit messages. * Add syntax highlighting for several new modes: ** link:https://code.google.com/p/gerrit/issues/detail?id=2848[Issue 2848]: CSharp ** Dart ** Dockerfile ** GLSL shader ** Go ** Objective C ** RELAX NG ** link:http://code.google.com/p/gerrit/issues/detail?id=2779[Issue 2779]: reStructured text ** Soy Projects Screen ^^^^^^^^^^^^^^^ * Add pagination and filtering on the branch list page. * Add an 'Edit Config' button on the project info page. + The button creates a new change on the `refs/meta/config` branch and opens the `project.config` file in the inline editor. + This allows project owners to easily edit the `project.config` file from the browser, which is useful since it is possible that not all configuration options are available in the UI. REST ~~~~ Accounts ^^^^^^^^ * Add new link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-accounts.html#suggest-account[ Suggest Account endpoint]. Changes ^^^^^^^ * The link:https://gerrit-review.googlesource.com/Documentation/2.10/rest-api-changes.html#message[ Edit Commit Message] endpoint is removed in favor of the new link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-changes.html#put-change-edit-message[ Change commit message in Change Edit] and link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-changes.html#publish-edit[ Publish Change Edit] endpoints. * Add new link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-changes.html#check-change[ Check Change endpoint]. + In the past, Gerrit bugs, lack of transactions, and unreliable NoSQL backends have at various times produced a bewildering variety of corrupt states. + This endpoint can be used to detect, explain, and repair some of these possible states of a change. * Add new link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-changes.html#get-revision-actions[ Get Revision Actions endpoint]. * Add link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-changes.html#change-actions[ `CHANGE_ACTIONS`] option on the link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-changes.html#get-change-detail[ Get Change Detail] endpoint. Change Edits ^^^^^^^^^^^^ Several new endpoints are added to support the inline edit feature. * link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-changes.html#get-edit-detail[ Get Edit Detail]. * link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-changes.html#put-edit-file[ Change file content in Change Edit]. * link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-changes.html#post-edit[ Restore file content in Change Edit]. * link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-changes.html#put-change-edit-message[ Change commit message in Change Edit]. * link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-changes.html#delete-edit-file[ Delete file in Change Edit]. * link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-changes.html#get-edit-file[ Retrieve file content from Change Edit]. * link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-changes.html#get-edit-message[ Retrieve commit message from Change Edit or current patch set of the change]. * link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-changes.html#publish-edit[ Publish Change Edit]. * link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-changes.html#rebase-edit[ Rebase Change Edit]. * link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-changes.html#delete-edit[ Delete Change Edit]. Projects ^^^^^^^^ * Add new link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-projects.html#delete-branches[ Delete Branches] endpoint. * Add filtering and pagination options on the link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-projects.html#list-branches[ List Branches] endpoint. * Add new link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-projects.html#list-tags[ List Tags] endpoint. * Add new link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-projects.html#get-tag[ Get Tag] endpoint. Configuration ~~~~~~~~~~~~~ * Add support for link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/config-gerrit.html#auth.httpExternalIdHeader[ HTTP external ID header]. + This can be used when authenticating with a federated identity token from an external system, e.g. GitHub's OAuth 2.0 authentication. * Add link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/config-labels.html#label_copyAllScoresIfNoChange[ `copyAllScoresIfNoChange`] setting for labels. + Allows to copy scores forward when a new patch set is uploaded that has the same parent tree, code delta, and commit message as the previous patch set. * link:https://code.google.com/p/gerrit/issues/detail?id=2786[Issue 2786]: Allow non-administrators to modify user accounts. + A new global capability, link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/access-control.html#capability_modifyAccount[ 'Modify Account'], which allows the granted group members to modify user account settings via the link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/cmd-set-account.html[ `set-account` SSH command]. + Modification of users' SSH keys is still restricted to administrators. * Add support for link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/config-gerrit.html#ldap.useConnectionPooling[ LDAP connection pooling]. * link:https://code.google.com/p/gerrit/issues/detail?id=699[Issue 699]: Allow to link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/config-gerrit.html#receive.maxBatchChanges[ limit max number of changes pushed in a batch]. + Can be overridden by members of groups that are granted the link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/access-control.html#capability_batchChangesLimit[ Batch Changes Limit] capability. * Allow to link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/config-gerrit.html#gerrit.disableReverseDnsLookup[ disable reverse DNS lookup]. + This option can be set to improve push time from hosts without a reverse DNS entry. * Allow to link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/config-gerrit.html#cache.projects.loadOnStartup[ load the project cache at server startup]. * Allow members of groups granted the link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/access-control.html#capability_accessDatabase[ AccessDatabase capability] to view metadata refs. * Allow to link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/config-gerrit.html#http.addUserAsRequestAttribute[ add the user to the http request attributes]. * Allow to link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/config-gerrit.html#suggest.fullTextSearch[ enable full text search in memory for review suggestions]. + The maximum number of reviewers evaluated can be limited with link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/config-gerrit.html#suggest.fullTextSearchMaxMatches[ suggest.fullTextSearchMaxMatches]. * Allow to provide an alternative link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/config-gerrit.html#gerrit.secureStoreClass[ secure store implementation]. * link:https://code.google.com/p/gerrit/issues/detail?id=1195[Issue 1195]: Allow projects to be configured to create a new change for every uploaded commit that is not in the target branch. * Allow to configure link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/config-gerrit.html#container.daemonOpt[ options to pass to the daemon]. Daemon ~~~~~~ * Allow to enable the http daemon when running in slave mode. + The `--enable-httpd` option can be used in conjunction with the `--slave` option to allow clients to fetch from the slave over the http protocol. + HTTP Authentication may also be used when running in slave mode. * Include the submitter's name in the change message when a change is submitted. * Add a message to changes created via cherry pick. + When a change is cherry-picked to another branch using the cherry-pick action, the message 'Patch Set : Cherry Picked from branch .' is added as a change message on the created change. * Don't send 'new patch set' notification emails for trivial rebases. SSH ~~~ * Add new commands link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/cmd-logging-ls-level.html[ `logging ls-level`] and link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/cmd-logging-set-level.html[ `logging set-level`] to show and set the logging level at runtime. * link:https://code.google.com/p/gerrit/issues/detail?id=602[Issue 602]: Add `--json` option to the link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/cmd-review.html[ `review` SSH command]. + Review input can be given to the `review` command in JSON format corresponding to the REST API's link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-changes.html#review-input[ ReviewInput] entity. * link:https://code.google.com/p/gerrit/issues/detail?id=2824[Issue 2824]: Add `--rebase` option to the link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/cmd-review.html[ `review` SSH command]. * Add `--clear-http-password` option to the link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/cmd-set-account.html[ `set-account` SSH command]. * Add `--preferred-email` option to the link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/cmd-set-account.html[ `set-account` SSH command]. Email ~~~~~ * Add `$change.originalSubject` field for email templates. + GMail threads messages together by subject and ignores the list headers included by Gerrit. + Site administrators that run servers whose end-user base is mostly on GMail can modify the site's `ChangeSubject.vm` template to use `$change.originalSubject` to improve threading for GMail inboxes. + The `originalSubject` field is automatically taken from the existing subject field during first use. Plugins ~~~~~~~ General ^^^^^^^ * Plugins can listen to account group membership changes. + The audit log service allows to register listeners to group member added and group member deleted events. A default listener logs these events to the database as before, but additional listeners may now be registered for these events using the `GroupMemberAuditListener` interface. * Plugins can validate ref operations. + Plugins implementing the `RefOperationValidationListener` interface can perform additional validation checks against ref creation/deletion operations before they are applied to the git repository. * Plugins can provide project-aware top menu extensions + Plugins can provide sub-menu items within the 'Projects' context. The '$\{projectName\}' placeholder is replaced by the project name. * Auto register static/init.js as JavaScript plugin. + When a plugin does not expose Guice Modules explicitly, auto discover and register static/init.js as WebUi extension if found by the plugin content scanner. * Plugins can validate outgoing emails. + Plugins implementing `OutgoingEmailValidationListener` interface can filter and modify outgoing emails before they are sent. * Plugins that provide initialization steps may now use functionality from InitUtil in core Gerrit. * Plugins can post change reviews with historic timestamps. + This allows, for example, to write a plugin that can import a project including review information from another Gerrit server. * New extensions in the Java Plugin API: ** Set/Put topic. ** Get mergeable status. ** link:https://code.google.com/p/gerrit/issues/detail?id=461[Issue 461]: Get current user. ** Get file content. ** Get file diff. ** Get comments and drafts. ** Get change edit. Replication ^^^^^^^^^^^ * Projects can be specified with wildcard in the `start` command. Bug Fixes --------- Daemon ~~~~~~ * Change 'Merge topic' to 'Merge changes from topic'. + When multiple changes from a topic are submitted resulting in a merge commit, the title of the merge commit is now 'Merge changes from topic' instead of 'Merge topic'. * Fix visibility checks for `refs/meta/config`. + Under some conditions it was possible for the `refs/meta/config` branch to be erroneously considered not visible to the user. * Sort list of updated changes in output from push. * link:https://code.google.com/p/gerrit/issues/detail?id=2940[Issue 2940]: Improve warning messages when `Change-Id` is missing in the commit message. ** Add a hint to amend the commit after installing the commit-msg hook. ** Don't show 'Suggestion for commit message' when `Change-Id` is missing. * Allow to publish draft patch sets even when `allowDrafts` is false. + If a user uploaded a change while `allowDrafts` was enabled, and then it was disabled by the administrator, the uploaded change could not be published and was stuck in the draft state. * link:https://code.google.com/p/gerrit/issues/detail?id=3249[Issue 3249]: Fix server error when checking mergeability of a change. * Workaround Guice bug "getPathInfo not decoded". + Due to link:https://github.com/google/guice/issues/745[Guice issue 745], cloning of a repository with a space in its name was impossible. Secondary Index / Search ~~~~~~~~~~~~~~~~~~~~~~~~ * link:https://code.google.com/p/gerrit/issues/detail?id=2822[Issue 2822]: Improve Lucene analysis of words linked with underscore or dot. + Instead of treating words linked with underscore or dot as one word, Lucene now treats them as separate words. * Fix support for `change~branch~id` in query syntax. Configuration ~~~~~~~~~~~~~ [[remove-generate-http-password-capability]] * Remove the 'Generate HTTP Password' capability. + The 'Generate HTTP Password' capability has been removed to close a security vulnerability. Now only administrators are allowed to generate and delete other users' http passwords via the REST or SSH interface. + It is encouraged to clean up your `project.config` settings after upgrading. * Fix support for multiple `footer` tokens in tracking ID config. + Contrary to link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/config-gerrit.html#trackingid[ the documentation], if more than one `footer` token was specified in the `trackingid` section, only the first was used. * Treat empty link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/config-gerrit.html#hooks[ `hooks.*`] values as missing, rather than trying to execute the hooks directory. * Fix `changed-merged` hook configuration. + Contrary to the link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/config-gerrit.html#hooks[ documentation], the changed-merged hook configuration value was being read from `hooks.changeMerged`. Fix to use `hooks.changeMergedHook` as documented. Web UI ~~~~~~ Change List ^^^^^^^^^^^ * link:http://code.google.com/p/gerrit/issues/detail?id=3304[Issue 3304]: Always show a tooltip on the label column entries. Change Screen ^^^^^^^^^^^^^ * link:http://code.google.com/p/gerrit/issues/detail?id=3147[Issue 3147]: Allow to disable muting of common path prefixes in the file list. + In the file table, parts of the file path that are common to the file previously listed are muted. The purpose of this is to make it easier to see files that all belong under the same path, but some users find it annoying. + This feature can now be enabled or disabled, per user, with the 'Mute Common Path Prefixes In File List' setting. * link:http://code.google.com/p/gerrit/issues/detail?id=3130[Issue 3130]: Remove special handling of 'LGTM' in review comments + Typing 'LGTM' in the review cover message no longer automatically selects the highest available Code-Review score. * Show a confirmation dialog before deleting a draft change or patch set. + Previously there was no confirmation and a draft change or revision patch set would be lost if the button was accidentally clicked. * link:https://code.google.com/p/gerrit/issues/detail?id=2533[Issue 2533]: Improve the layout and color scheme of buttons. + Several improvements have been made: + ** Move 'Publish' and 'Delete Change/Revision' buttons into header. + If a change/revision is a draft the natural next step is to publish (or delete) it, hence these buttons should be displayed in a more prominent place. ** Highlight the 'Publish' button in blue. + If a change is a draft the natural next step is to publish it, hence the 'Publish' button should be highlighted similar to the quick approve button. ** Fix the border color of buttons on the reply popup. + The buttons are blue but had white borders, which was inconsistent with the buttons on the change screen. ** Remove red color for 'Abandon' and 'Restore' buttons. + There is nothing dangerous about these operations that justifies highlighting the buttons in red color. When the buttons are clicked there is a popup where the user must confirm the operation, so it can still be canceled. ** Hide quick approve button for draft changes. + A draft change cannot be submitted, hence quick approving it is not that important. Hiding the quick approve button on draft changes makes space in the header for displaying more important actions such as 'Publish'. * Differentiate between conflicts and already merged errors in cherry-pick + When a cherry-pick operation failed with 'Cherry pick failed' error, there was no way to know the reason for the failure: merge conflict or the commit is already on the target branch. These failures are now differentiated and an appropriate error is reported. * link:https://code.google.com/p/gerrit/issues/detail?id=2837[Issue 2837]: Improve display of long user names for collapsed comments in history. + If there were several users with long user names with the same prefix, e.g. 'AutomaticGerritVoterLinux' and 'AutomaticGerritVoterWindows', they would both be shown as 'AutomaticGerritVo...' and users had to expand the comment to see the full user name. + The ellipsis is now inserted in the middle of the user name so that the start and end of the user name are always visible, e.g. 'AutomaticG...VoterLinux' and 'AutomaticG...terWindows'. * link:https://code.google.com/p/gerrit/issues/detail?id=2992[Issue 2992]: Fix display of review comments for Chrome on Android. + Chrome for Android has Font Boosting, which caused the review comments to be displayed too large. * link:https://code.google.com/p/gerrit/issues/detail?id=2909[Issue 2909]: Make change owner votes removable. + If a change owner voted on a change, it was not possible for anyone other than the owner to remove the vote. * Preserve topic when cherry-picking. + When a change is cherry-picked, the topic from the source change is preserved on the newly created change. * link:http://code.google.com/p/gerrit/issues/detail?id=3007[Issue 3007]: Make the selected tab persistent. + If a change from the 'Same Topic' tab was clicked, the selected tab would reset to the default tab ('Related Changes'). * Left-align column titles in the file list. * Increase right margin of download box to make space for scrollbar. + Under some circumstances the browser's scrollbar would be shown over the copy-to-clipboard icons in the download dropdown. * Display +1 score's text next to the checkbox for simple boolean labels. + In the reply box, the text of the label score is displayed on the right hand side when a score is selected, but this was missing for simple boolean labels. * Don't show missing accounts as reviewer suggestions. * Show the email address that matched the search in reviewer suggestions. + When matching accounts by email address against an external account, results now show the email address that matched, not the preferred email address. * Fix accidental reviewer selection on slow networks. * link:http://code.google.com/p/gerrit/issues/detail?id=3120[Issue 3120]: Align parent weblinks with parent commits in the commit box. Side-By-Side Diff ^^^^^^^^^^^^^^^^^ * Return to normal mode after editing a draft comment. + Previously it would remain in visual mode. * Fix C++ header and source syntax highlighting + cpp and hpp files were sometimes rendered with C mode and not the extended C++ mode. This prevented keywords like `class` from being colored by the highlighter. Project Screen ^^^^^^^^^^^^^^ * Fix alignment of checkboxes on project access screen. + The 'Exclusive' checkbox was not aligned with the other checkboxes. REST API ~~~~~~~~ Changes ^^^^^^^ * Remove the administrator restriction on the link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-changes.html#index-change[ index change] endpoint. + The endpoint can now be used by any user who has visibility of the change. * Only include account ID in responses unless `DETAILED_ACCOUNTS` option is set. + The behavior was inconsistent with the link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-accounts.html#account-info[ documentation]. In the default case it was including only the account name, rather than only the account ID. * Include revision's ref in responses. + The ref of a revision was only returned as part of the fetch info, which is only available if the download commands are installed. * Correctly set the limit to the default when no limit is given in the link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-changes.html#suggest-reviewers[ suggest reviewers] endpoint. * Return correct response from 'delete draft' endpoints. + When the `change.allowDrafts` setting is False, it is not allowed to delete draft changes or patch sets. + In this case the response `405 Method Not Allowed` is now returned, instead of `409 Conflict`. Projects ^^^^^^^^ * Make it mandatory to specify at least one of the `--prefix`, `--match` or `--regex` options in the link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11/rest-api-projects.html#list-projects[ list projects] endpoint. * link:https://code.google.com/p/gerrit/issues/detail?id=2706[Issue 2706]: Do not delete branches concurrently. + Deleting multiple branches from the UI was resulting in a server error when branches were in the packed-refs. * Add retry logic for lock failure when deleting a branch. * link:http://code.google.com/p/gerrit/issues/detail?id=3153[Issue 3153]: Fix handling of project names ending with `.git`. + The projects REST API documentation states that the `.git` suffix will be stripped off the input project name, if present. + This was working for the 'Create Project' endpoint, but not for any of the others. Plugins ~~~~~~~ Replication ^^^^^^^^^^^ * Create missing repositories on the remote when replicating with the git protocol. * Make `createMissingRepositories = false` take effect on `project-created` event. + Previously `createMissingRepositories = false` would prevent the replication plugin from trying to create a new project when a `ref-updated` event was fired, but when a `project-created` event was fired the replication plugin would try to create a project on the remote. Upgrades -------- * Update Antlr to 3.5.2. * Update ASM to 5.0.3. * Update CodeMirror to 4.10.0-6-gd0a2dda. * Update Guava to 18.0. * Update Guice to 4.0-beta5. * Update GWT to 2.7. * Update gwtjsonrpc to 1.7-2-g272ca32. * Update gwtorm to 1.14-14-gf54f1f1. * Update Jetty to 9.2.9.v20150224. * Update JGit to 3.7.0.201502260915-r.58-g65c379e. * Update Lucene to 4.10.2. * Update Parboiled to 1.1.7. * Update Pegdown to 1.4.2.