github bpwhelan/GameSentenceMiner v2026.7.0
Release v2026.7.0

3 months ago

Downloads

OS Download
Windows GameSentenceMiner-Setup-2026.7.0.exe
Windows (unpacked) GameSentenceMiner-2026.7.0-win-unpacked.zip
Linux GameSentenceMiner-2026.7.0.AppImage
macOS (Apple Silicon) GameSentenceMiner-2026.7.0-arm64.dmg

Intel Mac builds are no longer provided. If you need GSM on Intel Mac, run it from source.

What's Changed

This release is mostly about making GSM easier to control while you are playing. OCR has fewer setup traps, overlay settings are easier to find, stats open to more useful date ranges, text sources step on each other less often, and more flexibility around the Anki Confirmation Dialogue.

I'm not sure if I like these notes since they are quite wordy, but a lot of the changes are not too obvious, so I wanted to give a bit more context.

Highlights

1. In-App Changelog

The desktop app now has a "What's Changed" dialog for updates, which you should be seeing now. :D

2. Overlay

Periodic Scanning

Periodic Scanning was moved to legacy a while ago, but has since gone through some important changes that may make it more viable.

  • Added option to only do the periodic scans when the mouse is moving (Windows Only). Inspired by Meikipop. This will reduce the number of scans when you are AFK, and may help with performance in some games. This could also be useful for supplementing OCR in games that have text that is not always visible, like VN Choices.
  • If no texthook/ocr matches are found, GSM can fall back to text found via the periodic scan during card creation. This should make it possible to ONLY run the overlay with periodic scans, but I definitely don't recommend it for many reasons. Stats, Reliability, timing, and I haven't tested it enough to know if it works well. But it should work in theory.

Other

Overlay settings have been reorganized so they are easier to browse and search. I THINK I MIGHT CHANGE THIS AGAIN SOON IN THE FUTURE, I'm still not really satisfied with the organization, and I'm not even sure if it's better than it was.

  • Overlay settings now have local search across the overlay settings UI.
  • Settings are grouped into clearer categories, including overview, reading, interaction, gamepad, stats/goals, and dictionary areas.
  • The new Overlay Overview tab gives common overlay features a more obvious home and links directly to the relevant settings.
  • Overlay Capture Settings now live inside the overlay settings area instead of being split across separate settings pages.
  • Gamepad overlay visibility has new settings, so gamepad users have more control over when overlay UI appears.
  • Overlay behavior is more aware of the active foreground window on Windows.
  • Added hotkey to hide overlay stats and goals, press multiple times to change view.
  • Jiten Reader has been updated to the latest version, which may or may not be useful for GSM? Time will tell.

Overlay overview


Overlay OCR settings


3. OCR

  • The old OCR port setting has been removed. GSM now manages that connection internally.
  • Area Selector changes can update the running OCR session, which means you can keep the selector box and change capture boxes on the fly.
  • The Area Selector itself is cleaner, with no separate floating control box. Hiding info will now be remembered across sessions.
  • Overlapping or stacked OCR boxes are easier to remove reliably.
  • New Option in Advanced ONLY for multi-box setups. Compact selected text areas before recognition. This can make OCR faster for games with several separate text boxes spread across the screen. May cause issues with some checks such as menu detection or black-hole boxes, but seems to work fine.

Active OCR selector demo


4. Stats

Stats pages should start from a more useful date range, especially if you have imported history or data from other sources.

  • GSM now checks both combined rollup data and third-party/imported data when choosing the first available stats date.
  • Imported history is less likely to be hidden behind a too-recent default range.
  • Kanji-based Anki stats have a fallback path, so kanji stats and filters are less likely to appear empty when one extraction path is incomplete. Thank you @bee
  • Reading-time and live-stats behavior has been tightened up around newer text source handling.
  • Game-linking labels in database, import, overview, game stats, and search screens have been clarified.
  • Added "Last Month" "Last Week", and "Last Year" in quick-select dates.

5. Text Intake

GSM now does a better job of understanding where incoming text is coming from.

  • Clipboard polling can pause while GSM is already receiving text from OCR or an in-house text hook.
  • The desktop app can warn when Auto OCR and a text hook are running at the same time. This is a common source of confusion where users believe that OCR in the OCR tab is required for Overlay.
  • Text preview events are forwarded from the backend to Electron more consistently.
  • Text hook status reporting from Electron back to the backend has been improved.

OCR duplicate source warning


6. Anki Cancellation

Cancelling the Anki confirmation flow should leave less cleanup behind.

  • If GSM creates a note for confirmation and you cancel the flow, GSM can delete that newly created note when appropriate.
  • This helps avoid stray cards from abandoned captures.
  • The cleanup path is covered by new tests.

Detailed Changelog

Desktop App and Update Notes

  • Added the in-app "What's Changed" dialog for desktop updates.
  • Added manual changelog preview from Settings.
  • Added bundled changelog loading, image asset resolution, and display-state persistence.
  • Improved update-manager integration so release notes can be shown while backend sync/install work is happening.
  • Added notification plumbing for OCR hotkey behavior.
  • Updated settings catalog entries and localized strings for new desktop UI.
  • Added UI tests for changelog rendering and update dialog behavior.

OCR

  • Added OCR hotkey controls in the OCR tab.
  • Added OCR IPC command support for hotkey-driven behavior.
  • Added active OCR selector support.
  • Improved OCR area selector behavior.
  • Added CompositeLayout and rectangle packing for multi-region OCR composites.
  • Improved coordinate mapping from packed OCR composites back to source frames.
  • Removed legacy OCR port config from UI and locale files.
  • Added tests for composite layout, menu filtering, and overlay config behavior.

Overlay

  • Added searchable overlay settings with cross-tab search.
  • Added settings metadata and descriptions.
  • Reorganized overlay settings categories around overview, reading, interaction, gamepad, stats/goals, and dictionary areas.
  • Added overview capability cards and callouts.
  • Moved overlay capture settings into the overlay settings surface.
  • Added gamepad overlay visibility options.
  • Improved gamepad script behavior.
  • Added Windows foreground-window helper behavior for overlay state.
  • Improved overlay release packaging workflows and validation.
  • Updated overlay/database port references to 7275. Thank you @Mariox222

Stats and Dashboard

  • Improved stats default date ranges by combining rollup and third-party first dates.
  • Added shared JavaScript helpers for dashboard behavior.
  • Adjusted stats API and repository behavior around date defaults.
  • Updated live stats and reading-time calculations.
  • Clarified game info linking labels across database, games, overview, game stats, import, and unified search UI.
  • Added and updated stats/dashboard tests.

Text Intake and Hooking

  • Added clipboard pausing when in-house OCR/text-hook sources are active.
  • Added text preview event forwarding from backend to Electron.
  • Improved text hook status reporting from Electron to backend.
  • Updated texthooker docs and Svelte app references.
  • Added media-file support through web service and texthooking page paths.

Anki

  • Added live Anki kanji fallback.
  • Improved Anki extraction and stats API behavior.
  • Added confirmation-dialog cancellation cleanup.
  • Added delete-on-cancel behavior for created notes.
  • Added tests for Anki API extraction, logic, stats properties, and confirmation cleanup.

Jiten Reader

  • Updated the bundled Jiten reader overlay.
  • Added PDF reader assets, view, and styles.
  • Added offscreen view and script.
  • Added reader view and reader styling.
  • Added word style editor CSS.
  • Updated widget, popup, settings, toast, word, and changelog styling.
  • Updated PDF.js files and CMap vendor assets.
  • Updated settings bridge and background worker logic.

Scheduler, Cron, and Background Work

  • Improved cron scheduler cadence.
  • Added database support for more robust cron scheduling metadata.
  • Updated user plugin cron setup.
  • Improved startup rollup handling for existing data without rollup rows.
  • Added tests around scheduler cadence behavior.

Release Engineering and Build Tooling

  • Updated release and dev-release workflows.
  • Added overlay build staging script.
  • Added overlay package verification script.
  • Added changelog validation and export scripts.
  • Updated package dependencies and lockfiles.
  • Added build-contract test updates.

Localization

  • Updated Python locale files after removing legacy OCR port UI strings.
  • Added Electron renderer i18n entries for changelog and OCR changes in English, Japanese, and Ukrainian.
  • Updated overlay-facing English labels for new settings behavior.

Tests and Quality

  • Added tests for OCR composite layouts.
  • Added tests for config search.
  • Added desktop changelog service tests.
  • Added desktop app tests for changelog rendering and display state.
  • Added Anki confirmation cleanup tests.
  • Expanded Anki API tests.
  • Expanded overlay handler tests.
  • Expanded cron scheduler tests.
  • Expanded stats pure function and live stats tests.
  • Added startup and text websocket tests.

Commit Inventory

  • f4c5a955 - Adaptive reading-time v2, in-house source clipboard pausing, overlay release fix.
  • 658693a7 - OWOCR active selector, get media files button, untested.
  • 41d9ab7f - Improve overlay OCR settings and packaging.
  • 93621e2a - Update port to 7275 (#492).
  • c0bf89a4 - Add live Anki kanji fallback (#441).
  • 3b96bda9 - Use combined rollup + third-party first date for stats defaults (#502).
  • 1076133b - Remove legacy OCR port, add OCR hotkey buttons.
  • e129cf10 - Handle cancelled Anki confirmation cleanup.
  • e32c2ee0 - Add desktop update changelog support.
  • 6f15b7eb - Update bundled Jiten reader overlay.
  • c4ab8783 - Improve cron scheduler cadence.
  • dfaf4c38 - Add desktop changelog preview flow.
  • f9587a3c - Clarify game info linking labels.
  • 3b7c4658 - Add gamepad overlay visibility settings.

Release Metadata

  • Comparison: v2026.6.15..develop
  • Baseline release: v2026.6.15, published 2026-06-17
  • Reviewed head: develop at 3b7c4658
  • Reviewed scope: 14 commits

Don't miss a new GameSentenceMiner release

NewReleases is sending notifications on new releases.