Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
201 lines
8.2 KiB
Markdown
201 lines
8.2 KiB
Markdown
# 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.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).
|