| --- |
| title: "Gerrit 3.7.0" |
| permalink: 3.7.html |
| hide_sidebar: true |
| hide_navtoggle: true |
| toc: true |
| --- |
| |
| Download: **[3.7.2](https://gerrit-releases.storage.googleapis.com/gerrit-3.7.2.war)** |
| | [3.7.1](https://gerrit-releases.storage.googleapis.com/gerrit-3.7.1.war) |
| | [3.7.0](https://gerrit-releases.storage.googleapis.com/gerrit-3.7.0.war) |
| |
| Documentation: **[3.7.2](https://gerrit-documentation.storage.googleapis.com/Documentation/3.7.2/index.html)** |
| | [3.7.1](https://gerrit-documentation.storage.googleapis.com/Documentation/3.7.1/index.html) |
| | [3.7.0](https://gerrit-documentation.storage.googleapis.com/Documentation/3.7.0/index.html) |
| |
| ## Release highlights |
| |
| ### UI mostly migrated to [Lit](https://lit.dev/) |
| |
| Gerrit UI is mostly migrated to Lit, with a |
| [few exceptions for certain modules](https://github.com/GerritCodeReview/gerrit/search?q=polymer). |
| |
| ### Mention @user support |
| |
| Users can be mentioned in comments using the `@<user>` notation and select the matching |
| accounts. Mentioning users automatically add them in CC and send e-mail notification to |
| get their attention. |
| |
| This feature can be enabled in `gerrit.config` by adding this configuration: |
| |
| ```sh |
| [experiments] |
| enabled = UiFeature__mention_users |
| ``` |
| |
| ### Full markdown support in comments |
| |
| Comments and checks accept and render the full markdown syntax, allowing richer |
| interaction and communication between authors and reviewers. This follows the |
| CommonMark spec, except inline images and direct HTML are not rendered and kept |
| as plaintext. No markdown rendering is done in the commit message. |
| |
| ### Bulk actions on search results and dashboard |
| |
| Apply a change action to an entire group of changes all at once right from the |
| search page or your dashboard. Simply select all the changes, click your action, |
| and fill out the details on the dialog. Currently supported actions are: |
| |
| - Add Reviewer or CC |
| - Add Topic |
| - Add Hashtag |
| - Vote (excluding Code-Review) |
| |
| ### Auto theme mode |
| |
| The theme is automatically changed to light/dark based on your OS preference. You can change the |
| theme in users preferences. |
| |
| ### Copy links |
| |
| The copy links are in the dropdown next to the change number with keyboard shortcuts or a button |
| to quickly copy the format that you prefer to link change. |
| |
| ### Import Projects' Changes from other Gerrit servers |
| |
| Gerrit can read and render Changes coming from Projects copied from other servers having |
| different server-ids and account-ids. |
| This allows the Gerrit administrators to move projects and changes across servers with |
| a compatible NoteDb structure and having the change meta-data parsed and reindexed in |
| Gerrit. |
| |
| > NOTE: Only the changes can be imported and reindexed in Gerrit, following the account |
| > reverse lookup association using the new `imported` external-ids. Groups, ACLs and project |
| > hierarchy and Prolog rules (aka `refs/meta/config`) may not be imported out of the box |
| > and still require the Gerrit administrator to copy and adapt them manually. |
| |
| At high-level, the process consists of: |
| |
| 1. Configure the [`gerrit.importedServerId`](https://gerrit-documentation.storage.googleapis.com/Documentation/3.7.0/config-gerrit.html#gerrit.importedServerId) |
| with the values of the [`gerrit.serverId`](https://gerrit-documentation.storage.googleapis.com/Documentation/3.7.0/config-gerrit.html#gerrit.serverId) |
| of the Gerrit servers from the project changes to be imported originate from. |
| |
| 2. Identify the accounts involved in the project changes to import and create |
| the corresponding [`imported` external-ids]() in the `All-Users.git` repository. |
| |
| Example of how to add the external-id `imported:1000002@59a4964e-6376-4ed9-beef-123bd9217df8` |
| to the account-id `1000001`: |
| |
| ``` |
| $ EXT_ID=imported:1000002@59a4964e-6376-4ed9-beef-123bd9217df8 |
| $ EXT_ID_NOTE=$(echo -n $EXT_ID | shasum | awk '{print $1}') |
| $ git clone $GERRIT_SITE/git/All-Users.git && cd All-Users |
| $ git fetch origin refs/meta/external-ids && git checkout FETCH_HEAD |
| $ echo -e '[externalId "'$EXT_ID'"]\n\taccountId = 1000001' > $EXT_ID_NOTE |
| $ git commit -am "Added $EXT_ID" |
| $ git push origin HEAD:refs/meta/external-ids |
| ``` |
| |
| 3. Create the destination project of the import in Gerrit |
| |
| 4. Push the changes under `refs/changes/*` from the source Gerrit into the newly created |
| destination project. |
| |
| 5. Reindex all imported changes, either online with |
| [`gerrit index changes`](https://gerrit-documentation.storage.googleapis.com/Documentation/3.7.0/cmd-index-changes.html) |
| or offline with the [`java -jar gerrit.war reindex`](https://gerrit-documentation.storage.googleapis.com/Documentation/3.7.0/pgm-reindex.html) |
| commands. |
| |
| The overall process has been described in detail and live demoed during the |
| [Gerrit User Summit 2022](https://gerrit.googlesource.com/summit/2022/+/refs/heads/master/sessions/import-gerrit-projects-across-servers.md). |
| |
| ### New command to check project access for other users |
| |
| Gerrit admins can verify the ACLs of projects for individual users using the new |
| `gerrit check-project-access` SSH command. |
| |
| ## Important notes |
| |
| ### Schema and index changes |
| |
| This release contain changes to the schema which is upgraded to version 185; also all indexes |
| have been upgraded. |
| |
| ### Offline upgrade |
| |
| Download the gerrit.war and run the `init` and then `reindex` program: |
| |
| ```sh |
| java -jar gerrit.war init -d site_path |
| java -jar gerrit.war reindex -d site_path |
| ``` |
| |
| ### Online upgrade with zero-downtime |
| |
| Gerrit v3.7.x supports zero-downtime upgrade from Gerrit v3.6.3 or later when |
| configured using a [high-availability configuration](https://gerrit.googlesource.com/plugins/high-availability/+/refs/heads/master/README.md), |
| and the Git repositories are stored in a shared filesystem such as NFS or |
| similar. |
| |
| > NOTE: Gerrit versions older than v3.6.0 would require an offline upgrade. |
| |
| During the zero-downtime upgrade, Gerrit end-users would not notice any outage |
| or service disruption. They will be able to perform any read/write Gerrit |
| operation on the GUI or using using any API. |
| |
| The zero-downtime upgrade consists of the following steps: |
| |
| 1. Have Gerrit servers running v3.6.3 or later, in high-availability |
| configuration, healthy and able to handle the incoming traffic properly. |
| 2. Set `gerrit.experimentalRollingUpgrade` to `true` in `gerrit.config` on both Gerrit masters. |
| 3. Set the Gerrit server unhealthy. |
| 4. Shutdown the Gerrit server, update gerrit.war and plugins to v3.7.x and start |
| Gerrit again. |
| 5. Verify that the Gerrit server is working properly (e.g. run automated smoke |
| tests) and then make it healthy again. |
| 6. Wait for the Gerrit server to start serving traffic normally. |
| 7. Repeat steps 3. to 6. for all the other Gerrit servers. |
| 8. Remove `gerrit.experimentalRollingUpgrade` from `gerrit.config` on both Gerrit masters. |
| |
| ### Downgrade |
| |
| Downgrade to Gerrit v3.6.x release is possible, but requires the following manual steps: |
| |
| 1. Shutdown a migrated Gerrit v3.7.x server |
| 2. Downgrade the All-Projects.git version (refname: `refs/meta/version`) to `184`: |
| ``` sh |
| git update-ref refs/meta/version $(echo -n 184|git hash-object -w --stdin) |
| ``` |
| See [git hash-object](https://git-scm.com/docs/git-hash-object) and |
| [git update-ref](https://git-scm.com/docs/git-update-ref). |
| |
| > NOTE: The migration of the __label config to copy-condition__ performed in v3.7.x init |
| > step is idempotent and can be run many times. Also v3.6.x supports the copy-condition and |
| > therefore the migration does not need to be downgraded. |
| |
| 3. Run Gerrit v3.6.x init, downgrading all plugins, and run the off-line reindex |
| |
| ```sh |
| java -jar gerrit-3.6.x.war init -d site_path |
| java -jar gerrit-3.6.x.war reindex -d site_path |
| ``` |
| 4. Start Gerrit v3.6.x server |
| |
| ### Native packaging |
| |
| * GerritForge RPM repository updated for arm64 architecture |
| |
| [GerritForge RPM v1.4](https://gerritforge.com/gerritforge-repo-1-4.noarch.rpm) |
| has been released, including the native packages for arm64 architecutre. |
| |
| * [gerrit:3.7.0-almalinux8](https://hub.docker.com/r/gerritcodereview/gerrit/tags?page=1&name=3.7.0-almalinux8) |
| OS base image upgraded to [AlmaLinux 8.6](https://wiki.almalinux.org/release-notes/8.6.html) |
| |
| * DockerHub images for arm64 architecture |
| |
| [DockerHub Gerrit images](https://hub.docker.com/r/gerritcodereview/gerrit/tags?page=1&name=3.7.0) |
| include images for arm64 architecture. |
| |
| ### Breaking changes |
| |
| * [Change 335625](https://gerrit-review.googlesource.com/335625): |
| ThreadMXBeanSun: Use getCurrentThreadAllocatedBytes() method |
| |
| Used Bazel version is shipping latest release of JDK 11, that contains this method. |
| The `getCurrentThreadAllocatedBytes()` method is provided from JDK versions |
| >= 11.0.10. |
| Make sure you are running JDK versions >= 11.0.10 when upgrading to 3.7. |
| |
| * [Change 343774](https://gerrit-review.googlesource.com/343774): |
| Delete ignored state of changes and 'star:' queries |
| |
| The query predicates `star:ignored`, `is:ignored` and `star:star` are not supported |
| anymore. The latter is identical to 'is:starred' or 'has:star'. |
| |
| * [Change 334467](https://gerrit-review.googlesource.com/334467): |
| Removed support for deprecated approval config fields in label configs |
| |
| The boolean flags in label configurations to control approval copying, |
| as well as the copyValue settings, was previously deprecated and now completely |
| removed in flavor of the new copyCondition setting that allows to express the |
| copy conditions as a query. |
| |
| * [Change 337456](https://gerrit-review.googlesource.com/337456): |
| Ban new modifications to label functions in favour of submit requirements |
| |
| * [Issue 15784](https://crbug.com/gerrit/15784): |
| New project `head updated` event in the stream events |
| |
| * [Issue 11686](https://crbug.com/gerrit/11686): |
| Discontinue support for legacy numeric types in Lucene |
| |
| In Lucene the implementation switched from integer id to string id and now |
| all the old code is removed. Three different index implementations |
| are affected: |
| |
| * changes |
| * account |
| * groups |
| |
| * [Change 334325](https://gerrit-review.googlesource.com/334325): |
| Migrated label definitions to use copy conditions instead of deprecated fields |
| |
| The boolean flags in label configurations to control approval copying, |
| as well as the copyValue settings, have been deprecated in favor of the |
| new copyCondition setting that allows to express the copy conditions as |
| a query. The newly added schema version migrates the deprecated fields to copy |
| conditions. |
| |
| **NOTE**: Because of this breaking change, downgrading to Gerrit v3.6.x is |
| not possible out of the box. |
| |
| * [Issue 15941](https://crbug.com/gerrit/15941): |
| Fix SSH queries to not show commit-message unless --commit-message is provided |
| |
| This issue has existed for several years and should be considered |
| breaking as users might expect commit message to be included by |
| default in SSH query results. |
| Obtaining the commit message is a costly operation as the commit |
| data has to be loaded. So, showing it even when --commit-message |
| is not provided degrades the performance of SSH queries. |
| |
| * [Change 336297](https://gerrit-review.googlesource.com/336297): |
| Recognize lower case operators in search |
| |
| Previously, we only recognized AND, OR and NOT as boolean |
| operators. This seems overly strict as users might |
| unintentionally use the lower case variants. |
| |
| ### Indexing improvements |
| |
| * [Change 343798](https://gerrit-review.googlesource.com/343798): |
| Introduce `index.pageSizeMultiplier` configuration to paginate index |
| queries with increasing size |
| |
| * [Change 343694](https://gerrit-review.googlesource.com/343694): |
| Improve performance of queries that check the visibility of changes for |
| a non-current user |
| |
| * [Change 343096](https://gerrit-review.googlesource.com/343096): |
| Introduce `index.paginationType=SEARCH_AFTER` configuration for speeding up |
| query pagination |
| |
| * [Change 349694](https://gerrit-review.googlesource.com/349694): |
| Improve performance of parentof operator by two orders of magnitude |
| |
| * [Change 345634](https://gerrit-review.googlesource.com/345634): |
| Paginate internal change index queries, as index backends such as Lucene |
| and Elasticsearch are known to degrade with a high limit |
| |
| ### Performance fixes |
| |
| * [Change 338154](https://gerrit-review.googlesource.com/338154): |
| Lazy load change notes when submit by push |
| Improves performance of change submit via push |
| |
| * [Change 338574](https://gerrit-review.googlesource.com/338574): |
| Cache ProjectControl instances in SSH queries |
| A PerThreadCache is used to cache ProjectControl instances to |
| improve SSH query performance. |
| |
| * [Change 338614](https://gerrit-review.googlesource.com/338614) |
| Optimize SSH queries to avoid loading individual accounts |
| This improves performance of SSH queries. |
| |
| * [Change 338834](https://gerrit-review.googlesource.com/338834): |
| Avoid creating an IdentifiedUser multiple times in a SSH query |
| This improves performance of SSH queries. |
| |
| * [Change 339795](https://gerrit-review.googlesource.com/339795): |
| Improve performance of the create branch REST API when the repository |
| contains over one million refs |
| |
| * [Issue 16284](https://crbug.com/gerrit/16284): |
| Fix performance issues with git-upload-pack on repositories with a large number |
| of changes |
| |
| ### Other changes |
| |
| * [Change 346979](https://gerrit-review.googlesource.com/346979): |
| Add ability to specify prefix, suffix and text fields for commentLinks of type `link` |
| |
| * [Change 346854](https://gerrit-review.googlesource.com/346854): |
| Update change.maxPatchSets value from 1500 to 1000 |
| |
| * [Change 345229](https://gerrit-review.googlesource.com/345229): |
| Support bulk actions on dashboard and search pages |
| |
| * [Change 337434](https://gerrit-review.googlesource.com/337434): |
| New REST API for previewing fix from the request body to a patch set |
| |
| The newly added API `fix:preview` previewes fix(es) provided as part |
| of a POST request body. `ApplyProvidedFixInput` holds the fix(es). |
| This flow is suitable when a frontend plugin shows fix(es) that it is |
| suggesting on the UI and that the user can accept. |
| |
| * [Change 339788](https://gerrit-review.googlesource.com/339788): |
| Allow testing submit requirements using a pending change to the refs/meta/config branch |
| |
| Admins can then test their SRs using the following workflow: |
| 1. Upload a pending change to the refs/meta/config branch. |
| 2. Test it immediately on any change using: |
| `curl -X POST https://<gerrit-url>/changes/<change_to_test>/check.submit_requirement?sr-name=Foo&refs-config-change-id=$id` |
| |
| * [Change 336715](https://gerrit-review.googlesource.com/336715): |
| Disallow index updates that both add and remove fields |
| |
| A new version may only add or remove fields, but not both. The type of |
| existing fields may not be changed. |
| |
| * [Change 341454](https://gerrit-review.googlesource.com/341454): |
| Allow using GitWeb with multi-site and cached-refdb |
| |
| * [Change 307349](https://gerrit-review.googlesource.com/307349): |
| Add change REST endpoints to create and retrieve submit requirements. |
| |
| * [Change 307352](https://gerrit-review.googlesource.com/307352): |
| Add a REST endpoint to delete submit requirements |
| |
| * [Change 307351](https://gerrit-review.googlesource.com/307351): |
| Add a REST endpoint to list submit requirements in a project. |
| |
| * [Change ](https://gerrit-review.googlesource.com/): |
| New REST API for applying a fix from the request body to a patch set |
| |
| * [Change 339555](https://gerrit-review.googlesource.com/339555): |
| The commit-msg hook ignores fixup and squash commits now. |
| |
| Fixup and squash commits will inherit the Change-id of the commit they |
| are squashed into. |
| |
| * [Issue 10168](https://crbug.com/gerrit/10168): |
| Fix broken links to Gitweb lightweight tags |
| |
| * [Issue 12546](https://crbug.com/gerrit/12546): |
| In commit-msg hook, the Change-Id is now inserted before any Signed-off-by |
| |
| * [Issue 13930](https://crbug.com/gerrit/13930): |
| Support ssh kex server-sig-algs for modern clients, like OpenSSH 8.8 |
| |
| * [Issue 15194](https://crbug.com/gerrit/15194): |
| Define new event containing all refs updated in a single operation |
| |
| * [Issue 15664](https://crbug.com/gerrit/15664): |
| Disallow truncating the Change-Id across patch-sets |
| |
| * [Issue 15997](https://crbug.com/gerrit/15664): |
| Make DelegateRepository#delegate() method public |
| |
| * [Issue 16182](https://crbug.com/gerrit/16182): |
| Display the change's Change-Id underneath the commit message when not present in the commit message |
| |
| * [Issue 16263](https://crbug.com/gerrit/16263): |
| Disallow js in comment links |
| |
| * [Issue 16322](https://crbug.com/gerrit/16322): |
| Limit the number of changes that can be submitted at once |
| |
| * [Issue 16354](https://crbug.com/gerrit/16354): |
| Fix change screen errors when trying to load an invalid project with an exixting change number |
| |
| * [Change 338680](https://gerrit-review.googlesource.com/338680): |
| Included copied/outdated votes in change message on patch set creation |
| |
| Include copied and outdated approvals into the change message that is |
| posted on patch set creation. This allows users to find the copied/outdated |
| approvals for each patch set in the change log. |
| |
| * [Change 337968](https://gerrit-review.googlesource.com/337968): |
| Copy approvals that are applied on outdated patch sets to follow-up patch sets if copyable |
| |
| Copying approvals that are applied on outdated patch sets to follow-up |
| patch sets make the life easier for CIs, e.g.: |
| |
| 1. CI is triggered on PS X |
| 2. While the CI is running, PS X+1 which only modified the commit |
| message is uploaded |
| 3. CI finishes on votes Verified+1 on the outdated PS X |
| |
| * [Change 336712](https://gerrit-review.googlesource.com/336712): |
| Included outdated approvals in push output when pushing a new patch set |
| |
| * [Change 336414](https://gerrit-review.googlesource.com/336414): |
| Included unsatisfied SRs into new patch set email when change becomes unsubmittable |
| |
| When a change becomes unsubmittable users want to know which submit |
| requirements are no longer satisfied. |
| |
| * [Change ](https://gerrit-review.googlesource.com/): |
| Support deletion of missing changes from the index |
| |
| If a change is not found, and the "delete_missing" option is set to |
| "true", then try to delete it from the index. |
| |
| * [Change 336134](https://gerrit-review.googlesource.com/336134): |
| gerrit.sh: add --debug option, start JVM in debug mode |
| |
| * [Change 335754](https://gerrit-review.googlesource.com/335754): |
| Approver is added to the attention set when their approval is not copied |
| |
| If a user applied an approval on a change and this approval gets |
| outdated and removed when a new patch set is uploaded (i.e. the approval |
| is not copied to the new patch set) then this user is added to the |
| attention set now. This is to signal that this user should re-review the |
| change and renew their approval. |
| |
| * [Change 330407](https://gerrit-review.googlesource.com/330407): |
| Added the value "NOT_EVALUATED" to the SubmitRequirementExpressionInfo in the Change API and in NoteDb. |
| |
| * [Change 349314](https://gerrit-review.googlesource.com/349314): |
| Fixed change reindex with label copyCondition containing group |
| |
| ## Plugin changes |
| |
| ## Gerrit UI changes |
| |
| * [Change 346077](https://gerrit-review.googlesource.com/346077): |
| Added "Your > All Visible Changes" default query |
| |
| Add a new entry to the "Your" menu which queries "is:visible" which, |
| is the query for viewing all changes. |
| |
| * [Change 345136](https://gerrit-review.googlesource.com/345136): |
| Remove redundant/unhelpful ARIA labels from diff tables |
| |
| * [Change 344914](https://gerrit-review.googlesource.com/344914): |
| Fix freezing in Safari when adding comments |
| |
| * [Change ](https://gerrit-review.googlesource.com/): |
| New user setting for theme. New default - Auto - shows dark or light theme |
| based on OS theme preference. User can change new default in settings |
| |
| Switching theme is now reactive - listening to OS theme preference |
| changes or on user changing user preferences. |
| |
| * [Change 337421](https://gerrit-review.googlesource.com/337421): |
| Introduce Auto Dark/Light Theme based on OS preference |
| |
| Introducing a new default mode - Auto. This will dynamically change |
| theme based on OS preferences. Mac OS has Auto mode, that switch |
| to dark mode in evening. With this change Gerrit can have dark theme |
| in evening and light them during day. |
| |
| * [Change 343605](https://gerrit-review.googlesource.com/343605): |
| Make the file list easier to understand at a glance |
| |
| Folders that match the previous file are colored gray, folders that |
| do not match are black, and the file name it self is blue. |
| |
| * [Change 340970](https://gerrit-review.googlesource.com/340970): |
| Start using material icons |
| |
| * [Issue 14526](https://crbug.com/gerrit/14526): |
| Allow to rebase changes with conflicts in the UI |
| |
| ## Documentation changes |
| |
| * [Change 337097](https://gerrit-review.googlesource.com/337097): |
| Contribution Documentation updated for grammar |
| |
| A few updates to the contribution documentation for developers: |
| - Minor grammatical errors and restructuring sentences. |
| - Removing a duplicated paragraph regarding incomplete features. |
| - Changes in verb tense ('has' to 'is' where appropriate) |
| |
| ## End-to-End tests changes |
| |
| * [Change 335394](https://gerrit-review.googlesource.com/335394): |
| Added property authenticated to e2e-tests |
| |
| This property let you use authenticated HTTP clones with the e2e-tests. |
| |
| ## JGit changes |
| |
| * Update jgit to 2021ce342, improves UploadPack and git blame performance for large merge commits, also correctly report errors for UploadPack. |
| |
| ## Other dependency changes |
| |
| * Update Lucene version to 7.7.3 |
| |
| ## Bugfix releases |
| |
| ### 3.7.2 |
| |
| * New features |
| |
| * [Change 362878](https://gerrit-review.googlesource.com/c/gerrit/+/362878) |
| Allow to hide download schemes from the UI |
| |
| The new setting that is added is called download.hide. |
| |
| * Bug Fixes |
| |
| * [Change 364458](https://gerrit-review.googlesource.com/c/gerrit/+/364458): |
| Fix an issue when clicking on edit uses an old patchset |
| |
| * [Issue 16072](https://crbug.com/gerrit/16072): |
| Fix "showchange" plugin event being triggered twice on patchset change |
| |
| * [Issue 16589](https://crbug.com/gerrit/16589): |
| Do not emit a SHOW_CHANGE event without a change |
| |
| * [Issue 16765](https://crbug.com/gerrit/16765): |
| Change gr-patch-range-select to use models instead of props |
| |
| * [Change 362914](https://gerrit-review.googlesource.com/c/gerrit/+/362914) |
| Fix internal server error caused by double flush in BaseCommand.TaskThunk |
| |
| * [Change 361434](https://gerrit-review.googlesource.com/c/gerrit/+/361434): |
| Mark label functions are deprecated |
| |
| ### 3.7.1 |
| |
| * New features |
| |
| * [Change 351795](https://gerrit-review.googlesource.com/c/gerrit/+/353177): |
| New auto theme mode. |
| |
| The theme is automatically changed to light/dark based on your OS preference. |
| The new auto-theme can be set in users' preferences. |
| |
| * [Change 351774](https://gerrit-review.googlesource.com/c/gerrit/+/351774): |
| New copy links in the dropdown next to the change number. |
| |
| New copy links and keyboard shortcuts or a button is added to the dropdown |
| next to the change number to quickly copy the format that you prefer for your |
| snippets. |
| |
| * [Issue 16565](https://crbug.com/gerrit/16565): |
| Introduce cache.threads option to allow custom executors for Caffeine caches. |
| |
| The introduction of `cache.threads` in `gerrit.config` allows to configure |
| a separate thread pool which can be tuned and decoupled from the |
| rest of the JVM common threads. |
| |
| * [Change 353177](https://gerrit-review.googlesource.com/c/gerrit/+/353177): |
| Add tsconfig-plugins-base.json to Gerrit TypeScript Plugin API. |
| |
| Adds `tsconfig-plugins-base.json` to the npm package so downstream plugins |
| can easily use the same set of TypeScript settings. |
| |
| * [Issue 16445](https://crbug.com/gerrit/16445): |
| Add slice number to the change indexing task description. |
| |
| To indicate to the administrator each task is indeed doing something |
| different, add the slice number if there is more than one slice in |
| total. |
| |
| * [Change 356215](https://gerrit-review.googlesource.com/c/gerrit/+/356215): |
| Support `init --reindex-threads=-1` to skip reindexing after init. |
| |
| Admins may wish to run other commands after `init` and before `reindex`, but |
| previously would have needed to observe and interrupt the `init` command |
| process once it started reindexing in order to do so. Providing an option to |
| `init` that skips the reindexing phase simplifies that workflow and makes it |
| less error prone. |
| |
| * [Change 356234](https://gerrit-review.googlesource.com/c/gerrit/+/356234): |
| Add CUDA syntax highlighting. |
| |
| * [Change 352534](https://gerrit-review.googlesource.com/352534): |
| Introduce `--show-cache-stats` for printing cache stats during `init` and `reindex`, |
| disabled by default. |
| |
| * Bug Fixes |
| |
| * [Change 351674](https://gerrit-review.googlesource.com/c/gerrit/+/351674): |
| SSH review cmd handles lock failures with retries. |
| |
| Retrying on lock failures helps mitigating lock failures when there is |
| contention to lock the notedb ref. Retries were already implemented |
| in REST API code path at a high enough layer so that it applies for all |
| REST APIs. |
| |
| * [Change 353594](https://gerrit-review.googlesource.com/c/gerrit/+/353594): |
| Inserting new patch-sets is retried on lock failures. |
| |
| Mitigates failures when creating new patch-sets fails if the notedb |
| ref is locked for another update on the change. |
| |
| * [Issue 14686](https://crbug.com/gerrit/14686), [Issue 14779](https://crbug.com/gerrit/14779), [Issue 16030](https://crbug.com/gerrit/16030): |
| |
| In [Change 293978](https://gerrit-review.googlesource.com/c/gerrit/+/293978), eTag was |
| removed from GetRevisionActions, but not RevisionResource. This resulted |
| in the UI to show a stale 'submit' action on the change in the same |
| submission chain. The UI now uses RevisionResource eTag, that does not include |
| MergeSuperSet (all related changes). |
| |
| * [Issue 16409](https://crbug.com/gerrit/16409): |
| Report pack protocol errors to the client via smart-HTTP. |
| |
| A regression introduced by [JGit Change 1926771](https://git.eclipse.org/r/c/jgit/jgit/+/192677), |
| caused pack protocol errors to be reported as 500 Server errors. |
| Such situations should be reported to the user as a 200 OK containing the |
| details of the failed operation. |
| |
| * [Change 351759](https://gerrit-review.googlesource.com/351759): |
| Fix `contrib/find-duplicate-usernames.sh` output when usernames contain spaces. |
| |
| * [Issue 16449](https://crbug.com/gerrit/16449): |
| Fix project root computation in Gitweb servlet. |
| |
| * [Change 356715](https://gerrit-review.googlesource.com/356715): |
| Fixed bug with negated label for queries with external groups. |
| |
| * [Change 359176](https://gerrit-review.googlesource.com/359176): |
| Fix LabelPredicate group matching for included external groups. |
| |
| * [Change 357874](https://gerrit-review.googlesource.com/357874): |
| Fixed ownerin/uploaderin for internal groups that include external groups. |
| |
| * [Change 355054](https://gerrit-review.googlesource.com/355054): |
| Wrap #mobileSearch in a div. |
| |
| Fixes an issue on wikimedia where the search button was hidden |
| even though the rules executed to make it show. |
| |
| * [Issue 16433](https://crbug.com/gerrit/16433): |
| Fix 404 page shown after login using OpenID |
| |
| * [Change 360134](https://gerrit-review.googlesource.com/360134): |
| Fix “Old Patchset” being displayed on current edits. |
| |
| * [Change 359895](https://gerrit-review.googlesource.com/359895): |
| Fix gr-file-list to use change-model for patchSet. |
| |
| * [Issue 16475](https://crbug.com/gerrit/16475): |
| Fix stream events message including comments created as draft. |
| |
| Fixes a regression in v3.7 where the GUI stores the patchset-level |
| comments first as drafts and then publishes them. |
| |
| * [Issue 16465](https://crbug.com/gerrit/16465): |
| Restores the ChangeNotes.Factory.createChecked with an open Repository object. |
| |
| * [Issue 16421](https://crbug.com/gerrit/16421): |
| Don't ship auto-value-* and auto-factory dependencies. |
| |
| * Dependency Updates |
| |
| * Update jgit to a1901305b26ed5e0116f138bc02837713d2cf5c3. |
| |
| Update from stable-6.1 to stable-6.5: |
| |
| * Notable enhancements and fixes from [6.2.0](https://projects.eclipse.org/projects/technology.jgit/releases/6.2.0) are: |
| |
| * [4dd9a94e](https://git.eclipse.org/r/c/jgit/jgit/+/192433): Better feedback on SSH authentication failure |
| |
| * [7b1c8cf14](https://git.eclipse.org/r/c/jgit/jgit/+/191924): Retry reading a file when there are concurrent writes |
| |
| * [fed1a5493](https://git.eclipse.org/r/c/jgit/jgit/+/197714): Refresh 'objects' dir and retry if a loose object is not found |
| (Fixes cases where a new loose object is not immediately visible on a NFS |
| client if it was created on another client) |
| |
| * [011c26ff3](https://git.eclipse.org/r/c/jgit/jgit/+/193939): Fix connection leak for smart http connections |
| |
| * [ac127a793](https://git.eclipse.org/r/c/jgit/jgit/+/196849): Do not handle internal git errors as an HTTP error |
| |
| * Notable enhancements and fixes from [6.3.0](https://projects.eclipse.org/projects/technology.jgit/releases/6.3.0) are: |
| |
| * [1a364c49e](https://git.eclipse.org/r/c/jgit/jgit/+/194200): JGit blame very slow for large merge commits that rename |
| files |
| |
| * [66ace4b9](https://git.eclipse.org/r/c/jgit/jgit/+/193496): Do not check reachability of visible SHA1s in git-upload-pack |
| |
| * [035e0e23](https://git.eclipse.org/r/c/jgit/jgit/+/194500): Do not prematurely terminate timer in case of error during git-upload-pack |
| |
| * Notable enhancements and fixes from [6.4.0](https://projects.eclipse.org/projects/technology.jgit/releases/6.4.0) are: |
| |
| * [fe9aeb02e6](https://git.eclipse.org/r/c/jgit/jgit/+/196497), [93097f0018](https://git.eclipse.org/r/c/jgit/jgit/+/196323): Receive and parse client [git session-id](https://git-scm.com/docs/gitprotocol-capabilities#_session_idsession_id) |
| |
| * [59029aec3](https://git.eclipse.org/r/c/jgit/jgit/+/196905): Add option to allow using JDK's SHA1 implementation |
| |
| * [3e7281662](https://git.eclipse.org/r/c/jgit/jgit/+/197151): UploadPackServlet#doPost use try-with-resource to ensure |
| UploadPack is closed |
| |
| * [1e04046a6](https://git.eclipse.org/r/c/jgit/jgit/+/194411): Fix crashes on rare combination of file names |
| (This issue has been seen during offline reindex of changes with specific merge commits) |
| |
| * Update sshd to 2.9.2 |
| |
| * [CVE-2022-45047](https://nvd.nist.gov/vuln/detail/CVE-2022-45047): Avoid using Java deserialization to load a serialized java.security.PrivateKey |
| |
| * [SSHD-1302](https://issues.apache.org/jira/browse/SSHD-1302): Reading again from exhausted ChannelExec#getInvertedOut() throws IOException instead of returning -1 |
| |
| * [SSHD-966](https://issues.apache.org/jira/browse/SSHD-966): Deadlock on disconnection at the end of key-exchange |
| |
| * [SSHD-1231](https://issues.apache.org/jira/browse/SSHD-1231): Public key authentication: wrong signature algorithm used (ed25519 key with ssh-rsa signature) |
| |
| * [SSHD-1257](https://issues.apache.org/jira/browse/SSHD-1257): Shell is not getting closed if the command has already closed the OutputStream it is using. |
| |
| * [SSHD-1261](https://issues.apache.org/jira/browse/SSHD-1261): Sometimes async write listener is not called |
| |
| * [SSHD-1290](https://issues.apache.org/jira/browse/SSHD-1290): Race condition is logged in ChannelAsyncOutputStream |
| |
| * Update mina-core to 2.0.23 |
| |
| * Update reviewnotes to 10db2cf772989d031c6f3558010c51fe07cf9722 |
| |
| * Documentation fixes |
| |
| * [Change 353177](https://gerrit-review.googlesource.com/353177): |