Skip to content

Patch Notes

Patch notes are auto-generated by the docs-generate workflow after each feat/* or bug/* branch merges to staging.


v0.1.15 (2026-03-19)

Features

  • cap042 — Build-time network mode: ImageSpec now supports an optional network_mode field that passes --network to docker/podman build, enabling builds that need host network access

v0.1.14 (2026-03-19)

Features

  • cap038 — --no-cache flag: cutip run --no-cache removes existing images and rebuilds from scratch without layer cache
  • cap039 — Backend reconciliation: When project.backend is not set in cutip.yaml, CUTIP now prompts interactively to select and save a default backend
  • cap040 — Timestamped log files: Each cutip run creates a timestamped log file with automatic retention of the 10 most recent files
  • cap041 — Default bridge network: Containers with no networkRef or network_mode automatically receive a default bridge network (cutip-{group_name})

Patch Notes

  • cap037 — Dynamic SSH tunnel port: Podman SSH tunnel now uses OS-allocated dynamic ports, fixing port collisions when running multiple workspaces concurrently

v0.1.13 (2026-03-18)

Features

  • cap036 — cutip info: New cutip info command displays version, active workspace, project root, configured backend, and available backends

Patch Notes

  • cap035 — Project root discovery: _find_project_root() now anchors on cutip.yaml instead of .git, fixing multi-project monorepos. cutip init now accepts path as a positional argument (cutip init .)

v0.1.12 (2026-03-17)

Features

  • cap031 — @claude commands: Issue pipeline supports @claude slash commands with welcome message on new issues
  • cap032 — Workflow decorators: @action/@orchestrator decorators for self-describing workflows with AST-based introspection
  • cap033 — cutip desktop: Register workspaces in cutip-desktop and open the graph tab via cutip desktop
  • cap034 — Scaffold rewrite: cutip init workflows now showcase decorators, health checks, and multi-container orchestration

v0.1.11 (2026-03-15)

Features

  • cap029 — Backend default prompt: cutip run GROUP -b <backend> prompts to save backend as default in cutip.yaml. cutip --help and cutip init show available backends and current default
  • cap030 — cutip stop: New cutip stop GROUP command gracefully stops all containers in a group. --rm flag removes containers after stopping (like docker compose down)

v0.1.10 (2026-03-09)

Features

  • cap024 — .claude/ github orchestration docs: Added .claude/github/ directory with issue pipeline, PR conventions, and release pipeline documentation
  • cap025 — Bot identity: Issue pipeline comments now posted via a GitHub App bot identity with graceful fallback
  • cap026 — Issue pipeline with approval gates: Rewrote automated issue resolution with /continue, /acknowledge, /approve, /deny slash commands and code owner approval gates
  • cap027 — Self-service issue CLI: New cutip issue sub-command (create, list, push, diagnose, fix) for local AI-powered issue resolution. Install with pip install cutip[ai]
  • cap028 — CLI help + repo setup docs: cutip --help now groups commands by topic with a quick-start epilog. Added comprehensive repo setup guide

Patch Notes

  • cap023 — cutip upgrade: New cutip upgrade command detects and applies workspace migrations (vars→paths rename, missing project.backend, ctx.vars→ctx.paths references)

v0.1.9 (2026-03-05)

Features

  • cap022 — Backend persistence via cutip.yaml: Set project.backend in cutip.yaml to persist the backend choice across runs. Resolution order: -b flag / CUTIP_BACKEND env → cutip.yaml → docker (default)
  • cap022 — Docker default + core dep: Docker is now the default backend and a core dependency (docker>=6.0). Both backends ship with pip install cutip — no extras needed

v0.1.8 (2026-03-04)

Features

  • cap021 — Rename vars.yaml → paths.yaml + add secrets.yaml: Split cutip/vars.yaml into cutip/paths.yaml (filesystem paths, safe to sync) and cutip/secrets.yaml (passwords, tokens, keys — never synced). Template syntax: {{ paths.key }} / {{ secrets.key }}. Context: ctx.paths / ctx.secrets. New CLI: cutip secrets set/list/check

v0.1.7 (2026-03-04)

Features

  • cap012 — Docker backend support: Use Docker as a container backend with --backend docker or CUTIP_BACKEND=docker; install with pip install cutip[docker]

v0.1.6 (2026-03-03)

Features

  • cap010 — cutip from-compose: New cutip from-compose <compose.yaml> command converts an existing Docker Compose file into a CUTIP workspace (ImageCards, ContainerCards, Units, Groups)
  • cap013 — cutip --version: Added --version flag to the CLI

Patch Notes

  • cap020 — from-compose restart_policy: cutip from-compose now correctly quotes restart: "no" and other boolean-looking values, preventing YAML 1.1 boolean coercion that caused ContainerCard validation to fail

v0.1.5 (2026-03-03)

Features

  • cap007 — Improve init scaffold, validate logs, group name match: cutip init scaffold keeps containers alive with tail -f /dev/null and logs connect/stop hints; cutip validate prints per-ref ✓/✗ progress; cutip run resolves group names by partial prefix without requiring exact match
  • cap008 — Docker-compose vs CUTIP comparison: New docs/getting-started/why-cutip.md with an honest side-by-side comparison and complex project walkthrough showing where CUTIP's structured orchestration adds value
  • cap009 — Scaffold simple + complex projects: cutip init now generates both a simple project (single container, ready to run) and a complex project (postgres + Python web app with pre-build hooks, health-check loop, and post-start exec verification)

v0.1.4 (2026-03-03)

Internal developer tooling — no user-facing capability changes in this release.


v0.1.0 (2026-02-28)

cap005 — Remove deprecated --backend flag from e2e steps (2026-02-28)

  • Removed the --backend podman argument from all cutip run calls in CI
  • The --backend flag was deprecated when Podman became the sole supported backend

cap004 — Add MIT license (2026-02-28)

  • Added LICENSE file (MIT, copyright Joshua Jerome 2024)
  • Added license = { text = "MIT" } to pyproject.toml

cap003 — Remove non-existent [podman] extra from CI (2026-02-28)

  • CI was installing .[podman] which no longer exists (podman moved to core deps)
  • Changed all CI install steps to uv pip install -e .

cap002 — Validate generated vars + extend _validate_vars to environment fields (2026-02-28)

  • _load_vars now raises CutipError when a generated: var has an empty path value (previously silently resolved to project root, causing runtime mount errors like statfs /sheets)
  • _validate_vars now checks spec.environment values in addition to mount source/target so empty required vars are caught before any container backend is contacted

cap001 — Initial scaffold (2024-01-01)

  • Established the CUTIP framework for defining container environments with YAML artifacts
  • Implemented ImageCard, NetworkCard, ContainerCard, Unit, and Group models
  • Added CutipContext for workflow orchestration
  • Introduced PodmanBackend as the only supported container runtime