Skip to content

Releases

v1.55.7

Choose a tag to compare

@github-actions github-actions released this 07 Nov 13:04
edbdcd5
  • Recreate the real-Docker round trip at API 1.54 too, the first whose connect applies a MAC address, so CI's runner, whose Docker speaks 1.54 and skips the newest, still proves a network connected after the create keeps its own (edbdcd5)

Image: danielbodart/tidewaiter:1.55.7 or ghcr.io/danielbodart/tidewaiter:1.55.7

v1.54.6

Choose a tag to compare

@github-actions github-actions released this 07 Nov 12:57
0f71a9c
  • Recreate a container by passing back what docker inspect said of it rather than building the create from an allowlist of fields one at a time: its Config, HostConfig and each network's endpoint settings are kept as Docker wrote them and sent back in the same negotiated API version, which takes them in the form it reported them, so limits, ulimits, logging, security options, DNS, init, shm size, every kind of mount and its options and whatever Docker adds next come across with nothing to keep up to date. Two short, commented lists say what does not: overrides, what a recreate changes on purpose (the image ref; the env, labels, command, entrypoint, exposed ports, VOLUMEs, user, working dir, stop signal and healthcheck fields the old image gave it, now VOLUMEs too, left to the new one; a hostname that is Docker's default, the old short id; Docker's default masked and read-only paths, while systempaths=unconfined's empty ones pass; each endpoint's operational data; the short id inspect adds to aliases before 1.45; and the MAC address, kept where inspect can say it is the container's, in Config below 1.44, on the endpoint from it, on a network connected after from 1.54), and removals, what create refuses in the same version, so far only a hostname in container: network mode, which Docker rejects in every version. The typed spec stays for what Tidewaiter decides on and no longer builds the create, and the per-field gates of the last change go but for the MAC address and alias ones. A real-Docker round trip, mise run e2e and a docker-e2e job CI now runs before a release, makes containers with a broad spread of settings, recreates each through Tidewaiter's swap at API 1.43, 1.44, 1.51, 1.52 and the newest and in every network mode, privileged, unconfined, with a legacy link and host pid, ipc and uts, and finds them inspecting the same but for the overrides; the fake Docker reports what Docker adds of its own so the overrides are tested without one (0f71a9c)

Image: danielbodart/tidewaiter:1.54.6 or ghcr.io/danielbodart/tidewaiter:1.54.6

v1.53.5

Choose a tag to compare

@github-actions github-actions released this 07 Nov 09:59
dc86d9a
  • Carry what a recreate dropped of what inspect reports, each field only in an Engine API version that knows it, gated on the version negotiated with the daemon with its minimum named beside it in recreate.go: a healthcheck's StartInterval (1.44); image mounts with their subpath (1.48), left out below it while the rest of the recreate goes ahead; a --mount bind's options, kept long-form rather than turned into a -v bind, NonRecursive (1.40), CreateMountpoint (1.42) and ReadOnlyNonRecursive and ReadOnlyForceRecursive (1.44), and any bind's propagation, a -v bind's in its mode; a volume's NoCopy and Subpath (1.45); a tmpfs mount's size, mode and Options (1.46); --tmpfs; annotations (1.43); umask (1.56); and on each network its link-local addresses, gateway priority (1.48) and MAC address. The MAC goes in Config below 1.44 and on the endpoint from it, and on a network connected after the create only from 1.54, the first connect that applies it; inspect is read for it as the version shows it, Config.MacAddress being the one asked for on the container's own network before 1.52, and from 1.52, where only each network's address in use is left and Docker 29 picks those at random, every network's. The fake Docker refuses a create or connect field its request's version does not know, and each field is tested to come through a swap at the version that brought it in and to be left out at the one before (dc86d9a)

Image: danielbodart/tidewaiter:1.53.5 or ghcr.io/danielbodart/tidewaiter:1.53.5

v1.52.4

Choose a tag to compare

@github-actions github-actions released this 07 Nov 09:20
596e2c7
  • Negotiate the Docker Engine API version with the daemon rather than pin v1.41, which Docker 29.0 refuses with "client version 1.41 is too old. Minimum supported API version is 1.44" (danielbodart/portical#13): the client asks the unversioned GET /version once, speaks the daemon's newest version capped at NewestAPI (1.56, the newest Docker release's, every change since 1.41 read against what Tidewaiter sends and reads), never below the daemon's MinAPIVersion, and keeps it; a Docker it cannot ask is spoken to at NewestAPI with the reason logged, and a call refused as too old or too new, as after an upgrade under a running Tidewaiter, renegotiates and is asked once more. From 1.45 a container's network Aliases no longer carry its short id, so a recreate stops copying the old container's id onto the new one as an alias; from 1.52 an image's inspect leaves out an unset Cmd, Entrypoint, Env, Labels, User and WorkingDir, which read as the nil they were before. NewClient takes the log, which says the version spoken and what Docker offers, and the fake Docker answers /version and refuses a version outside its range as Docker does (596e2c7)

Image: danielbodart/tidewaiter:1.52.4 or ghcr.io/danielbodart/tidewaiter:1.52.4

v1.51.3

Choose a tag to compare

@github-actions github-actions released this 01 Nov 23:40
ac72ce2
  • Keep RELEASE_PATHS in mise.toml and ask mise run release-due, as every one of danielbodart's repos does, from CI and from the weekly update, which now dispatches a release with exactly if mise run release-due; then gh workflow run ci.yml ... -f release=true; fi; run every step under bash, so -eo pipefail stops a failed flake update or digest lookup on the left of a pipe from going ahead with what it printed (and a lookup that names no digest fails the week rather than writing one into the Dockerfile); name the tarballs as every tool's are, -linux-x86_64, -aarch64 and -armv7.tar.gz, the plain binaries keeping the names links point at; write each release's notes from the commits since the last one; and say how it ships under Channels in the shape every README uses (ac72ce2)

Image: danielbodart/tidewaiter:1.51.3 or ghcr.io/danielbodart/tidewaiter:1.51.3

v1.50.2

Choose a tag to compare

@github-actions github-actions released this 01 Nov 22:38

Weekly update: github.com/danielbodart/gokit, github.com/danielbodart/gokit/dbusx, golang.org/x/sys

Image: danielbodart/tidewaiter:1.50.2 or ghcr.io/danielbodart/tidewaiter:1.50.2

v1.49.1

Choose a tag to compare

@github-actions github-actions released this 01 Nov 22:27
dbe9a53

Move every dependency weekly in one Weekly update, replacing the flake.lock bump: the flake's inputs, mise's tools to the latest patch of their minor, the base image's digest and the Go modules with the vendorHash to match, committed straight to master once everything CI tests passes with them, the package pushed to Cachix, and CI dispatched with release when something a release is built from moved

Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com

Image: danielbodart/tidewaiter:1.49.1 or ghcr.io/danielbodart/tidewaiter:1.49.1

v1.46.22

Choose a tag to compare

@github-actions github-actions released this 01 Nov 21:43
b4b9f3e

Move the workflows to mise-action v5, the current major

Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com

Image: danielbodart/tidewaiter:1.46.22 or ghcr.io/danielbodart/tidewaiter:1.46.22

v1.45.21

Choose a tag to compare

@github-actions github-actions released this 01 Nov 21:35
b07d18a

Stop the weekly flake.lock bump publishing a release: what tidewaiter ships is not built from the flake, so the release would be the same code under a new version. The lock goes out with the next release a real change makes

Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com

Image: danielbodart/tidewaiter:1.45.21 or ghcr.io/danielbodart/tidewaiter:1.45.21

v1.44.20

Choose a tag to compare

@github-actions github-actions released this 01 Nov 14:21

Bump flake.lock: nixpkgs

Image: danielbodart/tidewaiter:1.44.20 or ghcr.io/danielbodart/tidewaiter:1.44.20