# Changelog All notable changes to TheChart project are 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.7.0] - 2025-08-05 ### โŒจ๏ธ Keyboard Shortcuts System - **Added**: Comprehensive keyboard shortcuts for improved productivity - **Added**: File operations shortcuts (Ctrl+S, Ctrl+Q, Ctrl+E) - **Added**: Data management shortcuts (Ctrl+N, Ctrl+R, F5) - **Added**: Window management shortcuts (Ctrl+M, Ctrl+P) - **Added**: Table operation shortcuts (Delete, Escape) - **Added**: Help system shortcut (F1) - **Added**: Menu integration showing shortcuts next to menu items - **Added**: Button labels updated to show primary shortcuts - **Added**: In-app help dialog accessible via F1 - **Added**: Status bar feedback for all keyboard operations - **Improved**: Button text shows shortcuts (e.g., "Add Entry (Ctrl+S)") - **Improved**: Case-insensitive shortcuts (Ctrl+S and Ctrl+Shift+S both work) #### Keyboard Shortcuts Added: - **Ctrl+S**: Save/Add new entry - **Ctrl+Q**: Quit application (with confirmation) - **Ctrl+E**: Export data - **Ctrl+N**: Clear entries - **Ctrl+R / F5**: Refresh data - **Ctrl+M**: Manage medicines - **Ctrl+P**: Manage pathologies - **Delete**: Delete selected entry (with confirmation) - **Escape**: Clear selection - **F1**: Show keyboard shortcuts help ### ๐Ÿ“š Documentation Updates - **Updated**: FEATURES.md with keyboard shortcuts section - **Added**: KEYBOARD_SHORTCUTS.md with comprehensive shortcut reference - **Updated**: In-app help system with shortcut information - **Updated**: About dialog with keyboard shortcut mention ## [1.6.1] - 2025-07-31 ### ๐Ÿ“š Documentation Overhaul - **BREAKING**: Consolidated scattered documentation into organized structure - **Added**: Comprehensive `docs/FEATURES.md` with complete feature documentation - **Added**: Detailed `docs/DEVELOPMENT.md` with testing and development guide - **Updated**: Streamlined `README.md` with quick-start focus and navigation - **Removed**: 10 redundant/outdated markdown files - **Improved**: Clear separation between user and developer documentation ### ๐Ÿ—๏ธ Documentation Structure ``` docs/ โ”œโ”€โ”€ FEATURES.md # Complete feature guide (new) โ”œโ”€โ”€ DEVELOPMENT.md # Development & testing guide (new) โ””โ”€โ”€ CHANGELOG.md # This changelog (new) README.md # Streamlined quick-start guide (updated) ``` ## [1.3.3] - Previous Releases ### ๐Ÿฅ Modular Medicine System - **Added**: Dynamic medicine management system - **Added**: JSON-based medicine configuration (`medicines.json`) - **Added**: Medicine management UI (`Tools` โ†’ `Manage Medicines...`) - **Added**: Configurable medicine properties (colors, doses, names) - **Added**: Automatic UI updates when medicines change - **Added**: Backward compatibility with existing data ### ๐Ÿ’Š Advanced Dose Tracking System - **Added**: Precise timestamp recording for medicine doses - **Added**: Multiple daily dose support for same medicine - **Added**: Comprehensive dose tracking interface in edit windows - **Added**: Quick-dose buttons for common amounts - **Added**: Real-time dose display and feedback - **Added**: Historical dose data persistence in CSV - **Improved**: Dose format parsing with robust error handling #### Punch Button Redesign - **Moved**: Dose tracking from main input to edit window - **Added**: Individual dose entry fields per medicine - **Added**: "Take [Medicine]" buttons with immediate recording - **Added**: Editable dose display areas with history - **Improved**: User experience with centralized dose management ### ๐Ÿ“Š Enhanced Graph Visualization - **Added**: Medicine dose bar charts with distinct colors - **Added**: Interactive toggle controls for symptoms and medicines - **Added**: Enhanced legend with multi-column layout - **Added**: Average dosage calculations and displays - **Added**: Professional styling with transparency and shadows - **Improved**: Graph layout with dynamic positioning #### Medicine Dose Plotting - **Added**: Visual representation of daily medication intake - **Added**: Scaled dose display (mg/10) for chart compatibility - **Added**: Color-coded bars for each medicine - **Added**: Semi-transparent rendering to preserve symptom visibility - **Fixed**: Dose calculation logic for complex timestamp formats #### Legend Enhancements - **Added**: Multi-column legend layout (2 columns) - **Added**: Average dosage information per medicine - **Added**: Tracking status for medicines without current doses - **Added**: Frame, shadow, and transparency effects - **Improved**: Space utilization and readability ### ๐Ÿงช Comprehensive Testing Framework - **Added**: Professional testing infrastructure with pytest - **Added**: 93% code coverage across 112 tests - **Added**: Coverage reporting (HTML, XML, terminal) - **Added**: Pre-commit testing hooks - **Added**: Comprehensive dose calculation testing - **Added**: UI component testing with mocking - **Added**: Medicine plotting and legend testing #### Test Infrastructure - **Added**: `tests/conftest.py` with shared fixtures - **Added**: Sample data generators for realistic testing - **Added**: Mock loggers and temporary file management - **Added**: Environment variable mocking #### Pre-commit Testing - **Added**: Automated testing before commits - **Added**: Core functionality validation (3 essential tests) - **Added**: Commit blocking on test failures - **Configured**: `.pre-commit-config.yaml` with testing hooks ### ๐Ÿ—๏ธ Technical Architecture Improvements - **Added**: Modular component architecture - **Added**: MedicineManager and PathologyManager classes - **Added**: Dynamic UI generation based on configuration - **Improved**: Separation of concerns across modules - **Enhanced**: Error handling and logging throughout ### ๐Ÿ“ˆ Data Management Enhancements - **Added**: Automatic data migration and backup system - **Added**: Dynamic CSV column management - **Added**: Robust dose string parsing - **Improved**: Data validation and error handling - **Enhanced**: Backward compatibility preservation ### ๐Ÿ”ง Development Tools & Workflow - **Added**: uv integration for fast package management - **Added**: Comprehensive Makefile with development commands - **Added**: Docker support with multi-platform builds - **Added**: Pre-commit hooks for code quality - **Added**: Ruff for fast Python formatting and linting - **Improved**: Virtual environment management ### ๐Ÿš€ Deployment & Distribution - **Added**: PyInstaller integration for standalone executables - **Added**: Linux desktop integration - **Added**: Automatic file installation and desktop entries - **Added**: Docker containerization support - **Improved**: Build and deployment automation ## Technical Details ### Dependencies - **Runtime**: Python 3.13+, matplotlib, pandas, tkinter, colorlog - **Development**: pytest, pytest-cov, ruff, pre-commit, pyinstaller - **Package Management**: uv (Rust-based, 10-100x faster than pip/Poetry) ### Architecture - **Frontend**: Tkinter-based GUI with dynamic component generation - **Backend**: Pandas for data manipulation, Matplotlib for visualization - **Storage**: CSV-based with JSON configuration files - **Testing**: pytest with comprehensive mocking and coverage ### File Structure ``` src/ # Main application code โ”œโ”€โ”€ main.py # Application entry point โ”œโ”€โ”€ ui_manager.py # User interface management โ”œโ”€โ”€ data_manager.py # CSV operations and data persistence โ”œโ”€โ”€ graph_manager.py # Visualization and plotting โ”œโ”€โ”€ medicine_manager.py # Medicine system management โ””โ”€โ”€ pathology_manager.py # Symptom tracking tests/ # Comprehensive test suite (112 tests, 93% coverage) docs/ # Organized documentation โ”œโ”€โ”€ FEATURES.md # Complete feature documentation โ”œโ”€โ”€ DEVELOPMENT.md # Development and testing guide โ””โ”€โ”€ CHANGELOG.md # This changelog Configuration Files: โ”œโ”€โ”€ medicines.json # Medicine definitions (auto-generated) โ”œโ”€โ”€ pathologies.json # Symptom categories (auto-generated) โ”œโ”€โ”€ pyproject.toml # Project configuration โ””โ”€โ”€ uv.lock # Dependency lock file ``` ## Migration Notes ### From Previous Versions - **Data Compatibility**: All existing CSV data continues to work - **Automatic Migration**: Data structure updates handled automatically - **Backup Creation**: Automatic backups before major changes - **No Data Loss**: Existing functionality preserved during updates ### Configuration Migration - **Medicine System**: Hard-coded medicines converted to JSON configuration - **UI Updates**: Interface automatically adapts to new medicine definitions - **Graph Integration**: Visualization system updated for dynamic medicines ## Future Roadmap ### Planned Features (v2.0) - **Mobile App**: Companion mobile application for dose tracking - **Cloud Sync**: Multi-device data synchronization - **Advanced Analytics**: Machine learning-based trend analysis - **Reminder System**: Intelligent medication reminders - **Doctor Integration**: Healthcare provider report generation ### Platform Expansion - **macOS Support**: Native macOS application - **Windows Support**: Windows executable and installer - **Web Interface**: Browser-based version for universal access ### API Development - **REST API**: External system integration - **Plugin Architecture**: Third-party extension support - **Data Export**: Multiple format support (JSON, XML, etc.) --- ## Contributing This project follows semantic versioning and maintains comprehensive documentation. For development guidelines, see [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md). For feature information, see [docs/FEATURES.md](docs/FEATURES.md).