# Changelog All notable changes to Stock Oracle API will be documented in this file. ## [2.1.0] - 2025-08-10 ### Added - **ETF Holdings API v2**: Complete rewrite with enhanced features - `availability` field in all error responses showing available date ranges - ETF launch date validation to prevent invalid historical requests - Automatic detection when ETF didn't exist on requested date - Fast performance optimization (<0.1s response time, down from 35s) - Enhanced error messages with actionable information ### Improved - **Performance**: ETF date validation now uses cached launch dates for instant response - **User Experience**: Clear error messages when ETF data is unavailable - **Documentation**: Comprehensive API documentation with examples ### Fixed - Historical date requests now correctly validate against ETF launch dates - QQQM pre-launch date requests now return proper error instead of wrong data - Response model now includes all fields (fixed Pydantic model filtering issue) ## [2.0.0] - 2025-07-01 ### Added - **ETF Holdings API**: New endpoint for ETF portfolio data - Support for 30+ major ETFs with pre-configured mappings - Automatic CIK to ticker conversion - Historical NPORT data from 2019 onwards - Support for both ticker symbols and CIK numbers ### Changed - Simplified ETF API to single `/holdings/{ticker}` endpoint - Removed redundant ETF endpoints ## [1.5.0] - 2024-12-01 ### Added - **Price Data API**: OHLCV data integration with yfinance - **Bulk Data Support**: Batch requests for multiple tickers - **Period Strings**: Convenient time period specification (1y, 6m, 3m, etc.) ### Improved - Database caching strategy - Error handling and logging - API documentation ## [1.0.0] - 2024-10-01 ### Initial Release - **Financial Data API**: SEC filing data extraction - **Metrics Calculation**: P/E, P/B, ROE, margins, etc. - **Database Caching**: SQLite/PostgreSQL support - **Docker Deployment**: Complete containerization - **API Documentation**: Interactive Swagger/OpenAPI docs