Commit Graph

2281 Commits

Author SHA1 Message Date
David Straub d3cbca91db fix(npm): allow rename when replacement value is unchanged (#44486) 2026-07-11 05:50:32 +00:00
Sebastian Poxhofer 27cc994470 refactor(oxlint): enable vitest/no-standalone-expect (#44417)
Wrap `expect` calls that sat directly in `describe` bodies in their
own `it` blocks (gomod and haskell-cabal extract/index specs), then
re-enable the rule.

Part of #43845

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-10 10:06:16 +00:00
RahulGautamSingh 198a4a7bb7 fix(custom/jsonata): support autoReplaceStringTemplate (#43535)
* fix(custom/jsonata): support autoReplaceStringTemplate

* apply suggestions

* fix types
2026-07-10 06:29:59 +00:00
Ignacio Calderon 191cf7c1cf feat(manager/mint): add support for fully qualified urls for Mint packages (#44305)
* feat: add support for fully qualified urls for Mint packages

* address http ambiguity

* increase coverage
2026-07-08 12:25:54 +00:00
Sebastian Poxhofer ad0b59f8b7 refactor(oxlint): enable vitest/require-to-throw-message (#44421) 2026-07-07 17:47:04 +00:00
Sebastian Poxhofer aac8365dd6 refactor(oxlint): enable vitest/prefer-snapshot-hint (#44420)
Add distinct hints to the multi-snapshot tests flagged by the rule
and regenerate the affected snapshot files, then re-enable the rule.

Part of #43845

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 16:35:22 +00:00
Tobias Schlatter a80e811696 fix(npm): do not fail on version-only replacements (#44380) 2026-07-06 10:07:03 +00:00
renovate[bot] 59e96e1cf3 docs: update references to astral-sh/setup-uv to v8.3.0 (main) (#44373)
docs: update references to astral-sh/setup-uv to v8.3.0

| datasource  | package            | from   | to     |
| ----------- | ------------------ | ------ | ------ |
| github-tags | astral-sh/setup-uv | v8.2.0 | v8.3.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-06 00:31:51 +00:00
renovate[bot] 8992670558 docs: update references to python to 09b29c3 (main) (#44372)
docs: update references to python to 09b29c3

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-06 00:30:55 +00:00
Chickenhen 834fd2ef75 fix(terraform): strictly strip ".git" suffix from source URLs (#44350) 2026-07-03 10:11:45 +00:00
Sebastian Poxhofer a84fb3de11 feat(manager/github-actions): support parallel steps (#44341) 2026-07-02 13:44:38 +00:00
Michael Kriese d8e82a2412 fix(manager/custom/jsonata): handle evaluation errors (#44340) 2026-07-02 10:37:04 +00:00
Mattias Karlsson 5d9e0b82b5 fix(manager/nuget): detect MSBuild SDK updates in sqlproj files (#43831)
* fix(manager/nuget): detect MSBuild SDK updates in sqlproj files

MSBuild SDK versions in `<Sdk>`, `<Import Sdk>`, and `<Project Sdk>`
elements are exact pins, but NuGet versioning treats bare versions as
minimum ranges (`>=`). That caused dependencies such as
`0.1.19-preview` to resolve to the latest release and skip updates.

Apply hybrid versioning to all `msbuild-sdk` dependencies at extract
time: use strict `semver` when the pin is valid semver, otherwise fall
back to `semver-coerced` for non-standard NuGet version strings (e.g.
four-segment revisions). Also add `.sqlproj` to the default manager
file patterns for SSDT SQL projects.

Changes:
- Add `applyMsbuildSdkVersioning()` helper and wire it through all
  msbuild-sdk extract paths (XML, global.json, single-csharp-file)
- Extend `managerFilePatterns` to match `.sqlproj` files
- Add extract, util, index, and integration tests
- Document `.sqlproj` and MSBuild SDK extraction in nuget docs/readme

* fix(manager/nuget): use bump range strategy for msbuild-sdk deps

Replace hybrid semver versioning for MSBuild SDK pins with a default
package rule (`matchDepTypes: msbuild-sdk`, `rangeStrategy: bump`) per
review feedback. Remove `applyMsbuildSdkVersioning()` from all extract
paths and update tests accordingly. Sort nuget doc file extensions
alphabetically.
2026-07-02 05:13:47 +00:00
Florian Schwalm 5ddd565c4e fix(deno): lockfile update in presence of private registries (#43147)
* fix: deno lockfile update in presence of private registries

Renovate was unable to update the lockfile when updating packages from
public registries if any packages from private registries were
referenced in the package file.

This commit fixes this by processing host rules and configuring the
`deno install` invocation for those private registries.

Note that this still doesn't mean support for updating packages from
private registries, it just unblocks lockfile updates in projects where
private registries are used in parallel to public registries.

* fixup! fix: deno lockfile update in presence of private registries
2026-07-01 16:55:10 +00:00
Taku Kodama 333ace1fcf fix(manager/mise): install resolver tools during mise lock (#44174)
* fix(manager/mise): install resolver tools during mise lock

When binarySource=install, Containerbase only installs tools listed in
toolConstraints. mise lock can invoke npm, go, and gem CLIs while
resolving versions for those backends, but Renovate previously only
installed mise itself.

* fix(manager/mise): use go constraint for golang resolver

* test(manager/mise): remove redundant resolver constraint test

* test(manager/mise): cover resolver tool dynamic installs

* test(manager/mise): cover unconstrained resolver lock updates

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

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

* style(manager/mise): fix prettier whitespace in JSDoc comment

* test(manager/mise): clarify what happens with no `constraints`

* chore(manager/mise): update JsDoc

---------

Co-authored-by: Jamie Tanna <github@jamietanna.co.uk>
Co-authored-by: Jamie Tanna <jamie.tanna@mend.io>
2026-06-30 21:20:47 +00:00
renovate[bot] a1669f3ba7 docs: update references to python to 5c48543 (main) (#44279)
docs: update references to python to 5c48543

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-29 00:32:57 +00:00
Matthew Nitschke 2258aa4180 fix(manager/pub): Always populate pub extracted constraints (#44220)
always populate pub extracted constraints
2026-06-25 05:51:41 +00:00
Matthew Nitschke 4ad5bc1b44 feat(manager/pub): extract constraints (#44171)
* added dart/pub constraintsFilter support

* updated documentation to include pub for constraintsFiltering

* only add extractedConstraints if its populated

* increased coverage

* handle non-nullable environment.sdk better
2026-06-23 15:37:59 +00:00
Jamie Tanna 677470b75c chore(manager/mix): extract hardcoded Erlang version for updates (#44180)
* chore(manager/mix): extract hardcoded Erlang version for updates

As noted in #44149, we're not performing updates to the version of
Erlang, which means that unless users specify a `constraints.erlang`,
they are resolved to Erlang 25.3.2.21 (2025-07-09).

To start getting updates more frequently, we can extract this with a
Custom Manager, with:

- `loose` versioning (per #26768) for the 4-part versioning
- `extractVersion` to make sure we only get the first major
- `separateMultipleMajor` to allow us control over how we update
- a `renovate:` comment for visibility

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

* fixup! chore(manager/mix): extract hardcoded Erlang version for updates

---------

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-06-23 13:29:59 +00:00
renovate[bot] b60b4058b0 docs: update references to python to 4d7dd74 (main) (#44136)
docs: update references to python to 4d7dd74

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-22 00:29:01 +00:00
Yuchen Shi a8b864363c fix(manager/flux): extract both commit and branch for GitRepository (#43560) 2026-06-19 10:35:11 +00:00
Jamie Tanna 89be048657 refactor: use GlobalConfig for productLinks (#44098)
As a follow-up to e1e5c398e0, we can make
sure that we remove references to hardcoded docs site URLs, by wiring in
the `GlobalConfig.get(...)` call.

To do this, we need to make sure that `productLinks` exists to be called
by `GlobalConfig.get`.

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-06-19 10:34:03 +00:00
Pieter Willekens 1a0536d375 fix(manager/mise): disable digest pinning (#44036)
mise tool versions are plain version strings (e.g. `"aqua:pnpm/pnpm" = "11.6.0"`)
with no syntax to attach a commit digest, so a digest can never be written to a
mise config file. Backends such as aqua and core resolve to the github-tags
datasource, which exposes `getDigest`, so a global `pinDigests: true` makes
Renovate emit `pinDigest` updates for mise tools. These updates produce no file
change and then fail post-update verification with "Digest is not updated" ->
"Error updating branch: update failure" on every run.

Disable digest pinning at the manager level, matching terraform, gomod, and the
other managers whose dependencies have no place to store a digest.
2026-06-18 09:46:32 +00:00
Jamie Tanna e1e5c398e0 chore: ensure we use productLinks for docs site links where possible (#44066)
* chore: ensure we use `productLinks` for docs site links where possible

Where possible, we should be making sure that we're using the
`productLinks`' configuration for  the documentation site, especially
where self-hosted users may create a mirror of their docs[0].

To make sure we catch this in the future, we can introduce a custom
linting rule with Oxlint to enforce this.

Where we (currently) can't wire in the config, we can disable it against
that line.

[0]: https://www.jvt.me/posts/2024/11/19/renovate-private-docs/

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

* fixup! chore: ensure we use `productLinks` for docs site links where possible

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

* fixup! chore: ensure we use `productLinks` for docs site links where possible

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

---------

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-06-18 08:55:27 +00:00
Nahrin 372b258a05 docs(manager/sveltos): remove duplicated depTypes table from readme (#44016)
Move the Sveltos documentation links into the dep-types.ts description
fields so they appear in the auto-generated Dependency types table.
Replace the duplicate hand-written table in readme.md with a config
example showing how to use depTypes for fine-grained control.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-16 05:48:01 +00:00
Nahrin 7c256166b3 test(manager/github-actions): add missing community action tests (#44018)
Add test coverage for community actions that had no corresponding
tests: azure/setup-helm, docker/setup-buildx-action,
docker/setup-compose-action, helm/chart-testing-action, and
sigoden/install-binary.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-16 05:45:22 +00:00
RahulGautamSingh 8be9e6bb6c fix(manager/deno): tolerate compilerOptions without jsx fields (#44002)
The zod v4 migration made compilerOptions fail validation when jsxImportSource/jsxImportSourceTypes keys were absent, aborting Deno dependency extraction.
2026-06-15 07:16:35 +00:00
renovate[bot] 1ac09e77e2 docs: update references to python to 6f473f8 (main) (#43993)
docs: update references to python to 6f473f8

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-15 00:28:08 +00:00
Matthias Baur e0cf904a6a fix(helmv3): skip helm-git repositories (#43932)
Co-authored-by: Copilot copilot@github.com
2026-06-13 11:44:47 +00:00
Tobias Bieniek a73e4d1adc feat(manager/github-actions): support dtolnay/rust-toolchain toolchain input (#43956)
* feat(manager/github-actions): support dtolnay/rust-toolchain `toolchain` input

Extract the `toolchain` input of `dtolnay/rust-toolchain` as a `rust` dependency via the `rust-version` datasource, mirroring the rust-toolchain manager. Sliding-window expressions like `stable 18 months ago` are extracted as-is and rejected by the `rust-release-channel` versioning during lookup.

* feat(manager/github-actions): add rust-version datasource to `supportedDatasources`
2026-06-13 08:04:51 +00:00
Martin Costello 40450a840e feat(datasource/github-runners): add macOS Intel labels (#43540)
* feat(datasource/github-runners): add macOS Intel labels

Add `macos-15-intel` and `macos-26-intel` runner labels to the datasource.

* feat(datasource/github-runners): add tests

Add test for upgrading macos-*-intel runners.

* chore(datasource/github-runners): split tests

Split-up the tests into different operating system families.
2026-06-11 20:28:57 +00:00
Felipe Santos 33ca9e6ed7 test: fix test cases failing inside devcontainer (#43886) 2026-06-09 06:50:08 +00:00
Alex Waibel 5e4ef7486e fix(manager/flux): pin tag-only OCIRepository digests to spec.ref.digest (#43753)
* fix(flux): pin tag-only OCIRepository digests to separate ref.digest field

* fix(flux): simplify range checks in extractOCIRefTagRange function

* fix(extract): improve handling of OCI reference nodes by using Scalar types

* fix(extract): refactor findOCIRefNodes to accept parsed documents instead of raw content

* fix(extract): update OCIRepository handling to extract tag-only refs with YAML aliases
2026-06-08 19:22:12 +00:00
Martijn van der Meij 5e1f88afc6 fix(npm): use packageName for pnpm overrides with range selectors in minimumReleaseAgeExclude (#43477)
* fix(npm): use packageName for pnpm overrides with range selectors in minimumReleaseAgeExclude

For pnpm.overrides entries with version range selectors (e.g. "pkg@<=1.0.0"),
depName contains the full override key including the selector, which is needed
to correctly update package.json. However this caused invalid entries in
minimumReleaseAgeExclude like "fast-xml-parser@<=5.3.5@5.5.7" instead of
"fast-xml-parser@5.5.7", breaking pnpm install with ERR_PNPM_INVALID_MINIMUM_RELEASE_AGE_EXCLUDE.

Fix by using packageName (bare npm package name parsed by @pnpm/parse-overrides)
instead of depName when constructing minimumReleaseAgeExclude entries. Falls back
to depName for dependency types where packageName is not set.

Made-with: Cursor

* test(npm): format pnpm override minimumReleaseAgeExclude test

Use codeBlock helper for expected pnpm-workspace.yaml contents per review.

* test(npm): avoid string concat in shrinkwrap exclude test

Use template literal instead of + to satisfy restrict-plus-operands.

* fix(npm): replace malformed minimumReleaseAgeExclude entries

Skip invalid package@version lines (extra @ after package prefix) when
matching excludes, and replace them instead of appending versions.

* test(npm): cover valid vs malformed exclude matching

* Update lib/modules/manager/npm/artifacts.spec.ts

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

* Update lib/modules/manager/npm/artifacts.spec.ts

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

* test(npm): use codeBlock for expected workspace contents

* fix(npm): remove stale malformed minimumReleaseAgeExclude entries

When a valid exclude entry exists for the same package, drop leftover
malformed lines from the prior double-@ bug instead of leaving them.

* test(npm): avoid string concat in codeBlock expectations

Use template literal instead of + '\n' for prefer-template.

---------

Co-authored-by: Tapio Oikarinen <tapio.oikarinen@hoxhunt.com>
Co-authored-by: Martijn van der Meij <Squixx@users.noreply.github.com>
Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
2026-06-08 13:27:08 +00:00
renovate[bot] 813132441d docs: update references to astral-sh/setup-uv to v8.2.0 (main) (#43857)
docs: update references to astral-sh/setup-uv to v8.2.0

| datasource  | package            | from   | to     |
| ----------- | ------------------ | ------ | ------ |
| github-tags | astral-sh/setup-uv | v8.1.0 | v8.2.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-08 00:26:59 +00:00
RahulGautamSingh 4f7eed4273 feat(manager/nuget): default rangeStrategy to bump (#43820)
* docs(manager/nuget): treat bare-version as range

* nuget: default rangeStrategy to bump

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

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

* apply suggestions

---------

Co-authored-by: Jamie Tanna <github@jamietanna.co.uk>
2026-06-05 20:22:22 +00:00
Jamie Tanna 4bf6bd9b92 docs(manger/github-actions): reword "community actions" section (#43829)
* docs(manger/github-actions): reword "community actions" section

As some follow-ups to 27a3f5871f, we
can slightly reword the intro to add some more information about what
these target.

* docs(manager/github-actions): document why there may not be a `packageName`

* docs(manager/github-actions): generate a table for Actions and their `with`s

To provide further clarity on how each of the Actions' `with`s are used,
we can make this more explicit in our autogenerated docs, providing:

- which field(s) are extracted, taken from their Zod schema (with help
  from Claude Opus to extract this)
- note the dependency updating, and where it may be determined from the
  given `withSchema`

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

---------

Co-authored-by: Claude Opus 4.7 <jamie.tanna+claude-code@mend.io>
2026-06-05 16:05:15 +00:00
Michael Kriese 27a3f5871f feat(github-actions): add community actions (#43821)
* feat(github-actions): add community actions

* test: fix test
2026-06-05 08:23:11 +00:00
ericli-splunk e84d2dbec1 docs: update pip-compile project URL (#43816)
* Update pip-compile project URL

* Fix linting
2026-06-04 20:56:10 +00:00
Gregor Zeitlinger 0338dd74ba fix(mise): require allowlisting for lock updates (#43606)
* fix(mise): trust Renovate repo checkout during lock file updates

* docs(mise): document trusted config paths for lock updates

* refactor(mise): sanitize config files for lock updates

* test(mise): cover sanitized lock update flow

* docs(mise): describe sanitized lock update flow

* test(mise): cover sanitize failure paths

* fix(mise): clarify mirror read coverage

* fix(mise): allowlist mirrored settings

* test(mise): fix schema and integration specs

* fix(mise): trust only sanitized mirror workspace

* test(mise): fix mirrored cwd type narrowing

* test(mise): focus coverage on sanitized mirror flow

* test(mise): cover recursive settings schema

* fix(mise): ignore misreported lcov branch

* test(mise): remove redundant integration gate

* test(mise): drop local integration spec

* fix(mise): gate lock updates as unsafe execution

* fix(mise): restore settings schema typing

* fix(mise): generalize unsafe execution to mise

Rename allowedUnsafeExecutions value miseLock -> mise since any mise
command reading repo config can execute arbitrary code, not just
mise lock. Drop unused smol-toml dependency left over from the
abandoned config-sanitize approach.

Addresses PR review feedback.

* fix(mise): drop unused settings schema parsing

Nothing reads MiseFile.settings — the lock-update flow gates on
allowedUnsafeExecutions and relies on CI=true auto-trust, not config
sanitization. Remove the dead schema + tests per review.

Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>

* fix(mise): trust repo config via trusted paths

* fix(mise): explicitly trust config before lock

---------

Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
2026-06-03 16:17:46 +00:00
RahulGautamSingh adc224de12 fix(manager/npm): use multi-doc parsing to get pnpm lockfile (#43503)
* use multi-doc parsing

* Update lib/modules/manager/npm/extract/pnpm.ts

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

---------

Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2026-06-03 15:18:34 +00:00
Sebastian Poxhofer 783cbee6a4 refactor(terraform): replace getJsonUnchecked with schema validated getJson (#43759)
* fix(terraform-provider): replace getJsonUnchecked with validated getJson

Convert all five TypeScript interfaces (TerraformProviderVersions,
TerraformProviderReleaseBackend, TerraformRegistryVersions,
TerraformRegistryBuildResponse, VersionDetailResponse) to co-located
Zod schemas in schema.ts and update all five call sites in index.ts to
use the typed http.getJson() overload. Types are now derived with
z.infer<> to prevent interface/schema drift.

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

* fix linting errors

* remove types

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03 11:27:42 +00:00
Jacob Asper da3e77cb9d feat(mise): extract task tools (#43721)
* feat(mise): extract task tools

* docs: update mise documentation to include task scoped tools
2026-06-02 13:34:54 +00:00
Jamie Tanna 128f446e08 docs: ensure that config in documentation is error and warning free (#43727)
* docs: skip validation on JSON files that aren't Renovate config

As part of future changes, we'll enable validation on all JSON code
snippets to run Config Validation.

Before we do that, we should opt-out JSON snippets that aren't anything
related to Renovate config.

* docs: don't validate invalid Renovate config

As it's intentionally referencing a manager that doesn't exist.

* docs: don't validate partial Renovate config

As part of future changes, we'll enable validation on all JSON code
snippets to run Config Validation.

There are several code snippets we have that are part of a Renovate JSON,
but it doesn't make sense to convert these to a fully passing config, as
it'd reduce clarity on what we're trying to explain.

* docs: convert `baseBranchPatterns` snippets to code blocks

So we can validate them.

* docs: make sure that `datasourceTemplate` is set

So this passes validation.

* docs: clarify that `force` is global config

As it may not be clear, so we can make it extra clear with a `.js` file,
and note that it's global self-hosted config.

* docs: make sure `packageRules` is an array

* docs: `matchBaseBranches` needs `baseBranchPatterns` to be set

* docs: correct typo for `prBodyColumns`

* docs: mark global config snippets as such

As part of future changes, we'll use this to detect whether it's global
self-hosted configuration.

* docs: make sure `packageRules` wraps its children

* docs: add `allowedHeaders`

* docs: ignore deprecation warnings

As part of future changes, we'll use this to note that we don't care
about the validation warnings.

* docs: make sure `customManagers` wraps its children

* docs: make sure `fleet` wraps its children

* docs: validate JSON snippets are valid Renovate config

To make sure that we're always presenting valid JSON configuration to
our users, we can validate them as part of `check-fenced-code`.

As well as configuration errors we can warn for warnings, but allow code
blocks to opt-out, for instance when there's a known deprecation
affecting the code block.

We need to make sure to set `allowedEnv` for various code snippets that
reference environment variables.

* docs(development): document fenced code block checks

* docs: wrap `configType` and `ignoreConfigWarnings` in `{ ... }`

As otherwise we see build failures i.e.

    WARNING -  Doc file 'modules/platform/gitlab/index.md' contains a link
       '../../../self-hosted-configuration.md#autodiscoverrepoorder', but the doc
       'self-hosted-configuration.md' does not contain an anchor '#autodiscoverrepoorder'.

This needs to be wrapped alongside all other options like `title`.

* fixup! docs: wrap `configType` and `ignoreConfigWarnings` in `{ ... }`
2026-06-02 13:29:48 +00:00
Sebastian Poxhofer 914c64afbd test(linter): zod schema and infered type naming rule (#43736)
* ci: add linting rule for schema and infered types

* refactor: remove usages of Schema and differently named types
2026-06-02 12:07:35 +00:00
Michael Kriese 3afdb6ff5f build: replace extract-zip with adm-zip (#43709) 2026-06-01 09:05:54 +00:00
renovate[bot] d755b7a98d docs: update references to python to 250e5c9 (main) (#43705)
docs: update references to python to 250e5c9

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-01 00:27:00 +00:00
Sebastian Poxhofer 15f4bd8eff chore: migrate from zod/v3 to zod/v4 (#43691)
* chore: migrate from zod/v3 to zod/v4

This commit contains the logic changes

* chore: migrate imports from zod/v3 to zod/v4

This contains import updates and adds explicit record keys as zod/v4 requires these now

* ci: enforce usage of zod/v4
2026-05-30 16:01:58 +00:00
Felipe Santos 392105b7c6 chore(oxlint): enable unicorn plugin and prefer-node-protocol (#43283)
chore(oxlint): enable unicorn plugin and prefer-node-protocol
2026-05-29 06:55:58 +00:00
Gianluca Mardente f481a9f14e feat(manager/sveltos): add Sveltos ClusterPromotion (#43612)
feat(manager): add Sveltos ClusterPromotion
2026-05-27 12:24:01 +00:00