Commit Graph

27161 Commits

Author SHA1 Message Date
Jamie Tanna f3a5286d85 docs: update GitLab security docs + announce Mend-hosted GitLab.com (#45420)
Mend's GitLab.com support has been around for a little bit, but we've
not explicitly documented it.

While we're doing this, we should make sure the outdated references to
GitLab security is updated in line with the current state of affairs.

With some additional research from Claude Opus 5, but with Claude Sonnet
5 driving the changes.

We can also make sure to clarify that folks may want to use Mend-hosted
against GitLab.com, and that there are security implications when
running Renovate on GitLab (more generally).


Researched-by: Claude Opus 5 <jamie.tanna+claude-code@mend.io>

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
2026-09-08 17:41:09 +00:00
renovate[bot] 8f76d4e01b chore(deps): update dependency @oxlint/plugins to v1.81.0 (main) (#45772)
chore(deps): update dependency @oxlint/plugins to v1.81.0

| datasource | package         | from   | to     |
| ---------- | --------------- | ------ | ------ |
| npm        | @oxlint/plugins | 1.80.0 | 1.81.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-08 15:47:02 +00:00
renovate[bot] 02044684c1 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.13 (main) (#45771)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.13

| datasource | package                        | from     | to       |
| ---------- | ------------------------------ | -------- | -------- |
| docker     | ghcr.io/renovatebot/base-image | 13.95.12 | 13.95.13 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
44.69.10
2026-09-08 15:25:18 +00:00
renovate[bot] f709c680c8 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.12 (main) (#45770)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.12

| datasource | package                        | from     | to       |
| ---------- | ------------------------------ | -------- | -------- |
| docker     | ghcr.io/renovatebot/base-image | 13.95.11 | 13.95.12 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
44.69.9
2026-09-08 12:56:55 +00:00
Robert 95517d534e docs: document assignAutomerge in automerge article (#44955)
This helps users find the option, if they are specifically trying to enforce reviews on PRs with activated automerge option.
2026-09-08 12:43:07 +00:00
Sergei Zharinov 2ee9a26675 fix(manager/npm): Harden .npmrc sanitization (#44652)
* fix(manager/npm): Parse npmrc settings before sanitizing

* Refactor NPMRC parsing and sanitization

* fix(manager/npm): Restore npmrc after artifact updates

* test(manager/npm): cover npmrc failure paths

* refactor(manager/npm): simplify npmrc parsing

* Update npmrc-parser.spec.ts

* refactor(manager/npm): clarify npmrc parsing

* refactor(manager/npm): make npmrc regexes RE2-compatible

* chore: retrigger CI

* Update lib/modules/manager/npm/npmrc-parser.ts

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

* fix(manager/npm): preserve captured npmrc line endings

---------

Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
44.69.8
2026-09-08 07:05:39 +00:00
renovate[bot] b0d1e5ed91 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.11 (main) (#45763)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.11

| datasource | package                        | from     | to       |
| ---------- | ------------------------------ | -------- | -------- |
| docker     | ghcr.io/renovatebot/base-image | 13.95.10 | 13.95.11 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
44.69.7
2026-09-08 00:25:53 +00:00
renovate[bot] cc79d3085f build(deps): update opentelemetry-js-contrib monorepo (main) (#45761)
build(deps): update opentelemetry-js-contrib monorepo

| datasource | package                                | from   | to     |
| ---------- | -------------------------------------- | ------ | ------ |
| npm        | @opentelemetry/instrumentation-bunyan  | 0.66.0 | 0.67.0 |
| npm        | @opentelemetry/instrumentation-redis   | 0.69.0 | 0.70.0 |
| npm        | @opentelemetry/resource-detector-aws   | 2.21.0 | 2.22.0 |
| npm        | @opentelemetry/resource-detector-azure | 0.29.0 | 0.30.0 |
| npm        | @opentelemetry/resource-detector-gcp   | 0.56.0 | 0.57.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
44.69.6
2026-09-07 21:18:02 +00:00
renovate[bot] 7b5293ef26 build(deps): update opentelemetry-js monorepo (main) (#45758)
build(deps): update opentelemetry-js monorepo

| datasource | package                                  | from    | to      |
| ---------- | ---------------------------------------- | ------- | ------- |
| npm        | @opentelemetry/context-async-hooks       | 2.10.0  | 2.11.0  |
| npm        | @opentelemetry/exporter-trace-otlp-grpc  | 0.221.0 | 0.222.0 |
| npm        | @opentelemetry/exporter-trace-otlp-http  | 0.221.0 | 0.222.0 |
| npm        | @opentelemetry/exporter-trace-otlp-proto | 0.221.0 | 0.222.0 |
| npm        | @opentelemetry/instrumentation           | 0.221.0 | 0.222.0 |
| npm        | @opentelemetry/instrumentation-http      | 0.221.0 | 0.222.0 |
| npm        | @opentelemetry/otlp-transformer          | 0.221.0 | 0.222.0 |
| npm        | @opentelemetry/resources                 | 2.10.0  | 2.11.0  |
| npm        | @opentelemetry/sdk-trace-base            | 2.10.0  | 2.11.0  |
| npm        | @opentelemetry/sdk-trace-node            | 2.10.0  | 2.11.0  |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
44.69.5
2026-09-07 18:18:37 +00:00
renovate[bot] 6111d05d13 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.10 (main) (#45757)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.10

| datasource | package                        | from    | to       |
| ---------- | ------------------------------ | ------- | -------- |
| docker     | ghcr.io/renovatebot/base-image | 13.95.9 | 13.95.10 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-07 18:17:29 +00:00
Aron Strandberg 6f0b6a56d3 fix(manager/npm): pass --no-frozen-lockfile to pnpm lock file updates (#44676)
* fix(manager/npm): pass --no-frozen-lockfile to pnpm lock file updates

pnpm applies an explicitly-set frozenLockfile: true from
pnpm-workspace.yaml even to 'pnpm install --lockfile-only', so lock file
regeneration always fails with ERR_PNPM_OUTDATED_LOCKFILE in repos that
set it: pnpm's CI frozen default has a --lockfile-only carve-out, but
explicitly-set values skip that carve-out, and only CLI flags take
precedence over pnpm-workspace.yaml settings. 'pnpm update' is not
affected by frozen mode (and rejects the flag), so only the install
command gets it.

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

* fix: less verbose comment

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
44.69.4
2026-09-07 18:03:12 +00:00
renovate[bot] 96ecc8677b build(deps): update dependency @renovatebot/detect-tools to v4.0.14 (main) (#45732)
build(deps): update dependency @renovatebot/detect-tools to v4.0.14

| datasource | package                   | from   | to     |
| ---------- | ------------------------- | ------ | ------ |
| npm        | @renovatebot/detect-tools | 4.0.13 | 4.0.14 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
44.69.3
2026-09-07 16:18:51 +00:00
Jonas Haag 2e9e479912 fix(manager/pixi): support optional channel options (#45273)
* fix(manager/pixi): support optional channel options

* Review feedback

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

* fix(pixi): import number coercion utility

---------

Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
44.69.2
2026-09-07 15:22:07 +00:00
Sanjay Doppalapudi ff76622791 test(presets): validate internal presets the way they are consumed (#45712)
The internal preset validation ran `validateConfig()` with `isPreset`,
which allows selectors such as `matchManagers` at the top level of a
preset. That is how #39738 shipped `helpers:goXPackages*` with a bare
`matchManagers` and broke `inheritConfig` users: the real resolution
paths validate the resolved config without that leniency.

Resolve each preset through `extends`, as a repository or inherited
config would, and validate the result without `isPreset`. `packages:`
and `monorepo:` presets are selector-only `packageRules` fragments, so
they are resolved from within a `packageRules` entry instead.
44.69.1
2026-09-07 14:22:27 +00:00
renovate[bot] 8e2080ed5a build(deps): update dependency @renovatebot/pgp to v1.4.0 (main) (#45754)
build(deps): update dependency @renovatebot/pgp to v1.4.0

| datasource | package          | from   | to    |
| ---------- | ---------------- | ------ | ----- |
| npm        | @renovatebot/pgp | 1.3.18 | 1.4.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-07 14:20:18 +00:00
RahulGautamSingh c6578a476b feat(datasource/helm): support aws s3 as helm charts repository (#45584)
* support AWS S3 as a chart repository

* support creds via hostRules

* apply suggestions

* fix(datasource/helm): classify s3 lookup errors

* test: use await expect().resolves
44.69.0
2026-09-07 14:04:08 +00:00
renovate[bot] 5538ed1b88 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.9 (main) (#45753)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.9

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.95.8 | 13.95.9 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
44.68.3
2026-09-07 13:52:46 +00:00
Gregor Jasny 325dc6407d fix(datasource/aws-machine-image): return all AMI releases for minimumReleaseAge filtering (#43749)
* fix(datasource/aws-machine-image): return all AMI releases for minimumReleaseAge filtering

Previously, _getReleases only returned the latest image in the releases array,
which broke minimumReleaseAge filtering. When the latest AMI was too new,
there were no older candidates to fall back to.

Fixed by:
- _getReleases now returns all matching AMIs as separate releases (sorted oldest→newest)
- _getDigest simplified to read directly from the images array to ensure latest digest is still returned
- Added reproducer test verifying all 3 images are returned

This aligns with how other datasources (npm, PyPI, etc.) work — they return
complete version history to allow minimumReleaseAge filtering to find an
appropriately-aged candidate.

Co-authored-by: Claude Code <claude@anthropic.com>

* chore: apply suggestion

* fixup! chore: apply suggestion

---------

Co-authored-by: Claude Code <claude@anthropic.com>
44.68.2
2026-09-07 13:36:56 +00:00
Sergei Zharinov 3e15fc29ed fix(datasource): isolate release lookups by registry configuration (#45738)
* fix(datasource): include default and additional registries in cache key

* fix(datasource): avoid mutating cached releases when merging registries
44.68.1
2026-09-07 13:07:50 +00:00
Udit Karode 8a926e8cc7 fix(deno): only collect workspace members when workspaces are declared (#45394)
* fix(deno): only collect workspace members when workspaces are declared

A package.json with no workspaces field has no members to find, but the member
scan ran anyway, and find-packages with no patterns returns every package.json
in the tree. Standalone subprojects were picked up as members of the root lock,
which is what breaks lockFileMaintenance.

The scan now runs only when workspaces are declared.

* test(deno): use await expect().resolves

Required by the `vitest(prefer-expect-resolves)` oxlint rule enabled on
main since this branch was created.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Michael Kriese <michael.kriese@mend.io>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
44.68.0
2026-09-07 12:43:29 +00:00
Jamie Tanna b1cce8a0af feat(datasource/apk): default to apk versioning rather than loose (#45694)
When we introduced the `apk` datasource, we missed that the default for
the Datasource was the `loose` versioning, which doesn't make as much
sense as `apk`.

This may be a small breaking change for users who are working with the
APK datasource already, but this is a minimal enough change that this is
fine, and can be restored with a Package Rule.

Co-authored-by: Claude Opus 5 <jamie.tanna+claude-code@mend.io>
2026-09-07 12:42:24 +00:00
Jamie Tanna 569dff1961 fix(manager/dockerfile): don't relabel the syntax dep as final (#45690)
fix(manager/dockerfile): only relabel last `stage` as `final`

If using a Docker image that only declares a `syntax`, with no base
image, we would incorrectly set the `depType: final`, when this isn't
actually an image.

Instead, we should make sure that we find the last `stage` dependency,
and then override that.

Co-authored-by: Claude Opus 5 <jamie.tanna+claude-code@mend.io>
2026-09-07 12:42:23 +00:00
Sergei Zharinov fcb52fef2c fix(manager/npm): prevent updates to unrelated Yarn v1 entries (#45737)
fix(manager/npm): match complete yarn lockfile selectors
44.67.2
2026-09-07 12:14:09 +00:00
James Griffiths 1afa293dda fix(datasource/docker): adjust tag caching for private registries (#45348)
* fix(docker): adjust tag caching for private registries

Tag caching for private registries currently has two issues, observed in
issues #45249 and #40734:
1. `getTags` has no `cacheable` guard (unlike `getReleases`)
2. `getTags` caches `null` tag results

These two combined mean that regardless of `cachePrivatePackages`
settings, private registry tag lookups which fail due to transient/auth
errors are cached. This results in the cache being "poisoned" by
misconfigured jobs, with well-configured jobs unable to recover. This is
especially relevant for the hosted app where caching is shared by
different tenants.

This commit:
1. Aligns `getTags` caching with `getReleases`, ensuring caching
   behaviour is driven by `cachePrivatePackages`.
2. Prevents `null` tag results being cached, allowing for recovery
   regardless of `cachePrivatePackages` configuration.

Note that I have _not_ applied (2) to `getReleases`, because
1. `getReleases` has a slightly different contract in that it sets
   `fallback: true` to intentionally cache failures
2. I have not observed any actual failures in `getReleases` due to (20,
   so it hasn't been empirically proven as requiring a fix
3. `getTags` is internal so is a lower-risk change

Fixes
- #45249

Relates to
- #45249
- #40734

* refactor(docker): undefined for no-auth

Previously `getAuthHeaders()` used `null` as an auth-failed sentinel,
which was inconsistent with `withCache()`, and led to the original "fix"
where nulls were explicitly omitted from the cache.

Instead this implements the suggestion from https://github.com/renovatebot/renovate/pull/45348#issuecomment-5340524967
to uniformly return undefined for `getTags` auth errors, which allows
the cache to recognise failures itself. Then cacheability ends up being
conditional on dockerhub as always.

This also rectifies a mismatch between auth-failure signals, where other
functions like `_getImageConfig` were returning `undefined` when headers
were unavailable.

IMPORTANT: once this lands, since there aren't any cache invalidations,
the existing issue will still be observed until the cache TTL expires
and old `null` entries are evicted.

* fix: whoops, sort out the vacuous tests

I failed to realise caching isn't automatically orchestrated in these
tests. As an eagle-eyed observer [pointed out][1], this meant the tests
weren't actually exercising anything.

This commit fixes that by adding a new test block which does the cache
orchestration using a temp dir cache. I've also opted to add assertions
against the mock server's http trace counter directly to ensure the mock
really is/isn't being hit. This should also serve to make the tests fail
fast if the underlying impl flow (auth probe -> get tags) is adjusted in
the future.

I've also brought in some caching dependencies into the test file, but
those are used elsewhere too (e.g. `withCache` tests).

This time, I have actually verified the tests which we'd expect to fail
do fail against main. Note that the first 'caches tags for Docker Hub'
is expected to pass on both branches (the control test).

```
     ❯ getTags caching (3)
       ✓ caches tags for Docker Hub 21ms 249 MB heap used
       × does not cache tags for a private registry 20ms 212 MB heap used
       × does not cache failed lookups when cachePrivatePackages is enabled 15ms 215 MB heap used
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 2 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯

 FAIL  lib/modules/datasource/docker/index.spec.ts > modules/datasource/docker/index > getTags caching > does not cache tags for a private registry
AssertionError: expected [ '1.0.0' ] to deeply equal [ '1.0.0', '2.0.0' ]

- Expected
+ Received

  [
    "1.0.0",
-   "2.0.0",
  ]

 ❯ lib/modules/datasource/docker/index.spec.ts:3694:72
    3692|       expect(httpMock.getTrace()).toHaveLength(2);
    3693|
    3694|       expect(await ds.getTags('https://registry.company.com', 'node')).toEqual([
       |                                                                        ^
    3695|         '1.0.0',
    3696|         '2.0.0',

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/4]⎯

 FAIL  lib/modules/datasource/docker/index.spec.ts > modules/datasource/docker/index > getTags caching > does not cache tags for a private registry
Error: *** Unused HTTP mocks ***

- GET https://registry.company.com/v2/node/tags/list

Requests done:

- GET https://registry.company.com/v2/node/tags/list?n=10000 [200]
- GET https://registry.company.com/v2/node/tags/list?n=10000 [200]

---

Renovate testing strategy requires that every HTTP request
has a corresponding mock.

This error occurs because some of the created mocks are unused.

In most cases, you simply need to remove them.

+++
 ❯ <test> lib/modules/datasource/docker/index.spec.ts:3675:9
    3673|     });
    3674|
    3675|     it('does not cache tags for a private registry', async () => {
       |         ^
    3676|       httpMock
    3677|         .scope('https://registry.company.com/v2')

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/4]⎯

 FAIL  lib/modules/datasource/docker/index.spec.ts > modules/datasource/docker/index > getTags caching > does not cache failed lookups when cachePrivatePackages is enabled
AssertionError: expected null to be undefined

- Expected:
undefined

+ Received:
null

 ❯ lib/modules/datasource/docker/index.spec.ts:3717:9
    3715|       expect(
    3716|         await ds.getTags('https://registry.company.com', 'node'),
    3717|       ).toBeUndefined();
       |         ^
    3718|       expect(httpMock.getTrace()).toHaveLength(1);
    3719|

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[3/4]⎯

 FAIL  lib/modules/datasource/docker/index.spec.ts > modules/datasource/docker/index > getTags caching > does not cache failed lookups when cachePrivatePackages is enabled
Error: *** Unused HTTP mocks ***

- GET https://registry.company.com/v2/node/tags/list

Requests done:

- GET https://registry.company.com/v2/node/tags/list?n=10000 [403]

---

Renovate testing strategy requires that every HTTP request
has a corresponding mock.

This error occurs because some of the created mocks are unused.

In most cases, you simply need to remove them.

+++
 ❯ <test> lib/modules/datasource/docker/index.spec.ts:3701:9
    3699|     });
    3700|
    3701|     it('does not cache failed lookups when cachePrivatePackages is enabled', async () => {
       |         ^
    3702|       GlobalConfig.set({ cachePrivatePackages: true });
    3703|

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[4/4]⎯

 Test Files  1 failed (1)
      Tests  2 failed | 313 passed (315)
```

[1]: https://github.com/renovatebot/renovate/pull/45348#pullrequestreview-5092478059

* oxlint-fix

---------

Co-authored-by: Jamie Tanna <jamie.tanna@mend.io>
2026-09-07 12:07:52 +00:00
renovate[bot] 567f78c87a build(deps): update dependency ignore to v7.0.8 (main) (#45751)
build(deps): update dependency ignore to v7.0.8

| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | ignore  | 7.0.7 | 7.0.8 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
44.67.1
2026-09-07 11:30:45 +00:00
github-actions[bot] 1b53e4f712 feat(data): automatic update of static data (#45728)
* feat(data): automatic update of static data

* test(manager/mise): drop stale cargo-backend registry test

The mise registry now lists a github mirror for magika alongside its
cargo backend, so a bare `magika` entry resolves via the
github-prioritised branch (already covered by the
'prioritising the github backend over others' test) instead of cargo.
No tool in the current registry data reaches the cargo case through
the unprefixed lookup path anymore, and the cargo backend itself
stays covered by the explicit `cargo:` prefix test.

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: secustor <sebastian@poxhofer.at>
44.67.0
2026-09-07 10:35:31 +00:00
Jamie Tanna 8d9c7b164e feat(config): promote configValidationError to inherited config (#45369)
For organisations who wish to ensure that their repositories have no
configuration validation warnings (by forcing them to be errors), we can
make this inherited configuration that can run separate to a global
self-hosted administrator's choice.
2026-09-07 10:28:25 +00:00
Sebastian Poxhofer 599939d229 docs: add Renovate Config Debugger to community tools (#45743) 2026-09-07 10:21:13 +00:00
AJ Jordan 374f8f35ad docs(configuration-options): fix typo (#45734)
docs: fix typo
2026-09-07 09:26:42 +00:00
Jamie Tanna 354dd992d9 docs(datasource/aws-eks-addon): re-add removed hostRules documentation (#45745)
As noted in #45586, this was accidentally removed in
210bf42b89.
2026-09-07 08:49:31 +00:00
Jamie Tanna 0e932f3d66 docs(community-tools): remove duplicate trailing . (#45746) 2026-09-07 08:49:07 +00:00
Jamie Tanna 839b7b54c7 docs(datasource/apk): remove reference to renamed matcher (#45704)
As this slipped past our code review, but `matchPaths` has been
deprecated for ~3 years, replaced by `matchFileNames`.

Co-authored-by: Claude Opus 5 <jamie.tanna+claude-code@mend.io>
2026-09-07 08:46:32 +00:00
renovate[bot] 21a7e61012 chore(deps): update dependency type-fest to v5.9.0 (main) (#45744)
chore(deps): update dependency type-fest to v5.9.0

| datasource | package   | from  | to    |
| ---------- | --------- | ----- | ----- |
| npm        | type-fest | 5.8.0 | 5.9.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-07 08:33:11 +00:00
renovate[bot] 8eb5da0b24 chore(deps): update dependency pnpm to v11.25.0 (main) (#45742)
chore(deps): update dependency pnpm to v11.25.0

| datasource | package | from    | to      |
| ---------- | ------- | ------- | ------- |
| npm        | pnpm    | 11.24.0 | 11.25.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
44.66.1
2026-09-07 07:07:30 +00:00
renovate[bot] ca1d66f7a1 build(deps): update dependency zod to v4.5.4 (main) (#45741)
build(deps): update dependency zod to v4.5.4

| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | zod     | 4.5.2 | 4.5.4 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-07 07:07:04 +00:00
Adam Setch 1bc6686671 feat(presets): remove duplicate octokit preset (#45708)
Signed-off-by: Adam Setch <adam.setch@outlook.com>
44.66.0
2026-09-07 06:52:02 +00:00
renovate[bot] 1ff45d775d build(deps): update dependency ignore to v7.0.7 (main) (#45733)
build(deps): update dependency ignore to v7.0.7

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-06 15:42:59 +00:00
renovate[bot] 2b4f43309c build(deps): update dependency @renovatebot/pep440 to v5.0.1 (main) (#45689)
build(deps): update dependency @renovatebot/pep440 to v5.0.1

| datasource | package             | from  | to    |
| ---------- | ------------------- | ----- | ----- |
| npm        | @renovatebot/pep440 | 5.0.0 | 5.0.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
44.65.5
2026-09-05 11:39:59 +00:00
renovate[bot] f4c9195838 build(deps): update dependency @renovatebot/pgp to v1.3.18 (main) (#45727)
build(deps): update dependency @renovatebot/pgp to v1.3.18

| datasource | package          | from   | to     |
| ---------- | ---------------- | ------ | ------ |
| npm        | @renovatebot/pgp | 1.3.17 | 1.3.18 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
44.65.4
2026-09-05 11:24:29 +00:00
renovate[bot] 0a30d5b73e chore(deps): update dependency memfs to v4.68.2 (main) (#45725)
chore(deps): update dependency memfs to v4.68.2

| datasource | package | from   | to     |
| ---------- | ------- | ------ | ------ |
| npm        | memfs   | 4.68.1 | 4.68.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
44.65.3
2026-09-05 10:24:47 +00:00
renovate[bot] 295d2e3eed fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.8 (main) (#45726)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.8

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.95.7 | 13.95.8 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-05 10:24:46 +00:00
renovate[bot] b3977ead7f build(deps): update dependency @renovatebot/detect-tools to v4.0.13 (main) (#45718)
build(deps): update dependency @renovatebot/detect-tools to v4.0.13

| datasource | package                   | from   | to     |
| ---------- | ------------------------- | ------ | ------ |
| npm        | @renovatebot/detect-tools | 4.0.12 | 4.0.13 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
44.65.2
2026-09-05 02:26:27 +00:00
renovate[bot] 074020ec42 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.7 (main) (#45717)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.7

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.95.6 | 13.95.7 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
44.65.1
2026-09-05 01:24:55 +00:00
renovate[bot] 623793d9dd build(deps): update dependency zod to v4.5.2 (main) (#45716)
build(deps): update dependency zod to v4.5.2

| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | zod     | 4.5.1 | 4.5.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-05 01:24:48 +00:00
renovate[bot] 60e655ec1b chore(deps): update dependency uv to v0.12.10 (main) (#45715)
chore(deps): update dependency uv to v0.12.10

| datasource      | package      | from   | to      |
| --------------- | ------------ | ------ | ------- |
| github-releases | astral-sh/uv | 0.12.9 | 0.12.10 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-05 00:24:43 +00:00
renovate[bot] cee2d1f851 chore(deps): update dependency astral-sh/uv to v0.12.10 (main) (#45714)
chore(deps): update dependency astral-sh/uv to v0.12.10

| datasource      | package      | from   | to      |
| --------------- | ------------ | ------ | ------- |
| github-releases | astral-sh/uv | 0.12.9 | 0.12.10 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-05 00:24:27 +00:00
Jamie Tanna a806d2f735 feat(onboarding): note that vulnerabilityAlerts can be rate limited (#45686)
For instance, when a repository is onboarding with many dependency
updates (some of which have many security releases), it would be
useful to let the user know that they're not unlimited, but that the
rate limit is taken into account.

Now we have the capability to specify these, we should:

- take them into account when determining how many PR(s) may be raised
  at a given time
- point users to the documentation when they may want to limit them, if
  the number of security PRs is more than the
  `prConcurrentLimit`/`branchConcurrentLimit`

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
44.65.0
2026-09-04 20:05:08 +00:00
Vladislav 26fe7b0c33 ci: check TODOs for closed issues (#45575)
* ci: check TODOs for closed issues

Signed-off-by: Vladislav Lapin <51929896+loglapa@users.noreply.github.com>

* ci: fold TODO check into undesirable code workflow

Signed-off-by: Vladislav Lapin <51929896+loglapa@users.noreply.github.com>

* ci: name TODO reference capture

Signed-off-by: Vladislav Lapin <51929896+loglapa@users.noreply.github.com>

---------

Signed-off-by: Vladislav Lapin <51929896+loglapa@users.noreply.github.com>
2026-09-04 19:54:58 +00:00
renovate[bot] b380f44768 build(deps): update dependency @renovatebot/detect-tools to v4.0.12 (main) (#45710)
build(deps): update dependency @renovatebot/detect-tools to v4.0.12

| datasource | package                   | from   | to     |
| ---------- | ------------------------- | ------ | ------ |
| npm        | @renovatebot/detect-tools | 4.0.11 | 4.0.12 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
44.64.3
2026-09-04 18:43:06 +00:00
renovate[bot] 5717d3e860 build(deps): update dependency zod to v4.5.1 (main) (#45709)
build(deps): update dependency zod to v4.5.1

| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | zod     | 4.4.3 | 4.5.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
44.64.2
2026-09-04 18:24:48 +00:00