diff --git a/CHANGELOG.md b/CHANGELOG.md index b56d34d..13528f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,21 @@ # Changelog +## v0.8.0 (2026-03-22) + +### Changed +- Docs: Refreshed the vendored Texthooker docs/index.html bundle to match the latest local build artifacts. + +### Fixed +- Anki: Known-word cache refreshes now reconcile Anki changes incrementally instead of wiping and rebuilding on startup, mined cards can append their word into the cache immediately through a new default-enabled config flag, and explicit refreshes now run through `subminer doctor --refresh-known-words`. +- Subtitle: Restored known-word coloring and JLPT underlines for subtitle tokens like `大体` when the subtitle token is kanji but the known-word cache only matches the kana reading. +- Stats: Episode progress in the anime page now uses the last ended playback position instead of cumulative active watch time, avoiding distorted percentages after rewatches or repeated sessions. +- Stats: Anime episode progress now keeps the latest known playback position through active-session checkpoints and stale-session recovery, so recently watched episodes no longer lose their progress percentage. +- Stats: Anime episode progress now falls back to the latest retained subtitle/event timing when a session is missing a persisted playback-position checkpoint, so older watch sessions no longer get stuck at `0%` progress. +- Overlay: Kept subtitle sidebar cue tracking stable across transitions by avoiding cue-line regression on subtitle timing edge cases and stale text updates. +- Overlay: Improved sidebar config by documenting and exposing layout mode and typography options (`layout`, `fontFamily`, `fontSize`) in the generated documentation flow. +- Overlay: Added `subtitleSidebar.autoOpen` (default `false`) to open the subtitle sidebar once during overlay startup when the sidebar feature is enabled. +- Overlay: Made subtitle sidebar resume/start positioning jump directly to the first resolved active cue instead of smooth-scrolling through the full list, while keeping smooth auto-follow for later cue changes. + ## v0.7.0 (2026-03-19) ### Added diff --git a/changes/2026-03-19-incremental-known-word-cache.md b/changes/2026-03-19-incremental-known-word-cache.md deleted file mode 100644 index 85cfc07..0000000 --- a/changes/2026-03-19-incremental-known-word-cache.md +++ /dev/null @@ -1,4 +0,0 @@ -type: fixed -area: anki - -- Known-word cache refreshes now reconcile Anki changes incrementally instead of wiping and rebuilding on startup, mined cards can append their word into the cache immediately through a new default-enabled config flag, and explicit refreshes now run through `subminer doctor --refresh-known-words`. diff --git a/changes/2026-03-19-known-jlpt-reading-fallback.md b/changes/2026-03-19-known-jlpt-reading-fallback.md deleted file mode 100644 index 16e978b..0000000 --- a/changes/2026-03-19-known-jlpt-reading-fallback.md +++ /dev/null @@ -1,4 +0,0 @@ -type: fixed -area: subtitle - -- Restored known-word coloring and JLPT underlines for subtitle tokens like `大体` when the subtitle token is kanji but the known-word cache only matches the kana reading. diff --git a/changes/2026-03-19-stats-ended-media-progress.md b/changes/2026-03-19-stats-ended-media-progress.md deleted file mode 100644 index bf2829c..0000000 --- a/changes/2026-03-19-stats-ended-media-progress.md +++ /dev/null @@ -1,4 +0,0 @@ -type: fixed -area: stats - -- Episode progress in the anime page now uses the last ended playback position instead of cumulative active watch time, avoiding distorted percentages after rewatches or repeated sessions. diff --git a/changes/2026-03-19-stats-session-progress-checkpoint.md b/changes/2026-03-19-stats-session-progress-checkpoint.md deleted file mode 100644 index 832f65d..0000000 --- a/changes/2026-03-19-stats-session-progress-checkpoint.md +++ /dev/null @@ -1,4 +0,0 @@ -type: fixed -area: stats - -- Anime episode progress now keeps the latest known playback position through active-session checkpoints and stale-session recovery, so recently watched episodes no longer lose their progress percentage. diff --git a/changes/2026-03-19-texthooker-docs-bundle-update.md b/changes/2026-03-19-texthooker-docs-bundle-update.md deleted file mode 100644 index 55fedcb..0000000 --- a/changes/2026-03-19-texthooker-docs-bundle-update.md +++ /dev/null @@ -1,4 +0,0 @@ -type: changed -area: docs - -- Refreshed the vendored Texthooker docs/index.html bundle to match the latest local build artifacts. diff --git a/changes/2026-03-20-stats-episode-progress-subtitle-fallback.md b/changes/2026-03-20-stats-episode-progress-subtitle-fallback.md deleted file mode 100644 index 1bdb47f..0000000 --- a/changes/2026-03-20-stats-episode-progress-subtitle-fallback.md +++ /dev/null @@ -1,4 +0,0 @@ -type: fixed -area: stats - -- Anime episode progress now falls back to the latest retained subtitle/event timing when a session is missing a persisted playback-position checkpoint, so older watch sessions no longer get stuck at `0%` progress. diff --git a/changes/2026-03-20-subtitle-sidebar-stability.md b/changes/2026-03-20-subtitle-sidebar-stability.md deleted file mode 100644 index 8c35905..0000000 --- a/changes/2026-03-20-subtitle-sidebar-stability.md +++ /dev/null @@ -1,5 +0,0 @@ -type: fixed -area: overlay - -- Kept subtitle sidebar cue tracking stable across transitions by avoiding cue-line regression on subtitle timing edge cases and stale text updates. -- Improved sidebar config by documenting and exposing layout mode and typography options (`layout`, `fontFamily`, `fontSize`) in the generated documentation flow. diff --git a/changes/2026-03-21-subtitle-sidebar-auto-open.md b/changes/2026-03-21-subtitle-sidebar-auto-open.md deleted file mode 100644 index f0d1d37..0000000 --- a/changes/2026-03-21-subtitle-sidebar-auto-open.md +++ /dev/null @@ -1,4 +0,0 @@ -type: fixed -area: overlay - -- Added `subtitleSidebar.autoOpen` (default `false`) to open the subtitle sidebar once during overlay startup when the sidebar feature is enabled. diff --git a/changes/2026-03-21-subtitle-sidebar-resume-jump.md b/changes/2026-03-21-subtitle-sidebar-resume-jump.md deleted file mode 100644 index 2a9dbfb..0000000 --- a/changes/2026-03-21-subtitle-sidebar-resume-jump.md +++ /dev/null @@ -1,4 +0,0 @@ -type: fixed -area: overlay - -- Made subtitle sidebar resume/start positioning jump directly to the first resolved active cue instead of smooth-scrolling through the full list, while keeping smooth auto-follow for later cue changes. diff --git a/docs-site/changelog.md b/docs-site/changelog.md index 9c8348d..53be971 100644 --- a/docs-site/changelog.md +++ b/docs-site/changelog.md @@ -1,5 +1,14 @@ # Changelog +## v0.8.0 (2026-03-22) +- Refreshed the vendored Texthooker docs/index.html bundle to match the latest local build artifacts. +- Added incremental known-word cache refresh behavior so mined cards can append cache entries immediately and `subminer doctor --refresh-known-words` is now the explicit full refresh path. +- Fixed known-word/JLPT subtitle styling so tokens like `大体` keep expected coloring even when only the kana reading is in cache. +- Fixed anime progress to use last ended playback position and keep latest known checkpoint across sessions, preventing stale or zero percent regressions. +- Kept subtitle sidebar cue tracking stable across transitions and improved sidebar configuration documentation for `layout`, `fontFamily`, and `fontSize`. +- Added `subtitleSidebar.autoOpen` to open the subtitle sidebar at startup when enabled. +- Improved sidebar resume/start behavior to jump directly to the active cue on resume while preserving auto-follow smooth motion. + ## v0.7.0 (2026-03-19) - Added a full local immersion dashboard release line with Overview, Library, Trends, Vocabulary, and Sessions drill-down views backed by SQLite tracking data. - Added browser-first stats workflows: `subminer stats`, background stats daemon controls (`-b` / `-s`), stats cleanup, and dashboard-side mining actions with media enrichment. diff --git a/package.json b/package.json index 5d3fea7..43a8830 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "subminer", - "version": "0.7.1", + "version": "0.8.0", "description": "All-in-one sentence mining overlay with AnkiConnect and dictionary integration", "packageManager": "bun@1.3.5", "main": "dist/main-entry.js",