v0.9.0 — Performance + UI Enhancement
Performance (ported from Linearr)
- rapidfuzz C extension for Levenshtein (~57x faster when available)
- Pure Python early termination fallback
- Normalization cache eliminates redundant
normalize_name()calls across matching stages - 94 channels × 3,362 streams matched in ~2s (was ~5 minutes)
UI Simplification
- Channel Profile → dynamic dropdown from database
- Match Sensitivity → named presets: Relaxed (70), Normal (80), Strict (90), Exact (95)
- Tag Handling → single dropdown replacing 4 boolean toggles
- Channel Database → single dropdown replacing per-country toggles
All changes backward compatible with legacy settings.