blob: 450f0f0c94a907a9cc57f2bf07f02aac3f0c2da4 [file] [log] [blame] [view] [edit]
---
title: "Gerrit 3.12.x"
permalink: 3.12.html
hide_sidebar: true
hide_navtoggle: true
toc: true
---
Download: **[3.12.0](https://gerrit-releases.storage.googleapis.com/gerrit-3.12.0.war)**
Documentation: **[3.12.0](https://gerrit-documentation.storage.googleapis.com/Documentation/3.12.0/index.html)**
## Release highlights
### Java 21
The language level used for Gerrit source code is set to Java 21, matching its distributed code level
since [Gerrit v3.11](https://www.gerritcodereview.com/3.11.html#java-21).
It is now mandatory to migrate the Java Virtual Machine to Java 21 and there is no possibility to
rebuild Gerrit source code with Java 17 anymore. Also, all the non-core plugins need to be rebuilt
and verified with Java 21; existing Java 17 plugins may not load or work properly.
### Gitattributes configuration support in JGit merge driver
Gerrit now supports gitattributes with merge driver configuration, introduced in
[Change 441721](https://gerrit-review.googlesource.com/c/gerrit/+/441721).
When Gerrit performs server-side merges, it now supports reading and processing [gitattributes](https://git-scm.com/docs/gitattributes.html#_built_in_merge_drivers)
from the global, repo, and in-tree gitattributes files.
The support of gitattributes is implemented for the built-in `binary`
and `union` merge drivers.
### Allow global site-wide override for label's copyCondition
There are two new config variables introduced with [Change 446062](https://gerrit-review.googlesource.com/c/gerrit/+/446062):
- `label.<name>.labelCopyEnforcement`
for enforcing an additional copy condition for all labels on all projects
- `label.<name>.labelCopyRestriction`
for reducing forcibly any copy condition for all labels on all projects
When the two settings are defined in `gerrit.config`, then for every project, the final
copyCondition is equivalent to `(<labelCondition> AND NOT <copyRestriction>) OR <copyEnforcement>`
This new behaviour is covered by the experiment feature flag
`GerritBackendFeature__enable_central_override_for_code_review_copy_condition`.
Example of `labelCopyEnforcement` is making sure all negative votes are copied; similarly
`labelCopyRestriction` could be used for making sure only trusted contributors are allowed to submit
changes without reviewers re-confirming that their comments have been addressed.
### Introduce group deletion functionality
It is possible to allow users to delete groups through a new `deleteGroup` global capability.
All the users and groups with the new capability, will have access to the delete group REST-API that
allow to remove Gerrit groups.
In order for a group to be deleted, there are some prerequisites that need to be satisfied:
- The given group is not a system group
- The given group is an internal group (it is assumed that we will not
allow to delete external groups)
- The given group is not the owner of any other group(s)
- The given group is not used in any ref permissions for any projects
### New H2 v2 storage backend for persistent caches
The H2 library is upgraded to v2 which provides fully multi-threaded operations
and a lower memory footprint, as presented in the [GerritMeets of March 2025](https://youtu.be/T2ApofhyF10?feature=shared).
Migrating from H2 to H2 v2 requires either the rebuild of the persistent caches
from scratch or the execution of a [migration tool](https://github.com/manticore-projects/H2MigrationTool)
to translate the legacy cache files to the new format.
## Contributors
Gerrit 3.12 has had a total of 55 contributors, of which 7 first-time contributors:
- Fredde Ribeiro
- Jade Lovelace
- John Soo
- Pavel Valodzka
- Tran Tuan Khai Phan
- Zhechen Yan
- Narendra Kumar
## Important Notes
### Schema and index changes
Gerrit schema version is unchanged; however, because of the Lucene library bump
to 10.1.0, the on-line upgrade is possible only from Gerrit v3.11 and not from
earlier releases.
All the indexes versions have been increased therefore requiring a reindex:
- `accounts` index version updated to `15`.
- `changes` index version updated to `87`.
- `groups` index version updated to `12`.
- `projects` index version updated to `10`.
### Offline upgrade
- Download the new `gerrit.war`
- Stop Gerrit
- Backup the existing indexes in case a rollback is required
- Ensure all installed plugins are compatible with the new API
- Run init `java -jar gerrit.war init -d site_path --batch`
- Reindex all indexes:
`java -jar gerrit.war reindex -d site_path`
See the
[reindex](https://gerrit-documentation.storage.googleapis.com/Documentation/3.12.0/pgm-reindex.html)
command for other options.
### Online upgrade with zero-downtime
Gerrit v3.12.x supports zero-downtime upgrade from Gerrit v3.11 when configured
using either
[high-availability](https://gerrit.googlesource.com/plugins/high-availability/+/refs/heads/master/README.md)
or
[multi-site](https://gerrit.googlesource.com/plugins/multi-site/+/refs/heads/master/README.md)
setup.
During the zero-downtime upgrade, Gerrit end-users will not experience any
outage or service disruption and will be able to perform any read/write Gerrit
operation seamlessly.
The zero-downtime upgrade process for high-availability or multi-site setups
consists of the following steps ([demo](https://youtu.be/vK5qsb0W7q4)):
1. Have Gerrit servers running v3.11 in high-availability or multi-site
configuration, healthy and able to handle the incoming traffic properly.
2. Set one of the Gerrit servers to unhealthy.
3. Shutdown the Gerrit server, update gerrit.war, plugins and libs to v3.12.x and start Gerrit again.
4. Verify that the Gerrit server is working properly (e.g. run automated smoke
tests) and then make it healthy again.
5. Ensure the Gerrit server is fully caught up with the events that happened while
it was down before directing traffic to it.
6. Repeat steps 2 to 5 for each of the remaining Gerrit servers.
### Downgrade
Downgrade to Gerrit v3.11 release is possible, but requires the following
manual steps:
1. Shutdown all migrated Gerrit servers
2. Update the gerrit.war and plugins to the previous v3.11 version
3. Init Gerrit
```sh
java -jar gerrit.war init -d site_path --batch
```
### Native packaging
The GPG keys for GerritForge's distribution site have changed and need to be reimported
before the upgrade.
- On Debian / Ubuntu):
`apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 55787ed781304950`
- on AlmaLinux / RedHat / Fedora:
`rpm --import 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x72adb205736d7147da56e8c955787ed781304950’`
The Docker-based distributions have been updated:
- AlmaLinux bumped to 9.5
- Ubuntu bumped to Eclipse Temurin 21.0.6_7 (24.04.1 LTS)
## Security Fixes
* [Change 435337](https://gerrit-review.googlesource.com/c/gerrit/+/435337)
REST API responses are now rendered in the browser rather than downloaded, with XSS protection
and blocking the use in i-frame.
### Known issues
* [Issue 309098227](https://issues.gerritcodereview.com/issues/309098227)
[Change 360646](https://gerrit-review.googlesource.com/360646):
The introduction of a per-request ref cache for better performance may break
the repository consistency
The addition of a new `core.usePerRequestRefCache` setting, true by
default, introduced a per request (currently per request thread) ref
cache, helping reduce the overhead of checking if the packed-refs file
was outdated. However, in some scenarios, such as multi-site or
concurrency between `git-receive-pack` and `git-gc`, it may lead to
split-brain inconsistencies and, in the worst-case scenario, to the
corruption of the underlying repository.
* [Issue 416196171](https://issues.gerritcodereview.com/issues/416196171):
Concurrent change insertion fails on ref-table-enabled repositories over NFS.
Gerrit may encounter lock failures, when multiple ref-updates happen concurrently in a repository
that uses the ref-table format and is hosted on an NFS-mounted filesystem.
A fix is not yet available, and users relying on high-concurrency change creation should avoid
using ref-table over NFS.
### Breaking Changes
* [Change 447781](https://gerrit-review.googlesource.com/c/gerrit/+/447781)
Disabled loading and executing 'rules.pl' by default.
Prolog rules have been deprecated since Gerrit 3.6; they are now officially disabled
by default. Gerrit administrators are required to inform all the project owners
and convert the Prolog rules to Submit Requirements.
> **NOTE**: It is still possible to enable the Prolog rules processing again with
> `rules.enable = true` in `gerrit.config`, bearing in mind that the option may not be
> available anymore in future versions of Gerrit, therefore should be used only
> as temporary workaround during the migration from Prolog to Submit Requirements.
* [Change 440743](https://gerrit-review.googlesource.com/c/gerrit/+/440743)
Do not notify listeners when performing online reindexing.
When performing online reindexing, the notification to listeners and consequent
sending of the index-change messages in high-availability and multi-site scenarios
was potentially causing unnecessary traffic and CPU utilisation during the
schema index updates.
> **NOTE**: If the reindexing is performed for refreshing outdated index records
> the online reindexing commands would need to be executed against all the nodes
> of the Gerrit cluster, as the missed listeners notifications would not trigger
> the reindexing elsewhere.
* [Change 449321](https://gerrit-review.googlesource.com/c/gerrit/+/449321)
[Change 448244](https://gerrit-review.googlesource.com/c/gerrit/+/448244)
Set Verified label default function to NoBlock for new sites.
Label functions are deprected and the submittability of changes needs to
be encoded as Submit Requirements, therefore new Gerrit sites are encouraged
to define their submittability rather than relying on the legacy label functions
deprecated since Gerrit v3.6.
> **NOTE**: Existing sites would not be impacted, unless they were relying on the
> default label function; however, Gerrit project owners are invited to remove the
> use of label functions and use Submit Requirements instead.
* [Issue 390443239](https://issues.gerritcodereview.com/issues/390443239)
Swap project-created/ref-updated in stream events upon project creation
Gerrit always produced the project-created/ref-updated in the wrong order,
generating the ref-update of inexistent projects just created. The order is
now rectified; however, existing stream events consumers may rely on the
previous incorrect ordering and potentially break.
* [Change 457802](https://gerrit-review.googlesource.com/c/gerrit/+/457802):
Users with the `Administrate Server` can see all changes, branches and tags, including
private changes and `refs/meta/config`.
Administrators own the Gerrit service and are responsible for investigating
issues; allowing access to everything simplifies troubleshooting, avoiding
them to first assign permissions to themselves, investigate the issue and then
remember to undo the permission changes.
Also note that the `skip-visibility` option when querying changes is deprecated
and effectively ignored. It will be removed in the next version of Gerrit.
> **NOTE**: With this change, Gerrit would no longer allow to separate the
> roles of security administrator and service management, therefore it
> is highly recommended to carefully review all the users and groups with the
> `Administrate Server`.
* [Change 435338](https://gerrit-review.googlesource.com/c/gerrit/+/435338):
Patchsets are now downloaded as plain-text patch files using the ?raw parameter and
not base64 or ziped.
* [Change 465369](https://gerrit-review.googlesource.com/c/gerrit/+/465369):
Robot comments are disabled by default. Support for robot comments will be removed with the
next release. Checks should be used instead.
### New Features
* [Change 451223](https://gerrit-review.googlesource.com/c/gerrit/+/451223):
Added a new MigrateLabelFunctions site program for helping with the migration from
label functions to Submit Requirements.
* [Change 472521](https://gerrit-review.googlesource.com/c/gerrit/+/472521):
Render markdown in check run description.
* [Change 442981](https://gerrit-review.googlesource.com/c/gerrit/+/442981):
Allow restricting users from deleting their own accounts.
Introduce `accounts.enableDelete` configuration for disabling the ability for users
to remove themselves from the Gerrit Web-UI.
* [Change 445801](https://gerrit-review.googlesource.com/c/gerrit/+/445801):
Introduce `is:POSITIVE` and `is:NEGATIVE` as predicates for copyCondition on labels,
allowing generic matching of any positive or negative reviews.
* [Change 447745](https://gerrit-review.googlesource.com/c/gerrit/+/447745)
[Change 459463](https://gerrit-review.googlesource.com/c/gerrit/+/459463)
[Change 447749](https://gerrit-review.googlesource.com/c/gerrit/+/447749)
[Change 447748](https://gerrit-review.googlesource.com/c/gerrit/+/447748)
[Change 447746](https://gerrit-review.googlesource.com/c/gerrit/+/447746)
Assign TRACE_ID for every request and include in all SSH and HTTP interactions.
Allow to follow the TRACE_ID across all interactions and logs, including
the sshd_log and httpd_log entries.
* [Change 444441](https://gerrit-review.googlesource.com/c/gerrit/+/444441)
Add `changeis` predicate as Copy-Condition expressions, with any predicate supported by
`is:{predicate}`
* [Change 444962](https://gerrit-review.googlesource.com/c/gerrit/+/444962)
[Change 457801](https://gerrit-review.googlesource.com/c/gerrit/+/457801):
Add configuration for case-insensitive email matching in account resolution and API.
Enable case-insensitive matching of the name part of e-mails on a per-domain basis,
as configured in `accounts.caseInsensitiveLocalPart`.
* [Change 442021](https://gerrit-review.googlesource.com/c/gerrit/+/442021):
Add `success_count` and `error_count` metrics for ssh requests.
* [Change 447841](https://gerrit-review.googlesource.com/c/gerrit/+/447841):
Disallow addition of new rules.pl files in projects
Adding a new `rules.allowNewRules = false` the Gerrit admin can reject
the addition of new `rules.pl` files into the projects.
* [Change 456684](https://gerrit-review.googlesource.com/c/gerrit/+/456684)
[Change 456685](https://gerrit-review.googlesource.com/c/gerrit/+/456685):
Added draft comments cleanup REST-API and SSH command.
* [Change 456182](https://gerrit-review.googlesource.com/c/gerrit/+/456182):
Added draftsCleanup background job and automatic scheduled configuration.
* [Change 447629](https://gerrit-review.googlesource.com/c/gerrit/+/447629):
Added support for adding the Project Owners group as a reviewer
* [Change 445362](https://gerrit-review.googlesource.com/c/gerrit/+/445362):
Added support for commit validators to return a status + metadata in addition to messages
* [Issue 317340200](https://issues.gerritcodereview.com/issues/317340200):
Added support for creating a branch on an empty commit.
Similar to creating a project with an empty commit, allow to create a branch
not having any initial commit.
* [Issue 401141848](https://issues.gerritcodereview.com/issues/401141848):
Fix ref existance check when creating new refs
Gerrit v3.6 introduced a [new check](https://gerrit-review.googlesource.com/c/gerrit/+/287790)
for verifying the existance of refs before crating new refs and avoiding misleading
`LOCK_FAILURE` errors. The check was implemented using a `Repository.resolve()`
API which would expand the ref name as it was a logical name resolution
causing the inability to push some refs, like tags that use the
_git describe_ in their names. The issue is fixed by using
a proper refs finding and brings back the full refs creation functionality.
* [Change 439226](https://gerrit-review.googlesource.com/c/gerrit/+/439226):
The new configuration style, where index name is explicitly provided as
subsection name.
* [Change 447221](https://gerrit-review.googlesource.com/c/gerrit/+/447221):
Store/provide merge conflict information for revisions created by Gerrit
For revisions that are created by Gerrit, we know whether conflicts are
present and which commits were used as 'ours' and 'theirs' during the
Git merge that created the conflicts. For those revisions we can store
this information in NoteDb and make it available to callers in
RevisionInfo.
* [Change 446721](https://gerrit-review.googlesource.com/c/gerrit/+/446721):
Provide index metric for accounts/changes/groups/projects
Introduce four new Gauge metrics to track the number of documents
in the respective search indexes:
- indexes/accounts
- indexes/changes
- indexes/groups
- indexes/projects
* [Change 447747](https://gerrit-review.googlesource.com/c/gerrit/+/447747):
Include SSH session in the `error_log` entries
The inclusion of the SSH session in the `error_log` allows to look for the errors
associated with a specific session and trace, making it easier to troubleshoot
problems.
* [Change 457722](https://gerrit-review.googlesource.com/c/gerrit/+/457722):
Allow SubmitRequirement atoms to return an explanation
* [Change 447776](https://gerrit-review.googlesource.com/c/gerrit/+/447776):
Make "message:" predicate for SR consistent with search
### Performance improvements
* [Change 442022](https://gerrit-review.googlesource.com/c/gerrit/+/442022):
Faster replica startup when group reindexing enabled by parallelizing reindexing of groups
* [Change 448182](https://gerrit-review.googlesource.com/c/gerrit/+/448182):
H2Cache BloomFilter will no longer degrade forever as it is rebuilt automatically after pruning
if >= 25% invalidated
* [Change 447141](https://gerrit-review.googlesource.com/c/gerrit/+/447141):
Reduce bulk action query result payload by not getting already available SUBMIT_REQUIREMENTS data
* [Change 447344](https://gerrit-review.googlesource.com/c/gerrit/+/447344):
The List Labels endpoint now supports filtering by voteable labels.
* [Issue 390453038](https://issues.gerritcodereview.com/issues/390453038):
Configure the number of open changes' refs advertised on push to a repository for reducing CPU
utilization and latency.
* [Change 449582](https://gerrit-review.googlesource.com/c/gerrit/+/449582):
Fix the reference counting for a correct release of repositories from the JGit in-memory
repository cache.
Previously the repositories were never released in the JGit in-memory cache, causing the overload
of the JVM heap and consequent degradation of the performance due to the high CPU utilization
caused by the continuous JVM GC.
* [Change 448181](https://gerrit-review.googlesource.com/c/gerrit/+/448181):
With H2 v2 caches are multi-threaded therefore can be set operational concurrently with the
building of bloomFilters
### Bug fixes
* [Change 473702](https://gerrit-review.googlesource.com/c/gerrit/+/473702):
Prevent Duplicate Replies When Applying Fix.
Resolves an issue where applying a fix to a comment unexpectedly created two draft replies instead
of one, which was leading to two identical comments being published.
* [Change 469725](https://gerrit-review.googlesource.com/c/gerrit/+/469725):
Fix incorrect `cherryPickOf` value when using the REST API to cherry-pick a non-current patchset.
* [Change 453981](https://gerrit-review.googlesource.com/c/gerrit/+/453981):
gc_log is no longer overwritten when rotated.
* [Change 449582](https://gerrit-review.googlesource.com/c/gerrit/+/449582):
Fix progress logging in MultiProgressMonitor, which had the unintended side effect to log the
progress the receive commits operations
* [Change 464703](https://gerrit-review.googlesource.com/c/gerrit/+/464703):
Cancel diff tasks failing due to timeout or interrupted preventing them from consuming resources
unnecessarily
* [Change 442424](https://gerrit-review.googlesource.com/c/gerrit/+/442424):
Respect project config and user preference for creating changes as work-in-progress by default for
the Revert REST endpoint
* [Change 447640](https://gerrit-review.googlesource.com/c/gerrit/+/447640)
[Change 447639](https://gerrit-review.googlesource.com/c/gerrit/+/447639):
Reviewer suggestion for empty query: Fallback to project owners and reviewers of recent changes.
## Frontend changes
* [Change 473723](https://gerrit-review.googlesource.com/c/gerrit/+/473723):
Prioritize and display all reviewers with votes or attention.
* [Change 473722](https://gerrit-review.googlesource.com/c/gerrit/+/473722):
Fix header layout for very long subjects.
The reviewers list UI component was hiding a reviewer who had voted (e.g., `+2`) if they were
without attention and there was another 6 reviewers with attention. Now all reviewers who have
cast a vote or are in the attention set are displayed.
* [Change 473701](https://gerrit-review.googlesource.com/c/gerrit/+/473701)
Fixed the display of `removeLabel` permission in access section UI.
* [Change 471321](https://gerrit-review.googlesource.com/c/gerrit/+/471321):
Enable keyboard shortcut for "Reset To" command in the download dialog.
The initial implementation was limited to 5 shortcuts, but with the current default configuration,
there are 6 commands (`Branch`, `Checkout`, `Cherry Pick`, `Format Patch`, `Pull`, `Reset To`).
This update ensures that all commands, including `Reset To` have a keyboard shortcut.
* [Change 449581](https://gerrit-review.googlesource.com/c/gerrit/+/449581)
Add HTTP request header to distinguish plugins from core.
A new HTTP header `X-Gerrit-Request-Origin` added to the requests coming
from the Gerrit Web-UI helps identify whether an API is invoked from `core-ui`
or `plugin:<plugin-name>` for requests originated from plugins.
* [Change 464661](https://gerrit-review.googlesource.com/c/gerrit/+/464661):
Allow opening edit preference in editor view.
* [Change 435399](https://gerrit-review.googlesource.com/c/gerrit/+/435399):
Default patchset patch file download in the UI to plain-text patch files.
* [Change 443524](https://gerrit-review.googlesource.com/c/gerrit/+/443524):
UiFeature__push_notifications experiment is now final and the feature flag is removed, making
the browser notifications always enabled for all Gerrit sites.
* [Change 447628](https://gerrit-review.googlesource.com/c/gerrit/+/447628):
Improved error message when trying to add a non-internal group as a reviewer
* [Change 460961](https://gerrit-review.googlesource.com/c/gerrit/+/460961):
Send revert notifications from user that created the revert rather than the
user that has set the change as ready.
* [Change 458461](https://gerrit-review.googlesource.com/c/gerrit/+/458461):
The UI tooltop for submit requirement atoms will now show explanations if implemented by the
underlying predicate
## Other Changes
* [Change 437803](https://gerrit-review.googlesource.com/c/gerrit/+/437803):
Script providing extended git gc functionality
* [Change 438123](https://gerrit-review.googlesource.com/c/gerrit/+/438123):
Add python-based CLI to maintain Gerrit sites
## Documentation changes
* [Change 447161](https://gerrit-review.googlesource.com/c/gerrit/+/447161):
Clarify the documentation of `sshd.waitTimeout`
* [Change 451181](https://gerrit-review.googlesource.com/c/gerrit/+/451181):
Document footer frontend endpoint decorators
* [Change 444481](https://gerrit-review.googlesource.com/c/gerrit/+/444481):
Document the use of Gerrit-CI by the contributors and maintainers
* [Issue 381372612](https://issues.gerritcodereview.com/issues/381372612):
Update the config-gerrit documentation mentioning a caveat of using `listProjectsFromIndex`
setting
## Plugin changes
* [Change 441561](https://gerrit-review.googlesource.com/c/gerrit/+/441561)
Introduce a new `CachesApi` endpoint for accessing and flushing caches from plugins.
* [Change 452183](https://gerrit-review.googlesource.com/c/gerrit/+/452183)
[Change 457362](https://gerrit-review.googlesource.com/c/gerrit/+/457362):
Introduce Repository leak detection when using AbstractDaemonTest, which can be disabled using
`@NoGitRepositoryCheckIfClosed`
* [Change 447001](https://gerrit-review.googlesource.com/c/gerrit/+/447001):
Add publish-edit event type for plugins to use.
* [Change 445142](https://gerrit-review.googlesource.com/c/gerrit/+/445142)
[Change 445601](https://gerrit-review.googlesource.com/c/gerrit/+/445601):
Added an extension point that allows to get to know about commit validation options
* [Change 457542](https://gerrit-review.googlesource.com/c/gerrit/+/457542):
Added extension point that allows listening to operations retries
* [Change 455641](https://gerrit-review.googlesource.com/c/gerrit/+/455641):
Updated ExternalIncludedIn extension point to allow plugins to use change information to obtain
included-ins
* [Change 444804](https://gerrit-review.googlesource.com/c/gerrit/+/444804)
[Change 442742](https://gerrit-review.googlesource.com/c/gerrit/+/442742):
Mark setup_gjf.sh and run_gjf.sh for removal and replace them with one script gjf.sh.
* [Change 445202](https://gerrit-review.googlesource.com/c/gerrit/+/445202):
Allow custom uploaderin operands for CopyCondition, having the format of
`uploaderin:<operand>_<pluginName>`
## JGit Changes
* [Change 469321](https://gerrit-review.googlesource.com/469321):
Update jgit from stable-6.10 (e328d203f) to servlet-4 branch (7a46fa6f8)
which follows the jgit master branch with servlet-api downported to 4.0.4.
```shell
git log --no-merges --oneline e328d203f..7a46fa6f8
```
Notable changes are:
- c2a8e0026 midx: reader for the multipack index
- 4a5dfce0d SystemReader: Add support for XDG_CACHE_HOME
- e2ddcc969 TreeRevFilter: enable Bloom Filter usage with ChangedPathTreeFilter
- 52dc9fdd0 BlameGenerator: Use cache only for candidates modifying the path
- ac5146ffb FileReftableStack: use FileSnapshot to detect modification
- 1ff9c2a1c FileReftableDatabase: consider ref updates by another process
- 68f454af4 DescribeCommand: Add exclusion matches using setExclude()
- 8720b352a Insert the Change-Id at the end of the footer block
- 70a3131d6 Update Change-Id insertion logic to insert after footers
- bec51e7d7 pgm.MultiPackIndex: CLI command to write/print the multipack index
- 871c5e177 BlameGenerator: cache and reuse blame results
- 2d8777536 Downgrade from servlet-api 6.1.0 to 4.0.4
- c625d67f8 URIish: fix stack overflow in regex matching
- e9f43b6c1 midx.MultiPackIndexPrettyPrinter: pretty printer to debug multi pack index
- 072e93fde midx.MultiPackIndexWriter: a writer for the multipack index format
- 4c4bef885 DirCacheCheckout.preScanOneTree: consider mode bits
- f41253804 Merge: improve handling of case-variants
- ff3a15049 Improve configuration of trusting file attributes in FileSnapshot
- a86e2a7d7 Config: add getters for primitive types without default value
- 772ee0e5f Log pruned packfiles as debug and not warn logs
- 32b9a9523 Submodules: Update submodule with deleted worktree
- 7b8ddc2ce RefDatabase#getReflogReader(String): use #exactRef to resolve refName
- fda44a444 Add RefDatabase#getReflogReader methods
- e9094fffd RevertCommand: use only first line in revert commit message
- df7810957 Submodules: use relative paths for worktree and gitdir
- bd57a19fa TreeWalk: Make a null check before dereferencing the config variable.
- 6fa28d767 Add pack-refs command to the CLI
- 307ef6b4b GitTimeParser: A date parser using the java.time API
- ba905906c Change default similarity score to 50(%) to match git's default
- b2accb0e9 GPG: use bouncycastle PGP secret key parsing out of the box
- d1a14b8ff SSH signing: implement a SignatureVerifier
- c9958e9b7 SSH signing: implement a Signer
- 4902b2baf Add `numberOfPackFilesAfterBitmap` to RepoStatistics
- 1519c1479 Align request policies with CGit
- 0155f8bf6 RevolveMerger: honor ignoreConflicts also for binary files
- 1332b5156 Record failing paths in recursive merge.
- 0fd76114e Replace custom encoder Constants#encodeASCII by JDK implementation
- e5d289899 Replace custom encoder `Constants#encode` by JDK implementation
- 9fec73970 Do not set headers if response is already committed
- a78e6eaef Signing: refactor interfaces
- 81199f02f Lib: Fix ssh value for gpg.format throwing an IllegalArgumentException
- f9beeb3b3 Add worktrees read support
- 47fd412af RepoProject: read the 'dest-branch' attribute of a project
- 48465f840 RepoCommand: Copy manifest upstream into .gitmodules ref field
- 1dd6324d4 RepoProject: read the "upstream" attribute of a project
## Other dependency changes
* Update auto-value to 1.11.0
* Update guava to 33.4.0
* Update reload4j to 1.2.26
* Update org.tukaani:xz to 1.10
* Update dropwizard.metrics to 4.2.30
* Update mina-sshd to 2.15.0
* Update mina-core to 2.0.27
* Update commons-io to 2.18.0
* Update autovalue to 1.11.0
* Update truth to 1.4.4
* Update Lucene to 10.1.0
* Update h2 to 2.3.232
* Update gitiles to 1.6.0
* Update bouncycastle to 1.80
* Remove net.i2p.crypto:eddsa
* Update errorprone to 2.36.0
* Update flogger to 0.8
* Update gson to 2.12.1
* Update jgit to f22643b39
OSZAR »