* 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>
Supported dependencies
This manager extracts image references in a Dockerfile and/or Containerfile and supports:
FROMimagesCOPY --fromimagesRUN --mountimagessyntaximages
FROM support
Renovate can update images referenced in FROM directives.
This even works for multi-stage builds with many FROM directives in one Dockerfile.
FROM node:20.9.0
Advanced FROM flags like --platform or AS <name> are also supported:
FROM --platform=linux/amd64 node:20.9.0 AS installer
Also, Renovate will automatically expand variables and ARG directives:
ARG TAG=3.19.4
FROM alpine:${TAG}
COPY --from support
Renovate can update images referenced in COPY --from directives.
FROM node:20.9.0
COPY --from alpine:3.19.4 /bin/sh /usr/local/sh
RUN --mount support
Images referenced in RUN --mount directives are also supported.
FROM python:3.12
RUN --mount=from=ghcr.io/astral-sh/uv:0.5,source=/uv,target=/bin/uv \
uv venv
syntax support
Renovate can update syntax references.
# syntax=docker/dockerfile:1.9.0
FROM alpine:3.19.4
Versioning
Renovate's managers does not understand versioning, that's up to Renovate's versioning modules.
The default docker versioning for container image datasources treats suffixes as "compatibility", for example: -alpine.
Many container images are not SemVer compliant because they use such suffixes in their tags.
If Renovate does not update your container images correctly, you may need to tell Renovate what versioning it should use.
For example, if you know that an image follows SemVer, you can tell Renovate to use "semver" versioning for that image:
{
"packageRules": [
{
"matchDatasources": ["docker"],
"matchPackageNames": ["whitesource/renovate"],
"versioning": "semver"
}
]
}
Read Renovate's Docker Versioning docs to learn more.