Skip to content

v0.1.2

Choose a tag to compare

@jraicr jraicr released this 17 May 01:16
· 230 commits to main since this release
v0.1.2

Patch release — two bug fixes and a constitution-doc correction.

Fixes

  • PROJECT_NAME sanitization — project directories whose name contains a dot, uppercase letters, or spaces (e.g. sideralith.com) failed to launch with an invalid project name error from Docker Compose. The project name is now sanitized to a Compose-valid form before use; every derived name (compose project, container names, deploy-key path) inherits it.
  • Running-container conflict diagnostic — when a drydock-<project> container is already running, drydock now prints a clear drydock-level message with the exact docker exec / docker stop commands, instead of leaking the raw Docker daemon conflict error. The intentional refusal to kill a running session is unchanged.
  • INV-2 documentation correction — CLAUDE.md INV-2's "Why" attributed SQLite/WAL corruption to the ~/.claude state paths, which contain no SQLite. Rewritten to a four-reason model — two universal (last-writer-wins .claude.json clobber, OAuth refresh race), two engram-only (MCP-config divergence, SQLite WAL). INV-2's rule is unchanged.

Upgrade notes

  • If a project directory name was normalized (e.g. sideralith.com → sideralith-com), an existing SSH deploy key stored under the old filename will not be found. drydock prints a warning with the new filename — rename ~/.config/drydock/keys/<old>_deploy to <new>_deploy.
  • Two directories that normalize to the same sanitized name share container namespace and deploy-key path — a documented limitation.

No new flags, env vars, or commands. See CHANGELOG.md for the full entry.

Closes #2.