Releases: systemstart/nix-compose
Release list
v0.3.0
Container orchestration over CRI, with service images built straight from
Nix closures instead of Dockerfiles.
nix-compose speaks CRI gRPC directly to containerd or CRI-O — no daemon,
no compose file, nothing shelling out to another tool. A service can name a
package instead of a registry image, and its image is built from that
package's Nix closure and imported into the runtime: no Dockerfile, nothing
pushed or pulled.
Install
nix run github:systemstart/nix-compose -- up -d
# or
go install github.com/systemstart/nix-compose/cmd/nix-compose@latestOr download an archive below. Linux only; needs containerd or CRI-O.
Run nix-compose doctor first — it checks every prerequisite and each
finding carries its fix.
Before you adopt it
Read docs/limitations.md
— a deliberately complete account of what does not work, not a marketing
document. The changes in this release are listed below.
Changelog
Fixes
- fix: use stdenv.hostPlatform.isLinux
- fix(release): stop discarding the git-cliff notes, and assert they land
Other changes
- build(release): generate release notes with git-cliff
- ci: stop the VM image builds gating releases
- ci: validate the release config on every push
- build: add a diff-closures target to show what a lock bump changes
- build: add a pre-push hook rejecting unsigned commits
- build: pin the Go toolchain to 1.27.0 from go-overlay
- ci(renovate): drop the dead postUpgradeTasks and track the Go pin
- ci(renovate): explain the go-overlay lock coupling on Go pin PRs
- build(deps): pin nix-oci to v0.5.0
While the major version is 0, the nix-compose.yaml schema and the CLI
surface may still change between minor releases.
Archives are attested with build provenance; verify with
gh attestation verify <archive> --repo systemstart/nix-compose.
v0.2.1
Container orchestration over CRI, with service images built straight from
Nix closures instead of Dockerfiles.
nix-compose speaks CRI gRPC directly to containerd or CRI-O — no daemon,
no compose file, nothing shelling out to another tool. A service can name a
package instead of a registry image, and its image is built from that
package's Nix closure and imported into the runtime: no Dockerfile, nothing
pushed or pulled.
Install
nix run github:systemstart/nix-compose -- up -d
# or
go install github.com/systemstart/nix-compose/cmd/nix-compose@latestOr download an archive below. Linux only; needs containerd or CRI-O.
Run nix-compose doctor first — it checks every prerequisite and each
finding carries its fix.
Before you adopt it
Read docs/limitations.md
— a deliberately complete account of what does not work, not a marketing
document. The changes in this release are listed below.
Changelog
Fixes
- 0205711 fix(microvm): satisfy the NixOS boot assertions
- 769b12b fix(microvm): use the real virtio vsock module name
- f8cf695 fix(release): stop the changelog emptying itself
- 16bd42e fix(release): surface breaking changes in the release notes
Other changes
- fff18bf build(nix): version from ./VERSION, and complete package meta
- 1355514 build: relax the go directive to the dependency-graph minimum
- 3f4f566 build: sign release tags with
git tag -s - 8c190c7 chore: release v0.2.1
- c9c8aa1 ci: gate on nix flake check and build the VM images
While the major version is 0, the nix-compose.yaml schema and the CLI
surface may still change between minor releases.
Archives are attested with build provenance; verify with
gh attestation verify <archive> --repo systemstart/nix-compose.
v0.2.0
Container orchestration over CRI, with service images built straight from
Nix closures instead of Dockerfiles.
nix-compose speaks CRI gRPC directly to containerd or CRI-O — no daemon,
no compose file, nothing shelling out to another tool. A service can name a
package instead of a registry image, and its image is built from that
package's Nix closure and imported into the runtime: no Dockerfile, nothing
pushed or pulled.
Install
nix run github:systemstart/nix-compose -- up -d
# or
go install github.com/systemstart/nix-compose/cmd/nix-compose@latestOr download an archive below. Linux only; needs containerd or CRI-O.
Run nix-compose doctor first — it checks every prerequisite and each
finding carries its fix.
Before you adopt it
Read docs/limitations.md
— a deliberately complete account of what does not work, not a marketing
document. The changes in this release are listed below.
What changed in 0.2.0
A maintenance release. No behaviour change to the tool itself — if v0.1.0
works for you, this is a drop-in update.
The minimum Go version is now 1.26.5 (was 1.26.3). This affects
go install only; the flake and the release binaries are unaffected.
Dependency updates, all verified against the full test suite first:
k8s.io/cri-api0.36.1 → 0.36.4 — carried a breaking API change in a
patch release (KeyValue.Valuemoved fromstringto[]byte), handled
internally and invisible from the CLIgithub.com/containerd/containerd/v22.3.3 → 2.3.4github.com/containerd/platforms1.0.0-rc.4 → 1.0.0-rc.5google.golang.org/grpc1.81.1 → 1.83.1google.golang.org/protobuf→ 1.36.12, off an unreleased pseudo-version
onto the actual releasego.etcd.io/bbolt1.4.3 → 1.5.0golang.org/x/term0.44.0 → 0.45.0
Repository tooling, no effect on users of the binary: flake.lock
refreshed with pkg/nixpins kept in step by make sync-nixpins (wired into
Renovate, so a lock-file bump no longer leaves the pins stale); jq and
yq-go added to the dev shell; a pre-commit hook running make lint.
Changelog
Other changes
While the major version is 0, the nix-compose.yaml schema and the CLI
surface may still change between minor releases.
Archives are attested with build provenance; verify with
gh attestation verify <archive> --repo systemstart/nix-compose.
v0.1.0
Container orchestration over CRI, with service images built straight from
Nix closures instead of Dockerfiles.
nix-compose speaks CRI gRPC directly to containerd or CRI-O — no daemon,
no compose file, nothing shelling out to another tool. A service can name a
package instead of a registry image, and its image is built from that
package's Nix closure and imported into the runtime: no Dockerfile, nothing
pushed or pulled.
Install
nix run github:systemstart/nix-compose -- up -d
# or
go install github.com/systemstart/nix-compose/cmd/nix-compose@latestOr download an archive below. Linux only; needs containerd or CRI-O.
Run nix-compose doctor first — it checks every prerequisite and each
finding carries its fix.
What is in this release
See CHANGELOG.md
for the full account, and
docs/limitations.md
for what does not work — that one is deliberately complete, not a
marketing document. Read it before adopting this for anything
load-bearing.
Changelog
Features
- 91adbf2 feat: initial commit
Fixes
- 803cb20 fix: tmpdir issue
While the major version is 0, the nix-compose.yaml schema and the CLI
surface may still change between minor releases.
Archives are attested with build provenance; verify with
gh attestation verify <archive> --repo systemstart/nix-compose.