Changelog: Version 0.5.1 -> 0.6.0
Core Architecture
- Replaced Celery/Django-Celery-Beat scheduling with a native Python background threading system.
- Implemented file-based operation locking to prevent concurrent execution of long-running tasks.
- Centralized all configuration defaults into a static PluginConfig class.
Features
- Added SmartRateLimiter with exponential backoff and jitter to handle API rate limits and server errors.
- Added detailed analysis to CSV exports, including token mismatch detection and match threshold recommendations.
- Introduced user-configurable scheduling (timezone and time selection) directly within plugin settings.
- Added "Cleanup Orphaned Tasks" action to remove legacy Celery periodic tasks.
Improvements
- Refactored API data fetching to support robust retries and token refreshing.
- Enhanced fuzzy matching logic with specific support for "token overlap" detection.
- Improved progress reporting via WebSocket notifications for task completion status.
- Added automatic expiration for operation locks to prevent deadlocks.