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:
ImageSpecnow supports an optionalnetwork_modefield that passes--networkto docker/podman build, enabling builds that need host network access
v0.1.14 (2026-03-19)¶
Features¶
- cap038 — --no-cache flag:
cutip run --no-cacheremoves existing images and rebuilds from scratch without layer cache - cap039 — Backend reconciliation: When
project.backendis not set in cutip.yaml, CUTIP now prompts interactively to select and save a default backend - cap040 — Timestamped log files: Each
cutip runcreates a timestamped log file with automatic retention of the 10 most recent files - cap041 — Default bridge network: Containers with no
networkRefornetwork_modeautomatically 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 infocommand displays version, active workspace, project root, configured backend, and available backends
Patch Notes¶
- cap035 — Project root discovery:
_find_project_root()now anchors oncutip.yamlinstead of.git, fixing multi-project monorepos.cutip initnow accepts path as a positional argument (cutip init .)
v0.1.12 (2026-03-17)¶
Features¶
- cap031 — @claude commands: Issue pipeline supports
@claudeslash commands with welcome message on new issues - cap032 — Workflow decorators:
@action/@orchestratordecorators 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 initworkflows 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 incutip.yaml.cutip --helpandcutip initshow available backends and current default - cap030 — cutip stop: New
cutip stop GROUPcommand gracefully stops all containers in a group.--rmflag removes containers after stopping (likedocker 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,/denyslash commands and code owner approval gates - cap027 — Self-service issue CLI: New
cutip issuesub-command (create, list, push, diagnose, fix) for local AI-powered issue resolution. Install withpip install cutip[ai] - cap028 — CLI help + repo setup docs:
cutip --helpnow groups commands by topic with a quick-start epilog. Added comprehensive repo setup guide
Patch Notes¶
- cap023 — cutip upgrade: New
cutip upgradecommand 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.backendincutip.yamlto persist the backend choice across runs. Resolution order:-bflag /CUTIP_BACKENDenv →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 withpip install cutip— no extras needed
v0.1.8 (2026-03-04)¶
Features¶
- cap021 — Rename vars.yaml → paths.yaml + add secrets.yaml: Split
cutip/vars.yamlintocutip/paths.yaml(filesystem paths, safe to sync) andcutip/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 dockerorCUTIP_BACKEND=docker; install withpip 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
--versionflag to the CLI
Patch Notes¶
- cap020 — from-compose restart_policy:
cutip from-composenow correctly quotesrestart: "no"and other boolean-looking values, preventing YAML 1.1 boolean coercion that causedContainerCardvalidation to fail
v0.1.5 (2026-03-03)¶
Features¶
- cap007 — Improve init scaffold, validate logs, group name match:
cutip initscaffold keeps containers alive withtail -f /dev/nulland logs connect/stop hints;cutip validateprints per-ref ✓/✗ progress;cutip runresolves group names by partial prefix without requiring exact match - cap008 — Docker-compose vs CUTIP comparison: New
docs/getting-started/why-cutip.mdwith an honest side-by-side comparison and complex project walkthrough showing where CUTIP's structured orchestration adds value - cap009 — Scaffold simple + complex projects:
cutip initnow generates both asimpleproject (single container, ready to run) and acomplexproject (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 podmanargument from allcutip runcalls in CI - The
--backendflag was deprecated when Podman became the sole supported backend
cap004 — Add MIT license (2026-02-28)¶
- Added
LICENSEfile (MIT, copyright Joshua Jerome 2024) - Added
license = { text = "MIT" }topyproject.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_varsnow raisesCutipErrorwhen agenerated:var has an empty path value (previously silently resolved to project root, causing runtime mount errors likestatfs /sheets)_validate_varsnow checksspec.environmentvalues 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, andGroupmodels - Added
CutipContextfor workflow orchestration - Introduced
PodmanBackendas the only supported container runtime