Release Cycle

Docker PyPI Docker Image Version (latest semver) CI CD Release Cycle Release CD API Schema

We follow the semantic versioning, numbered with x.y.z.

Docker Image Tag Explained

Tag Description
latest the last Sunday release, contains the bare minimum of to run Jina framework.
x.y.z (previous) Sunday release.
devel the development version corresponds to the latest master, it extends latest by adding required packages for Dashboard.
x.y.z-devel (previous) devel version of x.y.z
x.y shortcut alias to the last x.y.z release

Which Version to Use?

  • Use latest, if you want to use barebone Jina framework and extend it with your own modules/plugins.

  • Use devel, if you want to use Dashboard to get more insights about the logs and flows.

Docker Image Size of Different Versions

Docker Image Size (tag)

Docker Image Size (tag)

The last update image is Docker Image Version (latest semver)

Master Update

Every successful merge into the master triggers a development release. It will:

  • update the Docker image with tag devel;

  • update jina-ai/docs tag devel

Note, commits started with chore are exceptions and will not trigger the events above. Right now these commits are:

  • chore(docs): update TOC

  • chore(version): bumping master version

Sunday Auto Release

On every Sunday 23pm, a patch release is scheduled:

  • tag the master as vx.y.z and push to the repo;

  • create a new tag vx.y.z in jina-ai/docs;

  • publish x.y.z docker image, with tag latest, x.y.z;

  • upload x.y.z package on PyPI;

  • bump the master to x.y.(z+1) and commit a chore(version) push.

The current master version should always be one version ahead of git tag -l | sort -V | tail -n1.

Nightly Release

Every midnight at 0:00, the docker image tagged with x.y.z-devel will be rebuilt on all platforms, include: linux/amd64, linux/arm64, linux/ppc64le, linux/386, linux/arm/v7, linux/arm/v6.