🚨 IMPORTANT: Backup Your Data Before Upgrading
This release includes database schema changes. Please backup your data directory before upgrading:
# Stop SubTrackr
docker-compose down
# Create backup
cp -r ./data ./data-backup-$(date +%Y%m%d)
# Then proceed with upgrade
docker-compose pull
docker-compose up -dWhat's being added to your database:
- New
exchange_ratestable for currency conversion (optional feature) - New
date_calculation_versioncolumn for improved date handling - All existing data remains unchanged and fully compatible
🎯 What's New
✨ New Features
- Advanced Currency Support: Added comprehensive currency conversion system with support for USD, EUR, GBP, JPY, RUB, SEK, PLN, and INR
- Real-time Exchange Rates: Integration with Fixer.io API for up-to-date currency conversion (completely optional)
- Currency Settings: New settings page to configure your preferred base currency
- Enhanced Date Handling: Improved renewal date calculations with robust edge case handling
- Migration System: Added versioned date calculation system for better reliability
🐛 Bug Fixes
- Renewal Date Calculation: Fixed issues where renewal dates weren't being calculated correctly for new subscriptions
- Month-end Edge Cases: Improved handling of subscriptions starting on month-end dates (Jan 31, Jul 31, etc.)
- Leap Year Support: Enhanced leap year date arithmetic for accurate billing cycles
- API Response Format: Fixed API endpoints returning HTML instead of JSON in some cases
🔧 Technical Improvements
- Comprehensive Test Suite: Added extensive unit tests covering edge cases and currency functionality (55.6% coverage)
- Database Migrations: Enhanced migration system for schema updates
- Carbon Date Library: Integrated robust date arithmetic library for better date handling
- Performance Optimizations: Improved database queries and caching for currency rates
🔑 Currency Conversion is Optional
SubTrackr works fully out-of-the-box with no external dependencies required. The Fixer.io API integration is completely optional:
- Without API key: Full multi-currency support with manual selection
- With API key: Automatic real-time currency conversion
🙏 Thanks to Contributors
Special thanks to @amitsingh-007 for contributing INR currency support in PR #45!
📈 Stats
- Test coverage increased to 55.6%
- Added 90+ new test cases
- Enhanced edge case handling for date calculations
- Improved currency conversion accuracy
Full Changelog: v0.4.3...v0.4.4