Commit Graph

14403 Commits

Author SHA1 Message Date
Jamie Tanna d0deb9077e test(config/validation): remove platformConfig test (#43835)
As the test case appears to be wrong (we return an error, not a warning)
and doesn't seem to be exercising a field we've had available in recent
Renovate releases, since this test was introduced in
bb6c27faf8.
2026-06-06 08:50:00 +00:00
RahulGautamSingh 4f7eed4273 feat(manager/nuget): default rangeStrategy to bump (#43820)
* docs(manager/nuget): treat bare-version as range

* nuget: default rangeStrategy to bump

* Update lib/modules/manager/nuget/index.ts

Co-authored-by: Jamie Tanna <github@jamietanna.co.uk>

* apply suggestions

---------

Co-authored-by: Jamie Tanna <github@jamietanna.co.uk>
2026-06-05 20:22:22 +00:00
Jamie Tanna 8c6a8d82e5 test(workers/global): fix typo (#43838) 2026-06-05 16:18:19 +00:00
Jamie Tanna 4bf6bd9b92 docs(manger/github-actions): reword "community actions" section (#43829)
* docs(manger/github-actions): reword "community actions" section

As some follow-ups to 27a3f5871f, we
can slightly reword the intro to add some more information about what
these target.

* docs(manager/github-actions): document why there may not be a `packageName`

* docs(manager/github-actions): generate a table for Actions and their `with`s

To provide further clarity on how each of the Actions' `with`s are used,
we can make this more explicit in our autogenerated docs, providing:

- which field(s) are extracted, taken from their Zod schema (with help
  from Claude Opus to extract this)
- note the dependency updating, and where it may be determined from the
  given `withSchema`

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

---------

Co-authored-by: Claude Opus 4.7 <jamie.tanna+claude-code@mend.io>
2026-06-05 16:05:15 +00:00
Sebastian Poxhofer 5835388020 fix(conda/pypi): allow nullable strings (#43834)
* fix(conda/pypi): allow nullable strings

* fix failing tests from main
2026-06-05 15:46:24 +00:00
Jamie Tanna 6e411730a0 test(config/validation): validate all warnings/errors (#43832)
* test(config/validation): remove `platformConfig` test

As the test case appears to be wrong (we return an error, not a warning)
and doesn't seem to be exercising a field we've had available in recent
Renovate releases, since this test was introduced in
bb6c27faf8.

* test(config/validation): use a valid cache namespace for test

To prevent unnecessary errors, when we start validating all
`warnings`/`errors`.

* test(config/validation): validate all `warnings`/`errors`

To make sure that we've got coverage to shows us any potential breaking
changes as new validation is added.

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

---------

Co-authored-by: Claude Opus 4.7 <jamie.tanna+claude-code@mend.io>
2026-06-05 13:39:14 +00:00
Alex Thomae c3998a3b91 test(datasource/pypi): cover null and missing home_page (#43828)
Add regression tests for the fix that allows a null or missing
home_page in PyPI JSON responses (#43814). Covers both the schema
parser and the datasource, asserting that homepage is left unset and
sourceUrl/changelogUrl fall back to project_urls when home_page is null.
2026-06-05 12:43:01 +00:00
Alex Thomae 1c3a16c6a5 fix(datasource/pypi): allow null home_page in PyPI JSON response (#43814)
* fix(datasource/pypi): allow null home_page in PyPI JSON response

PyPI returns "home_page": null for projects that declare only
project_urls. The strict z.string().optional() schema threw a ZodError
in getDependency, aborting the JSON-API lookup and resolving such
packages to no-result. Use .nullish() to accept null, matching how
requires_python already handles PyPI's nulls.

* fix(datasource/pypi): allow missing home_page in PyPI JSON response

Apply the suggestion to chain `.optional()` and `.nullish()`.
2026-06-05 11:34:34 +00:00
Jamie Tanna b0d84ad60a test(config/validation): explicitly check error/warning messages (#43799)
* test(config/validation): explicitly check error/warning messages

Previously, we had a number of tests checking for i.e.
`expect(warnings).toHaveLength(1);` which wouldn't necessarily be the
warning that we were expecting to see, nor would break if the message
changed (un)intentionally.

We can refactor this and:

- assert on the contents of `errors`/`warnings`
- check the `topic` only if it's interesting - for instance if it's a
  `Configuration Error`, but under `warnings`
- removed a `bumpVersion` test that doesn't make sense
- removed snapshot tests

This also reduces our usage of snapshot tests, as we're trying to remove
them where possible.

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

* test(config/validation): use `toBeEmptyArray`

As it's a little clearer when looking in the file, and asserts that it's
an array.

* test(config/validation): expect new validation errors

---------

Co-authored-by: Claude Opus 4.7 <jamie.tanna+claude-code@mend.io>
2026-06-05 09:36:11 +00:00
Jamie Tanna 7a87094daa test(config): ensure no default options require migrating (#43806)
As a follow-up to #43804, we can make sure that our configuration no
longer needs migrations.

If there are migrations needed, we can see the resulting configuration
and amend it.
2026-06-05 09:35:04 +00:00
renovate[bot] 059d4fe086 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.56.4 (main) (#43824)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.56.4

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.56.3 | 13.56.4 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-05 09:29:58 +00:00
Alberto Pose c91f9f3bc9 fix(config): remove deprecated rebaseStalePrs from lockFileMaintenance default (#43804)
* fix(config): drop removed rebaseStalePrs from lockFileMaintenance default

* fix(config): set rebaseWhen behind-base-branch in lockFileMaintenance default

The previous commit only removed rebaseStalePrs. Restore the default's
intent by setting its documented equivalent rebaseWhen: behind-base-branch
(the same mapping used by the rebaseStalePrs migration and the
:rebaseStalePrs preset).

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

* fix(config): just remove deprecated rebaseStalePrs, no default change

Per maintainer feedback on the PR: keep this to removing the dead key
so lockFileMaintenance keeps tracking the global rebaseWhen default.
Revisit behind-base-branch in a future major.

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

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 09:20:02 +00:00
Michael Kriese 27a3f5871f feat(github-actions): add community actions (#43821)
* feat(github-actions): add community actions

* test: fix test
2026-06-05 08:23:11 +00:00
Jamie Tanna 981df6afdb test(config/validation): remove untested bumpVersions code (#39710)
The test for this has been broken for some time, and only highlighted
when we start to look at the reason the test is failing - we're
providing a `bumpVersion` but we're intending it to be the
`bumpVersions` config.

Even if we fix the code, this then highlights that we have no validation
code in place, so the tests fail.

We'll follow-up to re-add validation in the future, but for now we can
remove a test that isn't testing what we're intending it to.
2026-06-04 20:57:34 +00:00
ericli-splunk e84d2dbec1 docs: update pip-compile project URL (#43816)
* Update pip-compile project URL

* Fix linting
2026-06-04 20:56:10 +00:00
Jamie Tanna 83bba0e48a fix(config): clarify that bumpVersions.bumpType supports templating (#43805) 2026-06-04 17:10:51 +00:00
Jamie Tanna 309af5aac3 fix(config): mark relevant options with patternMatch (#43798)
As part of future changes, we want to perform strict validation on
the `allowedValues` for all config options as part of Config Validation.

Before we do this, per #40805, we should make sure that the config
options are all marked accordingly.

The list of relevant config options that support pattern matching has
been determined by Claude Opus.

Co-authored-by: Claude Opus 4.7 <jamie.tanna+claude-code@mend.io>
2026-06-04 17:10:26 +00:00
Mike Ryan 8bbce59ece fix(datasource/npm): tolerate non-string time entries in packument (#43779)
* fix(datasource/npm): tolerate non-string `time` entries in packument

JFrog Artifactory npm registries emit `"unpublished": null` under the
packument `time` field. Since the schema declared `time` values as
`z.string()`, the `null` failed validation and Zod rejected the entire
packument, so every package lookup returned no-result.

Strip non-string `time` entries via a shared `PackumentTime` transform so
a stray metadata key cannot invalidate the whole packument, while keeping
the real version->timestamp entries the datasource relies on.

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

* refactor(datasource/npm): use LooseRecord for packument time

Per PR review.

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

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 14:04:51 +00:00
renovate[bot] 1a5025efb0 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.56.3 (main) (#43797)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.56.3

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.56.2 | 13.56.3 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-04 12:32:09 +00:00
Sullivan S. f60b6930bf feat(presets): stylelint packages group (#43351)
Stylelint come with two official config packages maintained separately.

However, some major release of one of the config packages require the
latest major release of the stylelint tool and vice versa.

On that case, Renovate will propose separated update merge requests that
will never be solvable because of dependencies conflict during npm
install.

Also, as stylelint is not a mono-repo and use a completly different
releases history from its related config package, we MUST ensure
major/minor separation is deactivated to get the group process working
correctly.
2026-06-04 08:46:30 +00:00
renovate[bot] 12b6f16691 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.56.2 (main) (#43752)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.56.2

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.55.5 | 13.56.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-04 04:57:53 +00:00
Sebastian Poxhofer c908d078ef fix(datasource): replace getJsonUnchecked in npm/Node/PyPI/Go (#43699)
* fix(datasource): replace getJsonUnchecked with validated getJson in npm/Node/PyPI/Go

Replace all getJsonUnchecked calls in npm, Node.js, PyPI, and Go datasources
with Zod-validated getJson calls:

- datasource/npm: add NpmResponseSchema to schema.ts (shared with presets)
- config/presets/npm: migrate to NpmResponseSchema with passthrough version fields
- datasource/node-version: add NodeReleasesSchema using LooseArray
- datasource/pypi: add PypiJSONSchema (nullable+catch for lenient empty-body handling)
- datasource/go: add VersionInfoSchema for both versionInfo and getLatestVersion calls

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* some manual cleaning up

* removing schema level catch

* removing some more types

* refactor: rename schema

* fix linter errors

* remove schema suffix which hasn't been catched by linter

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03 19:14:50 +00:00
Gregor Zeitlinger 0338dd74ba fix(mise): require allowlisting for lock updates (#43606)
* fix(mise): trust Renovate repo checkout during lock file updates

* docs(mise): document trusted config paths for lock updates

* refactor(mise): sanitize config files for lock updates

* test(mise): cover sanitized lock update flow

* docs(mise): describe sanitized lock update flow

* test(mise): cover sanitize failure paths

* fix(mise): clarify mirror read coverage

* fix(mise): allowlist mirrored settings

* test(mise): fix schema and integration specs

* fix(mise): trust only sanitized mirror workspace

* test(mise): fix mirrored cwd type narrowing

* test(mise): focus coverage on sanitized mirror flow

* test(mise): cover recursive settings schema

* fix(mise): ignore misreported lcov branch

* test(mise): remove redundant integration gate

* test(mise): drop local integration spec

* fix(mise): gate lock updates as unsafe execution

* fix(mise): restore settings schema typing

* fix(mise): generalize unsafe execution to mise

Rename allowedUnsafeExecutions value miseLock -> mise since any mise
command reading repo config can execute arbitrary code, not just
mise lock. Drop unused smol-toml dependency left over from the
abandoned config-sanitize approach.

Addresses PR review feedback.

* fix(mise): drop unused settings schema parsing

Nothing reads MiseFile.settings — the lock-update flow gates on
allowedUnsafeExecutions and relies on CI=true auto-trust, not config
sanitization. Remove the dead schema + tests per review.

Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>

* fix(mise): trust repo config via trusted paths

* fix(mise): explicitly trust config before lock

---------

Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
2026-06-03 16:17:46 +00:00
Sebastian Poxhofer 3ed45d1efd refactor(misc): remove getJsonUnchecked usages (#43696)
* fix(datasource): replace getJsonUnchecked with validated getJson in misc+merge-confidence group

Replaces all getJsonUnchecked calls with Zod-validated getJson calls in:
- crate: adds CrateMetadataSchema to existing schema.ts
- conan: uses existing ConanJSON schema directly
- puppet-forge: new schema.ts with PuppetModuleSchema
- conda: new schema.ts with CondaPackageSchema
- repology: new schema.ts with RepologyPackagesSchema
- jenkins-plugins: new schema.ts, parameterizes helper with ZodType<T>
- custom/formats/json: uses z.unknown() for user-defined responses
- merge-confidence: adds inline MergeConfidenceResponseSchema

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: correct nullable/optional schema fields for crate, jenkins-plugins, puppet-forge

- crate: remove .optional() from all CrateMetadata fields to match string|null type
- jenkins-plugins: use .default({}) instead of .optional() for plugins fields so schemas match required Record types; widen ZodType input to unknown; update JenkinsPluginVersion.releaseTimestamp to Timestamp|null to match MaybeTimestamp output
- puppet-forge: change releases from .optional() to .default([]) to match Release[] type

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: migrate zod/v3 imports to zod/v4 in misc datasources and merge-confidence

Update remaining zod/v3 imports in files added/modified by the getJsonUnchecked
migration to use zod/v4 as required after the upstream migration.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore minor improvements

* remove unnecessary types and reintroduce nullable where necessary

* refactor: move logic into transform

* test: add tests to improve coverage

* chore removed some unused types

* remove type declaration

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03 15:58:20 +00:00
RahulGautamSingh eaa2cea3e1 feat(platform/azure): add dependency dashboard support (#42758)
* Add support for Azure DevOps in dependency dashboards feature

related #9592

* Add missing test for got wrapper

* Apply all current CR suggestions

* fix: resolve eslint and tsx issues in Azure platform code

* test: add coverage for issue.number undefined cases

Add test cases to ensure proper handling when:
- Trying to reopen an issue without a number
- Trying to update an issue without a number

This improves code coverage for the null checks added in previous commit.

* test: fix and add tests of azure/issue.ts to up coverage

there was mismatch in mock resulting in testing of different code branch

* refactor: address review feedback

* fix: type-check

* refactor: address review feedback round 2

* apply suggestions

* Apply suggestions from code review

Co-authored-by: Sebastian Poxhofer <secustor@users.noreply.github.com>

* refactor: use partial helper and remove host-rules mock in issue.spec.ts

* more changes from suggestions

* Update lib/modules/platform/azure/issue.spec.ts

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

---------

Co-authored-by: Viktorie Novotná <viktorie.novotna@drmax.eu>
Co-authored-by: Sebastian Poxhofer <secustor@users.noreply.github.com>
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2026-06-03 15:56:14 +00:00
Sebastian Poxhofer a2b1a4c585 ci(linter): detect schema suffixes even when using schema-utils (#43768)
* test(zod-schema): detect zod schemas helpers based on location in `schema-utils`

* fix the findings
2026-06-03 15:42:57 +00:00
RahulGautamSingh adc224de12 fix(manager/npm): use multi-doc parsing to get pnpm lockfile (#43503)
* use multi-doc parsing

* Update lib/modules/manager/npm/extract/pnpm.ts

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

---------

Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2026-06-03 15:18:34 +00:00
Sebastian Poxhofer be4d2e0892 refactor(nuget): replace getJsonUnchecked with schema validated getJson (#43700)
* fix(nuget): replace getJsonUnchecked with validated getJson

Migrate NuGet v3 datasource from unvalidated HTTP responses to Zod-schema
validated ones. Creates schema.ts with ServicesIndexRaw, CatalogPage, and
PackageRegistration schemas derived from the existing TypeScript interfaces.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(nuget): migrate zod import from v3 to v4

Update schema.ts to use 'zod/v4' instead of 'zod/v3' following the
upstream migration in renovatebot/renovate PR #43691.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: some manual improvements

* refactor: rename schema

* fix linter errors

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03 12:26:44 +00:00
Sebastian Poxhofer 783cbee6a4 refactor(terraform): replace getJsonUnchecked with schema validated getJson (#43759)
* fix(terraform-provider): replace getJsonUnchecked with validated getJson

Convert all five TypeScript interfaces (TerraformProviderVersions,
TerraformProviderReleaseBackend, TerraformRegistryVersions,
TerraformRegistryBuildResponse, VersionDetailResponse) to co-located
Zod schemas in schema.ts and update all five call sites in index.ts to
use the typed http.getJson() overload. Types are now derived with
z.infer<> to prevent interface/schema drift.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix linting errors

* remove types

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03 11:27:42 +00:00
Jamie Tanna 27a65ebea8 test(workers/repository): simplify config hash tests for onboarding (#43757)
As part of future changes, we'll be making further tweaks to how the
onboarding PR is generated.

However, recent changes to the onboarding PR has proved that the
generation of the hash is quite awkward to work with.

We can use Claude Sonnet's help to refactor this and introduce a test
that helps us understand what the new hashes should be if there are
changes.

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-06-03 10:43:17 +00:00
Sebastian Poxhofer 06a8bdf7b3 refactor(datasource/bitbucket): add schema validation for request (#43673)
* refactor(datasource/bitbucket): remove getJsonUnchecked

* fix: use zod v4
2026-06-03 10:18:27 +00:00
Sebastian Poxhofer ef557aca81 fix(datasource): replace getJsonUnchecked in Java, Gradle, Dart, and Flutter (#43697)
* fix(datasource): replace getJsonUnchecked with validated getJson in Java, Gradle, Dart, and Flutter datasources

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* refactor: remove .nullable()

* fix linter errors

* chore removed some unused types

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03 10:02:09 +00:00
Jamie Tanna bcecdadedc fix(workers/repository): correctly render schedule for vulnerability alerts (#43743)
* test(workers/repository): use more explicit test case

Otherwise this could pass unnecessarily if either `schedule` or
`automergeScheudle` renders to this.

* test(workers/repository): document `force` doesn't apply in this function

As it should've been performed higher up in the configuration merging.

* fix(workers/repository): correctly render `schedule` for vulnerability alerts

Otherwise we see i.e.

  - Branch creation
    - ""
  - Automerge
    - At any time (no schedule defined)
2026-06-03 06:41:09 +00:00
renovate[bot] 160e9f9bb8 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.55.6 (main) (#43751)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.55.6

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.55.4 | 13.55.6 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-03 04:25:49 +00:00
Jamie Tanna 8fa3d5b4fc fix(workers/repository): don't re-process init error (#43745)
When the `init` phase encounters an error, we're currently processing it
twice.

This leads to "Action Required" Issues losing any error context (as only
the `errorRes`, not the full `error` is returned), making them much less
useful.

We can refactor to:

- not duplicate the handling
- pass around the full `error` so we can log it outside of the `init`
  phase

As noted in #43558.
2026-06-02 17:02:43 +00:00
Jamie Tanna b0eaed712e chore(workers/repository): instrument handleError (#43746)
As it was useful in debugging #43745's multiple calls to raise an
"Action Required" configuration warning.
2026-06-02 16:55:14 +00:00
Jacob Asper da3e77cb9d feat(mise): extract task tools (#43721)
* feat(mise): extract task tools

* docs: update mise documentation to include task scoped tools
2026-06-02 13:34:54 +00:00
Jamie Tanna 128f446e08 docs: ensure that config in documentation is error and warning free (#43727)
* docs: skip validation on JSON files that aren't Renovate config

As part of future changes, we'll enable validation on all JSON code
snippets to run Config Validation.

Before we do that, we should opt-out JSON snippets that aren't anything
related to Renovate config.

* docs: don't validate invalid Renovate config

As it's intentionally referencing a manager that doesn't exist.

* docs: don't validate partial Renovate config

As part of future changes, we'll enable validation on all JSON code
snippets to run Config Validation.

There are several code snippets we have that are part of a Renovate JSON,
but it doesn't make sense to convert these to a fully passing config, as
it'd reduce clarity on what we're trying to explain.

* docs: convert `baseBranchPatterns` snippets to code blocks

So we can validate them.

* docs: make sure that `datasourceTemplate` is set

So this passes validation.

* docs: clarify that `force` is global config

As it may not be clear, so we can make it extra clear with a `.js` file,
and note that it's global self-hosted config.

* docs: make sure `packageRules` is an array

* docs: `matchBaseBranches` needs `baseBranchPatterns` to be set

* docs: correct typo for `prBodyColumns`

* docs: mark global config snippets as such

As part of future changes, we'll use this to detect whether it's global
self-hosted configuration.

* docs: make sure `packageRules` wraps its children

* docs: add `allowedHeaders`

* docs: ignore deprecation warnings

As part of future changes, we'll use this to note that we don't care
about the validation warnings.

* docs: make sure `customManagers` wraps its children

* docs: make sure `fleet` wraps its children

* docs: validate JSON snippets are valid Renovate config

To make sure that we're always presenting valid JSON configuration to
our users, we can validate them as part of `check-fenced-code`.

As well as configuration errors we can warn for warnings, but allow code
blocks to opt-out, for instance when there's a known deprecation
affecting the code block.

We need to make sure to set `allowedEnv` for various code snippets that
reference environment variables.

* docs(development): document fenced code block checks

* docs: wrap `configType` and `ignoreConfigWarnings` in `{ ... }`

As otherwise we see build failures i.e.

    WARNING -  Doc file 'modules/platform/gitlab/index.md' contains a link
       '../../../self-hosted-configuration.md#autodiscoverrepoorder', but the doc
       'self-hosted-configuration.md' does not contain an anchor '#autodiscoverrepoorder'.

This needs to be wrapped alongside all other options like `title`.

* fixup! docs: wrap `configType` and `ignoreConfigWarnings` in `{ ... }`
2026-06-02 13:29:48 +00:00
Michael Kriese 058faaa872 fix(worker/lookup): don't use a range as current version (#43737) 2026-06-02 12:46:05 +00:00
Sebastian Poxhofer 914c64afbd test(linter): zod schema and infered type naming rule (#43736)
* ci: add linting rule for schema and infered types

* refactor: remove usages of Schema and differently named types
2026-06-02 12:07:35 +00:00
Jamie Tanna a9a47c3a6c fix(validation): allow globs and regexes in cacheTtlOverride (#43734)
This was a regression as part of
321965a7fa, which inadvertently made the
validation too strict.

We can make sure that we use the example config we use in our
documentation to indicate what should be possible.
2026-06-02 11:19:11 +00:00
Jamie Tanna 16c4b9348e fix(config-validator): correctly warn when no files are being validated (#43732)
As this was previously firing if `returnVal !== 0`, even if there were
files being validated.
2026-06-02 11:10:24 +00:00
Felipe Santos e5b0950c58 feat: apply group settings when only one update is present (#43629)
* feat: add `groupSingleUpdates` option

* Add test coverage for comment

* Remove extra documentation, the description should probably be enough

* Group single updates by default

* Increment docs
2026-06-02 09:21:59 +00:00
renovate[bot] a65e279846 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.55.4 (main) (#43720)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.55.4

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.55.2 | 13.55.4 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-01 20:31:42 +00:00
renovate[bot] c17741fabe fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.55.2 (main) (#43717)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.55.2

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-01 16:25:43 +00:00
Jamie Tanna 1f5acc0c89 fix(util/http): remove workaround for onCancel (#43713)
* fix(util/http): remove workaround for `onCancel`

As we're now past the necessary verison of Got, we can remove this
workaround.

* fixup! fix(util/http): remove workaround for `onCancel`
2026-06-01 14:48:27 +00:00
Sergei Zharinov 8a7d6b9e2c fix(datasource/docker): avoid caching null digest results (#43521) 2026-06-01 11:55:16 +00:00
Jamie Tanna 87b4a04a00 feat(presets): link to Octochangelog for updates to Renovate itself (#43712)
* feat(presets): link to Octochangelog for updates to Renovate itself

Related to #41809, and a recommendation I personally have for folks
updating their version of Renovate via Renovate, we can use
Octochangelog to provide a nicer breakdown of Renovate CLI release
notes, grouping them by headers i.e. "Features" and "Bug Fixes" across
all version(s) being updated.

This overrides the default link i.e.

```
https://app.renovatebot.com/package-diff?name=renovate&from=43.198.0&to=43.206.1
```

to:

```
https://octochangelog.com/compare?repo=renovatebot%2Frenovate&from=43.198.0&to=43.206.1
```

As this is a strong recommendation, we add it into `config:recommended`.

* fixup! feat(presets): link to Octochangelog for updates to Renovate itself
2026-06-01 11:13:11 +00:00
Felipe Santos 80690bfab9 fix(types): allow gitUrl in global config (#43652)
* fix(types): allow `gitUrl` in global config

* Keep it in repo config otherwise platform init won't have it

* Set the type in RenovateConfig instead

* Move to AllConfig
2026-06-01 09:14:00 +00:00
Michael Kriese 3afdb6ff5f build: replace extract-zip with adm-zip (#43709) 2026-06-01 09:05:54 +00:00