v2.4.0
New features
- Multi-dictionary support: load Yomitan dicts via Settings, Add Dictionary
- Reorderable provider chain: drag dicts into priority order, first hit wins
- Yomitan structured-content HTML: definitions keep formatting, not plain text
- Custom Anki tags (#14): set tags applied to every mined card
- Animated screenshots (#13): opt-in AVIF/WebP clips instead of static JPEG
- Pitch category romaji toggle: switch 平板/頭高/... and heiban/atamadaka/...
- Multi-select in Word Curator (#12): Ctrl/Shift+Click, Ctrl+A, bulk actions
- Full-text tooltips in Analytics (#11): hover truncated cells, see full value
Changes
- JMdict storage: SQLite index, no more XML parse on startup. Auto-migrates.
- DefinitionService API: provider chain now explicit at construction
Removed
- In-memory JMdictProvider, replaced by SQLite-backed IndexedDictProvider
Fixes
- Yomitan cards match Yomitan/Lapis HTML shape (re-import dicts to pick up)
- Yomitan renderer: ruby/dl/table tags preserved, inline styles whitelisted, data-* correct, tag badges spaced
- Windows About dialog showed stale version after upgrade (#10)
- ModuleNotFoundError: packaging on pipx install (#15)
- AppImage subprocesses broke with OpenSSL_3.3.0 not found (#16)
- Upgrade note: re-import existing Yomitan dictionaries to pick up new card HTML.
Full Changelog: v2.3.4...v2.4.0