Commit Graph

2281 Commits

Author SHA1 Message Date
Jamie Tanna 1054439929 refactor(gomod): extract deriveGoToolchainConstraints function (#42956)
As part of future changes, we'll introduce additional constraints that
may take priority, so we should ensure we have coverage of the existing
logic.

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-04-28 08:05:11 +00:00
Rhuan Barreto e5f067ccce feat(manager): add proto manager for .prototools files (#42908)
* feat(manager): add proto manager for .prototools files

Add a new manager for moonrepo's proto tool version manager.
Proto uses .prototools (TOML) files to pin tool versions at the
directory level. The manager extracts top-level version entries
and maps them to the appropriate Renovate datasources.

Supported built-in tools: bun, deno, go, moon, node, npm, pnpm,
yarn, python, ruby, rust, proto, gh, poetry, uv.

Non-version sections ([settings], [plugins], [tools], [env],
[shell], [backends]) are correctly ignored. Version aliases
(latest, stable, canary, nightly) are skipped with appropriate
skipReason. Unknown tools are reported as unsupported-datasource.

* fix(manager): address proto manager PR review feedback

- Remove deduplicateArray/sort from supportedDatasources, sort manually
- Sort protoTooling entries alphabetically
- Inline createDependency call into deps.push()
- Inline fixture content into test, remove fixture file
2026-04-28 07:04:44 +00:00
Jamie Tanna 01a01f6b88 feat(manager/gomod): improve commitMessageTopic for go/toolchain directive bumps (#42891)
As noted in #42519, the preivous commit/PR title wasn't quite as clear
with what was actually changing.

To make this more explicit, we can override `commitMessageTopic`.
2026-04-27 16:30:52 +00:00
Felipe Santos 3afa38511b refactor(datasource/npm): extract defaultRegistryUrl constant (#42794)
* feat(datasource/npm): extract defaultRegistryUrl constant

* Fix some other places

* Remove useless defaultRegistryUrls export

* Fix another place

* Undo rules.spec.ts changes, which are not related

* Fix npm presets

* Restore line removed by mistake

* Fix another test file

* Restore changes to a file which is not relevant

* Fix another small place
2026-04-27 15:24:01 +00:00
Michael Miller c1e12558b5 feat(manager/mise): add support for clang-format (#42912) 2026-04-27 14:09:05 +00:00
Robin Schneider e8614ed076 fix(manager/flux): extract both tag and digest for OCIRepository (#41882)
* fix(manager/flux): extract both tag and digest for OCIRepository

Signed-off-by: Robin Schneider <mail@robinschneider.dev>

* Use record instead of map

Signed-off-by: Robin Schneider <mail@robinschneider.dev>

* Avoid state duplication

Signed-off-by: Robin Schneider <mail@robinschneider.dev>

* Adjust regex

Signed-off-by: Robin Schneider <mail@robinschneider.dev>

* Adjust fallback

Signed-off-by: Robin Schneider <mail@robinschneider.dev>

* test(manager/flux): cover missing-header system manifest branch in extractAllPackageFiles

* fix(manager/flux): update both tag and digest for OCIRepository refs without regex

* test(manager/flux): cover extractOCIRefRange guard branches

* test(manager/flux): cover remaining extractOCIRefRange branches

---------

Signed-off-by: Robin Schneider <mail@robinschneider.dev>
2026-04-27 10:41:18 +00:00
Jamie Tanna f07b09fd92 fix(github-actions): handle {major}.{minor}-{prerelease} version (#42926)
As noted in #42899, some Actions use a version such as `v2.2-rc.1` which
we weren't handling or updating.

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-04-27 10:25:54 +00:00
Pierluigi Lenoci e11c22b033 feat(github-actions): extract Docker version from setup-docker-action (#42880)
Signed-off-by: Pierluigi Lenoci <pierluigilenoci@gmail.com>
2026-04-27 07:25:10 +00:00
RahulGautamSingh ff27ebee2b docs: use unicode arrow (→) instead of ASCII (->) (#42896)
* chore(docs): use unicode arrow (→) instead of ASCII (->)

* more changes
2026-04-27 07:11:16 +00:00
renovate[bot] e3bdee9853 docs: update references to python to 4bdca44 (main) (#42914)
docs: update references to python to 4bdca44

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-27 00:27:06 +00:00
Jamie Tanna 300035a700 chore(workers/repository): provide more detail when rolling back (#42818)
* chore(workers/repository): provide more detail when rolling back

To help debug the case where rollbacks are being initiated, we can:

- add slightly more information to the `Filtered out ...` log line
- add `prBodyNotes` to the resulting PR

This requires we expose the `prBodyNotes` field to `LookupUpdate`, and
the `packageName` and `datasource` to `RollbackConfig`, so we can log
them.

* chore(modules/datasource): log `datasource` and `packageName` when filtering

For more context when reviewing the logs.
2026-04-24 16:23:45 +00:00
Michael Kriese 21b15d5796 refactor(github-actions): simplify comunity action schema (#42784)
* refactor(github-actions): simplify comunity action schema

* refactor: rename function
2026-04-23 11:18:37 +00:00
David Lane eb22aa0bbb fix(homebrew): allow subdirectories for Homebrew Formulas (#42542)
* fix(homebrew): allow subdirectories for Homebrew Formulas

* fix(homebrew): only allow up to 1 subdirectory

* fix(homebrew): double escape w (word character)

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

---------

Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
2026-04-22 15:38:46 +00:00
Jamie Tanna c5a87efec8 chore(types): add missing ConstraintName enforcement (#42745)
* chore(types): correct JSDoc

* chore(types): add missing `ConstraintName` enforcement

* fixup! chore(types): add missing `ConstraintName` enforcement

By simplifying this case, which should never happen, as the types
wouldn't allow it.

* chore: reorder for typechecking simplicity

* fixup! chore(types): add missing `ConstraintName` enforcement
2026-04-21 11:50:34 +00:00
Jamie Tanna 57d5fb3142 feat(manager/github-actions): use github-actions versioning by default (#42713)
As a re-attempt for #42331, and to support the migration for Actions
publishing Immutable Releases.
2026-04-21 11:45:52 +00:00
Jamie Tanna 413d94178d fix(versioning/github-actions): correctly handle major.minor and major (#42769)
* fix(versioning/github-actions): correctly handle `major.minor` and `major`

As part of the final set of changes needed to support Immutable Releases
with GitHub Actions and the `github-actions` versioning, we need to
modify how our versioning works to handle correctly surfacing the
shortest version available.

To make this more resilient, and help us test-drive the change, we'll
also add an integration test that:

- extracts from a GitHub Actions workflow
- performs a lookup (with mocked data)
- determines the available updates that would be proposed

This provides more confidence in the change itself, as well as
validates the intended changes.

This also moves `prefix` and `minLevel` to a single definition.

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

* fixup! fix(versioning/github-actions): correctly handle `major.minor` and `major`

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

* fixup! fix(versioning/github-actions): correctly handle `major.minor` and `major`

---------

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-04-21 11:29:43 +00:00
Michael Kriese 70895fa838 feat(github-actions): add aquasecurity trivy actions (#42782) 2026-04-21 09:11:59 +00:00
Michael Kriese a277aadf88 refactor(github-actions): simplify community action schema (#42778)
* refactor(github-actions): simplify comunity action schema

* refactor rename function

* refactor: rename and remove default versionings
2026-04-21 08:32:54 +00:00
renovate[bot] a561b74314 chore(deps): update dependency @biomejs/biome to v2.4.11 (main) (#42034)
* chore(deps): update dependency @biomejs/biome to v2.4.11

| datasource | package        | from  | to     |
| ---------- | -------------- | ----- | ------ |
| npm        | @biomejs/biome | 2.4.6 | 2.4.11 |

* fixup linter changes

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Sebastian Poxhofer <secustor@users.noreply.github.com>
Co-authored-by: secustor <sebastian@poxhofer.at>
2026-04-20 21:45:46 +00:00
Sebastian Poxhofer f484b8f882 feat(mise): add pnpm and yarn tools (#42764)
* feat(mise): add pnpm and yarn tools

* chore use NPM datasource

* use "standard" cli package
2026-04-20 17:13:02 +00:00
Jeff Brown 945acf6c38 feat(nuget): update lock files when Directory.Build.props is changed (#42735)
fix(nuget): update lock files when Directory.Build.props is changed

Directory.Build.props is a standard MSBuild import file that can contain
PackageReference elements. When Renovate updates packages in this file,
lock file regeneration was skipped because updateArtifacts only handled
.csproj/.vbproj/.fsproj, Directory.Packages.props/Packages.props, and
global.json.

This extends the existing logic to treat Directory.Build.props the same
way as central management files — all project files under its parent
directory are restored to regenerate their lock files.

Also renames the isCentralManagement parameter to isPropsFile for
clarity, since it now covers both central management and
Directory.Build.props files.

Relates to #15696, #8010
2026-04-20 15:48:19 +00:00
Johannes Feichtner 4dbfc7a53c feat(manager/gradle): add support for implicit version catalog accessor syntax (#42746)
* feat(manager/gradle): add support for implicit version catalog accessor syntax

* fix coverage in else branches
2026-04-20 12:58:25 +00:00
renovate[bot] 6473c4006d docs: update references to python to 63fdc2b (main) (#42748)
docs: update references to python to 63fdc2b

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-20 00:27:20 +00:00
Trim21 9510d133df feat(github-actions): add support for jakebailey/pyright-action version option (#42744) 2026-04-19 14:08:15 +00:00
Johannes Feichtner e70fb64e94 feat(manager/pixi): set currentVersion field for exact pypi dependency versions (#42741) 2026-04-19 10:51:56 +00:00
Philipp Grathwohl a6238a476b feat(manager/cake): Take nuget.config into account for registryUrls of nuget packages (#41545)
* Take nuget.config into account for registryUrls of nuget packages

* Remove 'afterEach' in tests

* Fix PR remarks

* Remove 'any' as suggested in code review

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

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

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

* Verify mock parameters in cake manager tests

---------

Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
2026-04-19 08:18:42 +00:00
Jamie Tanna db64cc6de0 fix(manager/github-actions): revert recent changes (#42707)
* Revert "fix(manager/github-actions): override `versioning` for Actions with Immutable Tags (#42690)"

This reverts commit 1b0785bbe0.

* Revert "feat(replacements): migrate users to astral/setup-uv v8 (#42683)"

This reverts commit f5859c2671.

* Revert "feat(manager/github-actions): use `semver-partial` as default versioning (#42685)"

This reverts commit da04b8edac.
2026-04-17 07:10:18 +00:00
Jamie Tanna 1b0785bbe0 fix(manager/github-actions): override versioning for Actions with Immutable Tags (#42690)
The changes in da04b8edac mostly worked,
but given `astral-sh/setup-uv` is now using Immutable Tags it _must_ be
resolved as `versioning=semver`, to make sure that version updates are
correctly raised.

However, we can't treat it as `versioning=semver`, as that will then
fail to parse the current version correctly.

Instead, we must use a `regex` versioning scheme, which allows us to
optionally parse the minor and patch versions.

This allows `newVersion` to be pinned accordingly to SemVer, but does
not require previous versions to be so.

We can do this - for now - with an explicit allowlist.
2026-04-16 16:59:10 +00:00
Michael Kriese f6d41067b4 fix(docker): only set replaceString if requested (#42649) 2026-04-16 13:17:08 +00:00
Jamie Tanna da04b8edac feat(manager/github-actions): use semver-partial as default versioning (#42685)
As per #42331, we should migrate to using `semver-partial` for GitHub
Actions' tags versions, instead of `docker`.

This mirrors actual usage of the way that the ecosystem tags Action
versions, and also has the benefit of automagically migrating users of
Actions that have enabled Immutable Tags, which now must be a full
SemVer tagged version.

As we're now specifying the `versioning: semver-partial`, we don't need
to specify it in `pinGitHubActionDigestsToSemver`.
2026-04-16 10:59:58 +00:00
Stefan Ceriu 0ff55d2d34 feat: add XcodeGen manager for Swift package dependencies in project.yml files (#41889)
* feat: add XcodeGen manager for Swift package dependencies in project.yml files

* chore(xcodegen): inline project.yml fixture

* fix(xcodegen): use semver instead of swift versioning

* fix(xcodegen): use glob syntax for manager file pattern

* tests(xcodegen): expect logger is called on invalid packages

* tests(xcodegen): better assert extracted package contents

* chore(xcodegen): simplify regex usage

* chore(xcodegen): log projects without dependencies

* chore(xcodegen): simplify dependency resolving and remove regular expressions in favor of the `detectPlatform` helper function

* chore(xcodegen): use `coerceString` on package versions to simplify testing and improve coverage

* chore(xcodegen): address PR review comments.

---------

Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2026-04-15 15:13:04 +00:00
Arnaud Dezandee 914c55b03c refactor(terraform-module): replace interfaces with zod schemas and inline fixtures (#42399)
* refactor(terraform-module): extract getRegistryRepository to utils

* refactor(terraform-module): add zod schemas and validate service discovery

* refactor(terraform-module): use zod schemas in query methods and inline fixtures

* fix(terraform): update hash test to use valid service discovery response

* refactor(terraform-module): address review feedback

* style: biome lint fix

* refactor(terraform-module): address review feedback
2026-04-15 13:41:28 +00:00
RahulGautamSingh 28ab04b43d feat(manager/ant): support custom registryUrls (#42641)
* feat(manager/ant): add registry URL discovery from settingsFile and remoteRepository

Read Maven registry URLs from settingsFile attribute on dependency
blocks (parsed via Maven's extractRegistries) and from inline
<remoteRepository url="..." /> elements. Registries are merged,
deduplicated, and scoped to their dependency block.

* update java docs

* fix coverage

* apply suggestions

* fix ci issues
2026-04-15 12:54:02 +00:00
RahulGautamSingh 15c8ab5385 feat(manager/ant): add coords= attribute syntax support (#42635)
* feat(manager/ant): add coords= attribute syntax support

Support Maven coords attribute format (group:artifact:version and
group:artifact:version:scope) as an alternative to separate
groupId/artifactId/version attributes.

* add trace logs

* fix coverage
2026-04-15 09:23:47 +00:00
RahulGautamSingh 76dcc66816 feat(manager/ant): add <import> file traversal (#42631)
Support <import file="..."/> elements in Ant build files to follow
cross-file dependencies. Properties defined before the import are
available in the imported file. Cycle detection via visited-file
tracking prevents infinite loops.
2026-04-14 17:04:59 +00:00
RahulGautamSingh ef8e6c874b feat(manager/ant): add property resolution and .properties file support (#42175)
* new changes

* use updateDependency

* fix coverage

* apply suggestions

* apply suggestions

* add comment

* Update lib/modules/manager/ant/update.ts

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

* apply suggestions zharinov

* fix coverage

* fix coverage

* escape attrName

---------

Co-authored-by: Jamie Tanna <github@jamietanna.co.uk>
2026-04-14 15:04:34 +00:00
Adam Setch 53bd79641c feat(bitbucket-pipelines): update file patterns to support shared configs (#41704)
* feat(bitbucket-pipelines):update file patterns to support shared configs

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

* feat(bitbucket-pipelines):update file patterns to support shared configs

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

* feat(bitbucket-pipelines):update file patterns to support shared configs

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

---------

Signed-off-by: Adam Setch <adam.setch@outlook.com>
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2026-04-14 14:26:46 +00:00
Michael Miller 203c5fec0b feat(manager/mise): add support for openfga (#42611)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 09:14:09 +00:00
Jamie Tanna 1044a80642 chore(types): add a strong type for ToolName and ConstraintName (#42589)
* chore(types): add a strong type for `ToolName`s

Until #41849, we can use our local definitions of the tool names that
Containerbase supports by extracting out a `ToolName` type.

* fixup! chore(types): add a strong type for `ToolName`s

Co-authored-by: Claude Opus 4.6 <jamie.tanna+claude-code@mend.io>
Co-authored-by: gpt-4.1 <jamie.tanna+github-copilot@mend.io>

* fixup! fixup! chore(types): add a strong type for `ToolName`s

* no-never

* simplify

* coverage

* sq

* warn

* sq

* fixup! sq

* sq

* fixup! sq

---------

Co-authored-by: Claude Opus 4.6 <jamie.tanna+claude-code@mend.io>
Co-authored-by: gpt-4.1 <jamie.tanna+github-copilot@mend.io>
2026-04-14 08:55:42 +00:00
Thomas Papillon ef3c9645e9 feat(sbt): support anonymous objects and dotted symbols for version declaration (#40699)
* sbt: support anonymous objects and dotted symbols

* sbt: use string template syntax
2026-04-13 17:24:56 +00:00
Jamie Tanna ea1e60e912 fix(github-actions): use correct datasource for Zizmor version (#42587)
As the Docker image needs to be published before we can use it in the
Action.
2026-04-13 09:18:50 +00:00
renovate[bot] c549ff7cef docs: update references to python to 8428c32 (main) (#42572)
docs: update references to python to 8428c32

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-13 00:27:43 +00:00
Go Takagi ecdc476aea fix(bitrise): make steps optional in workflow schema (#42362)
Workflows with only envs/after_run (no steps) caused the entire
bitrise.yml parsing to fail because steps was a required field.
2026-04-09 03:35:41 +00:00
Michael Kriese 6804768a1a feat(npm): support pnpm workspace file overrides (#42247)
* feat(npm): support pnpm workspace file overrides

* chore: fix comment

* refactor: use types

* feat(npm/pnpm): update overrides in workspace file

* test: fix test

* chore: fix coverage
2026-04-08 12:01:31 +00:00
Sergei Zharinov 7df11ed734 chore(lint): add enforce-ts-extension oxlint rule (#42389)
* refactor(lint): extract custom oxlint rules into separate files

Split `tools/lint/rules.js` into one file per rule under
`tools/lint/rules/`. Also simplify `test-root-describe` with
early-exit guard clauses.

* feat(lint): add `enforce-ts-extension` oxlint rule

Add a custom JS-based oxlint rule that enforces `.ts` extensions on
local imports. The rule catches two problems:

- `.js` extension used instead of `.ts` (auto-fixable)
- missing file extension entirely (report only)

Checked locations:
- static import/export declarations
- dynamic `import()` expressions
- vitest module APIs: `vi.mock`, `vi.doMock`, `vi.unmock`,
  `vi.doUnmock`, `vi.importActual`, `vi.importMock`

Both relative paths (`./`, `../`) and path aliases (`~test/`)
are treated as local. Package imports are ignored.

Also fixes 26 pre-existing violations across 18 spec files.

* Update tools/lint/rules/enforce-ts-extension.js

Co-authored-by: Anne Stellingwerf <1637358+astellingwerf@users.noreply.github.com>

---------

Co-authored-by: Anne Stellingwerf <1637358+astellingwerf@users.noreply.github.com>
2026-04-07 15:36:16 +00:00
Shaan Majid 47807ea2a0 fix(manager/github-actions): disable updates for bare SHA pins without version comment (#42398)
* fix(manager/github-actions): disable updates for naked SHA pins without version comment

* docs(manager/github-actions): document disabled updates for bare SHA pins

* test(manager/github-actions): use single toEqual for version comment assertions

* docs(manager/github-actions): recommend version comment as primary fix for bare SHA pins

* fix(manager/github-actions): add skipReason for naked SHA pins

* docs(manager/github-actions): remove package rule example for re-enabling bare SHA updates

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

---------

Co-authored-by: Jamie Tanna <github@jamietanna.co.uk>
2026-04-07 15:34:28 +00:00
Sergei Zharinov a67a96eab5 refactor(lint): Switch to Oxlint (#42384)
* refactor(lint): Switch to Oxlint

* Update .oxlintrc.json

* Fix CI

---------

Co-authored-by: Jamie Tanna <jamie.tanna@mend.io>
2026-04-07 14:42:23 +00:00
Alex 0175429341 fix(manager/npm): apply minimumReleaseAgeExclude to pnpm catalog updates (#42050)
* Fix updating minimumReleaseAgeExclude with pnpm catalogs

* Try fixing coverage
2026-04-07 12:39:15 +00:00
Jamie Tanna ff6b16a468 feat(github-actions): extract Zizmor version automagically (#42415) 2026-04-07 10:47:35 +00:00
ldt-fweichert 624d95d1c0 feat(gradle): add !!-notation support for strictly and prefer constraints (#42135)
* gradle: add strictly / prefer support

* fix tests

* improve code coverage

* apply suggestions from @Churro

* Update lib/modules/versioning/gradle/compare.ts

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

* Update lib/modules/versioning/gradle/index.ts

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

* fixed pin strategy

* ignore pin strategy

---------

Co-authored-by: RahulGautamSingh <rahultesnik@gmail.com>
2026-04-07 09:34:35 +00:00