Skip to content

Commit 744a484

Browse files
authored
docs: add 0.1.5 release notes (#15)
1 parent 8ffe031 commit 744a484

1 file changed

Lines changed: 35 additions & 0 deletions

File tree

planning/releases/0.1.5.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# compose2pod 0.1.5 — named volumes
2+
3+
A patch release accepting Compose named volumes, previously a hard error.
4+
Compose files that declare a top-level `volumes:` block or reference a named
5+
volume in a service (e.g. `pgdata:/var/lib/postgresql/data` for database data
6+
persistence) now convert without editing the compose file.
7+
8+
## Fix
9+
10+
- **Named volumes are accepted.** A service volume whose source is a bare
11+
identifier rather than a host path (a Compose named volume) is emitted
12+
verbatim as `-v <name>:<target>`. Podman creates the volume implicitly on
13+
first reference — the same behavior as plain `podman run -v` — so no
14+
explicit `podman volume create` step is needed. The volume persists on the
15+
host after the pod is removed, identical to `docker compose down` without
16+
`-v`.
17+
- **Top-level `volumes:` is accepted (ignored).** Mirrors the existing
18+
top-level `networks` treatment: the block's `driver`/`driver_opts` and
19+
`external` settings are never read, since implicit creation with default
20+
options is what podman does regardless. A non-default driver or an
21+
`external: true` volume that should pre-exist has no special handling.
22+
23+
## Downstream
24+
25+
No action needed — additive and backward compatible. Documents that previously
26+
failed with `unsupported top-level keys: ['volumes']` or "named volume ... is
27+
not supported" now emit a pod script; nothing that converted before changes.
28+
29+
## Internals
30+
31+
- `architecture/supported-subset.md` documents the bind-mount vs named-volume
32+
disambiguation (source starts with `.`/`/` vs bare identifier) and the
33+
default-driver-only limitation.
34+
- 95 tests at 100% line coverage (enforced); `ruff select=ALL`, `ty`, and
35+
`eof-fixer` clean.

0 commit comments

Comments
 (0)