Skip to content

feat(managers/npm): support pnpm catalogs #33376

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 46 commits into from
Jan 28, 2025

Conversation

fpapado
Copy link
Contributor

@fpapado fpapado commented Jan 2, 2025

Changes

This PR adds support for pnpm catalogs, extracting dependencies from / updating dependencies in pnpm-workspace.yaml files.

I took @rarkins' suggestion in #30079 (comment), and added this as part of the npm manager. I tried to keep the functionality contained in pnpm files inside the relevant modules, to make it easier to split out in the future, if needed.

I took care of the following things:

  • pnpm-workspace.yaml files are picked up by default; their dependencies are extracted, and any updates are applied
  • Updates should preserve formatting as much as possible (tests back this up, but YAML is complicated)
  • pnpm-workspace.yaml files can be renamed and specified in fileMatch. The npm manager tries to parse a workspace YAML file first, before falling back to pakcage.json-like parsing.
  • The pnpmShrinkwrap file gets picked up, to use for updating. I believe I implemented that correctly, but I might have missed something.
  • Locked catalog dependencies are resolved from the lockfile. This should allow range replacements and other more advanced use-cases.

These questions have been resolved; I leave the text here for posterity

Open question 1: ways of picking up pnpm-workspace.yaml for extraction

I have placed pnpm-workspace.yaml in the fileMatch defaultConfig of the npm manager, and added an extra branch to extractAllPackageFiles.

An alternative would be to do this work in postExtract, by looking up sibling/parent pnpm-workspace.yaml file, and doing similar processing. This avoids the need for changing the config, but might have downsides that I cannot think of. What do you think?

Open question 2: depType and allowing granular updates to named catalogs

In the current version, I gave catalog-related upgrades a depType of pnpm.catalog, just for namespacing. However, I am wondering whether we could go more granular with this, such as pnpm.catalog.<catalogName>

One of the pnpm examples for catalogs, is allowing incremental updates, by defining named catalogs:

catalogs:
  # Can be referenced through "catalog:react17"
  react17:
    react: ^17.0.2
    react-dom: ^17.0.2

  # Can be referenced through "catalog:react18"
  react18:
    react: ^18.2.0
    react-dom: ^18.2.0

In such a scenario, I imagine users wanting to keep react 17 and 18 each in their range (allowing for bugfixes), without bumping the major. To do that, we would need to expose the catalog name to the user for matching, such as {matchDepTypes: ['pnpm.catalog.react17']}.

Have you had similar scenarios in the past? I noticed that pnpm.overrides kind of works like this, when using the pkg-a>pkg-b syntax (reference, example), but based on the depName. This could probably be done in a follow-up PR, but it's good to think about 💭

Context

Closes #30079

pnpm catalogs are described in the pnpm docs

This is my first Renovate contribution, I'm open to any and all ideas 😊

Documentation (please check one with an [x])

  • I have updated the documentation, or
  • [] No documentation update is required

I made a small documentation addition for the readme.md of the npm manager, in order to mention pnpm.catalogs.<name> as a depType.

How I've tested my work (please select one)

I have verified these changes via:

  • Code inspection only, or
  • Newly added/modified unit tests, or
  • No unit tests but ran on a real repository, or
  • Both unit tests + ran on a real repository

I added unit tests for the extraction and updates, the latter being a similar set to the package.json update tests. I will double-check the code coverage on CI, I think I missed something when running coverage locally.

I did a fair bit of repository testing at https://github.com/fpapado/renovate-testing-catalogs/pulls, to understand how the npm extraction/update phases work for package.json files.

@fpapado fpapado marked this pull request as ready for review January 2, 2025 17:47
@secustor secustor self-requested a review January 2, 2025 21:18
@viceice viceice self-requested a review January 4, 2025 16:11
@fpapado
Copy link
Contributor Author

fpapado commented Jan 5, 2025

Ah, I noticed now in my test repo that the lockfile does not get updated after a standalone catalog dependency upgrade. I missed that codepath when trying to keep the functionality minimal. I'll add it to my todo 🗒️

Update: this has since been fixed 🎉

@rarkins rarkins marked this pull request as draft January 8, 2025 12:27
@fpapado
Copy link
Contributor Author

fpapado commented Jan 9, 2025

@secustor and @viceice, apologies for the ping, do you have any pointers for the open questions here? If you think the PR is not in a reviewable state, I'm happy to implement with my gut feeling and re-request a review later down the line. I'm asking because I don't want to waste your time if something ends up being unworkable or unidiomatic, but I also don't want this to be stuck in limbo 😌

@viceice
Copy link
Member

viceice commented Jan 9, 2025

we usually don't review draft PRs, will try to have a look tomorrow

Copy link
Collaborator

@secustor secustor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had it on my plate, but haven't come around to finish it.

Open question 1: ways of picking up pnpm-workspace.yaml for extraction

pnpm-workspace.yaml should be part of fileMatch.
The expectation is that users will have use cases which deviating filenames e.g. because they are overwriting this name in a config.
Ideally we detect the fact that it is a workspace file via schema or other marker and are not relying on it. That way we are not bound to the filename and it "magically" works.

Open question 2: depType and allowing granular updates to named catalogs

Having pnpm.catalog.foo is preferable as with string pattern matching users can match all catalogs if needed.
Can you add an example of this in the readme.md that way it will show up in the manager docs.

@rarkins
Copy link
Collaborator

rarkins commented Jan 10, 2025

@secuster can't we discover the pnpm-workspace.yaml file automatically instead of needing it in fileMatch?

@secustor
Copy link
Collaborator

@secuster can't we discover the pnpm-workspace.yaml file automatically instead of needing it in fileMatch?

If we are fine with only supporting this file name, we can drop it out of fileMatch.
There are requests regarding the possiblitly to change the file name and workarounds

@rarkins
Copy link
Collaborator

rarkins commented Jan 10, 2025

Ideally the name should be referenced from package.json. If not, I agree that we need to support it in fileMatch, but it's undesirable

@fpapado
Copy link
Contributor Author

fpapado commented Jan 14, 2025

Thank you all kindly for your earler reviews! They helped clarify the direction quite a bit. I've made relevant changes now, tidied up the tests, implemented lockfile updating and locked version detection, and the coverage should be ok too.

I'll put this up for a review now. Let me know if you spot anything that can be improved, and I'll get to it 🔧

@fpapado fpapado marked this pull request as ready for review January 14, 2025 20:27
@fpapado fpapado requested review from secustor and viceice January 14, 2025 20:27
@fpapado fpapado requested a review from secustor January 19, 2025 18:12
Copy link
Collaborator

@secustor secustor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sry, for the back and forth.

@fpapado fpapado force-pushed the feat/30079-support-pnpm-catalogs branch from 33b479c to a0316a3 Compare January 22, 2025 17:32
@fpapado fpapado requested a review from secustor January 23, 2025 08:44
Copy link
Collaborator

@secustor secustor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, but there is a conflict with main

fpapado and others added 13 commits January 28, 2025 11:03
…ockfile

This ensures that the lockfile update command will see the updated
workspace file, and will update correctly. There was a hardcoded
package.json check, that was previously precluding that.
Co-authored-by: Sebastian Poxhofer <[email protected]>
This required a few more changes in the rest of the file, in order
to mock fs and use the utils consistently.
This introduces a tryParsePnpmWorkspaceYaml function, which
parses a string as YAML, and validates it via  a schema, returning
the result, and whether parsing succeeded. This allows the
npm manager extraction call-site to only parse the content once,
and pass on the parsed contents (if any) for extraction.
Previously, this was being tested _incidentally_, due to not mocking
the filesystem calls.
@fpapado fpapado force-pushed the feat/30079-support-pnpm-catalogs branch from a0316a3 to a3fb8df Compare January 28, 2025 09:04
@fpapado
Copy link
Contributor Author

fpapado commented Jan 28, 2025

LGTM, but there is a conflict with main

Oh right, there was a conflict in the npm README around depTypes. Rebased and resolved it now ✅

@fpapado fpapado requested a review from secustor January 28, 2025 09:05
Copy link
Collaborator

@secustor secustor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please also no force pushes, your branch will automatically get rebased and squashed anyway

Thanks for your contribution!

@secustor secustor changed the title feat(npm): support pnpm catalogs feat(managers/npm): support pnpm catalogs Jan 28, 2025
@secustor secustor added this pull request to the merge queue Jan 28, 2025
Merged via the queue into renovatebot:main with commit 0f06866 Jan 28, 2025
39 checks passed
@renovate-release
Copy link
Collaborator

🎉 This PR is included in version 39.138.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@fpapado fpapado mentioned this pull request Jan 28, 2025
18 tasks
DennisRasey pushed a commit to DennisRasey/forgejo that referenced this pull request Feb 3, 2025
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [data.forgejo.org/renovate/renovate](https://renovatebot.com) ([source](https://github.com/renovatebot/renovate)) | container | minor | `39.136.1` -> `39.156.1` |
| [renovate](https://renovatebot.com) ([source](https://github.com/renovatebot/renovate)) |  | minor | `39.136.1` -> `39.156.1` |

---

### Release Notes

<details>
<summary>renovatebot/renovate (data.forgejo.org/renovate/renovate)</summary>

### [`v39.156.1`](https://github.com/renovatebot/renovate/releases/tag/39.156.1)

[Compare Source](renovatebot/renovate@39.156.0...39.156.1)

##### Bug Fixes

-   **manager/jsonata:** populate extract result with manager config fields ([#&#8203;33992](renovatebot/renovate#33992)) ([77a5c15](renovatebot/renovate@77a5c15))

##### Documentation

-   fix typos in documentation ([#&#8203;33982](renovatebot/renovate#33982)) ([bfff982](renovatebot/renovate@bfff982))

##### Miscellaneous Chores

-   **deps:** update containerbase/internal-tools action to v3.5.22 ([#&#8203;33988](renovatebot/renovate#33988)) ([52ab2d8](renovatebot/renovate@52ab2d8))
-   **deps:** update dependency google-github-actions/auth to v2.1.8 ([#&#8203;33987](renovatebot/renovate#33987)) ([de8140d](renovatebot/renovate@de8140d))

### [`v39.156.0`](https://github.com/renovatebot/renovate/releases/tag/39.156.0)

[Compare Source](renovatebot/renovate@39.155.0...39.156.0)

##### Features

-   **autoreplace:** extended logging for autoreplace mismatches ([#&#8203;33984](renovatebot/renovate#33984)) ([a1c291c](renovatebot/renovate@a1c291c))

### [`v39.155.0`](https://github.com/renovatebot/renovate/releases/tag/39.155.0)

[Compare Source](renovatebot/renovate@39.154.0...39.155.0)

##### Features

-   **presets:** add `react-spectrum` monorepo ([#&#8203;33892](renovatebot/renovate#33892)) ([c25ffa5](renovatebot/renovate@c25ffa5))

### [`v39.154.0`](https://github.com/renovatebot/renovate/releases/tag/39.154.0)

[Compare Source](renovatebot/renovate@39.153.2...39.154.0)

##### Features

-   enhance libyear output ([#&#8203;33981](renovatebot/renovate#33981)) ([1386cf7](renovatebot/renovate@1386cf7))

### [`v39.153.2`](https://github.com/renovatebot/renovate/releases/tag/39.153.2)

[Compare Source](renovatebot/renovate@39.153.1...39.153.2)

##### Miscellaneous Chores

-   **documentation:** s/Forjeo/Forgejo/ ([#&#8203;33976](renovatebot/renovate#33976)) ([732f91b](renovatebot/renovate@732f91b))

##### Code Refactoring

-   **devbox:** Refactor schema and improve logging ([#&#8203;33978](renovatebot/renovate#33978)) ([19ae54f](renovatebot/renovate@19ae54f))

##### Tests

-   **logger:** Fix mock for `withMeta` function ([#&#8203;33979](renovatebot/renovate#33979)) ([0300c4e](renovatebot/renovate@0300c4e))

##### Build System

-   **deps:** update aws-sdk-js-v3 monorepo ([#&#8203;33980](renovatebot/renovate#33980)) ([35a56c7](renovatebot/renovate@35a56c7))

### [`v39.153.1`](https://github.com/renovatebot/renovate/releases/tag/39.153.1)

[Compare Source](renovatebot/renovate@39.153.0...39.153.1)

##### Build System

-   **deps:** update dependency google-auth-library to v9.15.1 ([#&#8203;33974](renovatebot/renovate#33974)) ([582c08b](renovatebot/renovate@582c08b))

### [`v39.153.0`](https://github.com/renovatebot/renovate/releases/tag/39.153.0)

[Compare Source](renovatebot/renovate@39.152.0...39.153.0)

##### Features

-   **jsonata:** support yaml ([#&#8203;33972](renovatebot/renovate#33972)) ([e63ff23](renovatebot/renovate@e63ff23))

### [`v39.152.0`](https://github.com/renovatebot/renovate/releases/tag/39.152.0)

[Compare Source](renovatebot/renovate@39.151.0...39.152.0)

##### Features

-   **presets:** Added `GRADLE_OPTS` to safe global env ([#&#8203;33968](renovatebot/renovate#33968)) ([9e51d42](renovatebot/renovate@9e51d42))

##### Code Refactoring

-   **process/libyear:** early return if no `releaseTimestamp` for current version ([#&#8203;33967](renovatebot/renovate#33967)) ([09b2c10](renovatebot/renovate@09b2c10))
-   **schema:** simplify handling ([#&#8203;33963](renovatebot/renovate#33963)) ([7583ecd](renovatebot/renovate@7583ecd))

### [`v39.151.0`](https://github.com/renovatebot/renovate/releases/tag/39.151.0)

[Compare Source](renovatebot/renovate@39.150.0...39.151.0)

##### Features

-   **manager:** add devbox manager module ([#&#8203;33638](renovatebot/renovate#33638)) ([62cb770](renovatebot/renovate@62cb770))

##### Code Refactoring

-   **workers:** move bump version to separate function ([#&#8203;33965](renovatebot/renovate#33965)) ([e82a22d](renovatebot/renovate@e82a22d))

### [`v39.150.0`](https://github.com/renovatebot/renovate/releases/tag/39.150.0)

[Compare Source](renovatebot/renovate@39.149.0...39.150.0)

##### Features

-   **preset:** Add monorepo preset for KSP ([#&#8203;33943](renovatebot/renovate#33943)) ([1b240a8](renovatebot/renovate@1b240a8))

### [`v39.149.0`](https://github.com/renovatebot/renovate/releases/tag/39.149.0)

[Compare Source](renovatebot/renovate@39.148.0...39.149.0)

##### Features

-   **cloudbuild:** Parse config using Zod schema ([#&#8203;33768](renovatebot/renovate#33768)) ([586d9fd](renovatebot/renovate@586d9fd))

##### Documentation

-   **versioning:** fix types and tests ([#&#8203;33958](renovatebot/renovate#33958)) ([7819d02](renovatebot/renovate@7819d02))

### [`v39.148.0`](https://github.com/renovatebot/renovate/releases/tag/39.148.0)

[Compare Source](renovatebot/renovate@39.147.0...39.148.0)

##### Features

-   **gitlab:** add branch status check attemps ([#&#8203;32692](renovatebot/renovate#32692)) ([78f389a](renovatebot/renovate@78f389a))
-   **versioning:** aws-eks-addon versioning added ([#&#8203;33301](renovatebot/renovate#33301)) ([476d11c](renovatebot/renovate@476d11c))

### [`v39.147.0`](https://github.com/renovatebot/renovate/releases/tag/39.147.0)

[Compare Source](renovatebot/renovate@39.146.4...39.147.0)

##### Features

-   **nix:** rework to work with all flake inputs ([#&#8203;31921](renovatebot/renovate#31921)) ([441a30f](renovatebot/renovate@441a30f))

### [`v39.146.4`](https://github.com/renovatebot/renovate/releases/tag/39.146.4)

[Compare Source](renovatebot/renovate@39.146.3...39.146.4)

##### Bug Fixes

-   **deps:** update dependency mkdocs-material to v9.6.1 ([#&#8203;33956](renovatebot/renovate#33956)) ([98ccb43](renovatebot/renovate@98ccb43))

### [`v39.146.3`](https://github.com/renovatebot/renovate/releases/tag/39.146.3)

[Compare Source](renovatebot/renovate@39.146.2...39.146.3)

##### Bug Fixes

-   **deps:** update dependency mkdocs-material to v9.6.0 ([#&#8203;33955](renovatebot/renovate#33955)) ([ba0bbbb](renovatebot/renovate@ba0bbbb))

### [`v39.146.2`](https://github.com/renovatebot/renovate/releases/tag/39.146.2)

[Compare Source](renovatebot/renovate@39.146.1...39.146.2)

##### Bug Fixes

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.38.3 ([#&#8203;33954](renovatebot/renovate#33954)) ([1e6ebec](renovatebot/renovate@1e6ebec))

### [`v39.146.1`](https://github.com/renovatebot/renovate/releases/tag/39.146.1)

[Compare Source](renovatebot/renovate@39.146.0...39.146.1)

##### Bug Fixes

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.38.2 ([#&#8203;33953](renovatebot/renovate#33953)) ([48ab56f](renovatebot/renovate@48ab56f))

### [`v39.146.0`](https://github.com/renovatebot/renovate/releases/tag/39.146.0)

[Compare Source](renovatebot/renovate@39.145.1...39.146.0)

##### Features

-   **logger:** Add `withMeta` helper ([#&#8203;33948](renovatebot/renovate#33948)) ([3053a9e](renovatebot/renovate@3053a9e))
-   **schema:** Add logging utilities for catch calls ([#&#8203;33950](renovatebot/renovate#33950)) ([23fa0bd](renovatebot/renovate@23fa0bd))

### [`v39.145.1`](https://github.com/renovatebot/renovate/releases/tag/39.145.1)

[Compare Source](renovatebot/renovate@39.145.0...39.145.1)

##### Bug Fixes

-   **presets:** match on devDependencies or dev for dev dependencies-related presets ([#&#8203;33909](renovatebot/renovate#33909)) ([545bf31](renovatebot/renovate@545bf31))

##### Miscellaneous Chores

-   correctly update missing labels issue ([#&#8203;33903](renovatebot/renovate#33903)) ([9338455](renovatebot/renovate@9338455))

### [`v39.145.0`](https://github.com/renovatebot/renovate/releases/tag/39.145.0)

[Compare Source](renovatebot/renovate@39.144.4...39.145.0)

##### Features

-   **bazel-module:** support `bazel_dep` dependencies without the `version` parameter ([#&#8203;33496](renovatebot/renovate#33496)) ([4ca76e4](renovatebot/renovate@4ca76e4))
-   **managers/custom:** generic manager for json files ([#&#8203;32784](renovatebot/renovate#32784)) ([fc8b8f9](renovatebot/renovate@fc8b8f9))
-   **presets:** add tailwindcss monorepo ([#&#8203;33940](renovatebot/renovate#33940)) ([3f88df2](renovatebot/renovate@3f88df2))

### [`v39.144.4`](https://github.com/renovatebot/renovate/releases/tag/39.144.4)

[Compare Source](renovatebot/renovate@39.144.3...39.144.4)

##### Bug Fixes

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.38.1 ([#&#8203;33936](renovatebot/renovate#33936)) ([a3f4098](renovatebot/renovate@a3f4098))

### [`v39.144.3`](https://github.com/renovatebot/renovate/releases/tag/39.144.3)

[Compare Source](renovatebot/renovate@39.144.2...39.144.3)

##### Bug Fixes

-   only replace prefix with registry alias ([#&#8203;33922](renovatebot/renovate#33922)) ([5ffd464](renovatebot/renovate@5ffd464))

### [`v39.144.2`](https://github.com/renovatebot/renovate/releases/tag/39.144.2)

[Compare Source](renovatebot/renovate@39.144.1...39.144.2)

##### Bug Fixes

-   **manager/custom:** Support range strategy with custom managers ([#&#8203;33800](renovatebot/renovate#33800)) ([7f3b76b](renovatebot/renovate@7f3b76b))

### [`v39.144.1`](https://github.com/renovatebot/renovate/releases/tag/39.144.1)

[Compare Source](renovatebot/renovate@39.144.0...39.144.1)

##### Bug Fixes

-   **manager:** retain `depName` when using `registryAliases` ([#&#8203;33911](renovatebot/renovate#33911)) ([bf5ce6c](renovatebot/renovate@bf5ce6c))

##### Miscellaneous Chores

-   **deps:** update dependency [@&#8203;types/node](https://github.com/types/node) to v22.10.9 ([#&#8203;33932](renovatebot/renovate#33932)) ([f072cbe](renovatebot/renovate@f072cbe))

### [`v39.144.0`](https://github.com/renovatebot/renovate/releases/tag/39.144.0)

[Compare Source](renovatebot/renovate@39.143.0...39.144.0)

##### Features

-   **manager/maven:** Add replacement support ([#&#8203;32635](renovatebot/renovate#32635)) ([89b12fa](renovatebot/renovate@89b12fa))

##### Documentation

-   **unity3d:** fix broken documentation link ([#&#8203;33927](renovatebot/renovate#33927)) ([917ac1d](renovatebot/renovate@917ac1d))

### [`v39.143.0`](https://github.com/renovatebot/renovate/releases/tag/39.143.0)

[Compare Source](renovatebot/renovate@39.142.0...39.143.0)

##### Features

-   **presets/workaround:** ubuntuDockerVersioning ([#&#8203;33714](renovatebot/renovate#33714)) ([01e01a3](renovatebot/renovate@01e01a3))

##### Miscellaneous Chores

-   **deps:** update dependency [@&#8203;types/node](https://github.com/types/node) to v22.10.8 ([#&#8203;33928](renovatebot/renovate#33928)) ([f107b13](renovatebot/renovate@f107b13))

### [`v39.142.0`](https://github.com/renovatebot/renovate/releases/tag/39.142.0)

[Compare Source](renovatebot/renovate@39.141.0...39.142.0)

##### Features

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.38.0 ([#&#8203;33924](renovatebot/renovate#33924)) ([e78fb57](renovatebot/renovate@e78fb57))

##### Miscellaneous Chores

-   **deps:** update github/codeql-action action to v3.28.8 ([#&#8203;33926](renovatebot/renovate#33926)) ([062e000](renovatebot/renovate@062e000))

### [`v39.141.0`](https://github.com/renovatebot/renovate/releases/tag/39.141.0)

[Compare Source](renovatebot/renovate@39.140.3...39.141.0)

##### Features

-   **gradle:** Single-version ranges ([#&#8203;33923](renovatebot/renovate#33923)) ([9acd663](renovatebot/renovate@9acd663))

### [`v39.140.3`](https://github.com/renovatebot/renovate/releases/tag/39.140.3)

[Compare Source](renovatebot/renovate@39.140.2...39.140.3)

##### Bug Fixes

-   **ansible:** don't override versioning ([#&#8203;33918](renovatebot/renovate#33918)) ([4032f20](renovatebot/renovate@4032f20))
-   **batec:** don't override versioning ([#&#8203;33919](renovatebot/renovate#33919)) ([d61ea8b](renovatebot/renovate@d61ea8b))

##### Code Refactoring

-   **manager:** always set package name from docker image extract ([#&#8203;33917](renovatebot/renovate#33917)) ([45bdc77](renovatebot/renovate@45bdc77))

### [`v39.140.2`](https://github.com/renovatebot/renovate/releases/tag/39.140.2)

[Compare Source](renovatebot/renovate@39.140.1...39.140.2)

##### Bug Fixes

-   **http:** allow overwriting default Renovate headers ([#&#8203;33907](renovatebot/renovate#33907)) ([c0af153](renovatebot/renovate@c0af153))
-   **manager/devcontainer:** allow trailing commans in jsonc files ([#&#8203;33913](renovatebot/renovate#33913)) ([8deab52](renovatebot/renovate@8deab52))
-   **nuget:** don't check children of `ContainerBaseImage` ([#&#8203;33910](renovatebot/renovate#33910)) ([cb38cb1](renovatebot/renovate@cb38cb1))

##### Miscellaneous Chores

-   **deps:** update github/codeql-action action to v3.28.7 ([#&#8203;33908](renovatebot/renovate#33908)) ([beb5136](renovatebot/renovate@beb5136))

##### Build System

-   **deps:** update dependency graph-data-structure to v4.3.1 ([#&#8203;33912](renovatebot/renovate#33912)) ([60f8d3e](renovatebot/renovate@60f8d3e))

### [`v39.140.1`](https://github.com/renovatebot/renovate/releases/tag/39.140.1)

[Compare Source](renovatebot/renovate@39.140.0...39.140.1)

##### Bug Fixes

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.37.3 ([#&#8203;33905](renovatebot/renovate#33905)) ([ff0af5f](renovatebot/renovate@ff0af5f))

### [`v39.140.0`](https://github.com/renovatebot/renovate/releases/tag/39.140.0)

[Compare Source](renovatebot/renovate@39.139.0...39.140.0)

##### Features

-   **datasource:** Add datasource for buildpack registry ([#&#8203;32721](renovatebot/renovate#32721)) ([d581af5](renovatebot/renovate@d581af5))

### [`v39.139.0`](https://github.com/renovatebot/renovate/releases/tag/39.139.0)

[Compare Source](renovatebot/renovate@39.138.2...39.139.0)

##### Features

-   **http:** Return stale cache on revalidation errors ([#&#8203;33852](renovatebot/renovate#33852)) ([c3814ab](renovatebot/renovate@c3814ab))

##### Miscellaneous Chores

-   **deps:** update dependency [@&#8203;swc/core](https://github.com/swc/core) to v1.10.9 ([#&#8203;33898](renovatebot/renovate#33898)) ([f97875f](renovatebot/renovate@f97875f))

### [`v39.138.2`](https://github.com/renovatebot/renovate/releases/tag/39.138.2)

[Compare Source](renovatebot/renovate@39.138.1...39.138.2)

##### Bug Fixes

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.37.2 ([#&#8203;33895](renovatebot/renovate#33895)) ([95e3577](renovatebot/renovate@95e3577))

### [`v39.138.1`](https://github.com/renovatebot/renovate/releases/tag/39.138.1)

[Compare Source](renovatebot/renovate@39.138.0...39.138.1)

##### Bug Fixes

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.37.1 ([#&#8203;33894](renovatebot/renovate#33894)) ([fa40e07](renovatebot/renovate@fa40e07))

### [`v39.138.0`](https://github.com/renovatebot/renovate/releases/tag/39.138.0)

[Compare Source](renovatebot/renovate@39.137.2...39.138.0)

##### Features

-   **managers/npm:** support pnpm catalogs ([#&#8203;33376](renovatebot/renovate#33376)) ([0f06866](renovatebot/renovate@0f06866))

##### Code Refactoring

-   **cache:** Utils to calculate soft and hard TTL ([#&#8203;33844](renovatebot/renovate#33844)) ([53fa8cc](renovatebot/renovate@53fa8cc))

### [`v39.137.2`](https://github.com/renovatebot/renovate/releases/tag/39.137.2)

[Compare Source](renovatebot/renovate@39.137.1...39.137.2)

##### Miscellaneous Chores

-   **deps:** update github/codeql-action action to v3.28.6 ([#&#8203;33886](renovatebot/renovate#33886)) ([1c5ebf8](renovatebot/renovate@1c5ebf8))
-   **deps:** update github/codeql-action digest to [`17a820b`](renovatebot/renovate@17a820b) ([#&#8203;33887](renovatebot/renovate#33887)) ([571614b](renovatebot/renovate@571614b))

##### Build System

-   **deps:** update dependency commander to v13.1.0 ([#&#8203;33891](renovatebot/renovate#33891)) ([59e1e89](renovatebot/renovate@59e1e89))

### [`v39.137.1`](https://github.com/renovatebot/renovate/releases/tag/39.137.1)

[Compare Source](renovatebot/renovate@39.137.0...39.137.1)

##### Bug Fixes

-   **gradle:** Accept versions with trailing separators as valid ([#&#8203;33884](renovatebot/renovate#33884)) ([563cdab](renovatebot/renovate@563cdab))

##### Tests

-   **gradle:** Use describe blocks for versioning tests ([#&#8203;33882](renovatebot/renovate#33882)) ([6be155d](renovatebot/renovate@6be155d))

### [`v39.137.0`](https://github.com/renovatebot/renovate/releases/tag/39.137.0)

[Compare Source](renovatebot/renovate@39.136.2...39.137.0)

##### Features

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.37.0 ([#&#8203;33881](renovatebot/renovate#33881)) ([9d72c37](renovatebot/renovate@9d72c37))

##### Miscellaneous Chores

-   **label-actions:** no-merge-from-main ([#&#8203;33875](renovatebot/renovate#33875)) ([00c266b](renovatebot/renovate@00c266b))

### [`v39.136.2`](https://github.com/renovatebot/renovate/releases/tag/39.136.2)

[Compare Source](renovatebot/renovate@39.136.1...39.136.2)

##### Bug Fixes

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.36.8 ([#&#8203;33878](renovatebot/renovate#33878)) ([64551ec](renovatebot/renovate@64551ec))

##### Miscellaneous Chores

-   **deps:** update dependency type-fest to v4.33.0 ([#&#8203;33879](renovatebot/renovate#33879)) ([d6bda9f](renovatebot/renovate@d6bda9f))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "* 0-3 * * 1" (UTC), Automerge - "* 0-3 * * *" (UTC).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMzYuMSIsInVwZGF0ZWRJblZlciI6IjM5LjEzNi4xIiwidGFyZ2V0QnJhbmNoIjoiZm9yZ2VqbyIsImxhYmVscyI6WyJkZXBlbmRlbmN5LXVwZ3JhZGUiLCJmb3JnZWpvL2NpIiwidGVzdC9ub3QtbmVlZGVkIl19-->

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6767
Reviewed-by: Earl Warren <[email protected]>
Co-authored-by: Renovate Bot <[email protected]>
Co-committed-by: Renovate Bot <[email protected]>
@gluxon
Copy link

gluxon commented Feb 4, 2025

@fpapado @secustor I love this! Thank you both so much for adding this feature. ❤️

humaton pushed a commit to fedora-infra/forgejo-deployment-images that referenced this pull request Feb 18, 2025
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [data.forgejo.org/renovate/renovate](https://renovatebot.com) ([source](https://github.com/renovatebot/renovate)) | container | minor | `39.136.1` -> `39.156.1` |
| [renovate](https://renovatebot.com) ([source](https://github.com/renovatebot/renovate)) |  | minor | `39.136.1` -> `39.156.1` |

---

### Release Notes

<details>
<summary>renovatebot/renovate (data.forgejo.org/renovate/renovate)</summary>

### [`v39.156.1`](https://github.com/renovatebot/renovate/releases/tag/39.156.1)

[Compare Source](renovatebot/renovate@39.156.0...39.156.1)

##### Bug Fixes

-   **manager/jsonata:** populate extract result with manager config fields ([#&#8203;33992](renovatebot/renovate#33992)) ([77a5c15](renovatebot/renovate@77a5c15))

##### Documentation

-   fix typos in documentation ([#&#8203;33982](renovatebot/renovate#33982)) ([bfff982](renovatebot/renovate@bfff982))

##### Miscellaneous Chores

-   **deps:** update containerbase/internal-tools action to v3.5.22 ([#&#8203;33988](renovatebot/renovate#33988)) ([52ab2d8](renovatebot/renovate@52ab2d8))
-   **deps:** update dependency google-github-actions/auth to v2.1.8 ([#&#8203;33987](renovatebot/renovate#33987)) ([de8140d](renovatebot/renovate@de8140d))

### [`v39.156.0`](https://github.com/renovatebot/renovate/releases/tag/39.156.0)

[Compare Source](renovatebot/renovate@39.155.0...39.156.0)

##### Features

-   **autoreplace:** extended logging for autoreplace mismatches ([#&#8203;33984](renovatebot/renovate#33984)) ([a1c291c](renovatebot/renovate@a1c291c))

### [`v39.155.0`](https://github.com/renovatebot/renovate/releases/tag/39.155.0)

[Compare Source](renovatebot/renovate@39.154.0...39.155.0)

##### Features

-   **presets:** add `react-spectrum` monorepo ([#&#8203;33892](renovatebot/renovate#33892)) ([c25ffa5](renovatebot/renovate@c25ffa5))

### [`v39.154.0`](https://github.com/renovatebot/renovate/releases/tag/39.154.0)

[Compare Source](renovatebot/renovate@39.153.2...39.154.0)

##### Features

-   enhance libyear output ([#&#8203;33981](renovatebot/renovate#33981)) ([1386cf7](renovatebot/renovate@1386cf7))

### [`v39.153.2`](https://github.com/renovatebot/renovate/releases/tag/39.153.2)

[Compare Source](renovatebot/renovate@39.153.1...39.153.2)

##### Miscellaneous Chores

-   **documentation:** s/Forjeo/Forgejo/ ([#&#8203;33976](renovatebot/renovate#33976)) ([732f91b](renovatebot/renovate@732f91b))

##### Code Refactoring

-   **devbox:** Refactor schema and improve logging ([#&#8203;33978](renovatebot/renovate#33978)) ([19ae54f](renovatebot/renovate@19ae54f))

##### Tests

-   **logger:** Fix mock for `withMeta` function ([#&#8203;33979](renovatebot/renovate#33979)) ([0300c4e](renovatebot/renovate@0300c4e))

##### Build System

-   **deps:** update aws-sdk-js-v3 monorepo ([#&#8203;33980](renovatebot/renovate#33980)) ([35a56c7](renovatebot/renovate@35a56c7))

### [`v39.153.1`](https://github.com/renovatebot/renovate/releases/tag/39.153.1)

[Compare Source](renovatebot/renovate@39.153.0...39.153.1)

##### Build System

-   **deps:** update dependency google-auth-library to v9.15.1 ([#&#8203;33974](renovatebot/renovate#33974)) ([582c08b](renovatebot/renovate@582c08b))

### [`v39.153.0`](https://github.com/renovatebot/renovate/releases/tag/39.153.0)

[Compare Source](renovatebot/renovate@39.152.0...39.153.0)

##### Features

-   **jsonata:** support yaml ([#&#8203;33972](renovatebot/renovate#33972)) ([e63ff23](renovatebot/renovate@e63ff23))

### [`v39.152.0`](https://github.com/renovatebot/renovate/releases/tag/39.152.0)

[Compare Source](renovatebot/renovate@39.151.0...39.152.0)

##### Features

-   **presets:** Added `GRADLE_OPTS` to safe global env ([#&#8203;33968](renovatebot/renovate#33968)) ([9e51d42](renovatebot/renovate@9e51d42))

##### Code Refactoring

-   **process/libyear:** early return if no `releaseTimestamp` for current version ([#&#8203;33967](renovatebot/renovate#33967)) ([09b2c10](renovatebot/renovate@09b2c10))
-   **schema:** simplify handling ([#&#8203;33963](renovatebot/renovate#33963)) ([7583ecd](renovatebot/renovate@7583ecd))

### [`v39.151.0`](https://github.com/renovatebot/renovate/releases/tag/39.151.0)

[Compare Source](renovatebot/renovate@39.150.0...39.151.0)

##### Features

-   **manager:** add devbox manager module ([#&#8203;33638](renovatebot/renovate#33638)) ([62cb770](renovatebot/renovate@62cb770))

##### Code Refactoring

-   **workers:** move bump version to separate function ([#&#8203;33965](renovatebot/renovate#33965)) ([e82a22d](renovatebot/renovate@e82a22d))

### [`v39.150.0`](https://github.com/renovatebot/renovate/releases/tag/39.150.0)

[Compare Source](renovatebot/renovate@39.149.0...39.150.0)

##### Features

-   **preset:** Add monorepo preset for KSP ([#&#8203;33943](renovatebot/renovate#33943)) ([1b240a8](renovatebot/renovate@1b240a8))

### [`v39.149.0`](https://github.com/renovatebot/renovate/releases/tag/39.149.0)

[Compare Source](renovatebot/renovate@39.148.0...39.149.0)

##### Features

-   **cloudbuild:** Parse config using Zod schema ([#&#8203;33768](renovatebot/renovate#33768)) ([586d9fd](renovatebot/renovate@586d9fd))

##### Documentation

-   **versioning:** fix types and tests ([#&#8203;33958](renovatebot/renovate#33958)) ([7819d02](renovatebot/renovate@7819d02))

### [`v39.148.0`](https://github.com/renovatebot/renovate/releases/tag/39.148.0)

[Compare Source](renovatebot/renovate@39.147.0...39.148.0)

##### Features

-   **gitlab:** add branch status check attemps ([#&#8203;32692](renovatebot/renovate#32692)) ([78f389a](renovatebot/renovate@78f389a))
-   **versioning:** aws-eks-addon versioning added ([#&#8203;33301](renovatebot/renovate#33301)) ([476d11c](renovatebot/renovate@476d11c))

### [`v39.147.0`](https://github.com/renovatebot/renovate/releases/tag/39.147.0)

[Compare Source](renovatebot/renovate@39.146.4...39.147.0)

##### Features

-   **nix:** rework to work with all flake inputs ([#&#8203;31921](renovatebot/renovate#31921)) ([441a30f](renovatebot/renovate@441a30f))

### [`v39.146.4`](https://github.com/renovatebot/renovate/releases/tag/39.146.4)

[Compare Source](renovatebot/renovate@39.146.3...39.146.4)

##### Bug Fixes

-   **deps:** update dependency mkdocs-material to v9.6.1 ([#&#8203;33956](renovatebot/renovate#33956)) ([98ccb43](renovatebot/renovate@98ccb43))

### [`v39.146.3`](https://github.com/renovatebot/renovate/releases/tag/39.146.3)

[Compare Source](renovatebot/renovate@39.146.2...39.146.3)

##### Bug Fixes

-   **deps:** update dependency mkdocs-material to v9.6.0 ([#&#8203;33955](renovatebot/renovate#33955)) ([ba0bbbb](renovatebot/renovate@ba0bbbb))

### [`v39.146.2`](https://github.com/renovatebot/renovate/releases/tag/39.146.2)

[Compare Source](renovatebot/renovate@39.146.1...39.146.2)

##### Bug Fixes

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.38.3 ([#&#8203;33954](renovatebot/renovate#33954)) ([1e6ebec](renovatebot/renovate@1e6ebec))

### [`v39.146.1`](https://github.com/renovatebot/renovate/releases/tag/39.146.1)

[Compare Source](renovatebot/renovate@39.146.0...39.146.1)

##### Bug Fixes

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.38.2 ([#&#8203;33953](renovatebot/renovate#33953)) ([48ab56f](renovatebot/renovate@48ab56f))

### [`v39.146.0`](https://github.com/renovatebot/renovate/releases/tag/39.146.0)

[Compare Source](renovatebot/renovate@39.145.1...39.146.0)

##### Features

-   **logger:** Add `withMeta` helper ([#&#8203;33948](renovatebot/renovate#33948)) ([3053a9e](renovatebot/renovate@3053a9e))
-   **schema:** Add logging utilities for catch calls ([#&#8203;33950](renovatebot/renovate#33950)) ([23fa0bd](renovatebot/renovate@23fa0bd))

### [`v39.145.1`](https://github.com/renovatebot/renovate/releases/tag/39.145.1)

[Compare Source](renovatebot/renovate@39.145.0...39.145.1)

##### Bug Fixes

-   **presets:** match on devDependencies or dev for dev dependencies-related presets ([#&#8203;33909](renovatebot/renovate#33909)) ([545bf31](renovatebot/renovate@545bf31))

##### Miscellaneous Chores

-   correctly update missing labels issue ([#&#8203;33903](renovatebot/renovate#33903)) ([9338455](renovatebot/renovate@9338455))

### [`v39.145.0`](https://github.com/renovatebot/renovate/releases/tag/39.145.0)

[Compare Source](renovatebot/renovate@39.144.4...39.145.0)

##### Features

-   **bazel-module:** support `bazel_dep` dependencies without the `version` parameter ([#&#8203;33496](renovatebot/renovate#33496)) ([4ca76e4](renovatebot/renovate@4ca76e4))
-   **managers/custom:** generic manager for json files ([#&#8203;32784](renovatebot/renovate#32784)) ([fc8b8f9](renovatebot/renovate@fc8b8f9))
-   **presets:** add tailwindcss monorepo ([#&#8203;33940](renovatebot/renovate#33940)) ([3f88df2](renovatebot/renovate@3f88df2))

### [`v39.144.4`](https://github.com/renovatebot/renovate/releases/tag/39.144.4)

[Compare Source](renovatebot/renovate@39.144.3...39.144.4)

##### Bug Fixes

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.38.1 ([#&#8203;33936](renovatebot/renovate#33936)) ([a3f4098](renovatebot/renovate@a3f4098))

### [`v39.144.3`](https://github.com/renovatebot/renovate/releases/tag/39.144.3)

[Compare Source](renovatebot/renovate@39.144.2...39.144.3)

##### Bug Fixes

-   only replace prefix with registry alias ([#&#8203;33922](renovatebot/renovate#33922)) ([5ffd464](renovatebot/renovate@5ffd464))

### [`v39.144.2`](https://github.com/renovatebot/renovate/releases/tag/39.144.2)

[Compare Source](renovatebot/renovate@39.144.1...39.144.2)

##### Bug Fixes

-   **manager/custom:** Support range strategy with custom managers ([#&#8203;33800](renovatebot/renovate#33800)) ([7f3b76b](renovatebot/renovate@7f3b76b))

### [`v39.144.1`](https://github.com/renovatebot/renovate/releases/tag/39.144.1)

[Compare Source](renovatebot/renovate@39.144.0...39.144.1)

##### Bug Fixes

-   **manager:** retain `depName` when using `registryAliases` ([#&#8203;33911](renovatebot/renovate#33911)) ([bf5ce6c](renovatebot/renovate@bf5ce6c))

##### Miscellaneous Chores

-   **deps:** update dependency [@&#8203;types/node](https://github.com/types/node) to v22.10.9 ([#&#8203;33932](renovatebot/renovate#33932)) ([f072cbe](renovatebot/renovate@f072cbe))

### [`v39.144.0`](https://github.com/renovatebot/renovate/releases/tag/39.144.0)

[Compare Source](renovatebot/renovate@39.143.0...39.144.0)

##### Features

-   **manager/maven:** Add replacement support ([#&#8203;32635](renovatebot/renovate#32635)) ([89b12fa](renovatebot/renovate@89b12fa))

##### Documentation

-   **unity3d:** fix broken documentation link ([#&#8203;33927](renovatebot/renovate#33927)) ([917ac1d](renovatebot/renovate@917ac1d))

### [`v39.143.0`](https://github.com/renovatebot/renovate/releases/tag/39.143.0)

[Compare Source](renovatebot/renovate@39.142.0...39.143.0)

##### Features

-   **presets/workaround:** ubuntuDockerVersioning ([#&#8203;33714](renovatebot/renovate#33714)) ([01e01a3](renovatebot/renovate@01e01a3))

##### Miscellaneous Chores

-   **deps:** update dependency [@&#8203;types/node](https://github.com/types/node) to v22.10.8 ([#&#8203;33928](renovatebot/renovate#33928)) ([f107b13](renovatebot/renovate@f107b13))

### [`v39.142.0`](https://github.com/renovatebot/renovate/releases/tag/39.142.0)

[Compare Source](renovatebot/renovate@39.141.0...39.142.0)

##### Features

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.38.0 ([#&#8203;33924](renovatebot/renovate#33924)) ([e78fb57](renovatebot/renovate@e78fb57))

##### Miscellaneous Chores

-   **deps:** update github/codeql-action action to v3.28.8 ([#&#8203;33926](renovatebot/renovate#33926)) ([062e000](renovatebot/renovate@062e000))

### [`v39.141.0`](https://github.com/renovatebot/renovate/releases/tag/39.141.0)

[Compare Source](renovatebot/renovate@39.140.3...39.141.0)

##### Features

-   **gradle:** Single-version ranges ([#&#8203;33923](renovatebot/renovate#33923)) ([9acd663](renovatebot/renovate@9acd663))

### [`v39.140.3`](https://github.com/renovatebot/renovate/releases/tag/39.140.3)

[Compare Source](renovatebot/renovate@39.140.2...39.140.3)

##### Bug Fixes

-   **ansible:** don't override versioning ([#&#8203;33918](renovatebot/renovate#33918)) ([4032f20](renovatebot/renovate@4032f20))
-   **batec:** don't override versioning ([#&#8203;33919](renovatebot/renovate#33919)) ([d61ea8b](renovatebot/renovate@d61ea8b))

##### Code Refactoring

-   **manager:** always set package name from docker image extract ([#&#8203;33917](renovatebot/renovate#33917)) ([45bdc77](renovatebot/renovate@45bdc77))

### [`v39.140.2`](https://github.com/renovatebot/renovate/releases/tag/39.140.2)

[Compare Source](renovatebot/renovate@39.140.1...39.140.2)

##### Bug Fixes

-   **http:** allow overwriting default Renovate headers ([#&#8203;33907](renovatebot/renovate#33907)) ([c0af153](renovatebot/renovate@c0af153))
-   **manager/devcontainer:** allow trailing commans in jsonc files ([#&#8203;33913](renovatebot/renovate#33913)) ([8deab52](renovatebot/renovate@8deab52))
-   **nuget:** don't check children of `ContainerBaseImage` ([#&#8203;33910](renovatebot/renovate#33910)) ([cb38cb1](renovatebot/renovate@cb38cb1))

##### Miscellaneous Chores

-   **deps:** update github/codeql-action action to v3.28.7 ([#&#8203;33908](renovatebot/renovate#33908)) ([beb5136](renovatebot/renovate@beb5136))

##### Build System

-   **deps:** update dependency graph-data-structure to v4.3.1 ([#&#8203;33912](renovatebot/renovate#33912)) ([60f8d3e](renovatebot/renovate@60f8d3e))

### [`v39.140.1`](https://github.com/renovatebot/renovate/releases/tag/39.140.1)

[Compare Source](renovatebot/renovate@39.140.0...39.140.1)

##### Bug Fixes

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.37.3 ([#&#8203;33905](renovatebot/renovate#33905)) ([ff0af5f](renovatebot/renovate@ff0af5f))

### [`v39.140.0`](https://github.com/renovatebot/renovate/releases/tag/39.140.0)

[Compare Source](renovatebot/renovate@39.139.0...39.140.0)

##### Features

-   **datasource:** Add datasource for buildpack registry ([#&#8203;32721](renovatebot/renovate#32721)) ([d581af5](renovatebot/renovate@d581af5))

### [`v39.139.0`](https://github.com/renovatebot/renovate/releases/tag/39.139.0)

[Compare Source](renovatebot/renovate@39.138.2...39.139.0)

##### Features

-   **http:** Return stale cache on revalidation errors ([#&#8203;33852](renovatebot/renovate#33852)) ([c3814ab](renovatebot/renovate@c3814ab))

##### Miscellaneous Chores

-   **deps:** update dependency [@&#8203;swc/core](https://github.com/swc/core) to v1.10.9 ([#&#8203;33898](renovatebot/renovate#33898)) ([f97875f](renovatebot/renovate@f97875f))

### [`v39.138.2`](https://github.com/renovatebot/renovate/releases/tag/39.138.2)

[Compare Source](renovatebot/renovate@39.138.1...39.138.2)

##### Bug Fixes

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.37.2 ([#&#8203;33895](renovatebot/renovate#33895)) ([95e3577](renovatebot/renovate@95e3577))

### [`v39.138.1`](https://github.com/renovatebot/renovate/releases/tag/39.138.1)

[Compare Source](renovatebot/renovate@39.138.0...39.138.1)

##### Bug Fixes

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.37.1 ([#&#8203;33894](renovatebot/renovate#33894)) ([fa40e07](renovatebot/renovate@fa40e07))

### [`v39.138.0`](https://github.com/renovatebot/renovate/releases/tag/39.138.0)

[Compare Source](renovatebot/renovate@39.137.2...39.138.0)

##### Features

-   **managers/npm:** support pnpm catalogs ([#&#8203;33376](renovatebot/renovate#33376)) ([0f06866](renovatebot/renovate@0f06866))

##### Code Refactoring

-   **cache:** Utils to calculate soft and hard TTL ([#&#8203;33844](renovatebot/renovate#33844)) ([53fa8cc](renovatebot/renovate@53fa8cc))

### [`v39.137.2`](https://github.com/renovatebot/renovate/releases/tag/39.137.2)

[Compare Source](renovatebot/renovate@39.137.1...39.137.2)

##### Miscellaneous Chores

-   **deps:** update github/codeql-action action to v3.28.6 ([#&#8203;33886](renovatebot/renovate#33886)) ([1c5ebf8](renovatebot/renovate@1c5ebf8))
-   **deps:** update github/codeql-action digest to [`17a820b`](renovatebot/renovate@17a820b) ([#&#8203;33887](renovatebot/renovate#33887)) ([571614b](renovatebot/renovate@571614b))

##### Build System

-   **deps:** update dependency commander to v13.1.0 ([#&#8203;33891](renovatebot/renovate#33891)) ([59e1e89](renovatebot/renovate@59e1e89))

### [`v39.137.1`](https://github.com/renovatebot/renovate/releases/tag/39.137.1)

[Compare Source](renovatebot/renovate@39.137.0...39.137.1)

##### Bug Fixes

-   **gradle:** Accept versions with trailing separators as valid ([#&#8203;33884](renovatebot/renovate#33884)) ([563cdab](renovatebot/renovate@563cdab))

##### Tests

-   **gradle:** Use describe blocks for versioning tests ([#&#8203;33882](renovatebot/renovate#33882)) ([6be155d](renovatebot/renovate@6be155d))

### [`v39.137.0`](https://github.com/renovatebot/renovate/releases/tag/39.137.0)

[Compare Source](renovatebot/renovate@39.136.2...39.137.0)

##### Features

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.37.0 ([#&#8203;33881](renovatebot/renovate#33881)) ([9d72c37](renovatebot/renovate@9d72c37))

##### Miscellaneous Chores

-   **label-actions:** no-merge-from-main ([#&#8203;33875](renovatebot/renovate#33875)) ([00c266b](renovatebot/renovate@00c266b))

### [`v39.136.2`](https://github.com/renovatebot/renovate/releases/tag/39.136.2)

[Compare Source](renovatebot/renovate@39.136.1...39.136.2)

##### Bug Fixes

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.36.8 ([#&#8203;33878](renovatebot/renovate#33878)) ([64551ec](renovatebot/renovate@64551ec))

##### Miscellaneous Chores

-   **deps:** update dependency type-fest to v4.33.0 ([#&#8203;33879](renovatebot/renovate#33879)) ([d6bda9f](renovatebot/renovate@d6bda9f))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "* 0-3 * * 1" (UTC), Automerge - "* 0-3 * * *" (UTC).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMzYuMSIsInVwZGF0ZWRJblZlciI6IjM5LjEzNi4xIiwidGFyZ2V0QnJhbmNoIjoiZm9yZ2VqbyIsImxhYmVscyI6WyJkZXBlbmRlbmN5LXVwZ3JhZGUiLCJmb3JnZWpvL2NpIiwidGVzdC9ub3QtbmVlZGVkIl19-->

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6767
Reviewed-by: Earl Warren <[email protected]>
Co-authored-by: Renovate Bot <[email protected]>
Co-committed-by: Renovate Bot <[email protected]>
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 7, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support pnpm Catalogs
6 participants