Commit Graph

2759 Commits

Author SHA1 Message Date
secustor 98f1bedead feat(config)!: remove deprecated hostRules.dnsCache option
The option has had no effect since v38.0.0. Existing configs are migrated to drop it.
2026-10-19 11:31:31 +00:00
Sebastian Poxhofer 110e3a0b49 docs: mark hostRules.dnsCache as having no effect (#47159) 2026-10-19 11:23:46 +00:00
renovate[bot] 8e1c91fb11 docs: update references to otel/opentelemetry-collector-contrib to v0.163.1 (main) (#47149)
docs: update references to otel/opentelemetry-collector-contrib to v0.163.1

| datasource | package                              | from    | to      |
| ---------- | ------------------------------------ | ------- | ------- |
| docker     | otel/opentelemetry-collector-contrib | 0.161.0 | 0.163.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-10-19 00:20:19 +00:00
Adam Setch 7f4fa601fc docs: abandoned prs (#44984)
* docs: abandoned PRs

Signed-off-by: Adam Setch <adam.setch@outlook.com>

* docs: abandoned PRs

Signed-off-by: Adam Setch <adam.setch@outlook.com>

* docs: abandoned PRs

Signed-off-by: Adam Setch <adam.setch@outlook.com>

* docs: abandoned PRs

Signed-off-by: Adam Setch <adam.setch@outlook.com>

* Update docs/usage/key-concepts/pull-requests.md

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

* Update docs/usage/key-concepts/pull-requests.md

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

* docs: clarify abandoned PR wording

Signed-off-by: Adam Setch <adam.setch@outlook.com>

---------

Signed-off-by: Adam Setch <adam.setch@outlook.com>
Co-authored-by: RahulGautamSingh <rahultesnik@gmail.com>
2026-10-18 08:10:39 +00:00
Sebastian Poxhofer 0423ab2460 build: detect unused dependencies with knip (#47129)
Add knip, run it in lint and CI, and remove the dependencies it reports
as unused.
2026-10-17 09:10:20 +00:00
Michael Kriese 969b3cb162 fix(util/git): use non-empty passwords for token credentials on more platforms (#47085)
* fix(util/git): use non-empty passwords for token credentials on more platforms

Co-Authored-By: Claude Opus 5.5 <michael.kriese+claude-code@mend.io>

Co-Authored-By: Claude Sonnet 5.5 <michael.kriese+claude-code@mend.io>

* docs: update git token host rule notes

Co-Authored-By: Claude Opus 5.5 <michael.kriese+claude-code@mend.io>

Co-Authored-By: Claude Sonnet 5.5 <michael.kriese+claude-code@mend.io>

---------

Co-authored-by: Claude Sonnet 5.5 <michael.kriese+claude-code@mend.io>
2026-10-15 13:42:10 +00:00
Jamie Tanna 0876273a37 feat(datasource/go): look up modules from a go-import mod proxy (#47044)
* feat(datasource/go): look up modules from a `go-import` `mod` proxy

When interacting with a Go module, a host can advertise that a module is
served by a Go module proxy, instead of a Version Control System (VCS),
by noting the following in the `go-import` HTML meta tag:

    <meta name="go-import" content="bsr.example.com/gen/go mod https://bsr.example.com/gen/go">

Previously, we only handled the `git` protocol, which would lead to
users integrating with a (private) Buf Schema Registry (BSR) not being
able to download generated Go modules.

When interacting with public Go modules on `buf.build`, these are served
successfully through `proxy.golang.org`, but a private BSR can't be
routed through the public proxy, and therefore fail to be looked up.

We should instead follow how `go` does it[0] and add support for
directly calling a `mod` proxy.

We leverage `getDirectReleases()`s' checks to make sure we don't
try and follow this flow when we're on a "known" host, i.e. if we're
pulling a module called `github.com/...` or a vanity domain package name
that resolves to `gitlab.com`.

The `?go-get=1` will keep the in-memory HTTP cache's result.

[0]: https://go.dev/ref/mod#serving-from-proxy

Co-Authored-By: Claude Opus 5.5 <jamie.tanna+claude-code@mend.io>

* fixup! feat(datasource/go): look up modules from a `go-import` `mod` proxy

fixup! feat(datasource/go): look up modules from a `go-import` `mod` proxy

Co-Authored-By: Claude Sonnet 5.5 <jamie.tanna+claude-code@mend.io>

* fixup! feat(datasource/go): look up modules from a `go-import` `mod` proxy

* fixup! feat(datasource/go): look up modules from a `go-import` `mod` proxy

---------

Co-authored-by: Claude Opus 5.5 <jamie.tanna+claude-code@mend.io>
2026-10-15 11:31:04 +00:00
RahulGautamSingh 5a3bfc0237 fix(workers/reconfigure): pass default branch to extraction config (#46997)
* fix(workers/reconfigure): pass default branch to extraction config

* docs: note reconfigure branch only previews config changes
2026-10-13 13:14:13 +00:00
Abizer Luqmanji 109fc99c4c docs: Correct platform feature support table for Dependency Dashboard (#46777)
* docs: Correct platform feature support for Dependency Dashboard

Azure supports Dependency Dashboard

* Fix formatting in FAQ markdown table

* Remove empty column

* Add line

* Remove empty line
2026-10-13 13:07:16 +00:00
Alexander Lindeskär cf46a67d9a fix(workers/global): apply hostRules and internalHostAccess when resolving globalExtends (#46666)
* fix(workers/global): apply `hostRules` and `internalHostAccess` when resolving `globalExtends`

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(workers/global): resolve admin hostRules per rule for globalExtends and share the HTTP GlobalConfig keys

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 15:54:47 +00:00
renovate[bot] cb8a6d6975 docs: update references to jaegertracing/jaeger to v2.22.0 (main) (#46934)
docs: update references to jaegertracing/jaeger to v2.22.0

| datasource | package              | from   | to     |
| ---------- | -------------------- | ------ | ------ |
| docker     | jaegertracing/jaeger | 2.21.0 | 2.22.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-10-12 03:24:25 +00:00
renovate[bot] 9c127ee6cf docs: update references to renovatebot/github-action to v46.3.8 (main) (#46931)
docs: update references to renovatebot/github-action to v46.3.8

| datasource  | package                   | from    | to      |
| ----------- | ------------------------- | ------- | ------- |
| github-tags | renovatebot/github-action | v46.3.7 | v46.3.8 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-10-12 02:23:13 +00:00
Jamie Tanna 05ec2f8d5e docs(docker-build-process): remove Containerbase Sidecar image (#46880)
As part [0], we removed the dependency on the sidecar image, so we need
to reflect this in our docs.

[0]: https://github.com/renovatebot/base-image/pull/3605
2026-10-09 15:05:28 +00:00
Michael Kriese d071998a8d feat(config): merge mergeable env options with RENOVATE_CONFIG (#46844)
Single env variables for mergeable options now combine with the value in
`RENOVATE_CONFIG` instead of replacing it: lists are appended and objects
are shallow-merged, with the env variable winning for shared keys.
Non-mergeable options are still replaced. This extends the `hostRules`
and `customManagers` handling to every mergeable option, e.g.
`packageRules`, `addLabels` and `registryAliases`.

Co-authored-by: Claude Opus 5.5 <michael.kriese+claude-code@mend.io>
2026-10-08 14:19:31 +00:00
RahulGautamSingh 23272951d6 feat(manager/gradle): support rich version constraints in the Groovy/Kotlin DSL (#46498)
* refactor(manager/gradle): add helper for matching `group:artifact` strings

As part of follow-up changes, we'll extract dependencies whose version
is declared separately from their coordinates, so we need a way to
validate a bare `group:artifact` notation. `isDependencyString` can't
be used, as it requires a version to be present.

This isn't currently used.

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

* feat(manager/gradle): support rich version constraints in the Groovy/Kotlin DSL

As noted in discussion #45481, Renovate doesn't extract dependencies
whose version comes from a Gradle rich version constraint[0], so a
`strictly` pin never receives updates - not even for a security fix:

```groovy
dependencies {
    implementation('org.slf4j:slf4j-api') {
        version {
            strictly '[1.7, 1.8['
        }
    }
}
```

The version catalog extractor already handles rich versions, so the
missing piece is the `version { ... }` block in the Groovy and Kotlin
DSLs.

Renovate can only rewrite a single version literal per dependency, so
we pick one constraint to update and record which one in
`managerData.versionConstraint`:

- `strictly` -> bump `strictly`
- `strictly` (single version) + `prefer` -> bump `strictly`, as `prefer`
  is inert when there's nothing to choose between
- `require`, optionally with `prefer` -> bump `require`, as `prefer` is
  only a hint and may not be what gets resolved
- `prefer` alone -> bump `prefer`
- `require` + `strictly` -> skip as `multiple-constraint-dep`, as Gradle
  applies `require()` before `strictly()`, so bumping only `strictly`
  would leave the `require` literal behind as stale text
- `strictly` range + `prefer` -> skip as `multiple-constraint-dep`, as
  `prefer` has to keep pointing inside the range and we can't move both
- anything with `reject`/`rejectAll` -> skip as `unsupported-version`,
  matching what the version catalog extractor already does

As `strictly` and `prefer` pin a version on purpose, updating them by
default would be surprising, so those deps are extracted with
`enabled: false` - meaning they only receive updates for vulnerability
alerts, which force through. Users who want regular updates can opt in
with a package rule matching `managerData.versionConstraint`, similar to
how `manager/gomod` handles `depType: indirect`. A `require` constraint
means the same thing as a plain version declaration, so it is updated
like any other dependency.

This doesn't unify behaviour with version catalogs, which extract a
single `require`/`prefer`/`strictly` and update it without disabling it.
Aligning them would take away updates users get today, so that's left as
a separate decision.

The `!!` shorthand (i.e. `foo:bar:1.7.25!!`) is untouched - it already
extracts as an opaque version string. Rich versions declared in the
Groovy/Kotlin `versionCatalogs { }` builder, as opposed to TOML, are
still dropped silently.

[0]: https://docs.gradle.org/current/userguide/dependency_versions.html#sec:rich-version-constraints

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

* fix(vulnerabilities): raise fixes for deps their manager disables by default

* test(workers/fetch): set packageName on disabled-dep fixtures

* test(manager/gradle): assert enabled is not set

---------

Co-authored-by: Jamie Tanna <jamie.tanna@mend.io>
Co-authored-by: Claude Opus 5 <jamie.tanna+claude-code@mend.io>
2026-10-05 13:24:06 +00:00
RahulGautamSingh 215433f311 fix(vulnerabilities): raise fixes for deps their manager disables by default (#46761) 2026-10-05 12:46:38 +00:00
renovate[bot] 2d9b01bb40 docs: update references to renovatebot/github-action to v46.3.7 (main) (#46749)
docs: update references to renovatebot/github-action to v46.3.7

| datasource  | package                   | from    | to      |
| ----------- | ------------------------- | ------- | ------- |
| github-tags | renovatebot/github-action | v46.3.6 | v46.3.7 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-10-05 03:23:08 +00:00
renovate[bot] 0e323220ec docs: update references to renovate/renovate (main) (#46745)
docs: update references to renovate/renovate

| datasource | package           | from      | to       |
| ---------- | ----------------- | --------- | -------- |
| docker     | renovate/renovate | 44.115.13 | 44.133.0 |
| docker     | renovate/renovate | 44.115    | 44.133   |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-10-05 01:23:55 +00:00
renovate[bot] f6b64f8fbc docs: update references to renovatebot/github-action to v46.3.6 (main) (#46744)
docs: update references to renovatebot/github-action to v46.3.6

| datasource  | package                   | from    | to      |
| ----------- | ------------------------- | ------- | ------- |
| github-tags | renovatebot/github-action | v46.3.5 | v46.3.6 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-10-05 00:24:20 +00:00
y.takahashi ff0e5eed24 feat(npm): support devEngines.runtime and devEngines.packageManager (#43369)
* feat(npm): extract devEngines.runtime and devEngines.packageManager

Adds extraction for the npm devEngines field
(https://docs.npmjs.com/cli/v11/configuring-npm/package-json#devengines)
covering both single-object and array forms. Uses dot-notated depTypes
("devEngines.runtime", "devEngines.packageManager") consistent with
"pnpm.overrides", and reuses the existing engines/packageManager
datasource resolution. Items without a version are skipped.

Refs #38067.

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

* feat(npm): update devEngines.runtime and devEngines.packageManager versions

Adds an update path for the new devEngines depTypes. Handles both the
single-object form and the array form (the array element is identified
via managerData.devEnginesIndex set at extraction time). Uses the same
anchored search-and-verify approach as the existing replaceAsString
(indexOf("devEngines") + dequal check), so unrelated occurrences of the
same version string elsewhere in the file are not touched.

Refs #38067.

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

* fix(npm): skip lockedVersion and apply @yarnpkg/cli for devEngines deps

Extends the locked-versions post-extract step to cover the new
devEngines depTypes:

- devEngines.runtime and devEngines.packageManager are added to the
  npm-lock skip list (mirrors the engines/packageManager/volta handling
  added in #38598)
- devEngines.packageManager with depName "yarn" gets the @yarnpkg/cli
  packageName fallback when the project is on Yarn 2+, matching the
  existing behavior for engines / packageManager

Refs #38067.

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

* fix(npm): harden devEngines handling against malformed input

- Register devEngines.runtime and devEngines.packageManager in
  knownDepTypes (matches the existing pnpm.overrides pattern)
- Guard against null/non-object array elements in devEngines.* during
  extraction so malformed JSON does not throw
- Use JSON.stringify when interpolating versions into the source search
  string, so any future versions containing JSON-escaped characters are
  matched correctly
- Add an extraction test for a mixed array containing a null item, a
  valid entry, and a version-less entry

Refs #38067.

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

* fix(npm): set hasPackageManager when devEngines.packageManager is an array

The previous hasPackageManager check used isNonEmptyObject which returns
false for arrays. Now that the array form of devEngines.packageManager
is actually extractable and updatable, the corepack post-update step
needs to be triggered for those users as well. Introduces a shared
hasDevEnginesPackageManager helper and uses it from both
extractPackageJson and extractPackageFile.

Refs #38067.

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

* fix(npm): require at least one non-empty array item for hasPackageManager

Align the array branch of hasDevEnginesPackageManager with the
single-object branch by requiring at least one non-empty object item.
Previously, an array containing only null/empty entries would set
hasPackageManager to true and trigger corepack post-update even though
no usable item exists. Add coverage for the empty-array and
only-invalid-items cases.

Refs #38067.

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

* test(npm): document hasPackageManager semantics for stray-key array items

Make the chosen semantic explicit: an array element with arbitrary keys
but no `name` (e.g. `[{ foo: 'bar' }]`) still sets hasPackageManager to
true, mirroring the pre-existing single-object behavior. The extract
step independently filters out items lacking `name`/`version`.

Refs #38067.

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

* test(npm): cover dequal rejection in devEngines array update

Adds a test where two devEngines.packageManager array items share the
same version string. The first source-level match belongs to the wrong
index, so the dequal verification rejects it and the loop continues to
the correct occurrence. This exercises the false branch of the dequal
check in updateDevEnginesDependency.

Refs #38067.

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

* docs(node): list devEngines.runtime as a supported field for Node.js

The npm manager now updates the version inside devEngines.runtime in
package.json, so include it in the file-support list alongside engines
and volta.

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

* Apply the comment changes suggested in the code review

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

* test(npm): cover devEngines update error path instead of ignoring it

Remove the v8 ignore on the updateDevEnginesDependency catch and add a
test that reaches it with invalid JSON, matching how the main
updateDependency catch is covered.

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

* fix(npm): drop unnecessary spread fallback in devEngines managerData

Object spread ignores null/undefined, so the `?? {}` fallback is
redundant. Removing it satisfies the oxlint no-unnecessary-spread-fallback
rule that now runs in CI.

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

* refactor(npm): type devEnginesIndex on NpmManagerData

Declare devEnginesIndex on NpmManagerData so the value no longer needs a
`as number | undefined` cast when reading it back during update.

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

* docs(node): document package manager version fields

List packageManager and devEngines.packageManager separately from the Node.js runtime file support entries.

Co-authored-by: Codex <noreply@openai.com>

* feat(npm): support Bun and Deno devEngines runtimes

* fix(npm): preserve Corepack hashes in devEngines

* test(npm): use partial helper for devEngines fixture

Co-authored-by: Codex <noreply@openai.com>

* fix(npm): warn on invalid devEngines update state

Co-authored-by: Codex <noreply@openai.com>

* fix(npm): include devEngines in extracted tool constraints

Co-authored-by: Codex <noreply@openai.com>

* fix(npm): prefer devEngines over volta for package manager versions

Co-authored-by: Codex <noreply@openai.com>

* fix(npm): update Yarn binaries for devEngines package manager upgrades

Co-authored-by: Codex <noreply@openai.com>

* fix(npm): recognize devEngines package managers for Yarn catalogs

Co-authored-by: Codex <noreply@openai.com>

* fix(npm): exclude devEngines from Yarn locked versions

Co-authored-by: Codex <noreply@openai.com>

* refactor(npm): reuse Bun extraction for devEngines runtime

Co-authored-by: Codex <noreply@openai.com>

* test(npm): cover Yarn devEngines manifest preservation and grouped updates

Co-authored-by: Codex <noreply@openai.com>

* refactor(npm): pass packageJsonResult directly to hasDevEnginesPackageManager

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

* test(npm): simplify malformed devEngines fixture

Co-authored-by: Codex <noreply@openai.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Codex <noreply@openai.com>
2026-10-01 11:25:52 +00:00
Michael Kriese d43f4ab663 chore(agents): give the stop hook its own coverage directory (#46586)
Co-authored-by: Claude Opus 5.5 <michael.kriese+claude-code@mend.io>
2026-10-01 06:59:46 +00:00
AJ Jordan ed787f0cc9 docs(help-us-help-you): drop outdated section (#46501)
This section is outdated since #32830.
2026-09-29 11:39:37 +00:00
Jamie Tanna af055eba22 feat(config): allow self-hosted admins to bypass allowedHeaders (#45654)
In a similar way to how `allowedEnv` works, we should allow a
self-hosted admin to specify whichever headers they wish in their
`hostRules` - whether in their global config, a `repositories[]` entry,
or a preset a `repositories[]` entry extends.

Previously, this would require a self-hosted admin to add any header
they wished to set to `allowedHeaders`, which would also allow any of
their users' repositories to set that same header.

We can align this behaviour with `allowedEnv`, which makes sure that
the admin's own `headers` are always applied regardless of
`allowedHeaders`, while a repository's own `hostRules` - and those of
any preset it extends - remain constrained by it as before.

We make sure to use an explicit `[]` to make it clear when there are no
headers to allow, opposed to using something less clear like
`undefined`.

We do not currently allow an `extends` (without a `repositories[]`
entry) to bypass, and they'll be followed-up with in #45670.

Co-authored-by: Claude Opus 5 <jamie.tanna+claude-code@mend.io>
2026-09-29 10:37:15 +00:00
Luca Bruno c5d1b432d1 feat(datasource/crate): rename allowCustomCrateGitRegistries and relax sparse registries cloning (#45632)
* chore(options): rename allowCustomCrateGitRegistries entry

* feat(datasource/crate): relax sparse registries cloning
2026-09-29 07:52:10 +00:00
renovate[bot] 16e415fee8 docs: update references to renovatebot/github-action to v46.3.5 (main) (#46510)
docs: update references to renovatebot/github-action to v46.3.5

| datasource  | package                   | from    | to      |
| ----------- | ------------------------- | ------- | ------- |
| github-tags | renovatebot/github-action | v46.3.4 | v46.3.5 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-28 03:28:43 +00:00
renovate[bot] 47b471169b docs: update references to renovate/renovate (main) (#46508)
docs: update references to renovate/renovate

| datasource | package           | from     | to        |
| ---------- | ----------------- | -------- | --------- |
| docker     | renovate/renovate | 44.104.2 | 44.115.13 |
| docker     | renovate/renovate | 44.104   | 44.115    |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-28 01:31:20 +00:00
renovate[bot] 6068f15434 docs: update references to prom/prometheus to v3.15.0 (main) (#46507)
docs: update references to prom/prometheus to v3.15.0

| datasource | package         | from    | to      |
| ---------- | --------------- | ------- | ------- |
| docker     | prom/prometheus | v3.14.0 | v3.15.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-28 01:24:37 +00:00
renovate[bot] 78458cf25a docs: update references to renovatebot/github-action to v46.3.4 (main) (#46505)
docs: update references to renovatebot/github-action to v46.3.4

| datasource  | package                   | from    | to      |
| ----------- | ------------------------- | ------- | ------- |
| github-tags | renovatebot/github-action | v46.3.1 | v46.3.4 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-28 01:20:46 +00:00
Michael Kriese 054f262c45 docs: document code conventions and pnpm check as the verification (#46471)
* docs(agents): document code conventions and pnpm check as the verification

Co-Authored-By: Claude Opus 5.5 <michael.kriese+claude-code@mend.io>

* docs: move the code conventions into the best practices guide

Co-Authored-By: Claude Opus 5.5 <michael.kriese+claude-code@mend.io>
Co-Authored-By: Claude Sonnet 5 <michael.kriese+claude-code@mend.io>

---------

Co-authored-by: Claude Opus 5.5 <michael.kriese+claude-code@mend.io>
2026-09-25 12:51:01 +00:00
Sebastian Poxhofer 18eb38c2bd feat(config): add matchIsBreaking package rule option (#46449)
Exposes the isBreaking flag that lookup already computes per upgrade as a
native packageRules matcher, so it can be combined with matchJsonata
selectors from extended presets instead of being inlined into them.
2026-09-24 20:09:29 +00:00
Sebastian Poxhofer df021966a5 feat(jsonata): add $matchRegexOrGlob custom function (#46448)
Exposes Renovate's string pattern matching (globs, regex, negation) to
matchJsonata expressions, so a single expression can OR conditions on
different fields such as packageName and registryUrls.
2026-09-24 20:03:35 +00:00
Michael Kriese ab0c7638ac fix(manager): add supportsNpmrc (#46422)
refactor(manager): add supportsNpmrc

Co-authored-by: Claude Fable 5.1 <michael.kriese+claude-code@mend.io>
2026-09-23 15:28:43 +00:00
Jamie Tanna f55b60a18b docs: add dark mode support for the call-to-action banner (#46423)
To make sure this is more readable in our dark mode theme, we can add a
dark variant, which is automagically shown.

As it's an `<object>` not an `<img>`, we need to add a specific CSS
rule, as we can't use Material for MkDocs' `img#only-light` or
`img#only-dark`.

This also requires that we set `color-scheme: and `background-color:
transparent` to ensure that it blends into the background, otherwise we
see white edges in dark mode.

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
2026-09-23 15:24:25 +00:00
Jamie Tanna 854083c0ea docs: move call-to-action lower (#46410)
As my original placement wasn't ideal.
2026-09-23 08:38:35 +00:00
Jamie Tanna fd2c455be8 docs: align colour scheme with Mend colours (#46316)
To make sure that we're more consistent in our colour branding with
Mend Renovate's colour scheme, we can override our theme to use the
correct blues.

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
2026-09-22 12:06:37 +00:00
Darren Dooley 1762e24624 chore(docs): fix broken image rendering (#45893)
* docs: fix images rendered as code inside figure blocks

The docs build forces tab_length 2, so content indented by two spaces
inside a <figure markdown> block is parsed as an indented code block.
Six images were printed as literal markdown instead of being rendered.

De-indent the six figure blocks and add a test that fails if indented
content reappears inside one.

* chore: add markdownlint rule for indented figure content

Replace the vitest check with a markdownlint custom rule. It runs with
pnpm markdown-lint, reports file and line like any other markdown
violation, and uses the micromark tokens so a <figure markdown> block
inside a fenced code sample is not flagged.

* Revert "chore: add markdownlint rule for indented figure content"

This reverts commit b853804501.

* chore: remove test
2026-09-21 09:01:54 +00:00
renovate[bot] a54a640e4b docs: update references to renovatebot/github-action to v46.3.1 (main) (#46356)
docs: update references to renovatebot/github-action to v46.3.1

| datasource  | package                   | from    | to      |
| ----------- | ------------------------- | ------- | ------- |
| github-tags | renovatebot/github-action | v46.2.5 | v46.3.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-21 03:23:09 +00:00
renovate[bot] e39277000e docs: update references to renovate/renovate to v44.104.2 (main) (#46355)
docs: update references to renovate/renovate to v44.104.2

| datasource | package           | from     | to       |
| ---------- | ----------------- | -------- | -------- |
| docker     | renovate/renovate | 44.104.1 | 44.104.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-21 03:23:06 +00:00
renovate[bot] 6de693abc6 docs: update references to renovate/renovate (main) (#46354)
docs: update references to renovate/renovate

| datasource | package           | from    | to       |
| ---------- | ----------------- | ------- | -------- |
| docker     | renovate/renovate | 44.83.1 | 44.104.1 |
| docker     | renovate/renovate | 44.83   | 44.104   |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-21 02:25:41 +00:00
renovate[bot] e3881d9fb9 docs: update references to otel/opentelemetry-collector-contrib to v0.161.0 (main) (#46353)
docs: update references to otel/opentelemetry-collector-contrib to v0.161.0

| datasource | package                              | from    | to      |
| ---------- | ------------------------------------ | ------- | ------- |
| docker     | otel/opentelemetry-collector-contrib | 0.160.0 | 0.161.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-21 02:23:32 +00:00
renovate[bot] 6e60136066 docs: update references to jaegertracing/jaeger to v2.21.0 (main) (#46352)
docs: update references to jaegertracing/jaeger to v2.21.0

| datasource | package              | from   | to     |
| ---------- | -------------------- | ------ | ------ |
| docker     | jaegertracing/jaeger | 2.20.0 | 2.21.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-21 01:25:41 +00:00
Jamie Tanna 8dc06640a7 feat(workers/repository): allow users to bypass registryUrl when unknown-registry (#46323)
As part of follow-up changes in #45706, we want the `apk` / `apt`
parsing in the `dockerfile` manager to attempt to determine which
distribution - and therefore registry - to look up dependencies for.

When there is an image that we don't know how to resolve, we want to
treat them as a `skipReason: unknown-registry`.

However, this doesn't provide any way for the user to say "I know which
registry you should look up updates for".

To handle this, we can treat `unknown-registry` differently, allowing it
to un-skip itself when there are any `registryUrls`s defined.

This allows for general usage, where if Renovate doesn't know how to
interact with a given registry, but a user does, then the user can
override the registry with a `packageRules` entry.

We continue skipping a dependency when `unknown-registry` is set
alongside a dependency's `registryUrl`.

We add this un-skipping logic into `applyPackageRules()`, but need to
make sure that we also gate it inside `lookup()`, so a dependency that's
passed through `applyPackageRules()` is re-checked to ensure that the
check is enforced.

Co-authored-by: Claude Opus 5 <jamie.tanna+claude-code@mend.io>
2026-09-18 15:59:57 +00:00
Jamie Tanna 4d2b992f16 docs(self-hosted-configuration): autogenerate inheritConfig options (#46320)
As noted in #45839, we're currently out-of-sync with the current list,
so should get this automagically updated.

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
2026-09-18 12:41:46 +00:00
Jamie Tanna cc6f4145dd docs: update call-to-action banner (#46303)
With help from Claude to correctly render it as an SVG (that can have
URLs that are clickable) and render it so it's more responsive.

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
2026-09-17 20:25:08 +00:00
Sebastian Poxhofer 4215f35059 feat(config): add minimumReleaseAgeBuffer option (#45577)
* feat(config): add minimumReleaseAgeBuffer option

Adds a new config option which extends the time Renovate waits before
suggesting an update by a percentage of minimumReleaseAge. This gives
companion packages that are published after the main package (e.g.
platform-specific binaries) time to pass the package manager's own
release age cooldown, avoiding lock file artifact errors.

* feat(config): make minimumReleaseAgeBuffer a duration with 10 minutes default

* feat(config): raise minimumReleaseAgeBuffer default to 30 minutes
2026-09-17 07:08:00 +00:00
Maxime Brunet a22f8f0a09 fix(platform/github): attempt direct merge before falling back to the merge queue (#46271)
fix(github): attempt direct merge before falling back to the merge queue

PR automerge against a merge-queue-protected base branch could no longer
merge directly when the authenticated actor is allowed to bypass the
queue: mergePr() enqueues the PR unconditionally once the base branch has
a merge queue, and the enqueuePullRequest mutation evaluates queue-entry
requirements (e.g. required code-owner review) without honoring ruleset
bypass, leaving bypass-enabled installs unable to merge at all.

Attempt the direct REST merge first and enqueue only when that merge is
refused, mirroring the try-first design #45724 shipped for branch
automerge. Repositories without a bypass actor pay one refused REST merge
call per automerge attempt before the queue fallback, and up to four when
an unrecognized refusal message triggers method guessing.

Docs: describe the direct-merge-first behavior in the GitHub merge queue
section of the automerge documentation.
2026-09-17 07:07:56 +00:00
Jamie Tanna 0f5e9af2a3 docs(mend-hosted): clarify Enterprises can change inheritConfig* (#46261) 2026-09-16 15:28:49 +00:00
Jamie Tanna 98e4bb5713 docs(mend-hosted): move environment variables to their own page (#46260)
To allow more easily linking to them.
2026-09-16 15:28:48 +00:00
Menco Bolt 3abfaacabc feat(util/template): Add uppercase helper (#46205)
Add uppercase to template

Co-authored-by: Menco Bolt <133383+macmenco@users.noreply.github.com>
2026-09-16 13:27:56 +00:00
Jamie Tanna fb77d30477 docs(self-hosted-configuration): correct reference to cacheTtlOverride namespaces (#45960) 2026-09-14 14:39:59 +00:00