Migration Required; Please read the full release notes before upgrading!
🎉 Highlights
This release introduces a powerful Dynamic Categories System that allows users to create, edit, and manage their own subscription categories. A huge thank you to @Klick3R-1 for the excellent PR (#22) that made this feature possible! 🙏
✨ New Features
Dynamic Categories System
- Custom Categories: Create, edit, and delete your own categories through the Settings page
- Category Management UI: Intuitive interface for managing categories
- Smart Validation: Categories with active subscriptions cannot be deleted
- Auto-Migration: Existing subscriptions automatically migrate to the new system
Extended Schedule Options
- Added support for Weekly subscriptions (billed every 7 days)
- Added support for Daily subscriptions (billed every day)
- Improved cost calculations for all schedule types
Database Migration System
- New extensible migration framework for smooth upgrades
- Automatic schema updates without data loss
- Future-proof architecture for upcoming features
🔄 Breaking Changes
API Changes
The API now uses `category_id` instead of `category` string:
Before (v0.2.x):
```json
{
"name": "Netflix",
"category": "Entertainment"
}
```
After (v0.3.0):
```json
{
"name": "Netflix",
"category_id": 1
}
```
To get available categories:
```bash
curl http://localhost:8080/api/categories
```
🛠️ Technical Improvements
- Proper foreign key relationships between subscriptions and categories
- Enhanced data integrity with referential constraints
- Improved repository pattern with category preloading
- Better error handling for category operations
📋 Default Categories
On first run after upgrade, these categories are automatically created:
- Entertainment
- Productivity
- Storage
- Software
- Fitness
- Education
- Food
- Travel
- Business
- Other
🚀 Upgrading
Please see MIGRATION_v0.3.0.md for detailed upgrade instructions.
Quick Upgrade Steps:
- Backup your data (Settings → Create Backup)
- Pull the v0.3.0 release
- Restart SubTrackr
- Verify your subscriptions and categories
🙏 Contributors
Special thanks to:
- @Klick3R-1 - Dynamic categories system implementation (#22)
📝 Full Changelog
Added
- Dynamic categories with CRUD operations
- Category management UI in settings
- Weekly and Daily schedule options
- Database migration system
- Category deletion validation
- Migration documentation
Changed
- API now uses category_id instead of category string
- Improved cost calculations for all schedule types
- Enhanced subscription forms with dynamic category selection
Fixed
- Schedule validation now includes all schedule types
- Proper handling of category relationships
- Migration of existing data to new schema
Full Changelog: v0.2.0...v0.3.0