Commit Graph

27161 Commits

Author SHA1 Message Date
Jamie Tanna c7be6f147d ci: periodically check for "too many releases" (#44734)
* ci: periodically check for "too many releases"

As a way to get a view of upcoming issues we may see with "too many
releases" (i.e. #42965), we can add a CI check that will run daily and
give us a warning of starting to get a bit too close to the window for
comfort.

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>

* fixup! ci: periodically check for "too many releases"

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>

---------

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
2026-07-20 13:31:07 +00:00
renovate[bot] f3e57410f2 chore(deps): update dependency protobufjs@8.0.1 to v8.7.1 (main) (#44733)
chore(deps): update dependency protobufjs@8.0.1 to v8.7.1

| datasource | package    | from  | to    |
| ---------- | ---------- | ----- | ----- |
| npm        | protobufjs | 8.7.0 | 8.7.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-20 13:20:34 +00:00
Sebastian Poxhofer 91e068f1fd test(linters): add linting rule to enforce v8 ignore reason declaration (#44726)
* ci(linter): add renovate/v8-ignore-reason rule

Flag coverage-ignore comments ("v8 ignore") that carry no justification.
Accepted forms: "-- reason" / "--- reason" (recommended) and the legacy
colon form "v8 ignore <kind>[ <count>]: reason", which is already
widespread in the codebase (29 sites). Bare "v8 ignore stop" markers are
exempt because the justification lives on the paired "start" marker. The
"v8 ignore next <N>" count form remains allowed; this rule only requires
a justification.

Registered as "warn" instead of "error": the repo currently has 119
reason-less v8 ignore comments, too many to fix mechanically in one PR,
so existing sites are left untouched and can be fixed incrementally.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* ci(linter): promote renovate/v8-ignore-reason to error

Record the empirical verdict on the contested "v8 ignore next <N>" count
semantics in the rule doc: verified against vitest 4 with
ast-v8-to-istanbul that the count is not honored - the ignore hint always
exempts exactly the next AST node regardless of N. Counts are therefore
inert and stay allowed; the rule keeps requiring only a justification.

Promoting to error so all remaining reason-less coverage-ignore comments
must be fixed; the burndown follows in subsequent commits.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017RxHFNsSworLcv23xXk9Hk

* refactor: add justifications to coverage-ignore comments (batch 1)

Give every reason-less "v8 ignore" comment outside the large platform
index files a site-specific justification explaining why the exempted
branch is untestable or defensive, as now required by the
renovate/v8-ignore-reason rule.

Also guard against a nullish comment.loc in the rule itself; the
merged-in stricter tools typechecking flagged the unguarded access.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017RxHFNsSworLcv23xXk9Hk

* refactor: add justifications to coverage-ignore comments (batch 2)

Cover the five large platform index files (github, bitbucket,
bitbucket-server, codecommit, gitlab) with site-specific reasons on
every "v8 ignore" comment, completing the renovate/v8-ignore-reason
burndown. Two meaningless ignore hints inside commented-out CodeCommit
mergePr code are dropped instead of annotated.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017RxHFNsSworLcv23xXk9Hk

* Apply suggestions from code review

Co-authored-by: Michael Kriese <michael.kriese@gmx.de>

* Update lib/util/regex.ts

Co-authored-by: Michael Kriese <michael.kriese@visualon.de>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2026-07-20 13:01:39 +00:00
renovate[bot] 52907ef166 build(deps): update dependency protobufjs to v8.7.1 (main) (#44732)
build(deps): update dependency protobufjs to v8.7.1

| datasource | package    | from  | to    |
| ---------- | ---------- | ----- | ----- |
| npm        | protobufjs | 8.7.0 | 8.7.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
43.272.4
2026-07-20 11:41:27 +00:00
Jamie Tanna 6959107bfb docs: wrap preset names in code blocks (#44234)
So they render a little more nicely.
2026-07-20 10:48:47 +00:00
Aryan Barsaiya b0bc33c8b7 docs: fix outdated statement that Docker major updates are disabled by default (#44524) 2026-07-20 10:30:19 +00:00
Sebastian Poxhofer 1e03699cd6 test: add linter for as LongCommitSha in test files (#44681)
* test: add linter for `as LongCommitSha` in test files

Adds a custom oxlint rule `renovate/prefer-fake-sha-in-specs` that flags
`as LongCommitSha` casts in spec files and suggests the deterministic
`fakeSha()` helper from `test/util` instead. Enabled at error level for
`**/*.spec.ts` and `test/**`; all 131 pre-existing casts across 22 spec
files replaced.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Update lib/modules/platform/bitbucket-server/index.spec.ts

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 10:08:09 +00:00
Felipe Santos 29ca969fe1 fix(docker): include global and inherited JSON schemas (#44674)
* build(docker): include global and inherited JSON schemas

Un-ignore renovate-global-schema.json and renovate-inherited-schema.json
in the Docker build context, matching renovate-schema.json.

* Invert order
43.272.3
2026-07-20 09:51:43 +00:00
Jamie Tanna 7ac677dc9b fix(platform/azure): evaluate policies before attempting to merge PR (#44631)
When a PR created on Azure is inside a project or repository that has
additional policy evaluations that need to be fulfilled for a given PR,
we should not attempt to perform a manual `mergePr` unless the policies
allow us to.

Previously, we would attempt to `mergePr` and would result in

    DEBUG: Failed to set the PR as completed.

Platform-native auto-merge functionality would still work as expected,
as once the evaluations had succeeded (for instance, a PR is approved by
a human) Azure will auto-merge it.

However, the failure in attempting to merge it is noisy, and should be
avoided by evaluating the policies before attempting to merge.

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
43.272.2
2026-07-20 09:21:55 +00:00
Jamie Tanna 0e6429b13e refactor(types): document localDir isn't a globalOnly option (#44635)
* refactor(types): document `localDir` isn't a `globalOnly` option

To make sure that it's clear when reviewing `GlobalConfig`, as well as
working with our types, we can move the `localDir` definition into a
separate type.

* fixup! refactor(types): document `localDir` isn't a `globalOnly` option

* fixup! refactor(types): document `localDir` isn't a `globalOnly` option

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>

* fixup! refactor(types): document `localDir` isn't a `globalOnly` option

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>

* fixup! refactor(types): document `localDir` isn't a `globalOnly` option

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>

---------

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
2026-07-20 08:07:17 +00:00
renovate[bot] 37372a158b fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.6 (main) (#44724)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.6

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.76.5 | 13.76.6 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
43.272.1
2026-07-20 06:35:59 +00:00
renovate[bot] 863d11b5b5 chore(deps): update ghcr.io/containerbase/devcontainer docker tag to v14.13.9 (main) (#44723)
chore(deps): update ghcr.io/containerbase/devcontainer docker tag to v14.13.9

| datasource | package                            | from    | to      |
| ---------- | ---------------------------------- | ------- | ------- |
| docker     | ghcr.io/containerbase/devcontainer | 14.13.8 | 14.13.9 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-20 06:35:45 +00:00
renovate[bot] 365a407135 build(deps): update dependency semantic-release to v25.0.7 (main) (#44722)
build(deps): update dependency semantic-release to v25.0.7

| datasource | package          | from   | to     |
| ---------- | ---------------- | ------ | ------ |
| npm        | semantic-release | 25.0.6 | 25.0.7 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-20 05:34:49 +00:00
renovate[bot] 90697a2af2 chore(deps): update dependency tsdown to v0.22.7 (main) (#44720)
chore(deps): update dependency tsdown to v0.22.7

| datasource | package | from   | to     |
| ---------- | ------- | ------ | ------ |
| npm        | tsdown  | 0.22.5 | 0.22.7 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-20 04:34:37 +00:00
renovate[bot] c898019773 docs: update references to renovatebot/github-action to v46.1.20 (main) (#44721)
docs: update references to renovatebot/github-action to v46.1.20

| datasource  | package                   | from     | to       |
| ----------- | ------------------------- | -------- | -------- |
| github-tags | renovatebot/github-action | v46.1.19 | v46.1.20 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-20 03:33:46 +00:00
renovate[bot] 4d42538cec chore(deps): lock file maintenance (main) (#44719)
chore(deps): lock file maintenance

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-20 02:33:28 +00:00
renovate[bot] 6f577f0f09 docs: update references to renovate/renovate (main) (#44717)
docs: update references to renovate/renovate

| datasource | package           | from     | to       |
| ---------- | ----------------- | -------- | -------- |
| docker     | renovate/renovate | 43.260.2 | 43.272.0 |
| docker     | renovate/renovate | 43.260   | 43.272   |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-20 01:41:37 +00:00
renovate[bot] ac6614eb32 docs: update references to python to 311ea5b (main) (#44716)
docs: update references to python to 311ea5b

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-20 01:40:09 +00:00
Jonathan Hill 0f06e635df feat(platform-azure): initial bearer token auth support for Azure DevOps (#43888)
* feat(platform/azure): support bearer token auth (auto-detect token type)

* refactor(platform/azure): use isPlainObject for JWT header check

Replace manual typeof/null check with isPlainObject() from
@sindresorhus/is in isProbablyJwt(). Remove unused _GlobalConfig
import from test file.

* refactor(platform/azure): use parseJsonc to parse JWT header

* test(platform/azure): use a real JWT in the set bearer token/endpoint test

* feat(platform/azure): log detected token type

* refactor(platform/azure): guard token before JWT check; remove outdated todo comment

* docs(platform/azure): restore TODO note about possibly-undefined token (#22198)

* refactor(platform/azure): move isProbablyJwt() and tests to new files lib/util/http/jwt.ts and lib/util/http/jwt.spec.ts

* refactor(platform/azure): use Json.safeParse() instead of parseJsonc() in isProbablyJwt()

* refactor(platform/azure): accept undefined token in isProbablyJwt and add guard to drop non-null assertions

* test(platform/azure): extract shared buildTestJwt helper and dedupe

* docs(platform/azure): reword the Entra ID token instructions

* chore(platform/azure): remove irrelevant lines from docstring

* refactor(platform/azure): export buildTestJwt() from new test/jwt-util.ts

* docs(platform/azure): use 1 for numbered lists

* refactor(test): extract arrow function from buildTestJwt

---------

Co-authored-by: Bastian Wenske <bastianwenske@outlook.de>
43.272.0
2026-07-19 23:01:52 +00:00
renovate[bot] 3200bd41a2 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.5 (main) (#44712)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.5

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.76.4 | 13.76.5 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
43.271.3
2026-07-19 14:32:37 +00:00
renovate[bot] 37d4dd21d9 chore(deps): update ghcr.io/containerbase/devcontainer docker tag to v14.13.8 (main) (#44711)
chore(deps): update ghcr.io/containerbase/devcontainer docker tag to v14.13.8

| datasource | package                            | from    | to      |
| ---------- | ---------------------------------- | ------- | ------- |
| docker     | ghcr.io/containerbase/devcontainer | 14.13.7 | 14.13.8 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-19 13:31:37 +00:00
renovate[bot] ac8e1d71e5 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.4 (main) (#44710)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.4

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.76.3 | 13.76.4 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
43.271.2
2026-07-19 11:28:09 +00:00
Sebastian Poxhofer 58771bb183 refactor(linters): enabled oxlints func-style (#44691)
* refactor(oxlint): enable func-style

Enable the built-in func-style rule as ["warn", "declaration"] so that
named functions are written as function declarations instead of arrow or
function expressions assigned to variables, matching the convention in
docs/development/best-practices.md (Functions section). Inline arrow
callbacks are unaffected; prefer-arrow-callback continues to cover the
callback direction.

Severity is "warn" instead of "error" as a fallback: a repo-wide run
found 196 pre-existing violations (70 in spec files, 126 in production
code), exceeding the 80-violation fix threshold for this change, so no
violations were fixed here. Follow-up work can convert the offenders
(largest clusters: lib/modules/versioning/ruby, lib/util/cache/package,
lib/modules/versioning/maven, lib/modules/versioning/gradle) and then
raise the rule to "error". Note oxlint 1.72 also supports an
allowTypeAnnotation option if typed consts should remain arrows.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* ci(linter): enforce func-style at error

* refactor(func-style): convert const-arrow functions to declarations in with-cache spec and ruby versioning

* refactor(func-style): convert const-arrow functions to declarations in maven/gradle modules

* refactor(func-style): convert const-arrow functions to declarations in remaining versioning modules

* refactor(func-style): convert const-arrow functions to declarations in platform modules

Discriminated-union closures (ensureCommentRemoval byTopic/byContent
helpers in github, gitlab, bitbucket, bitbucket-server) needed the
narrowed field passed explicitly as a parameter, since function
declarations are hoisted and lose the outer if-narrowing that inline
arrow-function closures previously relied on.

* refactor(func-style): convert const-arrow functions to declarations across util/manager/datasource modules

One case (logger/renovate-logger.ts logOnceFn) is kept as an arrow
function with a documented oxlint-disable: it is stored on
this.logger.once[level] and relies on lexically-bound this, which a
hoisted function declaration would not preserve.

* refactor(func-style): convert remaining const-arrow test helpers to declarations

get-updated.spec.ts: hoisted expectPipCompilePackageAndLockFile to
module scope (it only closes over the module-level pipCompile mock)
and added a documented oxlint-disable for vitest/expect-expect on its
caller test, since oxlint's expect-expect check does not trace
assertions through an externally-defined helper function.

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 11:14:22 +00:00
Sebastian Poxhofer 5ad36a2387 test(linters): add linting rule to enforce usage of host rules test util (#44692)
* ci(linter): add renovate/no-host-rules-mock rule

Flags vi.mock()/vi.doMock() calls whose module specifier contains
"host-rules" in spec files. Tests should configure real rules via
hostRules.add() instead of mocking the host-rules module.

Enabled at "warn" severity instead of "error": the repo currently has
35 pre-existing violations across 34 spec files, which exceeds the
agreed fix threshold of 12 files. No violation fixes are included;
migrating each spec to real hostRules.add()/clear() setup is a
semantic test rewrite that should be done incrementally, after which
the rule can be promoted to "error".

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* ci(linter): enforce renovate/no-host-rules-mock at error

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test(datasource): use real host-rules instead of mocking

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test(manager): use real host-rules instead of mocking

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test(platform): use real host-rules instead of mocking

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test(util,workers): use real host-rules instead of mocking

Also narrow renovate/no-host-rules-mock to the host-rules module itself so that mocking e.g. host-rules-from-env is not flagged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* ci(linter): mention '~test/host-rules.ts' util in no-host-rules-mock message

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 10:36:12 +00:00
renovate[bot] 61d5247e03 chore(deps): update ghcr.io/containerbase/devcontainer docker tag to v14.13.7 (main) (#44709)
chore(deps): update ghcr.io/containerbase/devcontainer docker tag to v14.13.7

| datasource | package                            | from    | to      |
| ---------- | ---------------------------------- | ------- | ------- |
| docker     | ghcr.io/containerbase/devcontainer | 14.13.6 | 14.13.7 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-19 10:32:41 +00:00
renovate[bot] 55df4c7eaa fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.3 (main) (#44708)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.3

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.76.2 | 13.76.3 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
43.271.1
2026-07-19 09:31:50 +00:00
renovate[bot] 5e626a7f86 chore(deps): update ghcr.io/containerbase/devcontainer docker tag to v14.13.6 (main) (#44707)
chore(deps): update ghcr.io/containerbase/devcontainer docker tag to v14.13.6

| datasource | package                            | from    | to      |
| ---------- | ---------------------------------- | ------- | ------- |
| docker     | ghcr.io/containerbase/devcontainer | 14.13.5 | 14.13.6 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-19 08:11:00 +00:00
renovate[bot] 806133bbdb chore(deps): update dependency @containerbase/istanbul-reports-html to v2.0.13 (main) (#44706)
chore(deps): update dependency @containerbase/istanbul-reports-html to v2.0.13

| datasource | package                              | from   | to     |
| ---------- | ------------------------------------ | ------ | ------ |
| npm        | @containerbase/istanbul-reports-html | 2.0.12 | 2.0.13 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-19 08:10:56 +00:00
github-actions[bot] fc68aea5f7 feat(data): automatic update of static data (#44699)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
43.271.0
2026-07-19 07:55:17 +00:00
renovate[bot] 54d839de7f fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.2 (main) (#44705)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.2

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.76.1 | 13.76.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
43.270.2
2026-07-19 06:30:06 +00:00
renovate[bot] fed170a1e5 chore(deps): update ghcr.io/containerbase/devcontainer docker tag to v14.13.5 (main) (#44704)
chore(deps): update ghcr.io/containerbase/devcontainer docker tag to v14.13.5

| datasource | package                            | from    | to      |
| ---------- | ---------------------------------- | ------- | ------- |
| docker     | ghcr.io/containerbase/devcontainer | 14.13.4 | 14.13.5 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-19 05:29:21 +00:00
renovate[bot] aa180880e1 chore(deps): update dependency tar to v7.5.20 (main) (#44702)
chore(deps): update dependency tar to v7.5.20

| datasource | package | from   | to     |
| ---------- | ------- | ------ | ------ |
| npm        | tar     | 7.5.19 | 7.5.20 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
43.270.1
2026-07-19 04:31:51 +00:00
renovate[bot] efe4c69afd fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.1 (main) (#44703)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.1

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.76.0 | 13.76.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-19 04:31:43 +00:00
renovate[bot] aae13382d0 chore(deps): update ghcr.io/containerbase/devcontainer docker tag to v14.13.4 (main) (#44700)
chore(deps): update ghcr.io/containerbase/devcontainer docker tag to v14.13.4

| datasource | package                            | from    | to      |
| ---------- | ---------------------------------- | ------- | ------- |
| docker     | ghcr.io/containerbase/devcontainer | 14.13.2 | 14.13.4 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-19 03:30:12 +00:00
renovate[bot] ffa5bbb112 chore(deps): update dependency tsdown to v0.22.5 (main) (#44696)
chore(deps): update dependency tsdown to v0.22.5

| datasource | package | from   | to     |
| ---------- | ------- | ------ | ------ |
| npm        | tsdown  | 0.22.4 | 0.22.5 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-18 17:28:32 +00:00
renovate[bot] f532fdc8f6 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.0 (main) (#44695)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.75.7 | 13.76.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
43.270.0
2026-07-18 14:27:47 +00:00
Felipe Santos 8e6a7fc2e6 fix(git): detect commits modified through rebase or amend (#44587)
* fix(config): make platformCommit global-only

* fix(git): reapply committer check for isBranchModified

Reapply #42975 (reverted in #43171): treat a different committer
(rebase/amend/Gerrit UI) as a branch modification.

* fix(git): ignore platformCommit committer from init-time list

Register noreply@${host} at GitHub initPlatform when platform commits
are active. isBranchModified only consumes the list — correct for
github.com, ghe.com, and self-hosted GHES.

Share isPlatformCommitEnabled() with GithubScm so commit path and
ignore-list registration use the same rule.

* refactor: stop threading platformCommit through commits

Decision is resolved once in GitHub initPlatform
(isPlatformCommitEnabled). Workers no longer pass the raw option on
CommitFilesConfig — it was unused after that change.

* refactor: simplify platformCommit / ignore-author wiring

Drop cached platformCommitEnabled flag — isPlatformCommitEnabled() is
a pure read of GlobalConfig + isGHApp. Trim redundant tests and
trace noise.

* Simplify env var setting

* revert: keep platformCommit packageRules-capable

Do not make platformCommit global-only. Restore CommitFilesConfig
threading and GithubScm reading commitConfig.platformCommit so rules
can still set platformCommit per package (see #44585 discussion).

* fix(github): always ignore platformCommit noreply committer

Do not gate noreply@host on isPlatformCommitEnabled (that needed
global platformCommit). Always register host noreply at init so
packageRules can still flip platformCommit per commit while
isBranchModified stays correct.

Remove isPlatformCommitEnabled; GithubScm again uses
commitConfig.platformCommit.

* Simplify some stuff

* Add one assertion

* Change some comments
43.269.3
2026-07-18 12:47:11 +00:00
Eugene Harold Krabs 7ab2063040 fix(nuget): fall back to nupkg metadata on nuspec 404 (#44388) 43.269.2 2026-07-18 06:05:31 +00:00
renovate[bot] 1bccea4adf build(deps): update dependency semantic-release to v25.0.6 (main) (#44682)
build(deps): update dependency semantic-release to v25.0.6

| datasource | package          | from   | to     |
| ---------- | ---------------- | ------ | ------ |
| npm        | semantic-release | 25.0.5 | 25.0.6 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
43.269.1
2026-07-17 22:27:59 +00:00
Felipe Santos 18c9c9340e feat(gerrit): rework scm implementation (#38966)
* fix(gerrit): remove memCache to fix prNo coming as null when pr-created

* perf(gerrit): remove custom scm functions

* Fully remove login parameter from configureScm()

* Fetch refspecs in batches

* Remove unnecessary error handling

* Add tests

* Throw if branch init fails

* Simplify tests a little

* Reduce more the tests

* More test changes

* Reuse the existing test setup more

* Undo test import change

* Improve initializeBranchesFromRefspecs JSDoc

* The same for deleteBranchCreatedFromRefspec

* Reduce a log to trace level

* Abandon Code-Review -2 changes before initializing repository

* Simply initialize the branches after git.initRepo()

* Rework approach to be more generic

* Add TODO comment about commitAndPush()

* fix(gerrit): defer change creation to `createPr()`

Signed-off-by: Felipe Santos <felipe.santos@ericsson.com>

* Refactor hashtags handling

* Add prTitle to all missing commitAndPush()

* Fix type check

* Fix test issue

* Fix gerrit tests

* Add warning when prTitle is set in updatePr

* Remove now useless labels from commitAndPush

* Fix gerrit client coverage

* Fix gerrit scm coverage

* Fix rebase coverage

* Improve TODO about assignees

* Fix formatting

* Fix review comment

* Extract to a pushForReview function

* Fix after #41382

* Fix onboarding

* Cleanup code

* Fix ESLint

* Fix tests

* Restore gitRetry for git.merge

* Fix tests

* Simplify hashtags code

* Delete pendingChangeBranch in pushForReview()

* Fix test name

* Remove unnecessary test comments

* Improve test name again

* Fix another test name

* Delete local branch in Gerrit SCM

* Add test for deleting pending branch

* Add tests for pushForReview()

* Simplify/optimize commitAndPush

* Align jsdoc terminology on virtual branches

* Remove no longer relevant TODO

* Update virtal branch on push

* Simplify deleteVirtualBranch

* Fix test case name

* Improve another test name

* Restore test deleted by mistake

* Fix another small test inconsistency

* Fix coverage

* Fix Renovate not detecting modified commits

* Simplify Gerrit commitAndPush by leveraging git.commitFiles

* Fix some code style issues

* Revert "Simplify Gerrit commitAndPush by leveraging git.commitFiles"

This reverts commit d71edcc279.

* Fix another small code style issue

* Use isUndefined instead

* Fix one small test style issue

* Fix more code style issues

* Fix Gerrit mergeToLocal trying to fetch (and probably failing)

* Extract refs/remotes/origin to a function

* Rename virtualBranchRef to remoteBranchRef

* Fix remoteBranchRef tsc

* Consistently use currentRevision in Gerrit tests

* Remove unnecessary type assertion

* Instrument "fetch virtual branches"

* Remove pendingChangeBranches, avoid overriding deleteBranch and mergeToLocal

* Optimize virtual branches fetch (no longer requires update-ref), convert virtualBranches to Record, rename setVirtualBranch to registerVirtualBranch

* Combine registerVirtualBranch and updateVirtualBranch into a single setVirtualBranch, and update ref in virtual branch too

* Fix virtualBranches not being initialized

* Add some debug logs

* Simplify mergeToLocal for virtual branches

* Revert "Simplify mergeToLocal for virtual branches"

This reverts commit 375d57a474.

* Remove useless isVirtual const

* test(git): add toThrow message for virtualBranches fetch error

Satisfy vitest/require-to-throw-message so oxlint passes.

* Update lib/util/git/types.ts

Co-authored-by: RahulGautamSingh <rahultesnik@gmail.com>

* Address review feedback

---------

Signed-off-by: Felipe Santos <felipe.santos@ericsson.com>
Co-authored-by: RahulGautamSingh <rahultesnik@gmail.com>
43.269.0
2026-07-17 21:47:08 +00:00
renovate[bot] 0b44e3531c build(deps): update dependency @renovatebot/osv-offline to v3.0.9 (main) (#44679)
build(deps): update dependency @renovatebot/osv-offline to v3.0.9

| datasource | package                  | from  | to    |
| ---------- | ------------------------ | ----- | ----- |
| npm        | @renovatebot/osv-offline | 3.0.8 | 3.0.9 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
43.268.6
2026-07-17 21:27:52 +00:00
renovate[bot] 55ab570508 build(deps): update dependency adm-zip to v0.6.0 (main) (#44678)
build(deps): update dependency adm-zip to v0.6.0

| datasource | package | from   | to    |
| ---------- | ------- | ------ | ----- |
| npm        | adm-zip | 0.5.18 | 0.6.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
43.268.5
2026-07-17 20:29:56 +00:00
renovate[bot] 497a429dcb chore(deps): update dependency @smithy/util-stream to v4.7.8 (main) (#44672)
chore(deps): update dependency @smithy/util-stream to v4.7.8

| datasource | package             | from  | to    |
| ---------- | ------------------- | ----- | ----- |
| npm        | @smithy/util-stream | 4.7.7 | 4.7.8 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-17 18:19:53 +00:00
Felipe Santos 636e888119 test(git): disable git maintenance to prevent test flakiness (#44670)
fix(git): disable git auto-maintenance in tests to prevent ENOTEMPTY flake

Background gc/maintenance can still be writing objects/pack when
unsafeCleanup removes the tmp dir, causing intermittent ENOTEMPTY errors.
2026-07-17 18:07:03 +00:00
renovate[bot] 6dee5c4b99 fix(deps): update dependency mkdocs-material to v9.7.7 (main) (#44669)
fix(deps): update dependency mkdocs-material to v9.7.7

| datasource | package         | from  | to    |
| ---------- | --------------- | ----- | ----- |
| pypi       | mkdocs-material | 9.7.6 | 9.7.7 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
43.268.4
2026-07-17 16:41:57 +00:00
renovate[bot] c92de21545 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.75.7 (main) (#44668)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.75.7

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.75.6 | 13.75.7 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
43.268.3
2026-07-17 16:28:44 +00:00
renovate[bot] 398d5766ac chore(deps): update ghcr.io/containerbase/devcontainer docker tag to v14.13.2 (main) (#44666)
chore(deps): update ghcr.io/containerbase/devcontainer docker tag to v14.13.2

| datasource | package                            | from    | to      |
| ---------- | ---------------------------------- | ------- | ------- |
| docker     | ghcr.io/containerbase/devcontainer | 14.13.1 | 14.13.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-17 15:30:07 +00:00
renovate[bot] 7bdb71336d fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.75.6 (main) (#44662)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.75.6

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.75.5 | 13.75.6 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
43.268.2
2026-07-17 13:32:01 +00:00
renovate[bot] e30d05cf73 build(deps): update dependency ignore to v7.0.6 (main) (#44661)
build(deps): update dependency ignore to v7.0.6

| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | ignore  | 7.0.5 | 7.0.6 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-17 13:31:50 +00:00
Will Pfleger 556b1be775 fix(manager/hermit): propagate git credentials to hermit install (#43524)
* fix(manager/hermit): propagate git credentials to hermit install

hermit install runs without git auth, failing silently for packages
hosted in private repos. Spread getGitEnvironmentVariables(['hermit'])
into extraEnv, matching the pattern used by cargo, gomod, poetry,
copier, vendir, and conan managers.

Passing ['hermit'] as additionalHostTypes ensures hostRules configured
with hostType: 'hermit' are picked up alongside the standard platform
host types.

Also guards against undefined stderr in the outer catch block —
non-UpdateHermitError exceptions rendered "undefined" in PR comments.

* test(manager/hermit): cover non-Error thrown value fallback

Exercise the String(err) branch in the generic error handler when
a non-Error value propagates from updateHermitPackage.

* fix: address review comments on hermit git auth

Remove unnecessary spread operator from getGitEnvironmentVariables() result
assignment and apply one-sentence-per-line docs convention.
43.268.1
2026-07-17 13:21:54 +00:00