Tags give the ability to mark specific points in history as being important
-
v1.8.2
protectedRelease: swarmexec v1.8.2c22ea321 · ·swarmexec v1.8.2 Logs - New logfmt (key=value) format: level=info msg="…" ts=… — covers Go apps, the Docker daemon, HashiCorp tools, etc. Selectable via --log-format and the TUI F-cycle. - Fix: docker logs --timestamps now composes with structured formats; the leading RFC3339 stamp is stripped before json/gelf/logfmt decoding (was a silent fallback to raw). - Entry.Timestamp captured from the -t prefix and structured ts/time fields. UI - Richer placement diagnosis (why?): surfaces the real reason a node runs no task (a failed/rejected task's error + attempt count) instead of "eligible but no task scheduled", plus a docker service ps-style task table. Site - Release-notes page (de/en/es/fr), generated at build time from the git-tag changelogs; reachable at /releases.
-
v1.8.1
protectedRelease: swarmexec v1.8.10bddcb25 · ·swarmexec v1.8.1 UI - Secrets: create a secret from the secrets tab (n) — name, multi-line value, labels - Secrets: delete a secret from the secrets tab (d); on service removal, offer to delete now-orphaned secrets - Services: remove a service from the inspect view (X) - Contexts: guided creation — explicit SSH toggle, jump hosts, test-connection - Fix: dialog kept focus when clicking beside a centred overlay init - Warn when --secret is passed but the agent secret already exists (kept, not applied) Site - Multilingual landing/docs (de/en/es/fr) with browser-language detection + switcher
-
v1.8.0
protectedRelease: swarmexec v1.8.0ae9836c3 · ·swarmexec v1.8.0 New features since v1.7.0 (all backward-compatible): - Nodes tab: cluster node info + aggregations (tasks, volumes, labels) and in-place node label editing. - Placement diagnosis (inspect: D): explains why a service isn't running everywhere — per-node exclusion reasons (drain/down/constraint/platform) and per-task scheduler messages. - :latest version check: resolves a service's real version behind the pinned digest, flags a newer registry image (↑), and offers a one-key update. - Networks: encryption (ENC) column + per-network encryption in inspect, create-network form (attachable/encrypted/internal/IPv6/MTU/subnet/labels), read-only network labels. - Volumes: create-volume form with labels (new CreateVolume agent RPC, additive) and read-only volume labels. - Service editors: force-update, service spec diff, resource-limits editor, network-alias editing from the network detail view; multi-line env, leave-guard and small-terminal footer fixes.
-
v1.7.0
protectedRelease: swarmexec v1.7.09f2acf45 · ·swarmexec v1.7.0 — service inspect editors: env, mounts, secrets, networks/aliases TUI service-inspect overlay gains full read-modify-write ServiceUpdate editing, plus quality-of-life fixes to the log view. ui: - env editor (`e`): staged KEY=VALUE list with edit-in-place; long values (e.g. GITLAB_OMNIBUS_CONFIG) open in a scrollable multi-line TextArea (Ctrl-S save, Esc cancel). - mounts editor (`v`): volumes and bind mounts (`volume:NAME:TGT[:ro]` / `bind:/host:TGT[:ro]`) with a soft bind guard warning which nodes the service could schedule on (host paths cannot be verified — agent has no host fs access). - secrets editor (`S`): add/remove secret references (mounted at /run/secrets/<name>). - networks editor (`n`): add/remove attachments with name autocomplete; select a network and press `A` to edit that network's DNS aliases. - inspect NETWORKS rows are collapsible (`+ net (N dns names)`), showing the service/task DNS names and aliases; `y` copies the selected line (OSC52). - Volumes tab: `A` attaches a volume to a service (reverse of the mounts editor). - staged editors share one generic list editor: a/e/d add/edit/delete, `y` copy (OSC52), `u` undo, `w` apply (rolling-update confirm), Esc cancel. - one adaptive bottom footer per view; auto-refresh pauses while an overlay is open. fixes: - log view caps its TextView via SetMaxLines so it stays responsive over long sessions (follow toggling no longer gets starved). No agent or wire-contract changes since v1.6.1.
-
v1.6.1
protectedRelease: swarmexec v1.6.182e664a2 · ·swarmexec v1.6.1 — fix the site deploy trigger ci: - deploy-site now sends the downstream infrastruktur/swar-exec-site pipeline both IMAGE ($CI_REGISTRY_IMAGE/site) and VERSION as bare semver (1.6.1, not the v-prefixed tag), which it requires — the trigger used to return HTTP 400 and fail the release's deploy-site job. - site-image also pushes the bare-semver tag (site:1.6.1) next to :v1.6.1 and :latest, so the downstream can pull $IMAGE:$VERSION. No client or agent changes since v1.6.0.
-
v1.6.0
protectedRelease: swarmexec v1.6.08624eb1e · ·swarmexec v1.6.0 — log filtering, service inspect & editing, client logging logs: - format-aware parsing + filtering (classic/json/gelf/raw, min-level, grep) in the `logs` command and the TUI log view (live re-filter, format/level cycling, message grep). - `logs -f` follows a service across container replacement (rolling update / restart / reschedule), like `docker service logs -f`. - log view: toggle mouse capture for terminal select/copy. ui: - configurable shortcut keys via keys.yaml. - Networks tab: networks colour-coded by type; attach/detach a service to a network. Secrets: attach/detach a service to a secret (autocomplete). - inspect (`i`): tabular, operator-first view + raw-JSON toggle, with individually selectable/copyable lines. On a service it also edits via ServiceUpdate: scale, ports, labels and networks (staged editors). - single adaptive bottom footer describing the active view's keys. - the container tree auto-refreshes so background changes appear without `r`. client: - structured logging (slog) to a file and an in-memory ring, a toggleable in-TUI log viewer, and a responsiveness watchdog; container list refreshes off the UI goroutine so the TUI no longer stalls.
-
v1.5.1
protectedRelease: swarmexec v1.5.1bb112497 · ·swarmexec v1.5.1 — faster volume sizes, volume search & bulk delete - agent: volume sizes are cached in the background (an initial scan at startup, refresh on volume create/destroy events, and every 10m) instead of a du-style scan per request, so the TUI's SIZE column fills almost immediately. - ui (volumes tab): "/" search filters by name/driver/node, "a" selects all displayed volumes, bulk delete runs with bounded parallelism and shows a progress overlay.
-
v1.5.0
protectedRelease: swarmexec v1.5.0ca7c38cd · ·swarmexec v1.5.0 — Contexts tab, volume bulk-delete & prune UI: - New Contexts tab: list docker contexts, create/delete them, and activate one (u/Enter) — which restarts the UI against that cluster. The active context is always shown in the footer. - Volumes: select multiple with space and delete (d), or prune every volume no running container mounts and no service declares (P) — each behind a confirm. Footer redesigned to two lines (key hints + consolidated status). - Fix: aligned the container columns in the network detail view. Site: a before/after demo GIF (docker exec vs swarmexec) at the top of the README and on the landing page. CI: the site deploy now fires via a pipeline trigger token instead of the multi-project trigger bridge.
-
v1.4.0
protectedRelease: swarmexec v1.4.04d9839f6 · ·swarmexec v1.4.0 — richer service rows in the UI, site polish UI: - The interactive containers tree now shows each service like a `docker service ls` line — mode (replicated/global/…-job), running/desired, image and published ports. Site: - A favicon (terminal-prompt mark), a robots.txt, an Umami session recorder on the landing and docs pages, and a new privacy-notice section disclosing the recording.
-
v1.3.0
protectedRelease: swarmexec v1.3.0f463eb97 · ·swarmexec v1.3.0 — Networks and Secrets in the interactive UI Two new read-only tabs in `swarmexec ui`: - Networks (4): driver, scope, type, and the services/containers attached to each network (containers nested under their service). - Secrets (5): metadata, a used-by count, and the services/containers that reference each secret. Secret values are never shown — the Docker API does not expose them. Also in this release: per-service health in the container tree (running/desired count + health color), fold markers (▸/▾) with working h/l folding, and a site analytics + privacy page.
-
v1.2.0
protectedRelease: swarmexec v1.2.0a673fce8 · ·swarmexec v1.2.0 — manage Docker contexts from the client New `swarmexec context` command group (alias `ctx`): create, ls, use, rm. It writes docker's own on-disk context store, so contexts created here are interchangeable with the docker CLI — and you no longer need docker installed even to create one. - context create <name> --docker-host <ssh://|tcp://|unix://|npipe://> [--description] [--use] - context ls [--json] context use <name> context rm <name>… [-f] Pure local file operations; no wire-protocol change, a running agent stays compatible. The /docs page documents the new command. Also: first release to run the deploy-site CI trigger (from "added trigger").
-
v1.1.5
protectedRelease: swarmexec v1.1.57bf8d685 · ·swarmexec v1.1.5 — TUI search: show how to leave it The interactive search bar now surfaces its exit keys: while the search field has focus the footer shows "type to filter · Enter keep filter & exit · Esc clear & exit", and the empty field carries a placeholder. Esc/Enter already worked — this only makes them discoverable. No API or wire-protocol change; a running agent stays compatible. (This tag also rebuilds the site image, which now carries the /docs client documentation page and a fixed container healthcheck — both site-only changes already on main.)
-
v1.1.4
protectedRelease: swarmexec v1.1.491f786b2 · ·swarmexec v1.1.4 — agent image defaults to Docker Hub `swarmexec init` now deploys the agent from Docker Hub by default: docker.io/logleio/swarmexec-agent:latest, a public image, so init needs no `docker login`. Releases are still mirrored to the GitLab registry, and SWARMEXEC_AGENT_IMAGE / --image override the source (pin a version or use the mirror). Agent detection follows the rename: label-first (swarmexec.role=agent), with an image-name fallback that now matches both the Docker Hub name and the legacy GitLab name, so a cluster mid-migration is recognized either way. The deploy manifests carry the role label too. No API or wire-protocol change; a running agent stays compatible.
-
v1.1.3
protectedRelease: swarmexec v1.1.3c8eb6f81 · ·swarmexec v1.1.3 — canonical URLs moved to the cs-public namespace The repository moved from gitlab.logle.io/internal-tools/swarm-remote-exec to .../cs-public/swarm-remote-exec, and the container registry path moved with it. This release repoints the canonical references. - init: `swarmexec init` now deploys the agent from registry.logle.io/cs-public/swarm-remote-exec/agent by default. - deploy manifests, NOTICE, README, site and Docker Hub description now point at the cs-public namespace. No API or wire-protocol change; a v1.1.x agent stays compatible. GitLab still redirects the old paths, so an existing deployment keeps working until it is next re-deployed.
-
-
v1.1.1
protectedRelease: swarmexec v1.1.1844cb189 · ·swarmexec v1.1.1 — port-forward UI polish Client-side only; no wire-protocol change, so a v1.1.0 agent stays compatible and does not need redeploying. - ui: the tree marker now shows local→remote (e.g. "19090→3002"), so the container port a forward lands on is visible on the main view, not only in the Forwards tab. - ui: the forward-detail overlay is left-aligned (it reused a modal that centered each line, shearing the key/value block). - ui/cli: surface how to stop a forward — the CLI prints "press Ctrl-C to stop", and the detail overlay shows "d stop · Esc close" and accepts d.
-
v1.1.0
protectedRelease: swarmexec v1.1.04325ab66 · ·swarmexec v1.1.0 — port forwarding Port forwarding: bind a local port and reach a port inside a container anywhere in the swarm, without publishing it on the cluster. Available as `swarmexec port-forward [local:]remote` and from the TUI with `p`, plus a Forwards tab (3) to manage running forwards. The agent reaches the target by joining its network namespace via a sidecar from its own image — it generally shares no network with the target. See DESIGN-port-forward.md for the constraint and the measurements. Wire protocol: adds the PortForward RPC (CONTRACT.md §3.2). Additive, so the proto version stays swarmexec/v1 and older clients keep working. A NEW client against an agent older than this release reports "agent is older than this client — update it with `swarmexec init --force`", so roll the agent out before relying on forwards. Also in this release: - Relicensed from proprietary to Apache-2.0, with NOTICE and a CONTRIBUTING.md requiring DCO sign-off. - fix(resolve): dial the leader's real address instead of its hostname. - fix(ui): restore vim movement in the overlay lists. - Landing page for swarm-exec.logle.io, hardened as a non-root container.
-
v1.0.29
protectedd456c81a · ·v1.0.29 - docs(dockerhub): link the GitLab repository from the Hub overview (re-syncs the Docker Hub description via the release pipeline).
-
v1.0.28
protectedRelease: swarmexec v1.0.28c087c1d1 · ·v1.0.28 - ci: mirror the agent image to Docker Hub on release (docker.io/<ns>/swarmexec-agent:<version> + :latest for stable) and sync the Hub repo description from dockerhub/overview.md.
-
v1.0.27
protectedRelease: swarmexec v1.0.27bf221a67 · ·v1.0.27 - fix(ui): volume selection now matches the displayed (sorted) order, so delete/nodes/'i' act on the highlighted volume; add an animated size-loading spinner on the SIZE header. Client-only.