Commit Graph

2281 Commits

Author SHA1 Message Date
Jamie Tanna bc82cff059 feat(managers/npm): allow specifying toolSettings.nodeMaxMemory (#40957)
* feat(managers/npm): allow specifying `toolSettings.nodeMaxMemory`

As noted in #40942, we're seeing an increase in memory usage across
`pnpm` and `yarn` users in Mend-hosted apps.

To allow limiting the maximum memory that any `node` child processes
will use, we can add a new `toolSettings.nodeMaxMemory` to (hopefully)
mitigate this.

Similar to the `toolSettings.jvmMaxMemory`, the self-hosted
administrator can set a maximum, which cannot be exceeded by repo-level
configuration.

* fixup! feat(managers/npm): allow specifying `toolSettings.nodeMaxMemory`
2026-03-05 12:56:02 +00:00
Roger Coll ab409e951f fix(gomod): add -modfile flag for non-default go.mod filenames (#41640)
* fix(gomod): add -modfile flag for non-default go.mod filenames

When using managerFilePatterns to manage non-standard go.mod files
(e.g. tools.mod), the go commands (get, mod tidy, mod vendor) now
include the -modfile flag so they operate on the correct module file
instead of defaulting to go.mod in the working directory

* Update lib/modules/manager/gomod/artifacts.ts

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

* Update lib/modules/manager/gomod/artifacts.ts

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

* use string templates

---------

Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
2026-03-05 11:53:42 +00:00
Trim21 71674b73bf feat(github-actions): support golangci-lint version defined in golangci-lint-action (#41632)
* feat: support golangci-lint version defined in golangci-lint-action

* feat: add golangci-lint-action to supported community actions
2026-03-03 18:02:01 +00:00
Johannes Feichtner 4312453b6a fix(gradle): prevent 'registryUrl' token not found error while parsing Gradle files (#41600) 2026-03-02 16:50:14 +00:00
Satchi Z Davis 0b99aa135b fix(bazel): fixes parsing of urls in bazelrc files (#41598)
bazelrc spec supports surounding urls with quotes and this PR aligns
functionality to match spec
2026-03-02 16:05:33 +00:00
renovate[bot] f344727e03 docs: update references to python to 6134653 (main) (#41577)
docs: update references to python to 6134653

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-02 00:34:57 +00:00
renovate[bot] c2aa761c1e chore(deps): update linters (main) (#41417)
* chore(deps): update linters

| datasource | package              | from   | to     |
| ---------- | -------------------- | ------ | ------ |
| npm        | @eslint/js           | 9.39.2 | 9.39.3 |
| npm        | eslint               | 9.39.2 | 9.39.3 |
| npm        | eslint-plugin-oxlint | 1.46.0 | 1.49.0 |
| npm        | oxlint               | 1.47.0 | 1.49.0 |
| npm        | typescript-eslint    | 8.55.0 | 8.56.0 |

* chore(deps): update linters

| datasource | package              | from   | to     |
| ---------- | -------------------- | ------ | ------ |
| npm        | @eslint/js           | 9.39.2 | 9.39.3 |
| npm        | eslint               | 9.39.2 | 9.39.3 |
| npm        | eslint-plugin-oxlint | 1.46.0 | 1.49.0 |
| npm        | oxlint               | 1.47.0 | 1.49.0 |
| npm        | typescript-eslint    | 8.55.0 | 8.56.0 |

* Radix rule has been deprecated

* fixup! Radix rule has been deprecated

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: secustor <sebastian@poxhofer.at>
2026-02-28 11:23:25 +00:00
Bartosz Dolewski 5cec680633 feat(swift): update Package.resolved when updating Package.swift (#41534)
* feat(swift): update Package.resolved when updating Package.swift

Add artifact support to the Swift Package Manager module so that
Package.resolved lockfiles are updated alongside Package.swift manifest
changes. Uses direct JSON modification (targeted regex replacement of
version and revision within each pin block) instead of requiring the
Swift toolchain, avoiding the need for a macOS runner or private repo
authentication.

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

* fix(swift): achieve 100% coverage for artifacts.ts

Add tests for missing datasource/packageName, missing pins array, and
getDigest exceptions. Mark three unreachable defensive guards with
istanbul ignore (valid JSON always has matching braces and identities).

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

* refactor(swift): address review feedback from viceice

- Inline test fixtures instead of using fixture files
- Remove unnecessary beforeEach/resetAllMocks
- Use PackageDependency and Upgrade types instead of inline type literals
- Add Zod schema for safe Package.resolved parsing
- Move PackageResolvedPin/PackageResolvedJson types to schema.ts
- Delete fixture files

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

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 17:01:54 +00:00
Jamie Tanna b25102789e feat(gradle): set toolSettings' JVM limits when invoking ./gradlew (#41514)
As noted in #39559, we should also make it possible to use Renovate's
`toolSettings` to tune the Java Virtual Machine that's used to spawn
Gradle, via the Gradle Wrapper.

This will affect any `gradle` manager invocations, but will not apply to
`postUpgradeTasks`, as this is passed in as a parameter.

Co-authored-by: Claude Sonnet 4.5 <jamie.tanna+github-copilot@mend.io>
2026-02-26 17:40:59 +00:00
Jamie Tanna 59de755283 fix(gomod): support local module paths in replace directives (#41520)
* fix(gomod): support non-public module paths in `replace` directives

As noted in #41518, we allow extracting `require` directives that
include a module path that's non-public, so we should also support this
for `replace` directives.

* fixup! fix(gomod): support non-public module paths in `replace` directives
2026-02-26 14:56:23 +00:00
Philipp Grathwohl ccd99d9119 feat(manager/cake): Support extracting nuget packages from InstallTools helper methods (#40070)
* Support InstallTools methods for cake build files

* Allow dotnet tool extraction in  single file cake sdk build scripts

* Fix dependency parsing for InstallTools methods

* Remove unused import

* Fix readme for cake manager

* Add test case to improve coverage

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

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

---------

Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
2026-02-26 13:48:02 +00:00
Jamie Tanna 12ea4f2831 refactor(gradle): move gradleJvmArg to util/exec (#41511)
As this is the better place for this to be overall, and as well as
future changes that will need to pull it from a central location.
2026-02-26 13:35:21 +00:00
Jamie Tanna dcabd52332 fix(gomod): skip placeholder pseudo versions (#41521)
As a follow-up to #41517, when we have a placeholder pseudo version, we
attempt to look up updates for the module.

However, because these are handled by a `replace` directive, there's no
point attempting to look them up.

Especially, as noted in #41517, this could be a non-public module, so
the lookup will fail unnecessarily.

Co-authored-by: Claude Sonnet 4.5 <jamie.tanna+github-copilot@mend.io>
2026-02-26 13:33:17 +00:00
Tobias dda653f55a test(manager/gomod): use real hostRules implementation in tests (#41515)
chore(manager/gomod): use real hostRules implementation in tests
2026-02-26 12:37:28 +00:00
Jamie Tanna 2be6a7128e test(vendir): avoid hard-to-test branches (#41449)
* test(vendir): avoid hard-to-test branches

As a follow-up to #41443, where it's difficult to test this.

* fixup! test(vendir): avoid hard-to-test branches
2026-02-25 19:58:29 +00:00
Michael Kriese c5f0700e18 feat(terraform): extract provider registry url from lockfile (#41487) 2026-02-25 12:43:16 +00:00
Michael Kriese d0b7ca9d69 fix(terraform): respect provider registry from lockfile (#41484) 2026-02-25 12:13:46 +00:00
Jamie Tanna d04b07f89b fix(gomod): support major version on replaces with the same Go module (#41359)
As noted in #41260, if a Go module is using a `replace` with both
modules with the same name, the major upgrade fails to produce a valid
`go.mod`, as the `replace` will still partially reference the old
package.
2026-02-24 22:05:13 +00:00
Jamie Tanna 3459222537 test(cargo): add missing assertion (#41457)
As it wasn't consistent with how many environment variables we were
checking.
2026-02-24 19:00:17 +00:00
Jamie Tanna fdde07c09d feat(vendir): convert Host Rules to Git authentication (#41458)
When using Vendir with Git repositories, we do not currently provide
authentication via Host Rules, which means we cannot access private
repositories.

Instead, we should set these, so they can be used by `vendir sync` to
authenticate to private repos.

Co-authored-by: Claude Sonnet 4.5 <jamie.tanna+github-copilot@mend.io>
2026-02-24 16:37:07 +00:00
Jamie Tanna 0c6ac635d3 feat(vendir): support extracting HTTP sources (#41443)
* feat(vendir): support extracting HTTP sources

As noted in #41435, Vendir's support for HTTP sources would be useful
for Renovate to keep updated.

Instead of managing the updating of files ourselves, we can use Vendir's
existing `lockFileMaintenance` task to do so, where `vendir sync` will
re-fetch the remote file(s) and sync them to the repo.

For this to be supported, we can extract the HTTP sources with
`unsupported-datasource`, so Renovate knows that the dependency is
there, but can't be managed by us.

This makes it possible to extract HTTP dependencies, and then have
Renovate update them through `lockFileMaintenance`.

* fixup! feat(vendir): support extracting HTTP sources
2026-02-24 11:45:04 +00:00
Jamie Tanna fdd1612aa0 refactor(vendir): remove nullable return from extraction methods (#41446)
As we're always returning a dependency, we can remove the nullable
return type.

This also allows us to increase test coverage, because we now don't have
code paths that aren't tested.
2026-02-24 10:28:12 +00:00
Jamie Tanna d992c98857 test(gomod): remove duplicated test (#41358)
We've already got a test that covers the usage of a `replace` with a
`major` update.
2026-02-20 21:19:11 +00:00
Jellyfrog e9da17a22f feat(nuget): Also read registry URLs from deps (#39134) 2026-02-20 14:27:24 +00:00
Philipp Grathwohl 5505b52d75 feat(manager/nuget): Support single file package directives (#40040)
* Add nuget capability to read packages from cs files

This is useful for dotnet source files that make use
of the .NET 10 feature to have single file projects,
where packages and sdks can be defined in a source
file.

* Add tests to validate that the nuget.config file is respected for single csharp files

* Apply PR linter suggestion for prettier code

* Remove unnecessary try-catch to increase code coverage

* Update phrasing in documentation

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

* Use codeblock instead of fixture

* Remove unused import

* Remove unnecessary fixtures and only verify required methods are called

* Fix imports in single-chsarp-file.ts

* Fix import ordering

* Increase code block indent

---------

Co-authored-by: RahulGautamSingh <rahultesnik@gmail.com>
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2026-02-19 18:06:30 +00:00
renovate[bot] e752a3db29 build(deps): update dependency got to v14 (main) (#41302)
* build(deps): update dependency got to v14

| datasource | package | from   | to     |
| ---------- | ------- | ------ | ------ |
| npm        | got     | 12.6.1 | 14.6.6 |

* test: fix tests

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2026-02-19 17:50:48 +00:00
renovate[bot] 645a28c77c build(deps): update dependency prettier to v3.8.1 (main) (#39779)
* build(deps): update dependency prettier to v3.8.1

| datasource | package  | from  | to    |
| ---------- | -------- | ----- | ----- |
| npm        | prettier | 3.6.2 | 3.8.1 |

* fixup prettier

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: secustor <sebastian@poxhofer.at>
2026-02-18 08:41:34 +00:00
renovate[bot] 4a2578d18d build(deps): update dependency zod to v4 (main) (#41225)
* build(deps): update dependency zod to v4

| datasource | package | from    | to    |
| ---------- | ------- | ------- | ----- |
| npm        | zod     | 3.25.76 | 4.3.6 |

* fix: zod migration

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2026-02-18 07:37:50 +00:00
Jamie Tanna 29af878ed6 feat(managers/bun): support Host Rules generation from an .npmrc (#41217)
As noted in #41215 and #40830, when using the Bun manager in a
repository that has a `.npmrc`, the `.npmrc` is not used.

This is at odds with `bun`'s tooling itself reading from this file, so
we should make it possible to parse + make the `npmrc` available for
usage.

We can add this with our new `resolveNpmrc` function.

We do not need to add in-depth test coverage as this should be handled
by `resolveNpmrc`.

Co-authored-by: Claude Sonnet 4.5 <jamie.tanna+github-copilot@mend.io>
2026-02-17 13:19:15 +00:00
Jamie Tanna d9f8972156 refactor(manager/npm): extract function for resolving .npmrc (#41245)
* refactor(manager/npm): extract function for resolving `.npmrc`

As part of future changes in #41215 and/or #41216, we will resolve the
`.npmrc`, if it can be found, in multiple places.

Before we do this, we can prefactor this logic to extract this out into
its own function that can be used independently.

Co-authored-by: Claude Sonnet 4.5 <jamie.tanna+github-copilot@mend.io>

* test(manager/npm): add missing test coverage

This is coverage that we've never had on this function, and was reported
by CodeCov.

---------

Co-authored-by: Claude Sonnet 4.5 <jamie.tanna+github-copilot@mend.io>
2026-02-17 12:49:49 +00:00
Robin Helgelin 2b4c0a2f4a feat(manager/pre-commit): add support digest updating (#36693)
* Successfully extract digest and versions

* Fix linting issues

* - Fix tests
- Added replaceString

* Don't add digest on failures

* Fix return thingie

* Wrap expression in regEx()

* - forEach -> for-of
- Add test file in codeBlock instead

* Fix eslint errors

* Fix

* Lint fixes

* Fixed any typing and isstring comparisson

* Replace yaml comment extraction with regexp step

* Apply suggestion from @viceice

* Apply suggestion from @viceice

---------

Co-authored-by: Rhys Arkins <rhys@arkins.net>
Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
2026-02-17 10:49:45 +00:00
renovate[bot] 3b9d2472c2 docs: update references to python to 151ab35 (main) (#41193)
docs: update references to python to 151ab35

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-16 00:26:06 +00:00
RahulGautamSingh 91015a7a30 chore: enforce lockFileNames when supportsLockFileMaintenance=true (#41175)
* enforce lockfilenames

* test if ci fails

* revert
2026-02-14 10:23:26 +00:00
Gregory Oschwald 4b56523d14 feat(mise): add support for github backend (#40706)
* feat(mise): add support for github backend

* test(mise): remove redundant github backend test

* refactor(mise): flatten nested conditionals in github backend

* refactor(mise): only set extractVersion for custom version_prefix

* refactor(mise): use escapeRegExp and simplify extractVersion spread
2026-02-13 21:58:21 +00:00
RahulGautamSingh d024075d00 refactor: add lock file names to manager api (#41133)
* feat(nuget): add supportsLockFileMaintenance flag

The NuGet manager supports lock file maintenance via `packages.lock.json`
but was missing the `supportsLockFileMaintenance` export.

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

* feat(manager): add lockFileNames metadata to all lock file managers

Add `lockFileNames` field to `ManagerApi` interface and export it from
all 24 managers that support lock file maintenance. This metadata will
be used to auto-generate the lock file support table in docs.

Also adds a validation test ensuring managers with
`supportsLockFileMaintenance` always provide `lockFileNames`.

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

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 22:56:16 +00:00
RahulGautamSingh 5c38220087 docs(nuget): add supportsLockFileMaintenance flag (#41134)
feat(nuget): add supportsLockFileMaintenance flag

The NuGet manager supports lock file maintenance via `packages.lock.json`
but was missing the `supportsLockFileMaintenance` export.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 21:15:41 +00:00
Michael Juliano fe18306232 fix(vendir): remove registryUrls from git-refs dependencies (#40938)
* fix(vendir): remove registryUrls from git-refs dependencies

The git-refs datasource does not support custom registries
(customRegistrySupport = false). Setting registryUrls on git
dependencies causes a spurious warning in the Renovate dashboard:
'Custom registries are not allowed for this datasource.'

This removes the registryUrls property from extractGitSource since
the git URL is already captured in depName and packageName.

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

* fix(vendir): remove redundant packageName from git-refs dependencies

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

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-09 18:16:42 +00:00
renovate[bot] 10b2d3ae6a docs: update references to python to 4b827ab (main) (#41007)
docs: update references to python to 4b827ab

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-09 00:27:09 +00:00
Sergei Zharinov b02897fab1 refactor(lint): Fix lint violations (#40965)
* refactor(lint): Fix lint violations

* Update lib/modules/versioning/versioning-metadata.spec.ts

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

---------

Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2026-02-06 15:34:33 +00:00
Sergei Zharinov 9d857c1f68 refactor(lint): Organize imports with biome (#40966) 2026-02-06 13:40:01 +00:00
Robert Stupp c08656f4b7 feat(gradle): allow specifying Gradle daemon heap size (#40090)
This change introduces a heap size limitation for the Gradle daemon used
when updating the Gradle wrapper, defaults to 512m.

The heap size is limited to the globally configured limit, which
defaults to 512m. It can be configured on the repository level, but not
exceed the globally configured limit. A hard coded mimiumum heap size of
512m is enforced.

The configuration option is named `toolSettings`, which has two
properties for the maximum and initial heap size. See
`docs/usage/configuration-options#toolSettings` for more details.
2026-02-04 13:25:58 +00:00
Edgar Ramírez Mondragón 2062788d82 feat(pip-compile): Support the --group uv pip compile option (#40665) 2026-02-02 09:53:13 +00:00
Róbert Papp 24ae07037c docs(mise): Fix invalid configuration example (#40792) 2026-01-29 16:20:20 +00:00
Sergei Zharinov 2b0e80b884 feat!: Switch to ESM modules (#40756) 2026-01-29 14:21:41 +00:00
Jamie Tanna b6ef3e1290 fix(self-hosted)!: don't allow any unsafe commands by default (#40684)
As a safety measure for self-hosted administrators, we can make sure
that we set `allowedUnsafeExecutions` to not allow any commands by
default.

This closes off a significant risk of executing Gradle Wrapper
commands, which use the repository's copy of the wrapper, and any
Gradle buildscript, when executing, which can lead to significant remote
code execution, even before you take into account malicious dependencies.

As this is now off-by-default, we can enable it by default in our tests
to make sure that there are minimal changes required.
2026-01-29 13:28:06 +00:00
Jordan B 8dc1133ebe fix(mise)!: rename packageName from nodejs to node (#40466)
This aligns with other package managers.
2026-01-29 11:47:11 +00:00
Jamie Tanna 0c4912456e fix(pnpm): don't update workspace when no pnpm-lock.yaml found (#40780)
As noted in #40774, if a `pnpm-lock.yaml` isn't found, the
`pnpmShrinkwrap` is undefined, which then results in `upath.dirname`
throwing an error.

We can make sure that we have a value, and exit out early if not.

This is a short-term fix, and we should follow-up to make it so we can
find the `pnpm-workspace.yaml` if there's not a lockfile.
2026-01-29 11:21:08 +00:00
Michael Kriese cd0426babd feat(sidecar): use renovatebot/base-image instead of containerbase/sidecar (#40772)
* feat(sidecar): use `renovatebot/base-image` instead of `containerbase/sidecar`

* refactor: simplify sidecar handling

* test: fixup

* docs: fixup
2026-01-29 10:05:24 +00:00
Michael Kriese eaed53a2bf chore: fix type import (#40760)
chore: fix tyspe import
2026-01-28 16:55:32 +00:00
Michael Kriese 17a1bbad96 refactor: use named simpleGit imports (#40759) 2026-01-28 16:55:14 +00:00