| = 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 <number>: Cherry Picked from branch <name>.' 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. |