Commit Graph

3913 Commits

Author SHA1 Message Date
Jamie Tanna 2d239d2cc1 docs: explicitly document depTypes each manager supports (#42142)
* docs: explicitly document `depTypes` each manager supports

A long-standing question we receive is "what `depTypes` can I match
against in my project".

Although the best recommendation we usually have is "check the
`packageFiles with updates" log line (as a very key log line for users),
we can go one step further and try and create a stronger contract.

To do this, I've used Claude Sonnet 4.6 to work through the codebase,
determine areas that a `depType` is set in a manager (statically or
dynamically) and generate a structured, typed, means to document how
they're used.

Through a few iterations of the process, and attempts at human-written
documentation, we've settled on:

- prioritising autogenerated documentation (for humans to read) to note
  what `depTypes` are known, and what they are
- `knownDepTypes`, to describe any known, static, `depType`s and their
  human-readable meaning
  - with the `prettyDepType`, if used
- `supportsDynamicDepTypesNote`, to add a Markdown note to the generated
  documentation

While here, we also:

- make sure to note this in the "adding a new package manager"
  documentation
- remove any hand-written references to `depTypes` in each manager's
  documentation page
- correct the Gleam `depTypes`
- make sure to use the `knownDepTypes`'s `prettyDepType` definition if
  we know it, for a given `depType`

The descriptions have been generated by Claude Sonnet, with some
human-written tweaks where appropriate.

[0]: https://github.com/renovatebot/renovate/discussions/15176

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

* fixup! docs: explicitly document `depTypes` each manager supports

* docs(manager): display `depTypes` documentation if none present

For consistency, and to make it more explicit.

---------

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-03-31 12:08:39 +00:00
Jamie Tanna c04e7b19b5 chore(azure): remove JSON.stringify'd message (#42241)
As objects should be added as additional context, rather than in the
string body.
2026-03-30 21:35:26 +00:00
Jamie Tanna 450e08634c chore(azure): log more context when updating PRs (#42242)
As a means to improve debuggability of Azure's `platformAutomerge` and
`autoApprove`, we can provide a log line to provide more context of what
we're changing.
2026-03-30 17:34:32 +00:00
Michael Kriese 3953a78123 refactor: pass packageFile to updateDependency (#42253) 2026-03-30 17:32:36 +00:00
Jesse Newland 8ed5d0fb39 fix(swift): Parse pins without version key in Package.resolved (#42220)
* add example pin without version

* fix(schema): make version field optional in PackageResolvedPin
2026-03-30 06:47:58 +00:00
RahulGautamSingh c5e1b14104 feat(manager/mise): add npm upgrade tooling (#42235)
add npm to mise manager
2026-03-30 06:41:44 +00:00
Kate ef9662a563 fix(datasource/dart): Use npm versioning to make rangeStrategy=bump work again (#42115) 2026-03-29 08:06:56 +00:00
Sergei Zharinov b79ea931a3 refactor(lint): Enable oxlint correctness category (#42218) 2026-03-28 19:48:52 +00:00
Johannes Feichtner b438e57bfc feat(manager/kubernetes): extract image volume references from manifests (#42038)
* feat(manager/kubernetes): extract image volume references from manifests

* fix coverage

* review comments

* simplify
2026-03-28 18:26:19 +00:00
Florian Arens f340b1a9e9 feat(datasource): add elm-package datasource (#41000)
* feat(datasource): add elm-package datasource

* refactor(elm): inline test fixtures

* fix(elm): correct import ordering in test file

* fix(elm): use zod/v3 import to match codebase conventions

* refactor(elm): rename types.ts to schema.ts

Follow project convention of using schema.ts for zod schema files.

* test(elm): add test for invalid JSON response

Use v8 ignore if directive and add test covering the null result
path when the API returns invalid JSON.

* refactor(elm): remove unreachable null check

* test(elm): add test for default registry URL fallback

* refactor(elm): guard against missing registryUrl instead of fallback

* fix(elm): handle ZodError gracefully instead of throwing

* feat(elm): add package cache for elm-package datasource
2026-03-28 13:23:00 +00:00
Simon Chapman fe7ab7e070 feat(gradle): use Java 25 with gradle >= 9.1 (#42206) 2026-03-27 20:48:47 +00:00
Jamie Tanna a74da77801 fix(manager/npm): revert passing --before to npm install when minimumReleaseAge is set (#42198)
Revert "feat(manager/npm): pass --before to npm install when minimumReleaseAg…"

This reverts commit c4d5697775.
2026-03-27 12:36:03 +00:00
Dinar Valeev 00fefaf800 feat(fleet): support registryAliases (#42045)
* feat(fleet): support registryAliases

Support registry aliases for pull through internal regitry case

Signed-off-by: Dinar Valeev <k0da@opensuse.org>

* Fix lint

Signed-off-by: Dinar Valeev <k0da@opensuse.org>

* Address review comments

Signed-off-by: Dinar Valeev <k0da@opensuse.org>

* Switch to inline codeBlock

Signed-off-by: Dinar Valeev <k0da@opensuse.org>

* inline registryConfig in tests

Signed-off-by: Dinar Valeev <k0da@opensuse.org>

---------

Signed-off-by: Dinar Valeev <k0da@opensuse.org>
2026-03-27 11:27:54 +00:00
Ben Bodenmiller 165a6bac78 docs(versioning/semver-coerced): coercion specific link (#40708)
Coercion specific link
2026-03-27 10:37:04 +00:00
Jamie Tanna fbfe8eb75b docs(gradle): fix typo (#40808) 2026-03-27 10:35:47 +00:00
travisshivers 1472cd93b8 fix(gerrit): use the ready push option to ensure changes are not wip (#40960)
fix(gerrit): use the "ready" push option to ensure changes are not wip

In gerrit, changes can be set to WIP by default instead of ready.
This breaks renovate because it doesn't see WIP changes and just
creates new ones again every run.

The solution is to always include the "ready" push option to ensure
the changes are ready and not wip.

https://gerrit-review.googlesource.com/Documentation/user-upload.html
2026-03-27 10:27:18 +00:00
Mathieu Kniewallner ec71601638 refactor(manager/pep723): move parsing to utils (#41673)
* refactor(pep723): move parsing to `utils`

* test(manager/pep723): add missing test
2026-03-27 10:13:00 +00:00
Johannes Feichtner c4d5697775 feat(manager/npm): pass --before to npm install when minimumReleaseAge is set (#42051)
* feat(manager/npm): pass --before to npm install when minimumReleaseAge is set

* use logger metadata

* Apply suggestion from @viceice

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

---------

Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2026-03-27 09:46:02 +00:00
relnah 413dcddc1f fix(platform/bitbucket): replace deprecated cross-workspace repos endpoint (#42134)
* fix(platform/bitbucket): replace deprecated cross-workspace repos endpoint

The GET /2.0/repositories?role=contributor endpoint is being removed by
Bitbucket Cloud on 2026-03-31 (CHANGE-2770). Replace it with per-workspace
calls to GET /2.0/repositories/{workspace}.

When autodiscoverNamespaces is set, those values are used directly as
workspace slugs. Otherwise the current user's workspaces are first
discovered via GET /2.0/user/workspaces (the non-deprecated replacement
for GET /2.0/workspaces) and repositories are then fetched per workspace.

* fix(platform/bitbucket): address review comments

- Use z.array instead of LooseArray for WorkspaceAccesses schema
- Limit workspace fetch concurrency via promises.map
- Align test workspace slugs with reviewer suggestions

* fix(platform/bitbucket): address review comments

- Use z.array instead of LooseArray for WorkspaceAccesses schema
- Limit workspace fetch concurrency via promises.map
- Align test workspace slugs with reviewer suggestions

* fix(platform/bitbucket): restore original repo names in negation test
2026-03-26 16:47:51 +00:00
Jamie Tanna f8abdb86cd fix(maven-wrapper): only delete old JAR if performing updates to the properties file (#42141)
As reported in #41994, in 49fbc8392e, we
assumed that `updateArtifacts` would only ever be called when updating
the `maven-wrapper.properties`.

As this isn't always the case, and we may be updating a `mvnw` file, we
should check what we're about to delete, before we do.
2026-03-25 17:12:56 +00:00
Michael Miller 18c118cf26 feat(manager/mise): add support for tart (#42094)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 13:38:17 +00:00
Sergei Zharinov 0ae44810fc fix(http): detect x-access-token prefix before hostType-based auth branching (#42083)
* fix: Add `github-digest` to `GITHUB_API_USING_HOST_TYPES` list

* fix(http): detect x-access-token prefix before hostType-based auth branching

Moves GitHub App installation token detection (`x-access-token:` prefix)
before the hostType-based authorization chain in `applyAuthorization`.
This ensures correct `token` scheme auth for any GitHub-related hostType,
not only those listed in `GITHUB_API_USING_HOST_TYPES`.

* test(http/auth): add regression test for GitHub App token with non-listed hostType

* Fixes

* Fix tests
2026-03-24 17:11:56 +00:00
Jamie Tanna 8aed44b772 test(platform): ensure PLATFORM_HOST_TYPES is in sync with getPlatformList (#42110)
As part of future changes we want to rely on the `PLATFORM_HOST_TYPES`
constant in our config options, so should make sure this stays in sync.
2026-03-24 12:13:27 +00:00
Jamie Tanna a001693f81 chore(bitbucket-server): remove confusing log prefix (#42089)
As the `#` should only be for the PR number, not a branch name.
2026-03-24 09:19:12 +00:00
zT-1337 bcf3fcd60d fix(scm-manager): invalid base url, due to double slashes and a fixed context path (#42068)
* Fix double slash error

Endpoint will always have a trailing slash, therefore the path must not start with a slash

* Remove servlet context from path

Since the `scm` part can be reconfigured to another value, it should not be hardcoded, but a part of the endpoint config

* Fix invalid test setup

* Ensure the trailing slash on the endpoint
2026-03-24 08:09:37 +00:00
Ville Skyttä 20f12d0820 feat(mise): support rumdl short name (#42095) 2026-03-24 07:52:27 +00:00
Michael Miller d2970325e9 feat(manager/mise): add support for packer (#42093)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 07:51:51 +00:00
renovate[bot] b786b3bfa1 docs: update references to python to ffebef4 (main) (#42058)
docs: update references to python to ffebef4

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-23 00:26:54 +00:00
Tom Pansino b0d2286ab8 feat(manager/mise): add prettier to short tool names (#42047) 2026-03-22 07:59:32 +00:00
Sergei Zharinov e983daa75d feat(github-actions): Support digests for non-semver refs (#40225)
* feat(github-actions): Support non-semver refs (tags and branches)

* refactor(github-actions): drop ref= prefix, use bare token comments

Address review feedback: use bare `# cargo-llvm-cov` instead of
`# ref=cargo-llvm-cov` for non-semver pin comments, consistent with
how version comments work (`# v4.0.0`).

- Rename pinnedVersionRe -> pinTokenRe, add bareTokenRe fallback
- Add `ref` field to CommentData, separate from pinnedVersion
- Guard replaceString extension to only use ref for SHA-pinned actions
- Remove redundant autoReplaceStringTemplate override
- Deduplicate versionLikeRe (export from parse.ts)
- Add datasource assertions to non-semver tests

* refactor(github-actions): remove unreachable parseComment branch

* test(github-actions): add coverage for non-version ref fallback
2026-03-20 05:57:41 +00:00
Alexander Gil Casas b7294ce5a2 feat(versioning/debian): port Ubuntu date versioning support (#40499)
* feat: port Ubuntu versioning support to Debian container images

Resolves #27862.

Signed-off-by: Alexander Gil <pando855@gmail.com>

* refactor: Remove dead code in debian versioning

Signed-off-by: Alexander Gil <pando855@gmail.com>

* refactor: Rename groups to match

* perf: optimize isStable method by reusing getVersionByCodename result

* fix(debian): specify radix in parseInt for dated container image version

---------

Signed-off-by: Alexander Gil <pando855@gmail.com>
Co-authored-by: Jamie Tanna <jamie.tanna@mend.io>
2026-03-19 16:05:04 +00:00
Johannes Feichtner 075dc48cf5 feat(bitbucket-server): reattempt platform automerge after PR updates (#41936)
* feat(bitbucket-server): reattempt platform automerge after PR updates

* extend docs too

* sort order
2026-03-19 11:38:05 +00:00
Björn Kautler 6d0eb5b9bb fix(maven): do not loose the v-prefix of versions (#38895)
* fix(maven): determing properly closed ranges

A Maven range like [1,2) contains various (usually pre-release) versions of the 2.x line.
By Maven definition the smallest possible 2.x version is 2-alpha, so a properly closed range that only allows 1.x versions
would be [1,2-alpha). This is now detected and properly advanced.

* fix(maven): normalize both sides of version comparison

Without this a leftValue of v3 is incremented to 4 and then compared to v4.

* fix(maven): do not loose the v-prefix of versions in range handling

If versions of a project always start with a v prefix, this was lost when Maven ranges were involved.
The coerce and increment methods stripped the v away and it was never added back in.

* Properly fix underlying problem and make PR standalone

* Add missing coverage

* Remove unused callback parameter
2026-03-19 10:07:48 +00:00
Jonathan Berthias 00c5f809a8 feat(poetry): update build-system.requires dependencies (#40445)
feat(poetry): update build-system.requires dependencies
2026-03-19 09:37:33 +00:00
Jarek Toro 245615ee91 feat(bun): Add support for additional workspace formats in package.json files (#41908)
feat(extract): support nested workspaces definitions in package.json when using bun
2026-03-19 09:34:45 +00:00
Alan Agius 779bf10ced fix(bazel-module): use --lockfile_mode=update when updating lockfile (#41976)
Explicitly set --lockfile_mode=update when running bazel mod deps to ensure the lockfile can be updated even when checksums are missing or mismatched. This prevents failures when --lockfile_mode=error is the default or active in the environment.
2026-03-17 15:49:21 +00:00
Robert Huitl d530d515bc fix(conan): "TypeError: Cannot read properties of undefined" with conan wildcard range [*] (#41959)
* test(conan): add failing tests for wildcard-equivalent ranges in getNewValue

Add test cases for [*], [>=*], and [x] ranges with all three
strategies (widen, replace, bump). [>=*] and [x] currently crash
with TypeError in getNewValue.

* fix(conan): handle wildcard-equivalent ranges in getNewValue

Ranges like [*], [>=*], [x], and [] are all semantically "match
everything". parseRange() returns an empty array for these, causing
getNewValue to crash with TypeError when accessing properties on
undefined. Use semver.validRange() to detect all wildcard-equivalent
forms instead of checking only for '*'.
2026-03-17 15:35:27 +00:00
Michael Kriese 57c6e77787 fix(forgejo,gitea): full name can be empty (#41950) 2026-03-16 13:38:54 +00:00
Johannes Feichtner 9fd9f4cc66 refactor(kubernetes): use zod schema to extract API versions (#41933)
* refactor(kubernetes): use zod schema to extract API versions

* fix corrupted indentation of fixture
2026-03-16 07:36:11 +00:00
renovate[bot] 426261e5d2 docs: update references to python to 7aea682 (main) (#41937)
docs: update references to python to 7aea682

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-16 00:38:05 +00:00
Johannes Feichtner 292ef85dca fix(participants): filter out empty entries from code owners (#41576)
* fix(participants): filter out empty entries from code owners

* add defense in depth
2026-03-15 12:08:19 +00:00
Felipe Santos 484c2ec015 feat(pip_requirements): detect requirements files with underscores (#41911) 2026-03-15 08:12:44 +00:00
Michael Kriese d6c85ecc6e fix: lint errors (#41808)
* fix: lint errors

* test: fix lint
2026-03-14 10:39:23 +00:00
Jamie Tanna 25c77c69b2 fix(swift): don't use v prefix with Package.resolved (#41782)
As noted in #41780, in the case that a `newVersion` has the `v` prefix,
we use that version, which then results in `xcodebuild` failing to build
the project.

We should instead use `newValue`, which does not include the `v` prefix.

To make this clear in our tests, we can align the test data with the
expected input from our Datasources.

Because we need to use the `newVersion` for digest lookups, we need to
make sure that we still require it (or log when it's not found for some
reason).

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-03-13 15:38:53 +00:00
Gašper Kojek 49fbc8392e feat(maven-wrapper): support checksum updates when updating versions (#40481)
* feat(maven-wrapper): support checksum updates when updating versions

When updating Maven distribution or wrapper versions, Renovate now updates
the corresponding SHA-256 checksums (distributionSha256Sum, wrapperSha256Sum)
by downloading the new artifacts and computing their hashes.

- Add HTTP client to fetch artifacts and compute SHA-256 checksums
- Update checksums before running wrapper:wrapper command
- Delete old maven-wrapper.jar to prevent checksum validation failures
- Handle maven-only updates when distributionSha256Sum is present
- Preserve old checksums on network failures (PR still created)

Closes #33444

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Signed-off-by: Gasper Kojek <gkojek@gradle.com>

* fix(maven-wrapper): strip checksums before wrapper:wrapper to avoid validation failure

When wrapper:wrapper runs, mvnw downloads the new JAR and validates it
against checksums in the properties file. With old checksums still present,
this validation fails. Now checksums are stripped before running
wrapper:wrapper and recomputed afterward.

Signed-off-by: Gasper Kojek <gkojek@gradle.com>

* fix(maven-wrapper): preserve distributionType when running wrapper:wrapper

Use existing distributionType from properties file or default to 'script'
when running wrapper:wrapper. This ensures JAR-based mode is preserved
for repos using checksums.

Signed-off-by: Gasper Kojek <gkojek@gradle.com>

* fix(maven-wrapper): Fix after merge

* test(maven-wrapper): cover checksum branches

* fix(maven-wrapper): preserve checksums on failures

* test(maven-wrapper): cover missing content branch

* Merge branch 'main' into gk/mavenWrapperChecksums-old

* main: (215 commits)
  fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.1.15 (main) (#40929)
  docs(terraform): clarify release timestamp and limitation (#40923)
  feat(gradle): allow specifying Gradle daemon heap size (#40090)
  fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.1.14 (main) (#40911)
  docs(minimum-release-age): clarify lack of support for non-Docker Hub (#40910)
  build(deps): update dependency re2 to v1.23.2 (main) (#40906)
  fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.1.13 (main) (#40899)
  fix(gitlab): skip automerge retry when merge_when_pipeline_succeeds already set (#39979)
  chore(renovate): enable maintenance branch (#40871)
  chore(deps): update dependency globals to v17.2.0 (main) (#40883)
  chore(deps): update dependency type-fest to v5.4.2 (main) (#40882)
  fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.1.12 (main) (#40880)
  fix(workers): re-attempt platform automerge only in case of new commits (#40028)
  build(deps): update dependency protobufjs to v8 (main) (#40878)
  chore(deps): update github artifact actions (main) (major) (#40876)
  chore(deps): update peter-evans/create-pull-request action to v8 (main) (#40877)
  chore(deps): update dessant/lock-threads action to v6 (main) (#40874)
  chore(deps): update dessant/label-actions action to v5 (main) (#40873)
  chore(deps): update dependency vite-tsconfig-paths to v6 (main) (#40872)
  chore(deps): update dependency @containerbase/semantic-release-pnpm to v1.3.18 (main) (#40669)
  ...

# Conflicts:
#	lib/modules/manager/maven-wrapper/artifacts.spec.ts
#	lib/modules/manager/maven-wrapper/artifacts.ts

* refactor(maven-wrapper): address PR review comments

(cherry picked from commit 9084d356496f6258dc0e846d926598f39b65cda3)

* fix: use named capture group in getChecksumValue

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

---------

Signed-off-by: Gasper Kojek <gkojek@gradle.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-13 15:36:42 +00:00
Felipe Santos 6fb659a8f8 feat: add Home Assistant Manifest manager (#39906)
* feat: add Home Assistant Manifest manager

* Fix review comments

* Set skipReason as unspecified-version when no version in pip dependency

* Fix tests with zod/v3

* Fix lint issue

* Set unspecified-version in HA manager instead of pip
2026-03-13 14:16:59 +00:00
Dmytro Shteflyuk a2043d5b1d test(rpm): use codeBlock in spec fixtures (#41899) 2026-03-13 13:15:30 +00:00
Michael Kriese 93e215f13e fix(maven-wrapper): drop explicit versioning (#41872) 2026-03-13 11:19:40 +00:00
Jason Learst 74233b1696 feat(git-refs): use dereferenced commit hash for annotated tags (#41560)
* feat(git-refs): use dereferenced commit hash for annotated tags

When git ls-remote lists annotated tags, it returns two entries:
1. The tag object hash: refs/tags/v1.0.0 -> abc123
2. The dereferenced commit hash: refs/tags/v1.0.0^{} -> def456

Previously, Renovate used the tag object hash (abc123).  However, `git submodule status` returns the actual commit hash (def456).  This mismatch caused false-positive dependency updates that resulted in empty commits, since the tag object and commit hash differ even when pointing to the same version.

This feature:
- Parses both entries from git ls-remote into allRefs
- Builds a lookup map of tag names to their dereferenced commit hashes
- For annotated tags, replaces the tag object hash with the commit hash
- Lightweight tags are unaffected (they already return the commit hash)

This ensures Renovate's detected digest matches what git submodule operations actually use, preventing unnecessary update PRs.

* Apply suggestions from code review

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

* fix typo in dereferencedTags variable name

---------

Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
2026-03-12 20:10:11 +00:00
Tim Tran 2f71422620 feat(bazel-module,bazelisk): add lock files updating (#41507)
* feat(exec): register bazelisk as containerbase tool

* test(bazel-module): add failing tests for updateArtifacts

* feat(bazel-module): implement updateArtifacts for lockfile support

* feat(bazel-module): export updateArtifacts from manager index

* fix(bazel-module): address code review feedback

- Use logger.warn instead of debug for artifact errors
- Add utf8 encoding to readLocalFile calls
- Use getSiblingFileName for lockfile path derivation
- Add empty updatedDeps guard
- Strengthen test assertions

* docs(bazel-module): document lockfile support

* Update lib/modules/manager/bazel-module/index.ts

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

* Apply suggestions from code review

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

* fix(bazel-module): address review feedback

- Remove unnecessary afterEach in tests
- Use partial<StatusResult> for all StatusResult mocks
- Add lockfile maintenance support
- Export supportsLockFileMaintenance flag

* fix(bazel-module): handle untracked lock files and clarify docs

Check status.not_added alongside status.modified for lock file changes,
matching the pattern used by other managers (composer, gomod, etc.).
Clarify that Bazelisk (not Renovate) reads .bazelversion. Add test for
lockfile maintenance with no changes.

* feat(bazelisk): implement updateArtifacts for MODULE.bazel.lock

When the Bazel version in .bazelversion changes, run `bazel mod deps` to
regenerate MODULE.bazel.lock and return the updated lockfile as an artifact.

* feat(bazelisk): add lockfile maintenance support

* docs(bazelisk): add lockfile support section linking to bazel-module docs

* refactor(bazel-module): extract shared lockfile update helper

* refactor(bazel-module): delegate lockfile update to shared helper

Replace inline lockfile update logic in artifacts.ts with a call to the
shared updateBazelLockfile() helper, and update tests to mock the helper.

* refactor(bazelisk): delegate lockfile update to shared helper

Replace inline lockfile update logic in bazelisk/artifacts.ts with a
call to the shared updateBazelLockfile() helper from bazel-module/lockfile.ts.

* fix(bazelisk): use index.md for cross-manager docs link

The docs pipeline renames readme.md to index.md, so cross-manager
links must reference index.md to pass the docs link checker.

* feat(bazel-module,bazelisk): support bazelisk version constraint

Pass config.constraints.bazelisk through to toolConstraints so users
can pin the bazelisk version if the newest release is broken.

* fix(bazel-module): rename lockFile to fileName in ArtifactError

Upstream renamed lockFile to fileName in ArtifactError type (#41631).

---------

Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
2026-03-12 16:40:24 +00:00