Note: details of the release process of the project are documented in PATCH-RELEASES.md.
The Moby Project repository contains multiple components with their own versioning:
- Moby - the core library, versioned as
v2.x(currently in beta) - Docker Engine - built from this repository, versioned independently
- API (
api/) - a separate Go module containing the materialization of the API specification, follows API versioning - Client (
client/) - a separate Go module of the client library
master serves as the development branch for future releases of the project.
All changes should be made to the master branch.
When possible, Moby/Docker Engine releases are cut directly from master.
Release branches are created when ongoing development on master would conflict with patch releases.
The sponsoring maintainers of a release branch serve as the primary point of contact, and are available to provide guidance on contributing changes to their respective branches.
A single release branch can be used for the whole release cycle of a major version or a specific minor version line.
For example, the docker-29.x branch is used for the release cycle of the 29 major version and all minor versions within it.
A historical example of the latter approach are the 26.0 and 26.1 branches, which were used for separate minor versions within the 26 major version.
It is up to the sponsoring maintainers to decide whether to use a single release branch for the whole release cycle of a major version or a specific minor version line.
Docker Engine release branches use the format docker-MAJOR.x (e.g., docker-29.x).
Currently (and previously) maintained release branches are documented in the table below:
| Branch Name | Sponsoring Maintainer(s) | Contribution Status | Expected End of Maintenance | Known Distributors |
|---|---|---|---|---|
| docker-29.x | The Moby Project MAINTAINERS | Maintained | After docker-30.x | Docker, Inc., Microsoft |
| docker-28.x | @cpuguy83 | Maintained | TBD | Microsoft |
| 27.x | Unmaintained | |||
| 26.1 | Unmaintained | |||
| 26.0 | Unmaintained | |||
| 25.0 | @corhere | Maintained | 2026-12-04 | Amazon, Mirantis |
| 24.0 | Unmaintained | |||
| 23.0 | Unmaintained | 2025-05-19 | ||
| Older than 23.0 | Unmaintained |
Note: The Moby Project provides source code releases. Binary distributions are available from multiple contributing parties, and known distributions can be discovered in PACKAGERS.md.
The contribution status of a branch is meant to set contributor expectations for acceptance of changes into a branch, as well as document what level of contribution or maintenance the sponsoring maintainers expect to perform. This status is informational and not binding.
- Maintained - actively developed by project maintainers; accepting contributions and backports; in-scope for security advisories
- Maintained (security) - no longer actively developed; may accept contributions and backports for critical security issues; in-scope for security advisories
- Unmaintained - no longer actively developed; not accepting contributions; out-of-scope for security advisories
All releases of The Moby Project should have a corresponding tag in the repository. The project generally attempts to adhere to Semantic Versioning whenever possible.
The general format of a tag is vX.Y.Z[-suffix[N]]:
- All of
X,Y,Zmust be specified (example:v1.0.0) - First release candidate for version
1.8.0should be taggedv1.8.0-rc1 - Second alpha release of a product should be tagged
v1.0.0-alpha1
Different components use different tag prefixes:
| Component | Tag Format | Example |
|---|---|---|
| Moby | vX.Y.Z |
v2.0.0-beta.5 |
| Docker Engine | docker-vX.Y.Z |
docker-v29.1.2 |
| API | api/vX.Y.Z |
api/v1.52.0 |
| Client | client/vX.Y.Z |
client/v1.52.0 |
For the current release state, see GitHub Releases.