CHANGELOG.md•3.57 kB
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.0.0] - 2025-01-03
### Added
#### Chart Types
- **Line Charts**: Temporal data visualization with smooth curves and Bresenham line drawing
- **Bar Charts**: Horizontal and vertical bar charts with customizable orientation
- **Scatter Plots**: Correlation analysis with optional linear regression trend lines
- **Histograms**: Frequency distribution charts with configurable bins and statistics
- **Sparklines**: Compact inline charts with multiple variants (basic, trend, multi-series)
#### MCP Integration
- Complete Model Context Protocol server implementation
- 5 registered MCP tools with comprehensive input schemas
- Proper error handling with MCP-specific error codes
- Tool examples embedded in schemas for better UX
#### Best Practices Implementation
- **Structured Logging**: JSON logging with timestamps and request correlation IDs
- **Performance Monitoring**: Request tracking, timing metrics, and health checks
- **Timeout Handling**: Configurable timeouts for all operations
- **Progress Reporting**: Step-by-step progress tracking for chart generation
- **Resource Management**: Graceful shutdown and automatic cleanup
- **Error Monitoring**: Pattern detection and recovery tracking
#### Development Features
- TypeScript with strict configuration
- Comprehensive test suite (22 tests covering core functionality)
- ESLint and Markdownlint for code quality
- Jest for testing with coverage reporting
- Multi-transport support (stdio + HTTP ready)
#### Customization
- 12 ANSI colors supported
- Configurable chart dimensions (width: 10-200, height: 5-50)
- Unicode box-drawing characters for smooth visuals
- Customizable histogram bins (3-50)
- Optional chart titles and axis labels
#### Security & Validation
- Input sanitization and type validation
- Range validation for all numeric parameters
- Error boundary with proper error classification
- Credential protection in logs
#### Documentation
- Comprehensive README with usage examples
- API documentation with parameter descriptions
- Error code documentation with user-friendly messages
- Contributing guidelines and issue templates
### Technical Details
#### Dependencies
- `@modelcontextprotocol/sdk`: Official MCP SDK for protocol compliance
- TypeScript 5.x for type safety and modern JavaScript features
- Jest for testing framework
- ESLint for code quality
#### Architecture
- Modular design with separation of concerns
- Chart generators in dedicated modules
- Utility functions for ASCII rendering, colors, and validation
- Centralized error handling and logging
#### Performance
- Efficient grid-based rendering system
- Memory-conscious implementation for large datasets
- Optimized ASCII character selection for terminal compatibility
### Infrastructure
- GitHub Actions CI/CD pipeline
- Automated testing on Node.js 18.x, 20.x, 22.x
- Security auditing and vulnerability scanning
- Automated npm publishing on releases
---
## [Unreleased]
### Planned Features
- HTTP transport implementation for remote usage
- Additional chart types (pie charts, box plots)
- Chart animation support
- Export to different formats (SVG, PNG)
- Configuration file support
- Chart theming system
---
**Legend:**
- 🎯 New Features
- 🐛 Bug Fixes
- 📚 Documentation
- ⚡ Performance
- 🔒 Security
- 💥 Breaking Changes