September 6, 2026

Docker Swarm Changelog: What Changed in 2025 and 2026, Release by Release

Every Swarm-related change in Docker Engine 28.x and 29.x, with dates, taken from the official release notes: overlay networking and routing mesh reliability, Raft snapshots, secrets remounts, Pending fixes, and what each means for a running swarm. Updated when a release lands.

Docker Swarm Changelog: What Changed in 2025 and 2026, Release by Release

"Is Swarm still maintained?" has an answer with dates on it: yes. This page is the evidence behind that answer, kept current; the SwarmCLI changelog does the same for our own tools. Every entry below is quoted from the Docker Engine release notes, grouped by release, newest first, with a line on what it means for a swarm you operate. Releases with no Swarm entry are listed as such, so the gaps are visible too.

Swarm mode's code lives in two places: the Engine, whose release notes these are, and SwarmKit, the library the Engine vendors, which had pull requests merged as recently as 28 August 2026. Mirantis maintains and supports Swarm commercially inside Mirantis Kubernetes Engine.

Docker Engine 29.x

29.8.0 (3 September 2026)

  • Fix docker network inspect failing to find a healthy Swarm network when another Swarm network could not be allocated.
  • Fix a node gossiping a superseded value for a Swarm service discovery entry after concurrent updates to the same key.
  • Fix Swarm service names failing to resolve on a node indefinitely after it misses a network membership announcement.
  • Fix Swarm service names failing to resolve on healthy nodes after a transient node failure.
  • Reduce gossip traffic generated by a node that repeatedly disconnects and rejoins the cluster.
  • Swarm service-mesh published ports now use the same infrastructure as published ports for local containers.

What it means: the two name-resolution fixes close the class of "service X stopped resolving on node Y until I restarted Docker" reports. If you have ever worked around that with a restart, this is the release that removes the workaround. The published-ports change is internal but worth knowing about when reading firewall rules after upgrading.

29.7.2 (5 August 2026), and 29.7.1 (31 July 2026)

No Swarm entries.

29.7.0 (30 July 2026)

  • Fix a daemon panic when removing swarm ingress ports after failing to bind an ingress proxy listener.
  • Fix Swarm service updates failing due to "file exists" errors when a VIP IP alias already exists on the LB endpoint interface.
  • Fix Swarm tasks being rejected when their image could not be pulled from the registry but was already present on the node.

What it means: the third entry matters for air-gapped and flaky-registry swarms: a task no longer fails because a pull failed for an image the node already had.

29.6.2 (16 July 2026), and 29.6.1 (26 June 2026)

No Swarm entries.

29.6.0 (18 June 2026)

  • Fix a race condition in overlay network bulk sync that caused ~30 s DNS resolution delays on newly joined swarm nodes.

What it means: a new node's first half minute is no longer a period where services resolve late.

29.5.3 (3 June 2026), 29.5.2 (20 May 2026), and 29.5.1 (18 May 2026)

No Swarm entries.

29.5.0 (14 May 2026)

  • Fix stale VIP DNS records for swarm service network aliases not being removed during rolling updates.
  • Swarm: prevent corruption of Raft snapshots when swarm state is large.

What it means: the Raft fix is the reason not to run a large swarm on anything older than this release. The alias fix removes a rolling-update symptom where an old task's alias lingered.

29.4.3 (6 May 2026), and 29.4.2 (1 May 2026)

No Swarm entries.

29.4.1 (20 April 2026)

  • Fix intermittent container start failures (EBUSY on secrets/configs remount) on busy Swarm nodes by retrying the read-only remount.

What it means: tasks with secrets or configs on a loaded node no longer fail to start at random.

29.4.0 (7 April 2026)

  • Fix an issue where all new tasks in the Swarm could get stuck in the PENDING state forever after scaling up a service with placement preferences.
  • Fix Swarm services becoming unreachable from published ports after a firewalld reload.

What it means: both were long-standing. The Pending fix concerns placement.preferences (spread), not constraints; the firewalld one affects every distribution that ships firewalld and reloads it on updates.

29.3.1 (25 March 2026), and 29.3.0 (5 March 2026)

No Swarm entries.

29.2.1 (2 February 2026), 29.2.0 (26 January 2026), 29.1.5 (16 January 2026), and 29.1.4 (8 January 2026)

No Swarm entries.

29.1.3 (12 December 2025), and 29.0.1 (14 November 2025)

  • Fix a bug preventing DNS resolution of containers attached to non swarm-scoped networks once the node has joined a Swarm cluster.

What it means: plain docker run containers on a bridge network on a swarm node resolve each other again after the node joins.

29.1.2, 29.1.1, 29.1.0, 29.0.4, 29.0.3 and 29.0.2 (November and December 2025)

No Swarm entries.

29.0.0 (10 November 2025)

  • Greatly improve the reliability of overlay networking and the Swarm routing mesh.
  • Improve the convergence rate of NetworkDB, part of the management plane for overlay networking, after bursts of updates.
  • Improve the reliability of the overlay network driver.
  • Add support for memory-swap and memory-swappiness flags to docker service create and docker service update.
  • Update SwarmKit internal TLS configuration to exclude known insecure cipher suites.
  • Fix an issue where all new tasks in the Swarm could get stuck in the PENDING state forever after scaling up a service with placement preferences.
  • Fix Swarm services becoming unreachable from published ports after a firewalld reload.
  • The daemon now requires API version v1.44 or later (Docker v25.0+).

What it means: this is the release that rewrote the overlay networking and NetworkDB paths that had been reverted from 28.2 for a regression. The API floor matters for tooling: anything that speaks an API older than v1.44 to a 29.x daemon is refused, which retired several unmaintained Swarm dashboards.

Docker Engine 28.x

28.5.2 (5 November 2025) back to 28.3.1 (2 July 2025)

No Swarm entries in 28.5.2, 28.5.1, 28.5.0, 28.4.0, 28.3.3, 28.3.2 or 28.3.1.

28.3.0 (24 June 2025)

  • Fix a potential resource leak when a node leaves a Swarm.
  • Fix an issue where all new tasks in the Swarm could get stuck in the PENDING state forever after scaling up a service with placement preferences.

28.2.2 (30 May 2025)

  • Revert Swarm related changes added in 28.2.x builds, due to a regression reported in moby/moby#50129: the NetworkDB reliability and convergence improvements, the overlay load-balancer IP release fix and the network inspect --verbose crash fix.
  • Fix creation of a swarm-scoped network from a --config-only network.

What it means: the NetworkDB work landed in 28.2.0, was reverted two days later, and shipped for good in 29.0.0. If your swarm ran 28.2.0 or 28.2.1 for those two days, that is where any strange networking memory of it comes from.

28.2.0 (28 May 2025)

  • Add OOMScoreAdj to docker service create and docker stack.
  • Fix the plugin does not implement PluginAddr interface error for Swarm CSI drivers.
  • Fix an issue where docker network inspect --verbose could sometimes crash the daemon.
  • Fix an issue where the load-balancer IP address for an overlay network would not be released in certain cases if the Swarm was lacking an ingress network.
  • Improve the reliability of NetworkDB in busy clusters and lossy networks; improvements to the reliability and convergence speed of NetworkDB.

28.1.0 (17 April 2025)

  • Fix a bug causing host port-mappings on Swarm containers to be duplicated on docker ps and docker inspect.

28.0.1 (26 February 2025)

  • Fix creation of a swarm-scoped network from a --config-only network.

28.0.0 (19 February 2025)

  • Fix Docker Swarm mode ignoring volume.subpath.
  • Go SDK: add SwarmManagementAPIClient interface to describe all API client methods related to Swarm-specific objects.

Reading the pattern

Across nineteen months and forty-odd releases, Swarm entries cluster around three things: overlay networking and service discovery, which got a rewrite in 29.0.0 and a run of follow-up fixes through 29.8.0; the scheduler's Pending edge cases; and the control plane's own durability (Raft snapshots, secrets remounts, TLS ciphers). No release removed a Swarm feature. That is the profile of a component in maintenance, and it is the reason the status post can say what it says.

Common concerns, answered

What is the latest Docker Engine release with Swarm changes? Docker Engine 29.8.0, released on 3 September 2026, carries six Swarm entries: service-name resolution after a missed membership announcement and after a transient node failure, service discovery gossip after concurrent updates, network inspect of a healthy Swarm network beside a failed allocation, reduced gossip from a flapping node, and published ports on the service mesh moving to the same infrastructure local containers use.

Is Docker Swarm still being updated in 2026? Yes. Ten of the twenty-nine 29.x releases between November 2025 and September 2026 contain Swarm-specific fixes, and 29.0.0 shipped a rewrite of overlay networking and routing mesh reliability. This page lists every entry with its date.

Which Docker Engine version should I run for Docker Swarm? The newest 29.x patch release, upgraded managers first and one node at a time. 29.5.0 fixed Raft snapshot corruption with large swarm state and 29.4.1 fixed secrets remount failures on busy nodes; anything older than 29.4 is missing fixes you want.

What to do with it

Run the newest 29.x patch release. Upgrade managers first, one at a time, workers after, and read this page or the release notes before each step; the best-practices checklist has the procedure. If you are on 28.x, the jump to 29 brings the networking rewrite and the API floor, so check that your tooling speaks API v1.44 or newer first.

This page is updated when a release with Swarm entries lands. The updated date above says when it last was.