Commit Graph

14403 Commits

Author SHA1 Message Date
mado e4710c1df5 fix(util/fingerprint): incrementally hash input to avoid V8 max string length (#43605)
* fix(util/fingerprint): incrementally hash input to avoid V8 max string length

* test(util/fingerprint): cover backward-compat with safeStringify + hash

* style(util/fingerprint): satisfy prettier + oxlint (no-unnecessary-type-assertion)

* refactor(util/fingerprint): trim comments to WHY only

* fix(util/fingerprint): pre-check emittability to match safe-stable-stringify on toJSON-returns-undefined; satisfy biome import sort

* test(util/fingerprint): cover root function/symbol and toJSON-returns-undefined branches

* style(util/fingerprint): drop unnecessary non-null assertion

* perf(util/fingerprint): memoize isEmittable per object reference
2026-06-01 09:03:25 +00:00
github-actions[bot] 15a73fb23f feat(data): automatic update of static data (#43702)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jamie Tanna <jamie.tanna@mend.io>
2026-06-01 08:13:34 +00:00
renovate[bot] d755b7a98d docs: update references to python to 250e5c9 (main) (#43705)
docs: update references to python to 250e5c9

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-01 00:27:00 +00:00
Sebastian Poxhofer 6f9411c7d4 test(git): increase timeout to 30s (#43704)
test(git): increae timeout to 30s
2026-05-31 19:21:08 +00:00
renovate[bot] b69b6373e8 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.55.1 (main) (#43694)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.55.1

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.55.0 | 13.55.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-30 17:26:47 +00:00
Sebastian Poxhofer 15f4bd8eff chore: migrate from zod/v3 to zod/v4 (#43691)
* chore: migrate from zod/v3 to zod/v4

This commit contains the logic changes

* chore: migrate imports from zod/v3 to zod/v4

This contains import updates and adds explicit record keys as zod/v4 requires these now

* ci: enforce usage of zod/v4
2026-05-30 16:01:58 +00:00
github-actions[bot] 442bb9c4ce feat(data): automatic update of static data (#43559)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Sebastian Poxhofer <secustor@users.noreply.github.com>
2026-05-30 15:40:55 +00:00
RahulGautamSingh 2d0d32c6fd fix(autoreplace): handle digest-only update without replaceString (#42840)
* fix(autoreplace): handle digest-only update without replaceString

* remove unreachable code
2026-05-30 15:37:15 +00:00
mado 0ab2acfb52 fix(workers/repository): skip pending-version check when re-extracted dep lacks resolved version (#43348)
`checkForPendingVersions` (introduced in #41629) previously threw
`WORKER_FILE_UPDATE_FAILED` when the re-extracted dep had none of
`lockedVersion`, `newVersion`, `currentVersion`, or `currentValue`
populated. That aborts the entire `getUpdatedPackageFiles` flow for a
single dep we cannot verify, which is disproportionate to the intent of
the check (flag artifact updates that introduced a pending version).

Demote the abort to a warn-and-continue: if we cannot determine the
resolved version for a single dep, skip the pending-version check for
that dep only and let the rest of the update proceed. The remaining
deps in the same file can still be verified normally, and a
`logger.warn` makes the skip visible without taking down the update.
2026-05-30 06:15:05 +00:00
Jamie Tanna 0ccf83253f feat(presets): support fetching .jsonc files (#43680)
* test(presets): validate filename construction

Ahead of future changes to add JSONC support, we should cover explicitly
how the filename is constructed.

* feat(presets): support fetching `.jsonc` files

Similar to 6fb540d494, as we now support a
`.jsonc` file for configuration, we should make sure that we can also
use it for a preset.

We can also add additional tests across a few presets to make sure that
we have sufficient coverage.
2026-05-29 15:10:13 +00:00
Jamie Tanna cbd174e128 docs: add a "deep dive" on environment variables (#43243)
As part of recent work around environment variable handling, it's clear
we should provide more user-facing documentation on how environment
variables are handled, and which are passed to child processes by
default.

We can create a "deep dive" page for this, with an autogenerated list of
the environment variables in `basicEnvVars` that are always passed to
child processes, if they're set.

We can also point self-hosted administrators and users alike to the
options they have to control this, too.

With help from GPT-4.1 for case-insensitive sorting.

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
Co-authored-by: gpt-4.1 <jamie.tanna+github-copilot@mend.io>
2026-05-29 15:09:28 +00:00
Jamie Tanna 6fb540d494 feat(config): support explicit .jsonc file (#43677)
* test(config): validate how many platform-specific filenames there are

As part of future changes, we're introducing `.jsonc` files.

Before we do this, we should make sure we have a test that fully
validates the platform-specific filenames for correct test coverage.

* feat(config): support explicit `.jsonc` file

As noted in #40868, and a follow-up to #36141, we should explicitly look
for a `.jsonc` file in the repository.
2026-05-29 14:00:36 +00:00
Felipe Santos 392105b7c6 chore(oxlint): enable unicorn plugin and prefer-node-protocol (#43283)
chore(oxlint): enable unicorn plugin and prefer-node-protocol
2026-05-29 06:55:58 +00:00
renovate[bot] f3ed6fb750 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.55.0 (main) (#43669)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.55.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.54.2 | 13.55.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-29 00:28:10 +00:00
renovate[bot] 05bd161ccd fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.54.2 (main) (#43668)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.54.2

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.54.1 | 13.54.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-28 23:29:33 +00:00
renovate[bot] 7b74cba8b0 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.54.1 (main) (#43667)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.54.1

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.54.0 | 13.54.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-28 22:28:10 +00:00
renovate[bot] 7929cc53c7 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.54.0 (main) (#43662)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.54.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.53.0 | 13.54.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-28 18:32:33 +00:00
renovate[bot] 675baee721 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.53.0 (main) (#43655)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.53.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.52.0 | 13.53.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-28 15:31:07 +00:00
Markus Schulte 9ae005bf71 feat(monorepo): Add solid-design-system/solid repository (#43649)
Within https://github.com/solid-design-system/solid the packages "tokens", "styles" and "components" are co-released.
2026-05-28 15:16:49 +00:00
Sander Jochems e0e1004f9f feat(monorepo): Add Tomcat monorepo (#43602)
feat(config): Add Tomcat monorepo
2026-05-28 06:28:57 +00:00
Sebastian Poxhofer e839b18e75 ci: normalize admonition indentation using mkdocs-admonition (#43630)
* ci: normalize admonition indentation using mkdocs-admonition

* test: remove duplicate tests
2026-05-27 15:46:16 +00:00
Björn Kautler 86a9fe507c fix(versioning/maven): do not insert hyphens in right range boundaries with transition (#43626)
* fix(maven): do not insert hyphens in right range boundaries with transition

* Review Feedback Vol. 1
2026-05-27 13:00:25 +00:00
RahulGautamSingh c116326bfd fix(config-migration): always reset migration info (#43628)
wrap in try/finally so reset is always called
2026-05-27 13:00:04 +00:00
Gianluca Mardente f481a9f14e feat(manager/sveltos): add Sveltos ClusterPromotion (#43612)
feat(manager): add Sveltos ClusterPromotion
2026-05-27 12:24:01 +00:00
Björn Kautler 950f9a40a7 fix(lookup): try to find a release for changelog by newVersion if not found by newValue (#38894)
* fix(lookup): try to find a release for changelog by newVersion if not found by newValue

* Review Feedback Vol. 1

* Review Feedback Vol. 2
2026-05-27 11:31:56 +00:00
Sebastian Poxhofer 9a27d7aa78 ci(prettier): add prettier plugin for admonitions (#43615)
* ci: add local mkdocs-admonitions plugin for prettier to allow admonition preservation

* docs: remove uses of `prettier-ignore` for admonitions

* test: rather use await expect

* chore: use named group exclusively
2026-05-27 09:39:52 +00:00
Björn Kautler 7829d94325 fix(maven): determine properly closed ranges (#38892)
* fix(maven): determing properly closed ranges

A Maven range like [1,2) contains various (usually pre-release) versions of the 2.x line.
By Maven definition the smallest possible 2.x version is 2-alpha, so a properly closed range that only allows 1.x versions
would be [1,2-alpha). This is now detected and properly advanced.

* Review Feedback Vol. 1

* Do not coerce as that will be fixed by #38895

* Ignore uncoverable if condition coverage

* Extract constant

* Review Feedback Vol. 2
2026-05-27 06:40:20 +00:00
renovate[bot] 07402e7e03 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.52.0 (main) (#43617)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.52.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.51.3 | 13.52.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-26 23:27:53 +00:00
renovate[bot] 24154eb71a build(deps): update dependency simple-git to v3.36.0 [security] (main) (#43122)
* build(deps): update dependency simple-git to v3.36.0 [security]

| datasource | package    | from   | to     |
| ---------- | ---------- | ------ | ------ |
| npm        | simple-git | 3.35.2 | 3.36.0 |

* chore(utils): set unsafe flags for SimpleGit (#43268)

* Enabled some unsafe flags for SimpleGit.

* Removed allowUnsafePager

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Dave <reduckted@outlook.com>
Co-authored-by: Sebastian Poxhofer <secustor@users.noreply.github.com>
2026-05-26 21:48:49 +00:00
Ethan Setnik afd16f7f7f fix(manager/circleci): parse config files as YAML 1.1 (#43551)
* docs(manager/circleci): document YAML merge key parsing limitation

Signed-off-by: Ethan Setnik <esetnik@gmail.com>

* fix(manager/circleci): parse config files as YAML 1.1

CircleCI processes config files as YAML 1.1, but Renovate parsed them
as YAML 1.2. Configs that use YAML 1.1 features failed to parse and
the entire file was silently skipped, dropping every `docker` and `orb`
dep in it.

The most common trigger is a mapping with more than one `<<` merge key,
which YAML 1.2 rejects as a duplicate key. CircleCI's own processor
allows it, since merge keys are a YAML 1.1 feature.

Pass `{ version: '1.1' }` to `parseSingleYaml` so the parser matches
CircleCI's behavior, and add a regression test that covers the
duplicate-merge-key case.

Replaces the workaround note added in the previous commit on this
branch (per review feedback) — the config-side `%YAML 1.1` directive is
no longer needed.

---------

Signed-off-by: Ethan Setnik <esetnik@gmail.com>
2026-05-26 21:10:42 +00:00
Jamie Tanna 33e857e04a docs: migrate all admonitions and lists to using 2-space indents (#43607)
* docs: ensure 2 spaces used for generated admonitions

As a follow-up to 4b0146ab7b and
1844916259b6dc17f532e491eb93f6116327c324., this correctly renders
admonitions with 2 spaces (1 indent).

* fixup! docs: use 2-space indentation for Markdown (#43537)

Plus using 3-space for mixed-style `<ul>` and `<ol>`s.

* fixup! docs: use 2-space indentation for Markdown (#43537)

As otherwise it breaks the rendering of the table.
2026-05-26 20:03:23 +00:00
Sebastian Poxhofer a1772c2a02 ci: do not allow nested tenary operators (#43600) 2026-05-26 17:36:20 +00:00
Jonas Dittrich 069ace8cc0 fix(manager/npm): allow dots in github dependency repo names (#43493)
* fix(manager/npm): allow dots in github dependency repo names

* fixup! use regEx for githubRepoRegex
2026-05-26 08:57:20 +00:00
Jamie Tanna 790d0f701c docs: add "previously known as" to renamed options (#43533)
* docs: add "previously known as" to renamed options

To provide a more searchable set of docs in the case that we migrate a
config option, we can introduce a `previouslyKnownAs` field in the
resulting generated documentation.

This allows someone to search for the previous name and find the new
option name.

For now we'll also not implement `RENOVATE_X_` variables.

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

* fixup! docs: add "previously known as" to renamed options

This is a more involved change, which requires we handle the custom
coersion for `RENOVATE_REPOSITORY_CACHE_FORCE_LOCAL`.

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

---------

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-05-26 08:10:58 +00:00
Sebastian Poxhofer d004b52a91 test: add coverage for lines detected by pnpm check (#43589)
tests: add coverage for lines detected by pnpm check
2026-05-26 07:53:07 +00:00
renovate[bot] 9ac8eed751 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.51.3 (main) (#43583)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.51.3

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.51.2 | 13.51.3 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-25 04:26:37 +00:00
renovate[bot] 3f15d2d139 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.51.2 (main) (#43578)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.51.2

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.51.1 | 13.51.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-25 01:27:46 +00:00
renovate[bot] 588e536282 docs: update references to python to 6928095 (main) (#43575)
docs: update references to python to 6928095

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-25 00:25:34 +00:00
renovate[bot] 76cd112cf5 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.51.1 (main) (#43568)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.51.1

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.51.0 | 13.51.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-24 11:25:45 +00:00
Martin Costello 8986a794be feat(datasource/github-runners): stabilize arm64 (#43538)
* feat(datasource/github-runners): stabilize arm64

Mark the Ubuntu ARM runners as stable.

* feat(datasource/github-runners): add test

Add test for upgrading ubuntu-22.04-arm runners.
2026-05-22 18:28:07 +00:00
Felipe Santos 2160f82c59 test: test config.cts with actual TypeScript syntax (#43526)
* test: test `config.cts` with actual TypeScript syntax

* Fix regex and improve comment
2026-05-22 16:37:12 +00:00
Martin Costello a0c9453e24 feat(datasource/github-runners): add windows-11-arm label (#43539)
* feat(datasource/github-runners): add windows-11-arm label

Add support for Windows 11 ARM runners in the GitHub Runners datasource.

* feat(datasource/github-runners): add test

Add test for extracting windows-11-arm runners.

* feat(datasource/github-runners): fix test

Update expected length.
2026-05-22 14:15:26 +00:00
Michael Hofmann 934c01dd62 feat(pip-compile): support --constraint alias and --overrides for uv (#43485)
* feat(pip-compile): support --constraint alias and --overrides for uv

uv accepts both --constraint and --constraints (clap aliases) and
records the exact form used into lockfile headers. Only --constraints
was in the uv allowlist, so --constraint headers were rejected.

Similarly, uv supports --override/--overrides for version overrides,
but neither form was recognized by Renovate at all.

This commit:
- adds --constraint to uvOptionsWithArguments (value handler already
  handles both forms)
- adds --override and --overrides to uvOptionsWithArguments with a
  value handler that parses overridesFiles
- tracks override files as dependencies in the file graph (like
  constraints) so lockfiles are recompiled when overrides change
- uses dotted mermaid edges for overrides (same as constraints)

Ref: https://github.com/renovatebot/renovate/discussions/39488
Co-authored-by: Cursor <cursoragent@cursor.com>

* test(pip-compile): add coverage for overrides dependency tracking

Add a test case in extract.spec.ts that exercises the overridesFiles
loop in extractAllPackageFiles, fixing the codecov/patch failure.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-22 12:45:23 +00:00
renovate[bot] cb2faa8c07 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.51.0 (main) (#43525)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.51.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.50.0 | 13.51.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-22 08:00:57 +00:00
Sergei Zharinov 6c6a6b793d refactor(cache): support package cache result predicate (#43519)
feat(cache): support package cache result predicate
2026-05-21 15:14:48 +00:00
Adam Wamai Egesa 6ad2cfc21d fix(datasource/rust-version): skip blank lines in manifests.txt (#43499)
* fix(datasource/rust-version): skip blank lines in manifests.txt

`https://static.rust-lang.org/manifests.txt` ends with a trailing
newline, so `response.body.split('\n')` always yields an empty final
element. `parseManifestUrl('')` returns `null`, which triggered the
`Failed to parse manifest URL` warning on every run. The warning then
surfaces as a `Repository Problems` entry on the Dependency Dashboard
for any repo with a rust-version-tracked dep (`rust-toolchain.toml`,
or a custom-regex manager pointing at the `rust-version` datasource).

Skip blank/whitespace-only lines silently; keep warning on genuinely
malformed non-empty lines (covered by the existing
"ignores unexpected URLs" test).

* docs(datasource): condense comment

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

* Remove accidental newline

---------

Co-authored-by: RahulGautamSingh <rahultesnik@gmail.com>
Co-authored-by: Jamie Tanna <github@jamietanna.co.uk>
2026-05-21 09:02:21 +00:00
renovate[bot] 0e804c3e59 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.50.0 (main) (#43507)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.50.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.49.3 | 13.50.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-21 08:30:39 +00:00
Bernd Schorgers eaf3c814ae feat(helmfile): Support release templates (#42968)
* feat(helmfile): Support release templates

* Process review comments

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

* fix missing import

---------

Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
2026-05-20 20:10:21 +00:00
Jamie Tanna 321965a7fa fix(config/validation): validate cacheTtlOverride keys are valid namespaces (#43478)
When we change configuration for what namespaces are possible to
override, there's no way for a self-hosted administrator to know this.

This leads to cases where an override can be left in configuration,
giving a false sense of security for caching.

Instead, we should inform self-hosted administrators when this happens,
using a config validation error, which will fail
`renovate-config-validator`, and add a WARN to the logs when failing.
2026-05-20 16:29:17 +00:00
Jamie Tanna 2d0bd99308 feat(self-hosted): make user-agent templatable (#43376)
* feat(self-hosted): make `user-agent` templatable

For Mend-hosted apps, it would be useful to provide a little bit more
information for where a Renovate HTTP request is coming from.

To provide more control over the generated field, we can make it
templatable, with the option to specify the `renovateVersion`.

As this now exposes Handlebars syntax to the user, we should be clear
that this `supportsTemplating`, and document with tests what this
allows.

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

* fixup! feat(self-hosted): make `user-agent` templatable

* fixup! feat(self-hosted): make `user-agent` templatable

As we're now returning the defaults in `GlobalConfig.get` calls.

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

---------

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-05-20 16:27:25 +00:00