Releases: routatic/proxy
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.
Release v0.2.6
Breaking Changes
ChatMessage.Contenttype changed fromstringtojson.RawMessage.
Existing code that marshals or unmarshalsChatMessagemust be updated to handle the new type.- Image content is now converted to OpenAI’s multimodal
image_urlformat.
Models without vision support ("vision": false) will receive a[Image]placeholder instead of an image URL.
Summary
This release adds full multimodal image support for Anthropic‑to‑OpenAI request conversion, introduces a vision flag in model configuration, and improves request/response handling for image data. The changes also include several bug fixes, performance tweaks, and documentation updates.
New Features
- Add support for image multimodal content in Anthropic‑to‑OpenAI conversion.
- Introduce
ChatContentPartandImageURLtypes for multimodal content arrays. - Add
visionfield toModelConfigto control image handling per model. - Convert Anthropic image sources to OpenAI
image_urlwith base64 data URLs. - Replace images with
[Image]placeholder for non‑vision models to avoid 400 errors. - Update response/stream transformers to use
ContentText()accessor.
Bug Fixes
- Fix image content blocks being discarded during request transformation.
- Fix code review comments: improve error handling and comments.
- Fix image handling for non‑vision models to prevent unwanted fallback.
- Fix formatting inconsistencies in request tests and OpenAI package.
Improvements
- Change
ChatMessage.Contenttojson.RawMessagefor dual‑format serialization (string or array). - Update request and response transformers for better type safety and clarity.
- Enhance test coverage for new multimodal content handling.
Documentation
- Update
config.example.jsonwith newvisionfield and example image handling. - Add comments and documentation for new types (
ChatContentPart,ImageURL).
Chores
- Refactor request and stream handling code for consistency.
- Update internal tests to reflect new content type and image handling logic.
- Minor code formatting fixes across repository.
Release v0.2.5
This release improves connectivity for users operating behind corporate proxies by ensuring the client respects standard proxy environment variables. The change enhances reliability in restricted network environments without altering existing functionality.
Bug Fixes
- Honor
HTTP_PROXYandHTTPS_PROXYenvironment variables by addingProxy: http.ProxyFromEnvironmentto the OpenCode API client transport.
Documentation
- (No documentation changes in this release)
Chores
- (No build, CI/CD, or dependency updates in this release)
Release v0.2.4
BreakingChanges
New Features
- No new features added in this release
Bug Fixes
- Strip
cache_controlfor Kimi models to prevent unintended caching - Use non-Kimi models in
cache_controltests for accurate validation - Add tests to skip and verify
cache_controlstripping for Kimi system messages
Improvements
- No performance, reliability, or code quality improvements in this release
Documentation
- No documentation updates in this release
Chores
- No build, CI/CD, or dependency updates in this release
Release v0.2.3
oc-go-cc Release Notes
This release focuses on enhancing model selection flexibility through per-request model overrides and improving stream reliability by ensuring proper termination handling. Key updates include robust configuration validation and stream cleanup improvements to prevent UI hangs.
New Features
- Add model_overrides for per-request model selection via request flags (e.g.
-m) - Implement validation and routing logic for model overrides with fallback safety nets
- Enhance routing behavior to prioritize overrides while maintaining scenario fallbacks
Bug Fixes
- Fix stream termination to always emit content_block_stop and message_delta on EOF
- Ensure atomic finished flag prevents heartbeat after message_stop
- Handle "tool_use" finish_reason consistently with upstream variations
- Return empty Usage struct instead of nil to prevent subagent crashes
- Initialize Fallbacks and ModelOverrides maps in config to avoid nil panics
Improvements
- Add atomic finished flag for cleaner stream state management
- Enhance routing safety with override fallbacks
- Improve configuration initialization reliability
Documentation
- Update CONFIGURATION.md with model_overrides details and example usage
- Add configuration example file updates for model override parameters
Chores
- (No changes in this release)