v0.18.0
Highlights
GitHub App credential support — The proxy can now authenticate as a GitHub App instead of using classic PATs. It holds the App's RSA private key, generates JWTs, exchanges them for short-lived installation tokens (1-hour expiry), and caches/rotates them transparently. This closes an exfiltration vector where a sandboxed session could leak small amounts of data by creating repositories via the GraphQL API — encoding secrets in the repo name or other fields. App installation tokens lack the repository-creation scope, eliminating this channel entirely. Includes a new setup guide, server config template example, and updated git identity for commits authored by the App bot. (#320, #326, #328, #332)
Bug Fixes
- SSL socket leak during IMAP shutdown — Fixed a leaked SSL socket when
stop()interrupts an IMAP fetch mid-flight, plus socket leaks when login fails after a successful connection. (#333) - Duplicate prompt on actions page — Fixed a race condition where stale
pending_request_textduplicated a completed reply's prompt during an active conversation. (#330)