Skip to content

v0.17.0

Choose a tag to compare

@nnemirovsky nnemirovsky released this 18 May 09:09
· 4 commits to main since this release
6d5e680

New Features

  • credential pools now reachable from all channels: new REST /api/pools endpoints (list, create, status, rotate, remove) and Telegram /pool create|list|status|rotate|remove, alongside the existing CLI. Pool operation logic lifted into a channel-agnostic internal/poolops package so CLI, REST, and Telegram cannot drift #47 @nnemirovsky

Bug Fixes

  • pool token-host phantom expansion is scoped to grant_type=refresh_token, so a fresh in-container codex login --device-auth (a device_code grant) is no longer corrupted into a 400 token_exchange_user_error #47 @nnemirovsky
  • REST pool-create error mapping corrected: client validation returns 400, name or member conflict returns 409 via a dedicated pool-referenced schema, internal and DB faults return 500 instead of a misleading 400 #47 @nnemirovsky
  • Telegram pool replies are HTML-safe: pool names and the bind hint placeholder are escaped so a created-pool success message is never rejected by the Bot API #47 @nnemirovsky

Improvements

  • friendlier pool failover Telegram notification with humanized reason text instead of a bare HTTP code, while the audit Reason format is unchanged #47 @nnemirovsky
  • the request-side grant probe is gated to token-host POSTs and bounded, keeping the proxy hot path cheap #47 @nnemirovsky

Docs

  • channel feature-parity principle codified in CLAUDE.md and CONTRIBUTING.md #45 @nnemirovsky
  • condensed CLAUDE.md without dropping facts #46 @nnemirovsky