Changelog¶
All notable changes to the TradAI platform will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]¶
Added¶
- Environment Variables Reference: Complete reference for all service environment variables
- Backend, Strategy Service, Data Collection, MLflow configuration
- Lambda function settings
- Local development and production deployment examples
- Contribution Guide: Developer onboarding documentation
- Development setup instructions
- Code standards and style guide
- Testing requirements and TDD workflow
- Pull request process
- Production Readiness Documentation:
- Deployment checklist with pre/post deployment verification
- Docker setup guide with LocalStack configuration
- Performance tuning guide for backtests, data sync, and ML training
Changed¶
- Improved SDK reference documentation accuracy
- Reorganized developer guides navigation
[0.2.0] - 2025-01-11¶
Added¶
- Documentation Site: MkDocs Material documentation with full navigation
- SDK Reference for tradai-common, tradai-data, tradai-strategy
- REST API documentation with examples
- CLI reference documentation
- Architecture documentation (12 detailed sections)
- Developer guides (14 step-by-step workflows)
- Runbooks for operations (8 guides)
- Troubleshooting guides
- Strategy templates
- Glossary of terms
Changed¶
- Homepage redesigned with quick start guides
- Documentation structure reorganized for better navigation
Fixed¶
- Broken links in MkDocs documentation
- Redundant docs/README.md removed to avoid conflicts
- MLflow adapter tag extraction issue
[0.1.0] - 2025-01-01¶
Added¶
Core Libraries¶
- tradai-common: Comprehensive shared library
- Base entities (DateRange, ExchangeConfig, TradingMode)
- AWS utilities (Secrets Manager, S3, DynamoDB)
- Circuit breaker and retry patterns
- HTTP client with resilience
- Health check framework
- Logging utilities (LoggerMixin)
- Configuration management (BaseSettings)
-
Validation framework
-
tradai-data: Data fetching and storage library
- OHLCV data entities
- CCXT repository for exchange data
- AsyncCCXTRepository for concurrent fetching
- CCXTProRepository for WebSocket streaming
- ArcticDB adapter for time-series storage
- Data quality service with gap/anomaly detection
-
Resilient data repository with circuit breaker
-
tradai-strategy: Strategy framework library
- TradAIStrategy base class (extends Freqtrade)
- StrategyMetadata for registry
- StrategyValidator for validation
- Preflight validation service
- Sanity check service
- CI/CD backtest gate
- FreqAI config builder
- Strategy linting
Services¶
- Backend API: Main API gateway with FastAPI
- Strategy management endpoints
- Backtest execution endpoints
- Data sync endpoints
-
Health check endpoints
-
Data Collection Service: Market data synchronization
- Scheduled data sync
- Real-time WebSocket streaming
-
Data quality validation
-
Strategy Service: Strategy execution engine
- Backtest execution
- Live trading support
-
Model inference
-
MLflow Service: ML experiment tracking
- Model versioning
- Experiment management
- Model registry
Infrastructure¶
- Pulumi IaC: AWS infrastructure as code
- VPC and networking
- ECS services
- Lambda functions
- Step Functions workflows
- DynamoDB tables
- S3 buckets
- Secrets Manager
CLI¶
- tradai CLI: Command-line interface aggregator
- Backtest commands
- Strategy management
- Data synchronization
- Deployment commands
CI/CD¶
- GitHub Actions workflows
- Docker build pipeline
- Bitbucket Pipelines support
Security¶
- All secrets managed via AWS Secrets Manager
- No hardcoded credentials
- OWASP Top 10 mitigations applied
Migration Notes¶
From Legacy (Pants) to UV Workspace¶
The TradAI platform migrated from Pants build system to UV workspaces. Key changes:
| Aspect | Legacy (Pants) | Current (UV) |
|---|---|---|
| Build | pants test :: | just test |
| Dependencies | BUILD files | pyproject.toml |
| Workspaces | Pants targets | UV workspaces |
| Imports | Relative allowed | Absolute only |
Migration Steps: 1. Update imports to absolute paths 2. Move from @dataclass to Pydantic BaseModel 3. Replace ABC with Protocol classes 4. Use LoggerMixin instead of print() 5. Add type hints to all functions