Commit Graph

14403 Commits

Author SHA1 Message Date
Alberto Pose 7c5bb7df87 fix: honour dashboard rebase for edited branch with no open PR (#44567)
* fix: honour dashboard rebase for edited branch with no open PR

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

* test: drop unconsumed findPr mocks from dashboard rebase test

The new guard short-circuits before platform.findPr, so the mocks were
never reached and the two tests were identical; collapse into one.

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

* test: assert commitSha loosely in dashboard rebase test

main replaced the shared `'123test'` mock value with `fakeSha('123test')`,
so the literal no longer matches on the merge ref.

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

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-02 13:19:30 +00:00
Ben Bodenmiller 13ab659c5e fix(cache): re-add cacache.verify() to garbage collect orphaned content from put() overwrites (#44987)
* fix(cache): re-add cacache.verify() to garbage collect orphaned content from put() overwrites

* Fix lint

* Apply suggestion from @bbodenmiller

* Apply suggestion from @bbodenmiller
2026-09-02 13:18:42 +00:00
renovate[bot] 196f16ace9 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.5 (main) (#45625)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.5

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.95.4 | 13.95.5 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-02 10:41:04 +00:00
Gursewak Mangat bbd603e277 fix(manager/git-submodules): init nested submodules in updateDependency (#45606)
fix(git-submodules): init nested submodules in updateDependency

The cloneSubmodules function already uses --init --recursive, but
updateDependency only uses --checkout --init, losing nested submodule
content after updates. This breaks postUpgradeTasks that depend on
files inside nested submodules.

For repos without nested submodules, --recursive is a no-op.
2026-09-02 08:59:52 +00:00
Jamie Tanna c02de67947 fix(reconfigure): capitalise Renovate (#39310) 2026-09-02 08:56:20 +00:00
Jamie Tanna b62fe59594 fix: remove references to "bot" (#39305)
We dropped the "bot" from our terminology long ago, but it looks like
we've got some outdated docs + code that reference it.

We should remove this to keep things consistent.

A `fix`, as we're changing the commit author's name, and log lines.

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-09-02 08:56:20 +00:00
Jamie Tanna ea3b7acede test(util/git): add missing coverage of setGitAuthor (#45607)
As part of follow-up changes, we're removing the "bot" terminology.

While doing so, GitHub Copilot Code Review discovered that there was no
coverage of the defaults in this function.

Before we change this, we can add coverage of the defaults.

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
2026-09-02 08:56:19 +00:00
Francois Rivard a1ce94c9fa feat(preset): add TUnit monorepo preset (#45612) 2026-09-02 08:20:18 +00:00
Niels Pardon b9f5e3c7d1 docs(conda): clarify minimumReleaseAge is supported (#45622)
The conda datasource has returned `releaseTimestamp` since it was added,
for both the Anaconda.org API (`upload_time`) and prefix.dev
(`createdAt`), but never declared `releaseTimestampSupport`. The docs
therefore listed it as unsupported in both the datasource table and the
`minimumReleaseAge` support table.
2026-09-02 08:08:53 +00:00
renovate[bot] 957d745f93 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.4 (main) (#45620)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.4

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.95.3 | 13.95.4 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-02 07:45:23 +00:00
renovate[bot] dff24197b5 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.3 (main) (#45619)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.3

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.95.2 | 13.95.3 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-01 23:37:02 +00:00
renovate[bot] f96de992cf fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.2 (main) (#45614)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.2

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.95.1 | 13.95.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-01 21:30:15 +00:00
renovate[bot] eadeb323a8 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.1 (main) (#45609)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.1

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.95.0 | 13.95.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-01 17:18:34 +00:00
renovate[bot] c6e4e902a9 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.0 (main) (#45604)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.95.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.94.0 | 13.95.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-01 15:39:24 +00:00
Dennis Ameling 24c56f9cae feat(manager/npm): add support for bun in the packageManager field (#45572)
* feat: add support for bun in the `packageManager` field

* fix test
2026-09-01 13:13:06 +00:00
Pham Manh Luc ef60dfcdee refactor(manager/npm): rename internal managerData.pnpmShrinkwrap to pnpmLockFile (#45390)
refactor(pnpm): rename managerData.pnpmShrinkwrap to pnpmLockFile

The field holds the path to pnpm-lock.yaml, and pnpm has not called that file
a shrinkwrap since v5, so the old name reads as a different artifact than the
one it points at.

Co-authored-by: Jamie Tanna <jamie.tanna@mend.io>
2026-09-01 13:09:21 +00:00
renovate[bot] d4ac9fc6ee feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.94.0 (main) (#45600)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.94.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.93.3 | 13.94.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-01 13:09:12 +00:00
Pham Manh Luc 78f4d9a8a0 fix(datasource/jsr): accept scopes shorter than the JSR registration minimum (#45547) 2026-09-01 12:59:23 +00:00
mithil 7dce51dd29 feat(datasource/aws-eks-addon): add host rule authentication (#45552) 2026-09-01 09:46:11 +00:00
renovate[bot] a5801dfb5d fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.93.3 (main) (#45587)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.93.3

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.93.2 | 13.93.3 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-01 09:44:54 +00:00
mithil cfb2a76354 fix(util/markdown): preserve at signs in URLs (#45555) 2026-09-01 09:41:53 +00:00
renovate[bot] d62bf70cb5 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.93.2 (main) (#45583)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.93.2

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.92.3 | 13.93.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-01 00:30:07 +00:00
renovate[bot] 9061f335bf fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.92.3 (main) (#45561)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.92.3

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.92.2 | 13.92.3 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-31 01:31:12 +00:00
renovate[bot] 29e582b59f docs: update references to python to b0aed0e (main) (#45559)
docs: update references to python to b0aed0e

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-31 00:29:47 +00:00
github-actions[bot] df98f44df9 feat(data): automatic update of static data (#45551)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-30 12:14:54 +00:00
renovate[bot] e26aa5db3c fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.92.2 (main) (#45550)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.92.2

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.92.1 | 13.92.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-29 20:29:41 +00:00
renovate[bot] 43de28b427 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.92.1 (main) (#45549)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.92.1

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.92.0 | 13.92.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-29 19:29:23 +00:00
renovate[bot] 3e8110eeb0 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.92.0 (main) (#45546)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.92.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.91.5 | 13.92.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-29 12:29:23 +00:00
renovate[bot] fcd8291fcf fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.91.5 (main) (#45541)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.91.5

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.91.4 | 13.91.5 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-28 18:33:14 +00:00
Dharma Teja Thoutam a3a00ce574 fix(exec): supress unhandled promise rehection from execa timeout (#45335)
* fix(exec): supress unhandled promise rehection from execa timeout

* fix: Use isFunction from @sindresorhus/is, fix v8 ignore comment

* fix: log suppressed rejection, add catch to mock per review

* fix: add type annotation for catch mock parameter
2026-08-28 16:30:18 +00:00
renovate[bot] e7b98b56da fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.91.4 (main) (#45533)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.91.4

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.91.3 | 13.91.4 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-28 12:35:22 +00:00
Sebastian Poxhofer 8d08b51db0 refactor: return a RepositoryResult while onboarding (#45531)
* refactor(onboarding): return repository result from ensureOnboarding

Rename ensureOnboardingPr to ensureOnboarding and have it return a new
'onboarding' RepositoryResult. renovateRepository now branches on
repoIsOnboarded, so exactly one of ensureOnboarding/updateRepo produces
the repository result and the non-null assertion on the update result
(TODO #22198) is no longer needed. updateRepo/update no longer return
undefined for non-onboarded repositories.

* refactor(onboarding): keep ensureOnboardingPr name
2026-08-28 11:50:28 +00:00
Jamie Tanna 9ecbaa8581 chore(manager/gomod): clarify how artifact updates work with minimumReleaseAge (#45526)
When Go updates dependencies using i.e. `go get` or `go mod download`,
it uses Minimal Version Selection (MVS)[0], which takes the lowest
version available from the given packages.

In the case of an updated dependency, in practice this means that Go
will chose the version of an indirect (transitive) package dependency as
the version that the updated package points to in their `go.mod`, which
must be older than the updated package, as the updated package has only
just been updated.

This protects against cases in other ecosystems where an unpinned
transitive dependency can be pulled by an updated package, potentially
bypassing `minimumReleaseAge`.

However, I can imagine there may be some questions about this, so we can
preemptively add a note into the `Artifact update notice` when
`minimumReleaseAge` is set.

[0]: https://go.dev/ref/mod#minimal-version-selection
2026-08-28 11:39:19 +00:00
Jamie Tanna 0879ce538f feat(instrumentation): add support for protobuf + gRPC exporter (#45527)
As noted in #36073, having support for the different protocols for
exporting OpenTelemetry data would be useful, especially if this is
leading to users seeing issues when they have auto-injected
configuration being set.

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
2026-08-28 11:28:53 +00:00
Pham Manh Luc 2e89151d7e fix(github): treat graphql_rate_limit as rate limiting (#45396)
* fix(github): treat graphql_rate_limit as rate limiting

GitHub answers a spent app-installation budget with a GraphQL error carrying
code graphql_rate_limit, which neither call site recognised: the repository
query reported platform-unknown-error, and app authentication reported
Init: Authentication failure. Both readings send the user looking for a
problem that is not there, and neither is retried the way rate limiting is.

The two shapes are now recognised in one place and both call sites use it.

* fix(github): propagate GraphQL rate limits

* fix(github): preserve GraphQL response contract

---------

Co-authored-by: Sergei Zharinov <zharinov@users.noreply.github.com>
2026-08-28 09:28:57 +00:00
Sebastian Poxhofer c32e2391a0 refactor(linters): add prefer-coerce-object rule (#45493)
Refs #45216

The object counterpart to `prefer-coerce-array`: `x ?? {}` becomes
`coerceObject(x)`. The rule flags a `??` whose default is a bare `{}`
literal, so a populated default or an asserted `({} as Foo)` still
passes; a `x ?? y ?? {}` chain maps onto `coerceObject(x, y)`.

Every hit across `lib/` converted cleanly, so no disable comments were
needed.
2026-08-28 09:27:59 +00:00
Sebastian Poxhofer 97327c3d28 refactor(linters): add prefer-coerce-array rule (#45492)
* refactor(linters): add prefer-coerce-array rule

Refs #45217

`x ?? []` and `coerceArray(x)` say the same thing, but only the second
one is searchable and consistent. The rule flags a `??` whose default is
a bare `[]` literal; a non-empty default or an asserted `([] as Foo[])`
still passes.

Applying it across `lib/` surfaced three spots the helper cannot cover,
which keep `?? []` with a disable comment or a narrower fix:

- `package-files.ts` destructures a tuple, which `coerceArray()` widens
- `generate.spec.ts` defaults `matchAll()`, an iterator rather than an array
- `mise/upgradeable-tooling.ts` declares a `Record` return, so its
  `?? []` fallback was wrong to begin with and becomes `coerceObject()`

* refactor(platform/github): hoist the GHE version header lookup

`Object.entries(...).find()` returns a tuple, and defaulting it with
`?? []` only to destructure the second element reads as an array
default when it is not one. Name the found entry instead, which drops
the `?? []` rather than routing a tuple through `coerceArray()`.
2026-08-28 09:27:58 +00:00
Sanjay Doppalapudi a3ac0bb73c fix(manager/copier): set isExecutable on added and modified files (#45520)
fix(manager/copier): set isExecutable on added and modified files

Detect the owner execute bit on files written by copier update and
propagate it as isExecutable on the returned file additions, so
committed files keep their executable flag.
2026-08-28 09:27:57 +00:00
Sebastian Poxhofer fbedd41e82 test: replace env operation with vi.stubEnv() (#45490)
* test: replace manual process.env mutation with vi.stubEnv

Enable Vitest's `unstubEnvs` so env stubs are reverted automatically
before every test, and convert the manual `process.env.X = ...` /
`delete process.env.X` pairs in specs to `vi.stubEnv()`.

This removes the hand-written `afterEach` cleanup blocks and the
`const OLD_ENV = process.env` / `process.env = { ...OLD_ENV }`
save-restore dance, which silently leaked state between tests when a
test set a variable without a matching delete.

Left as-is (incompatible with `unstubEnvs`, which unstubs before each
test, not after):
- module top-level env writes (cocoapods, gomod, post-update, pip-compile
  and bundler artifacts specs)
- `beforeAll` env writes -- the two in `util/http` moved to `beforeEach`

* test: stop asserting on ambient environment variables

Three specs asserted on values that the surrounding environment can
override, so they only passed on a machine that happened not to set them:

- `util/exec/env`: `getChildProcessEnv()` forwards every entry of
  `basicEnvVars`, but the spec only seeded a subset. Any other forwarded
  variable that was set ambiently (e.g. a lowercase `http_proxy`) leaked
  into the `toEqual` assertion. Clear all of them first.
- `util/git/index`: `process.env.GIT_SSH_COMMAND` deliberately overrides
  the default that the two env-inheritance tests assert on. Clear it.
- `logger/pretty-stdout`: the colorized level strings are built at import
  time, so the `beforeEach` setting `FORCE_COLOR` could never affect them
  -- it was dead code, and the test silently assumed a terminal without
  colour support. Derive the expectation the same way the module does.

* test(datasource/nuget): use a throwaway cache dir for nupkg downloads

The `determine source URL from nupkg` tests do not mock the filesystem,
so they really wrote downloaded packages into a fixed `/tmp/cache` path.
That fails wherever the system tmpdir is not writable, and two checkouts
running the suite at once would share the same directory.

Use `tmp.dir({ unsafeCleanup: true })` and clean it up afterwards, which
is the pattern the other specs that touch disk already use.

* feat(lint): add renovate/prefer-stub-env rule

Enforces in specs what the migration to `vi.stubEnv` established:

- assigning to or deleting `process.env.X` inside `beforeEach`, `afterEach`,
  `it` or `test` is reported, with a fixer that rewrites it to `vi.stubEnv()`
- module scope, `describe` bodies and `beforeAll` / `afterAll` are left alone:
  `unstubEnvs` reverts stubs *before* each test, so a stub created there is
  gone by the time the first test runs, and those must keep assigning directly
- replacing the `process.env` object is reported everywhere and never fixed.
  `vi.stubEnv()` captures the original object when the worker starts, so after
  a reassignment its deletes silently target the old object

The rule found 28 further violations in specs the earlier sweep missed, since
that one was anchored on `delete process.env`. Twelve were auto-fixed; the
rest replaced `process.env` wholesale and are now `clearEnv()` from test/util.

`util/exec/index.spec.ts` opts out with a comment: it asserts on the whole
child env, and `vi.stubEnv()` cannot express that because it maps `PROD`,
`DEV` and `SSR` onto '' instead of deleting them.
2026-08-28 09:26:20 +00:00
Jamie Tanna ba1fad945f feat(changelog): stop fetching changelog entries when we're at platform limits (#45503)
feat(changelog): stop fetching PR changelog entries when we're at platform limits

A regular issue that we see across Renovate users - often with
packages like traefik (#45482) - are that a large number of
changelogs needing to be fetched can lead to a slow run (at best) or
a full out-of-memory error (at worst).

As noted in #45501, as a follow-up to #45500, we can stop fetching
more entries for the changelog generation by checking Platform
limits for a given Pull Request.

We can ignore `fetchChangeLogs=branch`, because users opting into
that behaviour are hopefully aware that adding their changelogs will
be sufficiently large.

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
2026-08-28 06:55:07 +00:00
Jamie Tanna 57e546d929 feat(changelog): fetch newest releases first (#45502)
As noted in #45500, we want to refactor how changelogs work to fetch
them in newest-first order.

This will allow in future changes to stop fetching changelogs at the
point that we'll likely hit platform limits, avoiding unnecessary HTTP
calls and as noted in #45482, hitting Node out-of-memory errors.

We need to make sure that we `push` instead of `unshift` to return the
results array in newest-first.

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
2026-08-28 06:55:06 +00:00
Jamie Tanna 64e81c23e4 refactor(instrumentation): instrument changelog generation (#45507)
As part of follow-up changes, we'll be making changes to the changelog
functionality.

To determine more meaningful insight into whether this has succeeded, we
can add instrumentation to determine how many HTTP calls are being made.
2026-08-28 06:55:05 +00:00
renovate[bot] 16f06e5ae6 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.91.3 (main) (#45523)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.91.3

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.91.2 | 13.91.3 |

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

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.91.1 | 13.91.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-27 22:31:02 +00:00
Sebastian Poxhofer e0cec3dc95 refactor(lint): add types-location rule and enable it for lib/modules (#45497)
feat(lint): add `types-location` rule and enable it for `lib/modules`

Reviewers consistently ask for exported types to be moved into a
colocated `types.ts`. Add a `renovate/types-location` oxlint rule that
reports `export interface` / `export type` declarations outside such a
file, and turn it on across `lib/modules`.

Re-exports (`export type { X }`, `export type *`), file-local types, and
values (enums, classes, functions) are left alone. `schema.ts` files and
`schema/` directories are excluded via config, matching how
`zod-schema-location` is configured — inferred types belong next to the
schema they are derived from.

Relocating the 87 existing violations means:

- new `types.ts` files for the modules that had none
- `terragrunt/common.ts` folded into its `types.ts`, as it held nothing
  else
- `RangeBound` in `versioning/gradle/compare.ts` un-exported, since only
  a file-local interface referenced it
- `bazel-module/parser/fragments.ts` split from its inferred types, which
  now live in `parser/types.ts` and infer through a namespace import so
  each schema keeps its merged name
2026-08-27 19:52:09 +00:00
renovate[bot] 87d882ea4a fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.91.1 (main) (#45516)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.91.1

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.91.0 | 13.91.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-27 19:34:51 +00:00
renovate[bot] 9cd8c6d218 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.91.0 (main) (#45515)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.91.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.90.0 | 13.91.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-27 15:42:38 +00:00
renovate[bot] e0aa2cab3b feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.90.0 (main) (#45512)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.90.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.89.7 | 13.90.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-27 14:41:15 +00:00
Michel Loiseleur 9d90b63bec fix(datasource/docker): update traefik source URL to traefik/traefik (#45505)
The containous/traefik repository was renamed to traefik/traefik in 2020. GitHub still redirects, but PR release notes render the old organization name.
2026-08-27 13:35:53 +00:00
Michel Loiseleur 28391ae966 fix(changelog): dedupe releases which are equal for the versioning in use (#45506)
Some registries publish several tags for one version, e.g. Docker Hub has both 3.7.12 and v3.7.12 for the traefik image. Both survive datasource deduplication, which compares raw version strings, so the changelog renders the release notes once per tag.
2026-08-27 13:35:45 +00:00