Releases: routatic/proxy
Release v0.3.6
Summary
This release adds full support for AWS Bedrock as a provider, including Anthropic integration, configuration updates, and extensive documentation. It also fixes a serialization issue in chat messages and refines test and code quality across the codebase.
New Features
- Add AWS Bedrock provider with configuration and implementation.
- Enhance AWS Bedrock provider with Anthropic support and configuration options.
- Update AWS Bedrock provider documentation to include Anthropic Messages format support.
- Add AWS Bedrock provider documentation updates in README and CONFIGURATION.md.
Bug Fixes
- Fix chat message content serialization by using
json.RawMessagefor proper JSON handling.
Improvements
- Refactor AWS Bedrock provider test types for consistency.
- Update internal client
opencode.goand config handling for better type safety. - Streamline provider integration in
server.go.
Documentation
- Expand CONFIGURATION.md and README with new provider details and examples.
- Add
docs/architecture.mdanddocs/howto-add-modelfor developer guidance. - Provide
configs/config.example.jsonillustrating the new provider configuration.
Chores
- Update internal provider
aws_bedrock.goand corresponding test files. - Refactor
internal/config/config.goandinternal/client/opencode.gofor maintainability. - Adjust
internal/server/server.goto incorporate the new provider.
Release v0.3.5
Fixed broken release process
Release v0.3.4
Breaking Changes
- None
New Features
- Add
streaming_timeout_msto OpenCodeGoConfig and OpenCodeZenConfig for per‑request streaming timeouts. - Expose
heartbeat_pausedflag during raw Anthropic streaming to avoid keep‑alive injection into SSE frames. - Add
IsAnthropicModelandisAnthropicNativeGohelpers that now include minimax‑m2.5/2.7/3 and qwen‑plus models. - Add
RequestTimeout,StreamingTimeout, andStreamIdleTimeouthelpers onOpenCodeClient. - Add
walkthrough.mddocumenting integration and timeout configuration.
Bug Fixes
- Fix streaming timeout handling: bind streaming body reads to the per‑attempt context so mid‑stream stalls abort.
- Prevent panic when
transformToolsreceives a whitespace‑only"null"schema. - Stop fallback chain early on parent context cancellation or deadline exceeded; do not record client cancellations as circuit‑breaker failures.
- Correct error handling in Anthropic API calls, surface
ErrStreamReadCanceled, and streamline SSE error messages. - Resolve lint issues in test files (discard unused return values, remove redundant type assertions).
- Fix concurrent write handling in
TestResponseWriterby usingFprintf.
Improvements
- Harden
transformTools: skip empty/whitespace names, normalize null/empty schemas, validate object type and properties, guard against nil schema objects. - Update
ApplyDefaultsto honorstreaming_timeout_msbeforetimeout_mswhen the former is unset. - Optimize retry logic and error handling with a dedicated
APIErrortype. - Reload messaging in
atomic.gonow reports timeout changes immediately. - Add per‑byte idle‑gap enforcement via
StreamIdleTimeout.
Documentation
- Update
CONFIGURATION.mdandREADME.mdwith Streaming Scenario Routing and newstreaming_timeout_msconfig. - Add
streaming_timeout_mstoconfig.example.json. - Expand documentation for new timeout helpers and Anthropic‑native streaming behavior.
Chores
- Add extensive test coverage for new streaming and timeout features.
- Update test files and remove lint warnings.
- Minor refactorings in provider architecture and fallback logic.
- Update CI configuration and dependency checks.
Release v0.3.3
Release Notes – v0.3.3
This release resolves a critical build issue that prevented the Docker image from compiling on the latest Go version. The Dockerfile now aligns with the Go version specified in go.mod, ensuring smooth image creation and deployment.
New Features
- None
Bug Fixes
- Correct Dockerfile to use Go 1.25, matching
go.modand preventinggo mod downloadfailures.
Improvements
- None
Documentation
- None
Chores
- Update Docker build image to
golang:1.25-alpineto match project Go requirement.
Release v0.3.2
Routatic Proxy Release Notes
This release introduces a comprehensive update to the Go proxy server, enhancing capabilities, fixing critical issues, and improving reliability. Key changes include new provider abstractions, streaming improvements, and enhanced error handling.
Summary
- New Features: Unified request model, streaming support for Anthropic, OpenAI, and Gemini, and improved transformer handling.
- Bug Fixes: Resolved SSE streaming race conditions, idle watchdog errors, and format incompatibilities.
- Improvements: Added configuration updates, stream stability tweaks, and comprehensive testing.
- Documentation: Refactored docs and README for clarity and consistency.
- Chores: Updated build pipelines, CI/CD workflows, and Docker publishing.
Action Items
- Ensure all providers register correctly in server initialization.
- Validate streaming paths with real-world scenarios.
- Monitor health checks and error responses during deployment.
New Features
- Implemented OpenCode providers with streaming support
- Enhanced routing policy engine with model overrides
- Added support for legacy environment variables
Bug Fixes
- Fixed Anthropic tool format incompatibility
- Improved error handling for non-retryable 4xx errors
- Added temperature constraints for specific models
Improvements
- Refactored module name and configuration paths
- Updated documentation and migration guides
- Enhanced streaming reliability and edge case handling
Documentation
- Updated
CONFIGURATION.mdandREADME.mdwith new settings - Added detailed changelog and usage examples
Chores
- Updated CI/CD pipelines and Docker publishing
- Refactored internal handlers for better maintainability
This release strengthens the proxy's robustness and ensures seamless integration with modern tooling.
Release v0.3.1
User Safety: safe
Release v0.3.0
Changelog
Breaking Changes
- Breaking Change: The
model_overridesconfiguration now requires explicit model names for DeepSeek V4 Pro and Flash Free variants. Previous shorthand syntaxes are no longer supported. - Breaking Change: Anthropic model routing now prioritizes Zen-specific endpoints over legacy Anthropic routing when
IsZenis true. Existing Anthropic configurations may require updates to usemodel_overridesfor compatibility.
New Features
- Add full Zen model support including Claude, GPT, Gemini, and free-tier models
- Add Claude model overrides for sonnet-4.6, opus-4.7, and haiku-4.5
- Add DeepSeek V4 Pro Zen override to config example and default config
- Add 49 Zen models grouped by endpoint type in models command output
- Add MiniMax M3 and Qwen3.7 profiles to model configuration
- Add grok-build-0.1, big-pickle, and north-mini-code-free models to config listing
- Add test coverage for Claude, Grok, Big-Pickle, North Mini-Code-Free, and missing Go models
Bug Fixes
- Fix endpoint classification to use Zen-specific routing (minimax uses chat completions on Zen)
- Fix streaming/non-streaming path checks to prioritize Zen over Anthropic routing
- Fix deprecated model names in documentation
Improvements
- Improve model documentation with updated endpoint tables and configuration examples
- Enhance configuration examples with DeepSeek V4 Pro/Flash Free override patterns
- Improve models command description in README
- Refactor endpoint classification logic for better Zen support
Documentation
- Update MODELS.md with comprehensive Zen model documentation
- Add model_overrides examples for DeepSeek V4 Pro and Flash Free variants
- Update README.md with improved models command documentation
Chores
- Refactor endpoint classification logic in internal/client/opencode.go
- Update test coverage in internal/client/opencode_test.go
- Refactor message handling in internal/handlers/messages.go
- Update build configuration and dependency management
Release v0.2.9
Breaking Changes ⚠️
- Remove deprecated models:
mimo-v2-pro,mimo-v2-omni,qwen3.5-plus- these will no longer be available for routing
New Features
- Add 3 Zen free models to model overrides:
deepseek-v4-flash-free,mimo-v2.5-free,nemotron-3-ultra-free - Add
minimax-m3model to Anthropic endpoint routing - Add
qwen3.7-plusmodel to OpenAI-compatible routing
Bug Fixes
- Route all Qwen models (qwen3.5-plus, qwen3.6-plus, qwen3.7-plus, qwen3.7-max) to Anthropic endpoint per official documentation
Improvements
- Update models command to match opencode-go model list and show correct endpoint types
- Add test coverage for new model routing behavior
Documentation
- Update config.example.json with new model configurations
Chores
- Refactor model routing logic in opencode.go client
- Update main.go with new model definitions and routing rules
Release v0.2.8
This release introduces improved API key management with round-robin rotation across multiple keys, ensuring secure and efficient request distribution. New features include enhanced API key handling, automatic fallback mechanisms, and updated tests for key validation. Bug fixes address potential overflows in key counters, while improvements focus on performance and reliability. Documentation has been updated to reflect the new configuration behavior. Breaking changes are highlighted for developers to understand.
Release v0.2.7
This release introduces improvements to the proxy server's environment handling and conflict resolution. The new Claude Code integration now includes enhanced conflict checks and default configuration adjustments. Key updates include:
- Improved Claude Code environment validation
- Refined default config parsing
- Enhanced error handling for integration scenarios
Breaking Changes: Modify environment-specific logic to accommodate new validation rules.
New Features
- Claude Code integration for smarter conflict detection
- Updated environment configuration parsing
- Enhanced default settings management
Improvements
- Faster startup with optimized initialization
- Better performance in high-load scenarios
- More robust logging for debugging
Documentation
- Updated README with new configuration options
- Added comments explaining conflict resolution logic
- Refactored docs for clarity and consistency
Chores
- Refactored build scripts for compatibility
- Updated CI/CD pipeline with new validation steps
- Added dependency updates for stability
Let's ensure the project remains stable with these changes.