dify-aio uses upstream-version-plus-AIO-revision releases such as 1.14.0-aio.1.
- first wrapper release for upstream
1.14.0:1.14.0-aio.1 - second wrapper-only release on the same upstream:
1.14.0-aio.2 - first wrapper release after upgrading upstream again:
vX.Y.Z-aio.1
Every central aio-fleet publish for main publishes:
latest- the exact pinned upstream Dify version
sha-<commit>
Release commits also publish the exact immutable release package tag, for example 1.14.0-aio.1. Ordinary main pushes do not overwrite that release tag.
A release means the wrapper has been validated against a specific upstream Dify version and its companion images:
langgenius/dify-apilanggenius/dify-weblanggenius/dify-sandboxlanggenius/dify-plugin-daemon
- From
aio-fleet, runpython -m aio_fleet release status --repo dify-aioto inspect the next release. - Run
python -m aio_fleet release prepare --repo dify-aioon a release branch, then open achore(release): <version>PR. - Review and merge that PR into
main. - Run the central
aio-fleetcontrol check for the release target commit with publish enabled, and requireaio-fleet / requiredto pass. - Run
python -m aio_fleet release publish --repo dify-aiofromaio-fleetto create the GitHub Release.
The normal release path requires the standard integration suite. Run the manual extended integration suite before Community Applications submission, before large Dify upstream jumps, or when changing database, Redis, vector, storage, mail, plugin, or observability configuration behavior.