From 203a61a20ff335301f0afff6129f9cf44a5288d0 Mon Sep 17 00:00:00 2001 From: sudacode Date: Mon, 26 Oct 2026 23:27:24 -0700 Subject: [PATCH] chore(release): v0.21.1 --- CHANGELOG.md | 23 ++++++++++ changes/mining-respects-sub-delay.md | 4 -- changes/readme-anime-screenshots.md | 4 -- changes/repo-root-packaging-layout.md | 5 --- changes/session-detail-redesign.md | 4 -- .../subtitle-sidebar-mpv-key-passthrough.md | 4 -- docs-site/changelog.md | 23 ++++++++++ package.json | 2 +- packaging/release-notes/release-notes.md | 44 ++++--------------- 9 files changed, 55 insertions(+), 58 deletions(-) delete mode 100644 changes/mining-respects-sub-delay.md delete mode 100644 changes/readme-anime-screenshots.md delete mode 100644 changes/repo-root-packaging-layout.md delete mode 100644 changes/session-detail-redesign.md delete mode 100644 changes/subtitle-sidebar-mpv-key-passthrough.md diff --git a/CHANGELOG.md b/CHANGELOG.md index ef8adc04..36c90496 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,28 @@ # Changelog +## v0.21.1 (2026-10-26) + +### Changed +- **Stats Session View**: Redesigned the expanded session view in the stats dashboard. + - New stat tiles show pace, lines, known-word rate, lookups, and paused time. + - A reading density chart of known and unknown words replaces the cumulative chart. + - Yomitan lookups and mined cards now appear in their own lane below the chart. + +### Fixed +- **Subtitle Retiming**: Mining, the subtitle sidebar, subtitle navigation, and replay now use the timing you set with mpv's subtitle delay keys (z/x and sub-step), so mined audio and images match the retimed line. +- **Subtitle Sidebar**: mpv keys and mouse actions, like volume keys and double-click fullscreen, work again while the sidebar is open. + +### Docs +- **README**: Refreshed the anime screenshots using the current build. + +
+Internal changes + +### Internal +- **Packaging Layout**: Packaging inputs now live under `packaging/`, and all build output lands in `dist/`, with packaged apps in `dist/release/`. + +
+ ## v0.21.0 (2026-10-24) ### Added diff --git a/changes/mining-respects-sub-delay.md b/changes/mining-respects-sub-delay.md deleted file mode 100644 index 37de7ae8..00000000 --- a/changes/mining-respects-sub-delay.md +++ /dev/null @@ -1,4 +0,0 @@ -type: fixed -area: subtitles - -- mpv's manual subtitle retiming (`sub-delay`, z/x and sub-step) now carries through SubMiner: mined card audio, images, and timestamps clip the retimed line, and the subtitle sidebar highlight, click-to-seek, subtitle navigation, overlay line matching, and replay pause point all follow the retimed timing. diff --git a/changes/readme-anime-screenshots.md b/changes/readme-anime-screenshots.md deleted file mode 100644 index 69a4f482..00000000 --- a/changes/readme-anime-screenshots.md +++ /dev/null @@ -1,4 +0,0 @@ -type: docs -area: readme - -- Refreshed the README's anime screenshots using the current SubMiner build. diff --git a/changes/repo-root-packaging-layout.md b/changes/repo-root-packaging-layout.md deleted file mode 100644 index 2c7541d3..00000000 --- a/changes/repo-root-packaging-layout.md +++ /dev/null @@ -1,5 +0,0 @@ -type: internal -area: build - -- Moved packaging inputs (electron-builder resources, Bun runtime manifests and licenses, committed release notes) under `packaging/`. -- Build output now lands in `dist/`: packaged apps in `dist/release/`, staged Yomitan and Hachidori in `dist/yomitan/` and `dist/hachidori/`. diff --git a/changes/session-detail-redesign.md b/changes/session-detail-redesign.md deleted file mode 100644 index a7f17634..00000000 --- a/changes/session-detail-redesign.md +++ /dev/null @@ -1,4 +0,0 @@ -type: changed -area: stats - -- Redesigned the expanded session view in the stats dashboard: stat tiles for pace, lines, known-word rate, lookups, and paused time; a reading density chart of known and unknown words per time slice replaces the cumulative area chart; Yomitan lookups and card-mined markers sit in their own lane under the chart; pause markers and pause shading are gone. diff --git a/changes/subtitle-sidebar-mpv-key-passthrough.md b/changes/subtitle-sidebar-mpv-key-passthrough.md deleted file mode 100644 index ef4f373f..00000000 --- a/changes/subtitle-sidebar-mpv-key-passthrough.md +++ /dev/null @@ -1,4 +0,0 @@ -type: fixed -area: overlay - -- mpv keys and mouse buttons (such as `9`/`0` volume and double-click fullscreen) pass through the overlay again while the subtitle sidebar is open; only input inside the sidebar stays with it. diff --git a/docs-site/changelog.md b/docs-site/changelog.md index 4c02c132..1220a018 100644 --- a/docs-site/changelog.md +++ b/docs-site/changelog.md @@ -1,5 +1,28 @@ # Changelog +## v0.21.1 (2026-10-26) + +**Changed** +- **Stats Session View**: Redesigned the expanded session view in the stats dashboard. + - New stat tiles show pace, lines, known-word rate, lookups, and paused time. + - A reading density chart of known and unknown words replaces the cumulative chart. + - Yomitan lookups and mined cards now appear in their own lane below the chart. + +**Fixed** +- **Subtitle Retiming**: Mining, the subtitle sidebar, subtitle navigation, and replay now use the timing you set with mpv's subtitle delay keys (z/x and sub-step), so mined audio and images match the retimed line. +- **Subtitle Sidebar**: mpv keys and mouse actions, like volume keys and double-click fullscreen, work again while the sidebar is open. + +**Docs** +- **README**: Refreshed the anime screenshots using the current build. + +
+Internal changes + +**Internal** +- **Packaging Layout**: Packaging inputs now live under `packaging/`, and all build output lands in `dist/`, with packaged apps in `dist/release/`. + +
+ ## v0.21.0 (2026-10-24) **Added** diff --git a/package.json b/package.json index 05b7f9a2..1e5206d9 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "subminer", "productName": "SubMiner", "desktopName": "SubMiner.desktop", - "version": "0.21.0", + "version": "0.21.1", "description": "All-in-one sentence mining overlay with AnkiConnect and dictionary integration", "packageManager": "bun@1.3.5", "main": "dist/main-entry.js", diff --git a/packaging/release-notes/release-notes.md b/packaging/release-notes/release-notes.md index 0ee4fbf6..0f06cc24 100644 --- a/packaging/release-notes/release-notes.md +++ b/packaging/release-notes/release-notes.md @@ -1,47 +1,19 @@ ## Highlights -### Added -- **Hachidori Dictionary Backend**: Bundled Hachidori backend as an alternative to Yomitan. Select it with `dictionaryBackend` and restart SubMiner. - - Works with subtitle scanning, popups, frequency highlighting, character dictionaries, Anki mining, and stats dashboard mining. - - First-run setup builds Hachidori's Anki template from your existing SubMiner deck, tags, and field mappings. - - Can link an external Hachidori app, browser, or Docker host while Anki mining stays in SubMiner. - - The tray and dictionary-settings shortcut open the selected backend's settings. `--hachidori` and `--yomitan` open a specific one. -- **Jellyfin Subtitle Generation**: Japanese subtitle generation now works while playing Jellyfin episodes, with both direct-play and transcoded playback. +### Changed +- **Stats Session View**: The expanded session view in the stats dashboard has been redesigned. It shows stat tiles for pace, lines, known-word rate, lookups, and paused time, plus a reading density chart of known and unknown words with lookup and card-mined markers. ### Fixed -- **Media Timing Review**: Opens on the first try and keeps playback paused while open, even when a dictionary popup closes. -- **Jellyfin Terminal Playback**: - - `subminer jellyfin -p` lists libraries when SubMiner is already running, and picker image previews work again. - - Real errors, like an expired session or an unreachable server, now appear instead of an empty list. - - Watch progress and played status reach Jellyfin even when cast discovery is off. - - When it starts SubMiner itself, SubMiner now shows a tray icon and quits when mpv closes. - - The rofi search step is now a compact input box. -- **macOS Casting**: Jellyfin casting finds mpv when SubMiner is opened from Finder, the Dock, or Spotlight. `mpv.executablePath` and `SUBMINER_MPV_PATH` are now honored on macOS and Linux. -- **macOS Launcher PATH**: The command-line launcher no longer shows "Not on PATH" when SubMiner is opened from Finder or the Dock. -- **Keyboard-Only Mode**: `h`, `l`, and the arrow keys type normally in modals and text fields instead of seeking mpv. Toggling the mode inside a modal no longer turns on a hidden keyboard-only mode. -- **Halfwidth Katakana**: Halfwidth katakana in subtitles now displays as fullwidth, including in mined cards and the stats dashboard. Stats sentence search matches katakana in either width. -- **Subtitle Annotations**: Lines shown while two cues overlap now get annotations right away. Prefetching no longer restarts during startup. -- **Subtitle Sidebar**: The open sidebar does far less work during playback. -- **Hyprland and Sway**: A slow or hung `hyprctl` or `swaymsg` no longer freezes the app. -- **Stats Mining**: Cards mined from the stats dashboard keep the selected history line and media. -- **Security Updates**: Updated Electron, undici, and follow-redirects to fix new security advisories. +- **Subtitle Delay**: Retiming subtitles in mpv (z/x or sub-step) now carries through SubMiner. Mined card audio, images, and timestamps match the retimed line, and so do the subtitle sidebar, subtitle navigation, and replay. +- **Subtitle Sidebar**: mpv keys and mouse buttons, such as volume keys and double-click fullscreen, work again while the sidebar is open. ### Docs -- **Hachidori Setup**: Covers backend selection, Hachidori dictionary and Anki setup, settings flags and shortcuts, and linking an external host. -- **Jellyfin**: The docs now say SubMiner joins the cast menu at startup only when both `startupWarmups.jellyfinRemoteSession` and `jellyfin.remoteControlAutoConnect` are on. Otherwise, enable **Jellyfin Discovery** in the tray. -- **Casting and mpv**: Added how casting finds mpv on each platform, a troubleshooting entry for casts that never start mpv, and a note on the macOS 27 Accessibility list rename. -- **Jimaku Environment Variables**: Removed the unused `SUBMINER_JIMAKU_*` variables from the docs. Set the key with `jimaku.apiKey` or `jimaku.apiKeyCommand` instead. +- **README**: Refreshed the anime screenshots using the current build. ## What's Changed -- feat(dictionary): add Hachidori backend support by @ksyasuda in #266 -- fix(jellyfin): make terminal play work with a running app and report progress by @ksyasuda in #288 -- fix(overlay): stop Hyprland/Sway tracker polls from blocking the main thread by @ksyasuda in #289 -- fix(overlay): poll cheap playback state in the open subtitle sidebar by @ksyasuda in #290 -- fix(overlay): keep keyboard mode from swallowing modal and text-field keys by @ksyasuda in #291 -- refactor: remove dead code and enable noUnusedLocals by @ksyasuda in #292 -- feat(subtitles): generate Japanese subtitles during Jellyfin playback by @ksyasuda in #294 -- fix(subtitles): widen halfwidth katakana where subtitle text enters the app by @ksyasuda in #295 -- fix(jellyfin): find mpv when SubMiner is launched from Finder by @ksyasuda in #298 +- fix(overlay): forward mpv input while subtitle sidebar is open by @ksyasuda in #300 +- fix(subtitles): follow mpv sub-delay in mining, sidebar, and navigation by @ksyasuda in #302 +- feat(stats): redesign expanded session view with density chart by @ksyasuda in #304 ## Installation