Changelog¶
文档版本: 1.0.0
最后更新: 2025-08-19
Git 提交: c1aa5b0f
作者: Lincoln
This document records the version update history and important changes of the JAiRouter project.
Versioning Scheme¶
JAiRouter follows the Semantic Versioning specification:
- Major Version: Incompatible API changes
- Minor Version: Backward-compatible new features
- Patch Version: Backward-compatible bug fixes
Version History¶
[Unreleased] - In Development¶
New Features¶
- Complete documentation system and user guides
- Multi-language documentation support (Chinese/English)
- Enhanced monitoring and alerting capabilities
- More adapter support
Improvements & Optimizations¶
- Performance optimization and memory management improvements
- Better error handling and logging
- Configuration validation and user experience enhancements
Bug Fixes¶
- Fixed known memory leak issues
- Resolved race conditions in concurrent scenarios
- Improved stability of configuration hot updates
[0.3.2] - 2025-08-20¶
New Features¶
- Monitoring Integration: Complete Prometheus + Grafana monitoring stack
- Performance Metrics: Added collection of business and infrastructure metrics
- Alert Rules: Pre-configured alert rules and notification mechanisms
- Monitoring Dashboard: Professional Grafana dashboard templates
Improvements & Optimizations¶
- Metrics Optimization: Optimized metrics collection performance to reduce impact on main business
- Memory Management: Improved memory usage and cleanup mechanisms for metric data
- Configuration Simplification: Simplified monitoring-related configuration parameters
Bug Fixes¶
- Fixed inaccurate monitoring metrics under high concurrency
- Resolved memory leak issues after long-term operation
- Fixed Prometheus metrics format compatibility issues
Technical Debt¶
- Refactored monitoring module code structure
- Improved unit test coverage
- Optimized build and deployment processes
[0.3.1] - 2025-08-15¶
New Features¶
- China Accelerated Build: Docker builds optimized specifically for Chinese users
- Alibaba Cloud Mirror: Using Alibaba Cloud Maven mirror to accelerate dependency downloads
- Build Script: Added docker-build-china.sh build script
- Maven Profile: Added china profile support
Improvements & Optimizations¶
- Build Speed: Build speed for Chinese users improved by 5-10 times
- Network Optimization: Optimized network connections and timeout configurations
- Documentation Enhancement: Added China-specific build guides
Bug Fixes¶
- Fixed dependency download timeout issues in Chinese network environments
- Resolved unstable Maven repository connection issues
- Fixed network errors during Docker builds
[0.3.0] - 2025-08-14¶
New Features¶
- Docker Containerization: Complete Docker deployment support
- Multi-environment Deployment: Support for development, testing, and production environment configurations
- Docker Compose: Provided complete container orchestration configuration
- Health Check: Container-level health check mechanism
- Monitoring Integration: Basic monitoring metrics exposure
Improvements & Optimizations¶
- Image Optimization: Multi-stage builds, production image approximately 200MB
- Security Hardening: Running as non-root user, principle of least privilege
- Performance Tuning: JVM parameter optimization in container environments
- Log Management: Log collection and rotation in containerized environments
Bug Fixes¶
- Fixed configuration file path issues in container environments
- Resolved configuration loss after container restarts
- Fixed network communication issues between containers
Breaking Changes¶
- Default configuration file path changed from
./config
to/app/config
- Environment variable naming convention adjusted
[0.2.1] - 2025-08-12¶
New Features¶
- Scheduled Cleanup Task: Automatic cleanup of inactive rate limiters to prevent memory leaks
- Memory Optimization: Improved memory usage patterns to reduce GC pressure
- Enhanced Client IP Rate Limiting: More precise client IP identification and rate limiting
- Automatic Configuration File Merging: Support for intelligent merging of multi-version configuration files
Improvements & Optimizations¶
- Performance Improvement: Rate limiter performance optimization to reduce lock contention
- Enhanced Monitoring: Added monitoring metrics for memory usage and cleanup tasks
- Log Optimization: Improved log format and performance
- Error Handling: Better exception handling and error recovery mechanisms
Bug Fixes¶
- Fixed memory leak issues after long-term operation
- Resolved rate limiter race conditions in high-concurrency scenarios
- Fixed thread safety issues during configuration hot updates
- Resolved client IP acquisition issues in proxy environments
Technical Improvements¶
- Refactored rate limiter cleanup mechanism
- Improved unit test coverage to 85%
- Optimized code quality check rules
[0.2.0] - 2024-08-11¶
New Features¶
- Rate Limiting Mechanism: Support for Token Bucket, Leaky Bucket, Sliding Window, and Warm Up rate limiting algorithms
- Circuit Breaker: Implemented circuit breaker pattern with support for failure thresholds, recovery detection, and fallback strategies
- Fallback Strategies: Support for default responses and cache fallback
- Configuration Persistence: Support for both in-memory and file storage backends
- Dynamic Configuration Updates: Runtime updates for service instances, weights, rate limiting, and circuit breaking configurations
Improvements & Optimizations¶
- Performance Optimization: Reactive programming model supporting high-concurrency processing
- Configuration Management: Automatic configuration file merging and version management
- Error Handling: Comprehensive exception handling and error recovery mechanisms
- Monitoring Metrics: Added rate limiting and circuit breaking related monitoring metrics
Bug Fixes¶
- Fixed thread safety issues in load balancer during instance changes
- Resolved data consistency issues during configuration updates
- Fixed memory leak issues in high-concurrency scenarios
API Changes¶
- Added dynamic configuration management API (
/api/config/instance/*
) - Added configuration file merging API (
/api/config/merge/*
) - Extended health check API to include more status information
[0.1.0] - 2025-08-04¶
New Features¶
- Basic Gateway: Unified
/v1/*
API gateway supporting OpenAI-compatible format - Service Type Support: Chat, Embedding, Rerank, TTS, STT, Image Generation, Image Editing
- Adapter Pattern: Support for GPUStack, Ollama, VLLM, Xinference, LocalAI, and OpenAI adapters
- Load Balancing: Implemented Random, Round Robin, Least Connections, and IP Hash strategies
- Health Check: Independent status interface per service, automatic removal of unavailable instances
- Configuration Management: Static configuration support based on YAML
Technical Features¶
- Spring Boot 3.5.x: Based on the latest Spring Boot framework
- Reactive Programming: Using Spring WebFlux and Reactor Core
- Code Quality: Integrated Checkstyle, SpotBugs, JaCoCo code quality tools
- API Documentation: Automatically generated API documentation using SpringDoc OpenAPI
- Unit Testing: Unit tests for core functions including load balancing and health checks
Project Structure¶
- Established clear modular architecture
- Defined unified coding standards and best practices
- Established complete build and testing processes
Upgrade Guide¶
Upgrading from 0.3.1 to 0.3.2¶
Configuration Changes¶
# New monitoring configuration
monitoring:
metrics:
enabled: true
categories:
- system
- business
- infrastructure
Deployment Changes¶
- Added Prometheus and Grafana containers
- Updated docker-compose.yml configuration
- Imported new Grafana dashboards
Notes¶
- Monitoring functionality is enabled by default, which may add slight performance overhead
- New monitoring endpoints require corresponding network configuration
Upgrading from 0.2.1 to 0.3.0¶
Breaking Changes¶
- Configuration file path change:
./config
→/app/config
- Environment variable naming adjustment
Migration Steps¶
- Update configuration file paths
- Adjust environment variable names
- Update deployment scripts and container configurations
Upgrading from 0.1.0 to 0.2.0¶
New Dependencies¶
- No additional dependencies required, all features are built-in
Configuration Extensions¶
# New rate limiting configuration
model:
services:
chat:
rate-limit:
type: token-bucket
capacity: 100
refill-rate: 10
# New circuit breaker configuration
circuit-breaker:
failure-threshold: 5
recovery-timeout: 30s
success-threshold: 3
Known Issues¶
Current Version (0.3.2)¶
- In extremely high concurrency scenarios (>10k RPS), monitoring metrics may experience slight delays
- Docker containers may experience slow DNS resolution in certain network environments
Historical Issues¶
- ~~0.3.1: Build timeouts in Chinese network environments~~ (Fixed)
- ~~0.2.1: Memory leaks after long-term operation~~ (Fixed)
- ~~0.2.0: Race conditions during configuration updates in high-concurrency scenarios~~ (Fixed)
Contributors¶
Thank you to all developers who have contributed to the JAiRouter project:
- Core Team: Responsible for architecture design and core feature development
- Community Contributors: Provided feature suggestions, bug reports, and code contributions
- Documentation Team: Improved project documentation and user guides
- Testing Team: Conducted functional testing and performance verification
Feedback and Suggestions¶
If you encounter issues or have improvement suggestions during usage, please feel free to provide feedback through the following channels:
- GitHub Issues: Submit issue report
- GitHub Discussions: Participate in discussions
- Email Contact: jairouter@example.com
We value every piece of feedback and will respond and address them promptly.