github bscott/subtrackr v0.4.4
v0.4.4 - Enhanced Currency Support & Renewal Date Fixes

latest releases: v0.5.7, v0.5.6, v0.5.5...
5 months ago

🚨 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 -d

What's being added to your database:

  • New exchange_rates table for currency conversion (optional feature)
  • New date_calculation_version column 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

Don't miss a new subtrackr release

NewReleases is sending notifications on new releases.