Commit Graph

12 Commits

Author SHA1 Message Date
Niels Pardon c3c70b8cdb feat(managers/pep621): update pixi.lock if present (#44004)
* feat(managers/pep621): update pixi.lock if present

* test(managers/pep621): cover pixi requires-pixi from workspace table

* refactor(manager/pixi): extract shared pixi.lock update helper

* test(manager/pep621): use arrange-act-assert spacing in pixi tests

* refactor(manager/pixi): revert shared pixi.lock helper extraction

Move the extraction of the shared pixi.lock update helper into a
follow-up PR, as requested in review. The pep621 pixi processor and the
pixi manager again carry their own lock-update logic.

This reverts commit 743db204f2.

* feat(manager/pep621): gate pixi.lock updates behind allowedUnsafeExecutions

`pixi lock` can execute arbitrary code from conda package hooks, so the
pep621 manager now only updates `pixi.lock` when `pixi` is included in the
global `allowedUnsafeExecutions` option, following the same pattern as the
`mise` manager. When `pixi` is not allowed, PEP 621 dependencies in
`pyproject.toml` are still updated but `pixi.lock` is left unchanged.

https://pixi.prefix.dev/latest/security/#4-treat-package-hooks-as-code-execution

* feat(manager/pixi)!: gate pixi.lock updates behind allowedUnsafeExecutions

The pixi manager runs `pixi lock`, which can execute arbitrary code from
conda package hooks. Like the pep621 manager, it now only updates
`pixi.lock` when `pixi` is included in the global `allowedUnsafeExecutions`
option. When it is not allowed, the package file is still updated but
`pixi.lock` is left unchanged.

https://pixi.prefix.dev/latest/security/#4-treat-package-hooks-as-code-execution

BREAKING CHANGE: The `pixi` manager no longer updates `pixi.lock`
automatically. To keep `pixi.lock` updated, add `pixi` to the global
`allowedUnsafeExecutions` option.
2026-07-29 10:31:15 +00:00
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
akern40 61cc1513ba feat(pep621): Add support for uv workspaces (#37064) 2025-08-12 08:33:18 +00:00
Maxime Brunet 22880e9aac feat(pep621): set Git insteadOf directives when updating pdm/uv locks (#32378) 2024-11-14 06:13:12 +00:00
Mathieu Kniewallner babd6da95b feat(pep621): add support for dependency-groups (PEP 735) (#32148)
Co-authored-by: Sebastian Poxhofer <secustor@users.noreply.github.com>
2024-10-26 15:26:35 +00:00
Nam Vu 03cf03b2be feat(manager/uv): add support for git sources (#31928)
Co-authored-by: Sebastian Poxhofer <secustor@users.noreply.github.com>
2024-10-19 13:57:08 +00:00
Mathieu Kniewallner e8d872f7d1 feat(managers): add support for uv universal locking (#30756)
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2024-08-19 14:34:22 +00:00
Patrick Lannigan 3a8574bbd7 feat(manager/pep621): Add support for python build-system dependencies (#26440) 2023-12-27 19:52:22 +00:00
Jonathan Berthias 98dccfffbc feat(manager/pep621): support hatch environments (#25211)
Co-authored-by: Sebastian Poxhofer <secustor@users.noreply.github.com>
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2023-10-16 15:44:48 +00:00
Sebastian Poxhofer 2863361636 feat(manager/pep621): support pdm lock files (#22244)
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2023-05-18 05:57:49 +00:00
HonkingGoose b08130791e docs(pep621): improve sentences (#22231) 2023-05-15 08:39:53 +00:00
Sebastian Poxhofer 019c75caab feat(manager/pep621): implement manager (#22082)
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
2023-05-15 07:51:05 +00:00