[2.6.2] - 2026-06-18
Fixed
Manual Execution of Raw Log Jobs Fails with 404 (#67)
- Clicking "Run" on "Fetch Raw Logs" or "Cleanup Raw Logs" background jobs returned
Unknown joberror — the manual job trigger endpoint was missing both raw log jobs from its job mapping- Added
fetch_raw_logsandcleanup_raw_logsto the manual trigger endpoint - Correctly reads job status from the raw logs worker's separate status tracking (not the main scheduler)
- Added
DMARC IMAP Reports with Non-English Subjects Not Imported (#66)
- DMARC reports from providers using non-English subjects were silently skipped — the IMAP search only matched English subject patterns like "Report Domain:", "DMARC", "Report-ID:"
- Added new setting
DMARC_IMAP_SCAN_ALL_UNSEEN(default: off) — when enabled, scans all unread emails for DMARC/TLS-RPT attachments, not just subject-matched ones - Recommended for dedicated DMARC mailboxes that receive reports from international providers
- Added new setting
Scheduler Stability (#63)
- Background jobs skipping with warnings (
maximum number of running instances reached,Run time of job was missed) after prolonged uptime- Added
misfire_grace_time=30andcoalesce=Trueto both schedulers to tolerate delayed jobs and prevent pileups - Cached log discovery results for 5 minutes to reduce API calls during fetch cycles
- Increased default
RAW_LOGS_FETCH_INTERVALfrom 20 to 30 seconds
- Added
DMARC Daily Reports Not Split by Reporter (#41)
- DMARC report details merged all reporters into a single row per source IP — when multiple providers (Google, Microsoft, Yahoo, etc.) reported on the same sending IP, only the first reporter was shown
- Reports are now split by reporter so each provider gets its own row with independent statistics
Noisy Error Traceback on Shutdown
CancelledErrortraceback logged during graceful shutdown — APScheduler raised an unhandled exception whenfetch_all_logswas interrupted mid-cycle by the event loop shutting downasyncio.CancelledErroris now caught explicitly and logged as a INFO message instead of ERROR traceback