All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- fix(ci): fallback to grep when ripgrep is unavailable
- fix(clippy): satisfy strict lints in audio service and router tests
- Provider Infra:
BaseConfig::for_provider()now delegates environment loading with the original provider input while keeping normalized default resolution in one place, removing duplicated normalization flow. - Provider Infra:
BaseConfig::provider_env_key()env-key normalization now explicitly covers trimmed/case-variant provider input via regression test. - Provider Infra:
BaseConfig::provider_env_key()now normalizes provider names internally, andfrom_env()reuses normalized env helpers directly to remove duplicated normalization flow. - Provider Infra: Centralized provider environment variable key/value resolution in
BaseConfighelpers (provider_env_key,env_value) to remove repeated env lookup formatting. - Provider Infra: Centralized endpoint URL construction in
BaseConfig::build_endpoint()and reused it for chat/embeddings endpoints to remove duplicated formatting logic. - Provider Infra: Centralized default API version assignment in
BaseConfig::default_api_version()to remove repeated provider-specific conditionals. - Provider Infra:
BaseConfig::for_providernow normalizes provider names (trim + lowercase) before catalog/fallback resolution to prevent casing/spacing drift. - Provider Infra: Removed legacy alias fallback in
BaseConfigand kept canonical provider-name defaults only to avoid alias drift. - Provider Infra: Extracted
legacy_default_base_url()helper inBaseConfigto isolate non-catalog fallback mapping and simplify maintenance while preserving behavior. - Provider Infra:
BaseConfig::for_providernow consults Tier-1 provider catalog defaults first, reducing duplicated base URL definitions while preserving existing fallback behavior. - Provider Infra: Removed the unused
CommonProviderConfigduplicate fromcore::providers::shared, keeping provider base config responsibilities centralized incore::providers::baseand reducing schema duplication.
- Provider Tests: Added B1 batch coverage to validate
aiml_api,anyscale,bytez, andcomet_apiselectors and creation paths resolve through Tier-1 catalog toOpenAILikeproviders. - Provider Tests: Added B2 batch coverage to validate
compactifai,aleph_alpha,yi, andlambda_aiselector and creation paths resolve through Tier-1 catalog toOpenAILikeproviders. - Provider Tests: Added B3 batch coverage to validate
ovhcloud,maritalk,siliconflow, andlemonadeselector and creation paths resolve through Tier-1 catalog toOpenAILikeproviders.
0.3.0 - 2026-02-05
- Agent Coordinator: New
core::agentmodule for managing concurrent agent lifecycles with cancellation, timeouts, and stats. - Utilities: Added
utils::eventpublish/subscribe broker andutils::syncconcurrent containers.
- Providers: Migrated
ai21,amazon_nova,datarobot, anddeepseekto pooled HTTP provider hooks. - HTTP Client: Standardized pooled client usage and shared client caching across core/providers.
- Routing: Refined provider routing and OpenAI-compatible request/response handling.
- Auth Context: Corrected user/api-key context propagation in auth routes and middleware.
- SSRF Validation: DNS resolution failures no longer hard-fail SSRF checks while preserving IP safety.
- Observability: Prometheus label handling now safely maps provider identifiers.
- Concurrency: Event broker handles zero capacity; VersionedMap retry now guarantees progress under contention.
- Packaging: Track core cache sources and add root README for crates.io.
0.1.3 - 2025-09-18
- docs.rs Build: Fixed documentation build failure on docs.rs by excluding
vector-dbfeature- Added
all-features = falsetopackage.metadata.docs.rsconfiguration - Explicitly listed features that work with docs.rs read-only filesystem
- Added
- Internationalization: Translated all Chinese comments and documentation to English
- Cleaned 40+ files with hundreds of Chinese comments
- Improved accessibility for international developers
- Maintained technical accuracy in all translations
- Configuration: Updated
Cargo.tomlmetadata for better docs.rs compatibility - Documentation: All code comments are now in English
0.1.1 - 2025-7-28
- Security: Excluded sensitive configuration file
config/gateway.yamlfrom published package - Package: Only include example configuration files (
.example,.template) in published crate - Privacy: Prevent accidental exposure of API keys and secrets in published package
0.1.0 - 2025-07-28
- Initial release of Rust LiteLLM Gateway
- High-performance AI Gateway with OpenAI-compatible APIs
- Intelligent routing and load balancing capabilities
- Support for multiple AI providers (OpenAI, Anthropic, Google, etc.)
- Enterprise features including authentication and monitoring
- Actix-web based web server with async/await support
- PostgreSQL and Redis integration for data persistence and caching
- Comprehensive configuration management via YAML
- Rate limiting and request throttling
- WebSocket support for real-time communication
- Prometheus metrics integration
- OpenTelemetry tracing support
- Vector database integration (Qdrant)
- S3-compatible object storage support
- JWT-based authentication system
- Docker and Kubernetes deployment configurations
- Comprehensive API documentation
- Integration tests and examples
- Core Gateway: OpenAI-compatible API endpoints
- Multi-Provider Support: Seamless integration with various AI providers
- Load Balancing: Intelligent request distribution
- Caching: Redis-based response caching
- Monitoring: Prometheus metrics and OpenTelemetry tracing
- Authentication: JWT-based security
- Rate Limiting: Configurable request throttling
- WebSocket: Real-time streaming support
- Storage: PostgreSQL for persistence, S3 for object storage
- Vector DB: Qdrant integration for embeddings
- Deployment: Docker, Kubernetes, and systemd configurations