v2.2 - Containers & Recovery Release
A major reliability upgrade: intelligent truncation recovery automatically detects and handles API output limitations, Docker containerization enables production deployment with CI/CD, and critical fixes improve stability across regions and network conditions.
✨ New Features
-
Truncation Recovery System (#34, #42, #56) - Automatic detection and recovery from API output truncation. When Kiro API truncates responses due to size limits, the gateway now injects synthetic messages to help the model understand and adapt. Includes tool result truncation detection and content truncation detection with intelligent recovery strategies.
-
Docker Containerization (#55) - Full Docker support with optimized single-stage build, docker-compose configuration, health checks, and automated CI/CD pipeline. Supports all 4 authentication methods with volume mounts for credentials. Published to GitHub Container Registry (ghcr.io).
-
Model Alias System (#59) - Create custom model names to avoid namespace conflicts with IDE-specific models (e.g., Cursor's "auto" model). Supports user-friendly shortcuts and legacy model name compatibility.
🐛 Bug Fixes
-
Regional Endpoint Fix (#58) - Fixed DNS resolution failures for non-us-east-1 regions (eu-central-1, etc.) by switching to universal
q.{region}.amazonaws.comendpoint instead of region-specificcodewhisperer.{region}.amazonaws.com. -
CLOSE_WAIT Leak Fix (#54) - Resolved connection leak in streaming mode by using per-request HTTP clients instead of shared clients. Prevents orphaned connections when network interface changes (VPN disconnect/reconnect).
-
MCP Tool Results Bug (#46, #50) - Fixed handling of Pydantic TextContentBlock objects in tool results. MCP tool results now correctly display actual data instead of "(empty result)".
-
Fallback Models for DNS Failure (#25) - Added pre-configured model list as fallback when
/ListAvailableModelsAPI is unreachable due to DNS or network issues.
⚡ Improvements
-
Network Error Classification (#53) - User-friendly error messages with troubleshooting steps for DNS failures, connection timeouts, SSL errors, and proxy issues. Replaces cryptic technical errors with actionable guidance.
-
Cursor IDE Compatibility (#49) - Support for Cursor's flat tool format, inverted model names (claude-4.5-opus-high), and improved tool_results handling. Orphaned tool_results are now converted to text instead of being stripped.
-
Removed Legacy Debug Settings - Cleaned up deprecated
DEBUG_LAST_REQUESToption. Simplified configuration withDEBUG_MODE(off/errors/all).
⚙️ Configuration
New environment variable:
| Variable | Description | Default | Values |
|---|---|---|---|
TRUNCATION_RECOVERY |
Enable automatic truncation recovery | true |
true, false |
🔄 Upgrade
If you're still using the legacy DEBUG_LAST_REQUEST=true option from ancient versions, replace it with:
DEBUG_MODE=all- save logs for every request (same as old behavior)DEBUG_MODE=errors- save logs only for failed requests (recommended for troubleshooting)
📝 Documentation
- AGENTS.md & Docker Guides - Added comprehensive AI agent guide and Docker deployment instructions to all translated READMEs.
🙏 Contributors
- @bhaskoro-muthohar - contributed root cause analysis and solution for MCP tool results bug (#46, #50)
- @somehow-paul - contributed Cursor IDE compatibility design (#49)
- @PAzter1101 - contributed Docker containerization with CI/CD (#55)
- @saaj - contributed regional endpoint fix for eu-central-1 and other non-us-east-1 regions (#58)
Full Changelog: v2.1...v2.2