Changelog: v0.5.1 -> v0.6.0a
Features
- Native Scheduling: Implemented a threading-based background scheduler to replace Celery/Beats dependencies for automated tasks.
- Rate Limiting: Added a "Smart Rate Limiter" with configurable intensity (Low, Medium, High) to handle API backoff and prevent 429 errors.
- Timezone Support: Added a settings field to configure the specific timezone for scheduled operations.
- Scheduled Exports: Added an option to automatically generate CSV exports during scheduled background runs.
Improvements
- Fuzzy Matching: Updated fuzzy_matcher to v25.330.1600 with NFD normalization to decompose accented characters and removal of combining accent marks (category 'Mn') for better Unicode handling.
- Token Caching: Implemented API token caching (30-minute duration) with auto-refresh logic to reduce authentication requests.
- State Persistence: Settings are now saved to a persistent JSON file (stream_mapparr_settings.json) to survive restarts.
- Lifecycle Management: Added on_load and on_unload hooks to properly manage scheduler threads and prevents multiple instances via a singleton guard.
Data
- Channel Database: Updated French channel database to 11/25/2025.
Maintenance
- Legacy Cleanup: Added a "Cleanup Orphaned Tasks" action to remove obsolete Celery periodic tasks from previous versions.
- Refactoring: Updated all API interaction methods (_get_api_data, _patch_api_data, etc.) to utilize the new rate limiter and token refresh systems.