Releases: caty-ai/caty-gateway
Release list
v0.2.0 — GET /filler?kind=<kind>: per-kind filler clips for the CatyPhone 安心発話ラダー (#52)
v0.2.0 — GET /filler?kind=: per-kind filler clips for the CatyPhone 安心発話ラダー (#52)
GET /filler accepts ?kind=thinking|wait|large|alive|fail|announce and draws one
clip from that kind only. No query keeps the previous pooled draw byte-for-byte;
unexpected query keys and unknown / empty / repeated kinds are 404 before any
config or registry access; a valid kind with no clips, a stale / tampered /
unpublished pack, or a legacy install never falls back to another kind or the
flat pool. Pack format unchanged. pyproject 0.2.0.
Evidence: PR #53 completion record (L1-7) with the 5-seat review
#53 — CI at 580d524:
https://github.com/caty-ai/caty-gateway/pull/53/checks
v0.1.6 — Linux setup writes a unit systemd accepts; __version__ from package metadata
Fixed
- Linux:
setupnow renders a unit systemd accepts (#38, PR #44). 0.1.4 and 0.1.5 wroteWorkingDirectory="…"/EnvironmentFile="…"with literal double quotes; systemd does not strip quotes on path directives and refused the unit (path is not absolute), so every Linux install failed at thehealthphase. Both directives are now rendered as the bare absolute path (only%escaped as%%; homes with spaces are supported). Paths that cannot be written into a unit file (newline, leading/trailing whitespace, trailing backslash) fail in preflight with an explicit message. macOS / launchd is unchanged. - Upgrade from a failed 0.1.4/0.1.5 install: after
pip install -U caty-gateway, re-run the samecaty-gateway setup --member <id> …. While the resume state is alive the stale unit is re-rendered automatically (only when the member's env file is provably ours). After--resetor once the resume TTL has passed, the printed messages name the file to move aside.
Hygiene
caty_gateway.__version__is now read from the installed distribution metadata (falls back to0+unknownin a bare source checkout) instead of a hard-coded0.1.0(#42, PR #46). A test pins it topyproject.toml.
Verification
- Full suite on
main(8c8fd6d): 1218 passed, 252 subtests; env inventory no drift; publication gate OK. - Review: 3 heterogeneous seats (Kimi K3 / Muse Spark 1.3 / Gemini 3.8 Flash), two rounds per PR, all GO; writer Codex GPT-6 Astra.
Full changelog: v0.1.5...v0.1.6
v0.1.5 — status --member no longer shows the Detail: line of an earlier failed attempt
Fixed
caty-gateway status --member <id>no longer shows theDetail:line of an earlier failed attempt under a latersucceededstatus. The orchestrator now clears the status message when a new run starts and writessetup completedon success, matching the supervised path. Regression test: fail → succeed → no staleDetail:. (#35, PR #40)
Docs
- Quick Start (EN/JA), the CLI reference table and the four READMEs now say that non-interactive runs (ssh, scripts) need
--yes, and thatCATY_QR_DELIVERY=ttykeeps the final QR as text instead of waiting in the URL mode:CATY_QR_DELIVERY=tty caty-gateway setup --member <id> --backend <b> --yes. (#34, PR #37) docs/smoke/: layer-A records from a Hetzner VPS (Ollama PARTIAL → #38, Hermes NOT RUN). (#2, PR #41)
Both findings came from the #31 layer-A smoke on a real second host. Package version 0.1.5; PyPI: https://pypi.org/project/caty-gateway/0.1.5/ (published from this tag via publish.yml).
Full changelog: v0.1.4...v0.1.5
v0.1.4 — caty-gateway qr no longer blocks in socket.getfqdn before printing the QR URL
v0.1.4 — caty-gateway qr no longer blocks in socket.getfqdn before printing the QR URL; shared no-reverse-DNS bind mixin for both servers
v0.1.3 — gateway startup no longer blocks in socket.getfqdn on hosts with slow reverse DNS
v0.1.3 — gateway startup no longer blocks in socket.getfqdn on hosts with slow reverse DNS
Runtime fix (Issue #19, follow-up of #13 / PR #18). The gateway's HTTP server now binds through a ThreadingHTTPServer subclass whose server_bind skips socket.getfqdn; on hosts without a fast reverse-DNS path (hosted GitHub macOS runners measured ~36 s per start) the service is reachable immediately after launch. Behaviour otherwise unchanged. Package version 0.1.3.
Evidence:
- PR #22 (L1-7 completion record, 3 seats Kimi K3 / Grok 4.6 / Opus 5): #22
- CI at candidate 4f0d2d1, test-lint / test-macos: 1152 passed, 0 warnings in 36 s (previous head: 3 readiness warnings, 134 s): https://github.com/caty-ai/caty-gateway/actions/runs/34010496705
- Remaining stock-HTTPServer site (QR delivery, one-shot) tracked in #23.
v0.1.2 — README links caty.talk, one-command install first, PyPI-ready absolute URLs; package version 0.1.2
v0.1.2 — README links caty.talk, one-command install first, PyPI-ready absolute URLs; package version 0.1.2
Docs + packaging release (Issue #11). README x4 (en / ja / zh / th) link the product page https://caty.talk, lead the install section with the one-command installer (marked "coming with the PyPI release"), use absolute URLs so the PyPI-rendered README works, and carry the live PyPI badge. docs/engineering.{md,ja.md} mirror the install order. pyproject.toml version 0.1.0 -> 0.1.2 so this tag and the package agree; #9 publishes to PyPI from this tag.
Evidence:
- PR #21 (L1-7 completion record, 3 seats Kimi K3 / Grok 4.6 / Gemini 3.8 Flash): #21
- CI at candidate 67cd1e7: test-lint / test + test-macos green: https://github.com/caty-ai/caty-gateway/actions/runs/34009503920
- Squash commit on main: 320a083
v0.1.1
caty-gateway v0.1.0
caty-gateway v0.1.0
First public release of caty-gateway — the PC-side gateway that lets CatyPhone talk, by voice, to the AI agent running on your own machine (Claude Code, Codex CLI, OpenClaw, Hermes, or any OpenAI-compatible server such as Ollama / LM Studio).
Highlights
- One install command, then
caty-gateway setupshows a QR code; scan it with CatyPhone to pair over your Tailscale network. - Five backends with a passive
doctorpreflight;serveis fail-closed (non-loopback needs a token). - Conversations travel only between your PC and your phone; history stays on your PC.
- Attachments are metadata-only in this release (no backend receives original files yet).
Repository
- Fresh history, MIT license, README in English / 日本語 / 简体中文 / ไทย, docs in three layers, contributing guide.
- CI gates: test + lint with suite reconciliation, gitleaks, history check, PR size, risk-review labels; macOS lane runs on hosted runners now that the repository is public.
Not in this release
- PyPI package (tracked separately); real-conversation smoke records for every backend (issue #2); the ACP attachment path.
Previous release: none (first release).