Migrate pub, gleam, helmfile, pixi, mise, poetry, pep621/pdm and
pep621/uv onto `updateLockFile()`, so each manager keeps only its
command and `ExecOptions` construction.
Behaviour changes:
- Artifact error text now comes from `artifactErrorMessageFromExecError`,
i.e. a non-blank `err.stderr`, else a non-blank `err.stdout`, else
`err.message`. Previously pixi used `${err}` ("Error: " prefix), mise
joined stdout, stderr and message, and poetry rendered
"<stdout>\n<stderr>" (literally "undefined\nundefined" when the error
carried neither).
- helmfile, pixi, poetry, pdm and uv now return null instead of an
addition when the lock file is missing or empty after the run, which
is what gleam and mise already did.
- Unchanged/missing lock file debug messages are now uniformly
"<lockFileName> is unchanged" / "No <lockFileName> found". pub gains
such a message, mise loses "Returning updated mise lock file" and
poetry loses "Returning updated <lockFileName>".
Renovate can update gleam.toml and/or manifest.toml files.
How Renovate updates gleam.toml files
The gleam manager extracts dependencies for the hex datasource, and uses Renovate's implementation of Hex SemVer to evaluate gleam.toml updates.
How Renovate updates manifest.toml files
The gleam manager uses the gleam program to update manifest.toml files.
Enable lockFileMaintenance
We recommend you set lockFileMaintenance to true for the gleam manager, in your Renovate config.
This way Renovate can update all your dependencies, including those with in-range updates.
lockFileMaintenance=true periodically refreshes your manifest.toml files, ensuring all dependencies are updated to their latest allowed versions.
Default rangeStrategy=auto behavior
Renovate's default rangeStrategy is "auto".
Here's how "auto" works with the gleam manager:
| Version type | New version | Old range | New range after update | What Renovate does |
|---|---|---|---|---|
| Complex range | 0.16.0 |
>= 0.14.0 and < 0.15.0 |
>= 0.14.0 and < 0.16.1 |
Widen range to include the new version. |
| Simple range | 0.39.0 |
<= 0.38.0 |
<= 0.39.0 |
If update outside current range: widens range to include the new version. |
| Exact version constraint | 0.13.0 |
== 0.12.0 |
== 0.13.0 |
Replace old version with new version. |
Recommended rangeStrategy for apps and libraries
For applications, we recommend using rangeStrategy=pin.
This pins your dependencies to exact versions, which is generally considered best practice for apps.
For libraries, use rangeStrategy=widen with version ranges in your gleam.toml.
This allows for greater compatibility with other projects that may use your library as a dependency.