| # Gerrit 2.13 |
| |
| Download: **[2.13.8](https://gerrit-releases.storage.googleapis.com/gerrit-2.13.8.war)** |
| | [2.13.7](https://gerrit-releases.storage.googleapis.com/gerrit-2.13.7.war) |
| | [2.13.6](https://gerrit-releases.storage.googleapis.com/gerrit-2.13.6.war) |
| | [2.13.5](https://gerrit-releases.storage.googleapis.com/gerrit-2.13.5.war) |
| | [2.13.4](https://gerrit-releases.storage.googleapis.com/gerrit-2.13.4.war) |
| | [2.13.3](https://gerrit-releases.storage.googleapis.com/gerrit-2.13.3.war) |
| | [2.13.2](https://gerrit-releases.storage.googleapis.com/gerrit-2.13.2.war) |
| | [2.13.1](https://gerrit-releases.storage.googleapis.com/gerrit-2.13.1.war) |
| | [2.13](https://gerrit-releases.storage.googleapis.com/gerrit-2.13.war) |
| |
| Documentation: **[2.13.8](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13.8/index.html)** |
| | [2.13.7](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13.7/index.html) |
| | [2.13.6](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13.6/index.html) |
| | [2.13.5](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13.5/index.html) |
| | [2.13.4](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13.4/index.html) |
| | [2.13.3](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13.3/index.html) |
| | [2.13.2](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13.2/index.html) |
| | [2.13.1](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13.1/index.html) |
| | [2.13](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/index.html) |
| |
| [TOC] |
| |
| ## Release Highlights |
| |
| * Suport for multiple database backends for "reviewed" flags (from 2.13.8) |
| * Support for Large File Storage (LFS) |
| * Metrics interface |
| * Hooks plugin |
| * Secondary index for accounts |
| * File annotations (blame) in side-by-side diff |
| |
| ## Important Notes |
| |
| ### Schema Changes |
| |
| This release contains schema changes. To upgrade: |
| |
| ``` sh |
| java -jar gerrit.war init -d site_path |
| ``` |
| |
| ### Manual Schema Update for Reviewed Flags |
| |
| Sites that have already upgraded to version 2.13 may want to migrate from the |
| default H2 database to MySQL or PostgreSQL. This can be done using the |
| [MigrateAccountPatchReviewDb](http://gerrit-documentation.storage.googleapis.com/Documentation/2.13.8/pgm-MigrateAccountPatchReviewDb.html) |
| program. |
| |
| Sites that have already upgrade to version 2.13 before 2.13.8 need to manually |
| migrate the reviewed flags database to change the `file_name` column length. |
| |
| After stopping Gerrit, enter the H2 console: |
| |
| ``` sh |
| java -jar /path/to/h2.jar -url jdbc:h2:path/to/review_site/db/account_patch_reviews |
| ``` |
| |
| and then execute the following statement: |
| |
| ``` |
| ALTER TABLE account_patch_reviews ALTER COLUMN file_name VARCHAR(4096) DEFAULT '' NOT NULL |
| ``` |
| |
| Depending on the number of rows, this operation may take some time. For |
| example, one million rows may take up to 1 minute. |
| |
| ### Online Reindexing |
| |
| To use online reindexing for the `changes` secondary index when upgrading |
| to 2.13.x, the server must first be upgraded to 2.8 (or 2.9) and then through |
| 2.10, 2.11 and 2.12. Skipping a version will prevent the online reindexer from |
| working. |
| |
| Gerrit 2.13 introduces a new secondary index for accounts, and this must be |
| indexed offline before starting Gerrit: |
| |
| ``` sh |
| java -jar gerrit.war reindex --index accounts -d site_path |
| ``` |
| |
| If reindexing will be done offline, you may ignore these warnings and upgrade |
| directly to 2.13.x using the following command that will reindex both `changes` |
| and `accounts` secondary indexes: |
| |
| ``` sh |
| java -jar gerrit.war reindex -d site_path |
| ``` |
| |
| ### Hooks Plugin |
| |
| The server side hooks functionality is moved to a core plugin. Sites |
| that make use of server side hooks must install this plugin during site init. |
| |
| ## New Features |
| |
| ### Large File Storage (LFS) |
| |
| Gerrit provides an [extension point](https://gerrit-review.googlesource.com/Documentation/2.13/dev-plugins.html#lfs-extension) |
| that enables development of plugins implementing the |
| [LFS protocol](https://github.com/github/git-lfs/blob/master/docs/api/v1/http-v1-batch.md). |
| |
| By setting |
| [`lfs.plugin`](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/config-gerrit.html#lfs.plugin) |
| the administrator can configure the name of the plugin which handles LFS requests. |
| |
| ### Access control for git submodule subscriptions |
| |
| To prevent potential security breaches as described in |
| [issue 3311](https://bugs.chromium.org/p/gerrit/issues/detail?id=3311), it is now |
| only possible for a project to subscribe to a submodule if the submodule |
| explicitly allows itself to be subscribed. |
| |
| Please see the |
| [submodules user guide](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/user-submodules.html) |
| for details. |
| |
| Note that when upgrading from an earlier version of Gerrit, permissions for |
| any existing subscriptions will be automatically added during the database |
| schema migration. |
| |
| ### Metrics |
| |
| Metrics about Gerrit's internal state can be sent to external |
| monitoring systems. |
| |
| Plugins can provide implementations of the metrics interface to |
| report metrics to different monitoring systems. The following |
| plugins are available: |
| |
| * [JMX](https://gerrit-review.googlesource.com/#/admin/projects/plugins/metrics-reporter-jmx) |
| |
| * [Graphite](https://gerrit-review.googlesource.com/#/admin/projects/plugins/metrics-reporter-graphite) |
| |
| * [Elastic Search](https://gerrit-review.googlesource.com/#/admin/projects/plugins/metrics-reporter-elasticsearch) |
| |
| Plugins can also provide their own metrics. |
| |
| See the |
| [metrics documentation](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/metrics.html) |
| for further details. |
| |
| ### Hooks |
| |
| Server side hooks are moved to the |
| [hooks plugin](https://gerrit-review.googlesource.com/#/admin/projects/plugins/hooks). |
| Sites that make use of server side hooks should install this |
| plugin. After installing the plugin, no additional configuration is needed. |
| The plugin uses the same configuration settings in `gerrit.config`. |
| |
| ### Secondary Index |
| |
| * The secondary index now supports indexing of accounts. |
| |
| The |
| [reindex program](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/pgm-reindex.html) |
| by default reindexes all changes and accounts. A new |
| option allows to explicitly specify whether to reindex changes or accounts. |
| |
| The `suggest.fullTextSearch`, `suggest.fullTextSearchMaxMatches` and |
| `suggest.fullTextSearchRefresh` configuration options are removed. Full text |
| search is supported by default with the account secondary index. |
| |
| * New ssh command to |
| [reindex changes](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/cmd-index-changes.html). |
| |
| ### User Interface |
| |
| * The UI can now be loaded in an iFrame by enabling |
| [`gerrit.canLoadInIFrame`](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/config-gerrit.html#gerrit.canLoadInIFrame) |
| in the site configuration. |
| |
| #### Change Screen |
| |
| * [Issue 106](https://bugs.chromium.org/p/gerrit/issues/detail?id=106): |
| Allow to select merge commit's parent for diff base in change screen. |
| |
| * [Issue 3035](https://bugs.chromium.org/p/gerrit/issues/detail?id=3035): |
| Allow to remove specific votes from a change, while leaving the reviewer on the |
| change. |
| |
| * [Issue 3487](https://bugs.chromium.org/p/gerrit/issues/detail?id=3487): |
| Use 'Ctrl-Alt-e' instead of 'e' to open edit mode. |
| |
| #### Diff Screens |
| |
| * Add all syntax highlighting available in CodeMirror. |
| |
| * Improve search experience in diff screen. |
| |
| Ctrl-F, Ctrl-G and Shift-Ctrl-G now bind to the search dialog box provided by |
| CodeMirror's search add-on. Enter and Shift-Enter navigate among the search |
| results from the CodeMirror search, just like they do in a normal browser |
| search. Esc now clears the search result. |
| |
| If the user sets `Render` to `Slow` in the diff preferences and the file is less |
| than 4000 lines (huge), then Ctrl-F, Ctrl-G and Shift-Ctrl-G fall back to the |
| browser search. |
| |
| * [Issue 2968](https://bugs.chromium.org/p/gerrit/issues/detail?id=2968): |
| Allow to go back to change list by keyboard shortcut from diff screens. |
| |
| * Blame annotations. |
| |
| By enabling |
| [`change.allowBlame`](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/config-gerrit.html#change.allowBlame), |
| blame annotations can be shown in the side-by-side diff |
| screen gutter. Clicking the annotation opens the relevant change. |
| |
| #### User Preferences |
| |
| * [Issue 989](https://bugs.chromium.org/p/gerrit/issues/detail?id=989): |
| New option to control email notifications. |
| |
| Users can now choose between 'Enabled', 'Disabled' and 'CC Me on Comments I Write'. |
| |
| * New option to control adding 'Signed-off-by' footer in commit message of new changes |
| created online. |
| |
| * New option to control auto-indent width in inline editor. |
| |
| * [Issue 890](https://bugs.chromium.org/p/gerrit/issues/detail?id=890): |
| New diff option to control whether to skip unchanged files when navigating to |
| the previous or the next file. |
| |
| ### Changes |
| |
| In order to avoid potentially confusing behavior, when submitting changes in a |
| batch, submit type rules may not be used to mix submit types on a single branch, |
| and trying to submit such a batch will fail. |
| |
| ### REST API |
| |
| #### Accounts |
| |
| * [Issue 3766](https://bugs.chromium.org/p/gerrit/issues/detail?id=3766): |
| Allow users with the |
| ['ModifyAccount' capability](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/access-control.html#capability_modifyAccount) |
| to get the preferences for other users via the |
| [Get User Preferences endpoint](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/rest-api-accounts.html#get-user-preferences). |
| |
| * Rename 'Suggest Account' to |
| ['Query Account'](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/rest-api-accounts.html#query-account) |
| and add support for arbitrary account queries. |
| |
| The `_more_accounts` flag is set on the last result when there are more results |
| than the limit. The `DETAILS` and `ALL_EMAILS` options may be set to control |
| whether the results should include details (full name, email, username, avatars) |
| and all emails, respectively. |
| |
| * New endpoint: |
| [Get Watched Projects](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/rest-api-accounts.html#get-watched-projects). |
| |
| * New endpoint: |
| [Set Watched Projects](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/rest-api-accounts.html#set-watched-projects). |
| |
| * New endpoint: |
| [Delete Watched Projects](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/rest-api-accounts.html#delete-watched-projects). |
| |
| * New endpoint: |
| [Get Star Labels from Change](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/rest-api-accounts.html#get-stars). |
| |
| * New endpoint: |
| [Update Star Labels on Change](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/rest-api-accounts.html#set-stars). |
| |
| * New endpoint: |
| [Get OAuth Access Token](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/rest-api-accounts.html#get-oauth-token). |
| |
| * New endpoint: |
| [List Contributor Agreements](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/rest-api-accounts.html#list-contributor-agreements). |
| |
| * New endpoint: |
| [Sign Contributor Agreement](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/rest-api-accounts.html#sign-contributor-agreement). |
| |
| #### Changes |
| |
| * [Issue 3579](https://bugs.chromium.org/p/gerrit/issues/detail?id=3579): |
| Append submitted info to ChangeInfo. |
| |
| * New endpoint: |
| [Move Change](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/rest-api-changes.html#move-change). |
| |
| #### Groups |
| |
| * Add `-s` as an alias for `--suggest` on the |
| [Suggest Group endpoint](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/rest-api-groups.html#suggest-group). |
| |
| #### Projects |
| |
| * Add `async` option to the |
| [Run GC endpoint](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/rest-api-projects.html#run-gc) |
| to allow garbage collection to run asynchronously. |
| |
| * New endpoint: |
| [List Access Rights](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/rest-api-projects.html#get-access). |
| |
| * New endpoint: |
| [Add, Update and Delete Access Rights](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/rest-api-projects.html#set-access). |
| |
| * New endpoint: |
| [Create Tag](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/rest-api-projects.html#create-tag). |
| |
| * New endpoint: |
| [Get Mergeable Information](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/rest-api-projects.html#get-mergeable-info). |
| |
| ### Plugins |
| |
| * Secure settings |
| |
| Plugins may now store secure settings in `etc/$PLUGIN.secure.config` where they |
| will be decoded by the Secure Store implementation. |
| |
| * Exported dependencies |
| |
| Gson is now an exported dependency. Plugins no longer need to explicitly add |
| a dependency on it. |
| |
| ### Misc |
| |
| * New project option to reject implicit merge commits. |
| |
| The 'Reject Implicit Merges' option can be enabled to prevent non-merge commits |
| from implicitly bringing unwanted changes into a branch. This can happen for |
| example when a commit is made based on one branch but is mistakenly pushed to |
| another, for example based on `refs/heads/master` but pushed to `refs/for/stable`. |
| |
| * New |
| [Add Patch Set capability](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/access-control.html#category_add_patch_set) |
| to control who is allowed to upload a new patch set to an existing change. |
| |
| * [Issue 4015](https://bugs.chromium.org/p/gerrit/issues/detail?id=4015): |
| Allow setting a |
| [comment message](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/user-upload.html#message) |
| when uploading a change. |
| |
| * Allow to specify |
| [who should be notified by email](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/user-upload.html#notify) |
| when uploading a change. |
| |
| * [Issue 3220](https://bugs.chromium.org/p/gerrit/issues/detail?id=3220): |
| Append approval info to every comment-added stream event and hook. |
| |
| * The `administrateServer` capability can be assigned to groups by setting |
| [`capability.administrateServer`](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/config-gerrit.html#capability.administrateServer) |
| in the site configuration. |
| |
| Configuring this option can be a useful fail-safe to recover a server in the |
| event an administrator removed all groups from the `administrateServer` |
| capability, or to ensure that specific groups always have administration |
| capabilities. |
| |
| * New configuration options to configure JGit repository cache parameters. |
| |
| [core.repositoryCacheCleanupDelay](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/config-gerrit.html#core.repositoryCacheCleanupDelay) |
| and [core.repositoryCacheExpireAfter](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/config-gerrit.html#core.repositoryCacheExpireAfter) |
| can be configured. |
| |
| * Accept `-b` as an alias of `--batch` in the |
| [init program](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/pgm-init.html). |
| |
| ## Bugfixes |
| |
| * Don't add the same SSH key multiple times. |
| |
| If an already existing SSH key was added, a duplicate entry was added to the |
| list of user's SSH keys. |
| |
| * Respect the 'Require a valid contributor agreement to upload' setting |
| when creating changes via the UI. |
| |
| If a user had not signed a CLA, it was still possible for them to create a new |
| change with the 'Revert' or 'Cherry Pick' button. |
| |
| * Make Lucene index more stable when being interrupted. |
| |
| * Don't show the `start` and `idle` columns in the `show-connections` |
| output when the ssh backend is NIO2. |
| |
| The NIO2 backend doesn't provide the start and idle times, and the |
| values being displayed were just dummy values. Now these values are |
| only displayed for the MINA backend. |
| |
| * [Issue 4150](https://bugs.chromium.org/p/gerrit/issues/detail?id=4150): |
| Deleting a draft inline comment no longer causes the change's `Updated` field to |
| be bumped. |
| |
| * [Issue 4099](https://bugs.chromium.org/p/gerrit/issues/detail?id=4099): |
| Fix SubmitWholeTopic does not update subscriptions. |
| |
| * [Issue 3603](https://bugs.chromium.org/p/gerrit/issues/detail?id=3603): |
| Fix editing a submodule via inline edit. |
| |
| * [Issue 4069](https://bugs.chromium.org/p/gerrit/issues/detail?id=4069): |
| Fix highlights in scrollbar overview ruler not moved when extending the |
| displayed area. |
| |
| * [Issue 3446](https://bugs.chromium.org/p/gerrit/issues/detail?id=3446): |
| Respect the `Skip Deleted` diff preference. |
| |
| * [Issue 3445](https://bugs.chromium.org/p/gerrit/issues/detail?id=3445): |
| Respect the `Skip Uncommented` diff preference. |
| |
| * [Issue 4051](https://bugs.chromium.org/p/gerrit/issues/detail?id=4051): |
| Fix empty `From` email header. |
| |
| * [Issue 3423](https://bugs.chromium.org/p/gerrit/issues/detail?id=3423): |
| Fix intraline diff for added spaces. |
| |
| * [Issue 1867](https://bugs.chromium.org/p/gerrit/issues/detail?id=1867): |
| Remove `no changes made` error case when the only difference between a new |
| commit and the previous patch set of the change is the committer. |
| |
| * [Issue 3831](https://bugs.chromium.org/p/gerrit/issues/detail?id=3831): |
| Prevent creating groups with the same name as a system group. |
| |
| * [Issue 3754](https://bugs.chromium.org/p/gerrit/issues/detail?id=3754): |
| Fix `View All Accounts` permission to allow accounts REST endpoint to access |
| email info. |
| |
| * Make `gitweb.type` default to `disabled` when not explicitly set. |
| |
| Previously the behavior was not documented and it would default to type |
| `gitweb`. In cases where there was no gitweb config at all, this would |
| result in broken links due to `null` being used as the URL. |
| |
| * [Issue 4488](https://bugs.chromium.org/p/gerrit/issues/detail?id=4488): |
| Improve error message when `Change-Id` line is missing in commit message. |
| |
| The error message now includes the sha1 of the commit, so that it is |
| easier to track down which commit failed validation when multiple commits |
| are pushed at the same time. |
| |
| * Don't check mergeability of draft changes. |
| |
| Draft changes can be deleted but not abandoned so there is no way for |
| an administrator to get rid of the them on behalf of the users. This can |
| become a problem when there many draft changes because the mergeability |
| check can be costly. |
| |
| The mergeability check is no longer done for draft changes, but will be |
| done when the draft change is published. |
| |
| * Fix internal server error when plugin-provided file history weblink |
| is null. |
| |
| It is valid for a plugin to provide a null weblink, but doing so resulted |
| in an internal server error. |
| |
| ## Dependency Updates |
| |
| * Add dependency on blame-cache 0.1-9 |
| |
| * Add dependency on guava-retrying 2.0.0 |
| |
| * Add dependency on jsr305 3.0.1 |
| |
| * Add dependency on metrics-core 3.1.2 |
| |
| * Upgrade auto-value to 1.3-rc1 |
| |
| * Upgrade commons-net to 3.5 |
| |
| * Upgrade CodeMirror to 5.17.0 |
| |
| * Upgrade Guava to 19.0 |
| |
| * Upgrade Gson to 2.7 |
| |
| * Upgrade Guice to 4.1.0 |
| |
| * Upgrade gwtjsonrpc to 1.9 |
| |
| * Upgrade gwtorm to 1.15 |
| |
| * Upgrade javassist to 3.20.0-GA |
| |
| * Upgrade Jetty to 9.2.14.v20151106 |
| |
| * Upgrade JGit to 4.5.0.201609210915-r |
| |
| * Upgrade joda-convert to 1.8.1 |
| |
| * Upgrade joda-time to 2.9.4 |
| |
| * Upgrade Lucene to 5.5.0 |
| |
| * Upgrade mina to 2.0.10 |
| |
| * Upgrade sshd-core to 1.2.0 |
| |
| |
| ## Bugfix Releases |
| |
| ### 2.13.8 {#2.13.8} |
| |
| * Improvements in "reviewed" flags cache |
| |
| * [Issue 5906](https://bugs.chromium.org/p/gerrit/issues/detail?id=5906): |
| Fix performance regression. |
| |
| * Fix SQL statements used to clear "reviewed" flags. |
| |
| The SQL statements were using `+` rather than `=` which resulted in |
| more entries than expected being deleted. |
| |
| * Fix `file_name` column length. |
| |
| * Upgrade JGit to 4.5.2.201704071617-r. |
| |
| This includes more fixes for handling of invalid packfiles. See |
| [JGit bug 514170](https://bugs.eclipse.org/bugs/show_bug.cgi?id=514170) |
| for details. |
| |
| * [Issue 5817](https://bugs.chromium.org/p/gerrit/issues/detail?id=5817): |
| Be more consistent about object ids used in ref operation validation. |
| |
| The `ReceiveCommand` passed to `RefOperationValidationListener` did not |
| always have the old and new objectd Ids set, which could result in crashes |
| when dereferenced by plugins. |
| |
| * Fix potential server error when extracting footer lines from commits. |
| |
| * Fix merging a merge commit that refers to commits not submitted as changes. |
| |
| * Fix redundant notifications on change screen. |
| |
| * Allow project owner to use set-project ssh command. |
| |
| REST API and UI allow project owner to change the project settings so |
| inconsistency is fixed by allowing the same in the ssh command. |
| |
| * Add an `account indexed` extension point. |
| |
| Similar to the existing `change indexed` extension point, this allows plugins |
| to be notified when an account has been indexed. |
| |
| ### 2.13.7 {#2.13.7} |
| |
| * Prevent circular module dependency when running in external container. |
| |
| Since 2.13 it was not possible to run Gerrit in an external container |
| due to circular dependency between the database module and the note DB |
| migration module. |
| |
| This is fixed, but the site path must be explicitly set in a system |
| property: `-Dgerrit.site_path=/path/to/gerrit`. |
| |
| * Use submitter's identity for merge commit in Rebase if Necessary. |
| |
| When a merge commit was not fast-forward, gerrit created a "merge of merge" |
| commit with its server identity instead of the submitter's identity. |
| |
| * [Issue 4637](https://bugs.chromium.org/p/gerrit/issues/detail?id=4637): |
| Fix "Class not found" errors when running on IBM JDK. |
| |
| The metrics module had a dependency on com.sun internal classes that |
| are not available in the JRE from other providers such as IBM, resulting |
| in ClassNotFound exceptions when initializing the CPU usage metric. |
| |
| * [Issue 5689](https://bugs.chromium.org/p/gerrit/issues/detail?id=5689): |
| Fix internal server error when directory in git root is inaccessible. |
| |
| If a directory in the site's git root was not accessible, an internal |
| server error prevented the list of projects from being populated. |
| |
| * [Issue 5652](https://bugs.chromium.org/p/gerrit/issues/detail?id=5652): |
| reviewnotes plugin: Fix export of review notes. |
| |
| * [Issue 5190](https://bugs.chromium.org/p/gerrit/issues/detail?id=5190): |
| Fix email notifications when adding new reviewers. |
| |
| * [Issue 5055](https://bugs.chromium.org/p/gerrit/issues/detail?id=5055): |
| Fix cache eviction order when linking new external IDs. |
| |
| * [Issue 5727](https://bugs.chromium.org/p/gerrit/issues/detail?id=5727): |
| Fix failure to start when JVM does not support CPU and file descripto metrics. |
| |
| * Allow to continue reindex despite failures. |
| |
| If indexing a change failed for some reason, indexing would be stopped |
| and remaining changes would not be indexed. Now an error message will |
| be displayed and indexing will continue. |
| |
| * Allow user with "Maintain Server" permission to find all changes. |
| |
| Allowing users delegated to maintain the server to find non-visible |
| changes in the CLI allows them to perform ad-hoc indexing. |
| |
| * Fix deletion of the last file from config branch. |
| |
| If the last file was deleted from the config branch, the file was not |
| actually deleted and the original content was kept. For example this |
| occurred when deleting all project watches when the `watch.config` file |
| was the only file on the branch. |
| |
| * Support at-sign (`@`) in usernames. |
| |
| Some federated identity systems, such as [Shibboleth](https://shibboleth.net/), |
| use login names including the at-sign. |
| |
| * Enable systemd socket activation. |
| |
| By setting |
| [`httpd.inheritChannel`](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13/config-gerrit.html#httpd.inheritchannel) |
| to true, the server can be socket activated by `systemd` or `xinetd`. |
| |
| * Be more consistent about object ids used in ref operation validation. |
| |
| In some cases the new and old Ids were not set, which could cause null |
| pointer exceptions in ref operation validations listeners trying to |
| dereference them. |
| |
| * Upgrade JGit to 4.5.1.201703201650-r. |
| |
| Among other bug fixes, this version includes a fix for packfile list |
| inconsistency in memory due to temporary lack of system resources during |
| read, which caused transient "file not found" errors. |
| |
| ### 2.13.6 {#2.13.6} |
| |
| * Allow Git LFS to authenticate via SSH. |
| |
| LFS plugins can now provide an implementation of `git-lfs-authenticate` |
| which allows the Git LFS client to use the SSH protocol to either obtain |
| the LFS endpoint URL or authorize the following LFS upload/download |
| operation. |
| |
| * Allow Git LFS to authenticate via HTTP. |
| |
| Git LFS requests include the authorization as HTTP Basic but |
| this was ignored and the user was treated as anonymous. |
| |
| * Don't require Add Patch Set permission for submit by rebase. |
| |
| When the submit strategy was Rebase If Necessary and |
| a rebase was needed for the submit, the submit failed if the user |
| didn't have the Add Patch Set permission. However for submitting a |
| change the Submit permission alone should be sufficient. |
| |
| The behavior is now consistent with the Cherry-Pick submit strategy |
| which also doesn't require the Add Patch Set permission if a |
| cherry-pick is done on submit. |
| |
| * Add a [passwd program](https://gerrit-documentation.storage.googleapis.com/Documentation/2.13.6/pgm-passwd.html) |
| to set values in the `secure.config` file when a secure store implementation |
| is used. |
| |
| * Allow plugins to define their own prefix for metrics reporting. |
| |
| By setting `plugin.name.metricsPrefix` plugins can set the root |
| name under which their metrics are reported. |
| |
| * Allow HTTP password when using LDAP and basic authentication. |
| |
| It was not possible to use HTTP password to validate git over |
| HTTP and REST API requests if LDAP was used along with HTTP basic |
| authentication. |
| |
| * Allow callers to define notify handling when adding reviewers to a |
| change by REST API. |
| |
| * [Issue 4563](https://bugs.chromium.org/p/gerrit/issues/detail?id=4563): |
| Only send one email when reviewers are added to a change in bulk. |
| |
| * [Issue 5237](https://bugs.chromium.org/p/gerrit/issues/detail?id=5237): |
| Don't truncate long lines in diff screens. |
| |
| * [Issue 5298](https://bugs.chromium.org/p/gerrit/issues/detail?id=5298): |
| Fix history token in Groups screen's "Members" tab. |
| |
| * Fix garbled text with Unicode display names obtained from HTTP headers. |
| |
| * Make error message for rejecting Egit placeholder Change-Id consistent. |
| |
| * Fix naming and prompt message for password entry in init steps. |
| |
| * Fix Gitweb review link generation. |
| |
| * Hooks plugin: emit metrics for hook execution latency, count, and errors. |
| |
| * Submodule fixes |
| |
| * Don't use fast-forward to update submodule subscription when superproject |
| has a merge submit strategy. |
| |
| * Fix sorting of subscribed branches in submodule update. |
| |
| * Fix handling of submodule config entries. |
| |
| * Fix ordering of projects in submodule update. |
| |
| ### 2.13.5 {#2.13.5} |
| |
| * [Issue 5200](https://bugs.chromium.org/p/gerrit/issues/detail?id=5200): |
| Ensure that indexes are closed properly on shutdown. |
| |
| The indexes were not closed on shutdown, which caused data to be lost |
| due to not being flushed to disk. |
| |
| * Enable the 'Delete Edit' button for merged changes. |
| |
| If a merged change has an edit revision, it should still be possible |
| to delete the edit. |
| |
| * Do not check visibility of parent project when creating a new project. |
| |
| A project can be visible to a user but not necessarily its parent. To |
| be consistent, a user with create-project permission should be able to |
| create a project with a parent that exists even if the parent is not |
| visible to the user. |
| |
| * Fix 'Can't insert change/patch set' error when prior patch set has no |
| parent, but next patch set has 1 parent. |
| |
| * [Issue 5179](https://bugs.chromium.org/p/gerrit/issues/detail?id=5179): |
| Make startup timeout configurable. |
| |
| By setting `container.startupTimeout` it is possible to configure the |
| maximum time to wait for the `gerrit.sh start` command to run a new |
| Gerrit daemon successfully. |
| |
| * [Issue 4715](https://bugs.chromium.org/p/gerrit/issues/detail?id=4715): |
| Add missing reviewers visibility check for suggestions from account index. |
| |
| * Fix Gitweb HTTP URL generation. |
| |
| The generated Gitweb URL contained an invalid 'p' character, and did |
| not require authentication for projects not visible to anonymous users. |
| |
| ### 2.13.4 {#2.13.4} |
| |
| * [Issue 5090](https://bugs.chromium.org/p/gerrit/issues/detail?id=5090): |
| Fix overwriting of another user's account external Id. |
| |
| * [Issue 4909](https://bugs.chromium.org/p/gerrit/issues/detail?id=4909): |
| Fix broken Gitweb weblink for config history on project access page. |
| |
| * [Issue 4908](https://bugs.chromium.org/p/gerrit/issues/detail?id=4908): |
| Add back support for parent revision weblinks. |
| |
| Support for weblinks for the parent revision(s) was removed in 2.13 but |
| this functionality is still wanted by some users. Support is added back, |
| by allowing plugins to provide a specific link for parent revisions. For |
| the built-in Gitweb links, the link template provided by the `revision` |
| setting is used. |
| |
| * Add DB connection pool verification. |
| |
| There was no verification of the connection pool, so a broken connection |
| would result in an internal server error when trying to read a change |
| from the database. |
| |
| * Add support for moving a change's destination branch with the SSH `review` |
| command. |
| |
| Version 2.13 introduced the 'move change' REST endpoint, but support via ssh |
| was omitted. |
| |
| * Add REST endpoint to reindex a single account. |
| |
| The new endpoint is useful to manually reindex a single account that has |
| become stale in the index. |
| |
| ### 2.13.3 {#2.13.3} |
| |
| * [Issue 4633](https://bugs.chromium.org/p/gerrit/issues/detail?id=4633): |
| Filter out unrelated projects when getting project watches from index. |
| |
| * [Issue 4848](https://bugs.chromium.org/p/gerrit/issues/detail?id=4848): |
| Upgrade Postgresql JDBC driver to 9.4.1211.jre7. |
| |
| Older versions of Postgresql JDBC driver rely on finalize() methods in |
| order to avoid leaking unclosed database objects. Given finalize |
| methods are unpredictable (no guarantee about prompt execution, if at |
| all), in some high load environments this could lead to a memory leak |
| with millions of JDBC objects pending finalization. |
| |
| * [Issue 4841](https://bugs.chromium.org/p/gerrit/issues/detail?id=4841): |
| Hooks plugin: Make sure `GIT_DIR` environment variable is set in `ref-update` |
| hook. |
| |
| * [Issue 4911](https://bugs.chromium.org/p/gerrit/issues/detail?id=4911): |
| Fix internal server error when providing an invalid Change-Id to the |
| index ssh command. |
| |
| * [Issue 4643](https://bugs.chromium.org/p/gerrit/issues/detail?id=4643): |
| Strip newlines out of ssh public keys. |
| |
| If an ssh public key contained newlines, each line was migrated to the |
| git backend as a separate key, each of which was considered invalid. Now, |
| newlines are stripped out. Note that this fix is not effective for sites |
| that have already been migrated to 2.13.x from an earlier version. |
| |
| * Restore the `--format` option on the list plugins REST API endpoint. |
| |
| Removing the `--format` option from the REST API had the side effect of |
| also removing it from the corresponding ssh command, which was a breaking |
| change for some users. |
| |
| * Fix classpath collision with Servlet API for GWT plugins. |
| |
| * Hooks plugin: Always return the output from the `ref-update` hook. |
| |
| The output of the `ref-update` hook is now sent back to the client. |
| |
| * Fix migration to schema version 127 on case-sensitive file systems. |
| |
| * Fix internal server error when using `has:draft` search predicate. |
| |
| * Fix internal server error caused by plugin returning null for |
| external included-in. |
| |
| * Fix internal server error in `set-members` command when a group |
| to be added is not visible to the caller. |
| |
| * Fix reindexing change by ssh command. |
| |
| When reindexing a change by ssh, the change was loaded from the |
| index rather than from the database. |
| |
| * Export prolog runtime in plugin API. |
| |
| |
| ### 2.13.2 {#2.13.2} |
| |
| * Allow to delete caches if not empty when initializing site during upgrade. |
| |
| Caches may be stale during upgrade, so the init program now offers to |
| delete them. |
| |
| A new `--delete-caches` option is added to allow force delete of all |
| caches. |
| |
| * [Issue 4797](https://bugs.chromium.org/p/gerrit/issues/detail?id=4797): |
| Fix internal server error in OAuth extension point when E-Mail is not set. |
| |
| * [Issue 4784](https://bugs.chromium.org/p/gerrit/issues/detail?id=4784): |
| Allow to edit user name for OAuth providers that don't expose user names. |
| |
| * [Issue 4627](https://bugs.chromium.org/p/gerrit/issues/detail?id=4627): |
| Fix internal server error in OAuth extension point when user name is not set. |
| |
| * [Issue 4466](https://bugs.chromium.org/p/gerrit/issues/detail?id=4466): |
| Fix deadlock during Lucene index shutdown. |
| |
| * Index account on account creation |
| |
| This prevents creation of new accounts on every logout/login sequence. |
| |
| * Add support for Microsoft Internet Explorer 10 and 11, and Microsoft Edge. |
| |
| * [Issue 4630](https://bugs.chromium.org/p/gerrit/issues/detail?id=4630): |
| Fix server error when navigating up to change while 'Working' is displayed. |
| |
| * [Issue 4631](https://bugs.chromium.org/p/gerrit/issues/detail?id=4631): |
| Read project watches from database. |
| |
| Project watches were being read from the git backend by default, but the |
| migration to git is not yet completed. |
| |
| * [Issue 4632](https://bugs.chromium.org/p/gerrit/issues/detail?id=4632): |
| Fix server error when deleting multiple SSH keys from the Web UI. |
| |
| Attempting to delete multiple keys in parallel resulted in a lock failure |
| when removing the keys from the git backend. |
| |
| * [Issue 4645](https://bugs.chromium.org/p/gerrit/issues/detail?id=4645): |
| Fix malformed account suggestions. |
| |
| If the query contained several query terms and one of the query terms was |
| a substring of 'strong', the suggestion was malformed. |
| |
| * Hooks plugin: Fix incorrect value passed to `--change-url` parameter. |
| |
| The URL was being generated using the change's Change-Id rather than the |
| change number. |
| |
| * Replication plugin: Fix Guava ProvisionException when replicating from slave. |
| |
| * Check for CLA when creating project config changes from the web UI. |
| |
| If contributor agreements were enabled and required for a project, and |
| the user had not signed a CLA, it was still possible to upload changes |
| for review on `refs/meta/config` by making changes in the project access |
| editor and pressing 'Save for Review'. |
| |
| * Fix server errors in 'Set Access' and 'Get Access' REST enpoints. |
| |
| * Stability improvements in event dispatch mechanism. |
| |
| ### 2.13.1 {#2.13.1} |
| |
| * [Issue 4618](https://bugs.chromium.org/p/gerrit/issues/detail?id=4618): |
| Fix internal server error after online reindexing completed. |
| |
| * Fix internal server error when cloning from slaves and not all refs are |
| visible. |
| |
| * Fix JSON deserialization error causing stream event client to no longer receive |
| events. |