Repository navigation
Releases: yjid/kensaku
Release list
Kensaku v1.0.15
Fixed
- Indra OCR crawl stall & lock contention: Resolved an indexing freeze that could stall crawls at 97%+ when processing large batches of images with Indra OCR.
- Eliminated high-frequency \EmptyWorkingSet\ memory trims on Windows that were acquiring the kernel virtual memory manager lock after every single extracted file, rate-limiting them to at most once every 5 seconds.
- Replaced the serialized mutex-guarded channel receiver in \SlotPool\ with a condition variable (\Condvar) and permit count, preventing caller thread starvation during backpressure.
- Replaced the blocking lock convoy across parallel Indra OCR engines with non-blocking \ ry_lock()\ polling and adaptive thread yields, ensuring idle engines are immediately utilized.
- Increased single-file OCR extraction timeout budget from 8 s to 45 s for images and scanned PDFs, avoiding spurious timeouts and orphaned tasks on dense high-resolution screenshots.
- Replaced parallel slice operations in skew detection with sequential row processing, eliminating nested thread pool overhead on preview thumbnails.
- Reduced indexing progress update interval from every 25 files to every 5 files, providing smooth and responsive UI progress feedback during compute-heavy document processing.
Full Changelog: v1.0.14...v1.0.15
Kensaku v1.0.14
[1.0.14] — 2026-11-04
Added
- Seamless in-app updater: Updates no longer require manually navigating GitHub release pages. When an update is detected, an update badge appears on the status bar and in Settings → About, showing the release notes, asset size, and download progress bar. Users can download and install updates with a single click; the installer executes detached and Kensaku cleanly shuts down to prevent process lock conflicts.
- Configurable auto-update checks: Background update checks (once every 12 hours) are enabled by default and can be toggled on/off in Settings → About.
- One-click GitHub issue reporting: Health check failures, OCR warnings, and About settings now include a direct "Report Issue" action that copies complete system and index diagnostics to the clipboard and opens a pre-filled GitHub issue in the default browser.
- Automated ONNX Runtime build staging: Development and test builds automatically stage the required ONNX Runtime dynamic library (
onnxruntime.dll/libonnxruntime.so/libonnxruntime.dylib) to target directories viabuild.rs.
Fixed
- Indra OCR Cyrillic recall (#93): Indra OCR now falls back to the comprehensive base recognizer (
rec.onnx+ vocabulary) when specialized script models return empty or low-confidence results, restoring 100% recall for Cyrillic and mixed-script screenshots. - ONNX Runtime anti-hijacking: The dynamic library loader in
ocr.rsnow verifies explicit paths (deps/,debug/,src-tauri/, config/model folders) and eliminates the bare library fallback on Windows that was silently loading older, incompatible copies fromC:\Windows\System32\onnxruntime.dll. - Transparent OCR error reporting:
self_test()and text extraction now return explicitOcrOutcome::Unavailable(reason)and expose detailed diagnostics rather than masking failures as silent blank text (NoText). - Linux AppImage system Tesseract isolation (#93): Sanitized the execution environment when invoking host system
/usr/bin/tesseractinside AppImages by clearingAPPDIRand restoringLD_LIBRARY_PATH_ORIG, preventing crashes caused by linking against bundled AppImage libraries. - Doctor health auditing: Added active auditing of
indra_status()to the Doctor suite whenever Indra is configured as the active OCR engine.
Kensaku v1.0.12
Search inside documents, code, and even screenshots — instantly and locally.
What's New in v1.0.12
Proximity Search (near[x])
- Match terms that appear within a specific distance:
mouse near[5] buttonfinds documents where the terms sit within 5 words of each other. - Supports chaining (
a near[3] b near[2] c) and the filter syntaxnear:5. Distances are safely clamped to 100.
Portable Mode & Data Directory Override (#68)
- Windows Portable Release (
.zip): A self-contained portable distribution (kensaku-portable-1.0.12-x64.zip) is now available alongside installers. Keeps all config, index, metadata, and OCR state in a localdata\directory next to the executable. KENSAKU_DATA_DIR: Environment variable override supported across platforms for headless, containerized, Nix, and isolated setups.
Multilingual & Multi-Format Search Support
- Added comprehensive documentation (
docs/LANGUAGES.md) covering CJK (Chinese, Japanese, Korean) unigram + bigram segmentation, OCR multi-script routing (Latin, Hanzi, Hangul, Arabic, Cyrillic), and 50+ programming/data language extensions.
Fixes & Reliability
- macOS Sequoia Permissions Loop (#73): Bundled
Info.plistwith explicit TCC privacy usage descriptions (NSDocumentsFolderUsageDescription, etc.) and hardened thumbnail preview fallback to prevent permission prompts when summoning Kensaku viaAlt+Space. - Theme First-Paint Flicker (#72): Pre-paint theme resolution in
index.htmleliminates dark-mode flashes on light OS themes. - Office XML Entities: Decoded XML entity references (
&,<,>,",') across DOCX, PPTX, XLSX, EPUB, and ODT documents. - Excel Cell Text: Fixed cell text accumulation across split
<t>tags in shared strings. - PDF Extraction Budget: Guaranteed character boundary slicing to prevent UTF-8 panic on single-page PDFs.
- Ignore Engine Rule Deduplication: Properly merges rules when
.gitignoreand.kensakuignorecoexist in the same folder.
Windows on ARM (added post-release)
- Native ARM64 builds are now part of this release:
Kensaku_1.0.12_arm64_en-US.msi,kensaku_1.0.12_arm64-setup.exe,kensaku-portable-1.0.12-arm64.zipandkensaku-cli-windows-aarch64.exe. Built from the same source as the x64 assets, staged against Microsoft's SHA-256-pinnedonnxruntime-win-arm64-1.31.0.zip, so PP-OCR loads natively on Snapdragon laptops.SHA256SUMScovers every asset including these.
Full Changelog: v1.0.11...v1.0.12
Kensaku v1.0.11
Kensaku 1.0.11
Search inside documents, code, and even screenshots — instantly and locally.
New: Indra OCR engine
- A third OCR engine, ported natively to Rust on the same ONNX Runtime as
PP-OCR: orientation and deskew, script routing to four CTC recognizers,
RTL reordering, and Hangul composition. - Text matches the Python reference at 97–100% on the sample pages.
- The ~27 MB model pack (v1.1.0, SHA-256-pinned) downloads only if you pick
Indra; it falls back to PP-OCR, then Tesseract. Doctor, Settings, and the
setup wizard report engine availability. - PP-OCR remains the default engine. PP-OCR and Indra now share one ONNX
Runtime per process.
New: launcher-only setup wizard
- Folder, OCR-quality, and shortcut steps. You cannot proceed past the OCR
step until the selected engine is ready; pack downloads show progress and a
verifying phase. - Closing the window just hides Kensaku — it keeps running in your tray.
Improved
- Existing model artifacts are checksum-verified at startup instead of
trusted by filename; corrupt files are re-downloaded automatically. - The initial scan shows "Verifying files" instead of a stuck 0%.
Fixed
- No more scans of your home directory before setup finishes. A fresh or
corrupt config once made the mid-setup OCR-pack download trigger a crawl of
the default roots (your entire home folder, includingAppData, MTP phone
mounts, and network locations). The indexer now refuses to scan anything
until you have chosen your folders, for the GUI and the daemon alike. - Watcher reliability: fixed a regression that made four watcher tests
fail on Windows since 1.0.10, exposing that the live-update path under
AppData-pruned roots was silently treated as excluded. - Agent CLI builds again: the CLI stopped compiling after the vendored
OCR crate landed (a Cargo patch-table scoping issue), which is what blocked
the earlier 1.0.11 attempt. The daemonrescancommand now also honors the
folders you picked in setup when the daemon was already running.
Credits
- Models: PaddleOCR PP-OCRv6 tiny by PaddlePaddle (Apache-2.0).
- Indra weights by Datalab (indra-ocr),
under a modified OpenRAIL-M license; SHA-256-pinned pack. - ONNX wrapper:
paddleocr_rs_onnx(MIT).
What's Changed
New Contributors
Full Changelog: v1.0.10...v1.0.11
Kensaku 1.0.10
Kensaku 1.0.10. OCR that actually works, better defaults, and Windows fixes.
OCR, fixed end to end (#60)
- Searching for a word inside a screenshot finds it. PP-OCR glued words together ("Open settings" became "Opensettings"), so word search never matched.
- Scanned PDFs are OCR'd. JPEG, Flate and black-and-white scans were skipped silently before.
- PP-OCR is now the default engine and works on Windows, macOS (Apple silicon) and Linux. The installers include its runtime. Tesseract is the automatic fallback, for example on Intel Macs.
- Images that couldn't be OCR'd are retried instead of staying empty forever. Downloading the PP-OCR pack or switching engines re-reads images.
- Settings shows the truth. "Verified" means PP-OCR read a test image correctly. If it can't run, Settings says why and which engine is reading instead.
- Your existing index repairs itself. On first launch, images and PDFs are re-read once.
Better defaults (existing settings you changed are kept)
- Videos, music, archives, fonts and design files are findable by name. Their contents are not read.
- Full-text search for big documents: up to 100 MB files and 4 MB of text (was 20 MB / 1 MB).
- Setup pre-selects Documents, Desktop, Downloads and Pictures, and the first run matches your system's light or dark mode.
- Indexing runs at background priority.
~/Library(macOS) andAppData(Windows) are skipped when you index your home folder.
Also
- Windows:
in:"C:\Users\me\My Docs"works. Backslashes were being dropped (#61). - Windows tray: a click shows Open/Quit and a double-click opens search. Before, a click opened and instantly closed the window (#62).
- Setup can be minimized while it indexes (#62).
- "Rebuild index" works in place instead of restarting the app (#57).
- New: content-depth settings and an optional OCR image-size cap (#57). Health and update indicators in the status bar.
Verified on
Tests and clippy pass on Linux. Real PP-OCR models read 104/104 test lines and pass an image plus scanned-PDF test on Linux, macOS and Windows. Installers and the CLI build on all three.
Known limitations
- Builds are not yet code-signed.
- PP-OCR needs Apple silicon on Macs (Intel Macs use Tesseract).
- JPEG 2000, fax and JBIG2 scans aren't decoded yet.
Kensaku 1.0.9
Kensaku 1.0.9 - bugfix release.
Fixed
- macOS: no more repeated folder-access prompts during indexing. Tesseract and pdftoppm now read files through stdin instead of opening them themselves, so macOS stops asking for permission once per file. Linux and Windows are unchanged. (#51, fixes #50)
- macOS: Kensaku no longer indexes its own storage. On macOS the index lives in
~/Library/Application Support/kensaku, which isn't a hidden folder, so a home-folder crawl walked Kensaku's own index, database and thumbnails. Both the crawler and the live file watcher now skip it on every platform. Leftover entries are cleaned up automatically on the next crawl. (#53, fixes #52) - macOS: Eco mode now actually slows down under load. It reads the system load average like Linux does, instead of never throttling. (#53)
- Windows: the accurate OCR engine works out of the box. Windows can include an older, incompatible
onnxruntime.dllin System32, which made accurate OCR silently fall back to Tesseract. The installers now ship ONNX Runtime 1.31.0 next tokensaku.exe, and Kensaku loads that copy first. (#55, #56, fixes #54. Thanks @shavyamChitranshi1)
Verified on
Tests and clippy pass on Linux, macOS and Windows. Bundles and the CLI build on all three.
Known limitations (unchanged)
- Builds are not yet code-signed.
- Auto-updater not wired up (use Settings > About > Check for updates).
- The standalone CLI daemon on Windows still uses Tesseract for OCR (ONNX Runtime is bundled with the desktop app only).
- Thumbnails: image files only.
- Visual search: beta, not in results yet.
Kensaku 1.0.8
Kensaku 1.0.8 - bugfix release.
Fixed
- Console windows no longer flash on the desktop during index rebuild on Windows. Tesseract (OCR), pdftoppm (PDF thumbnails), and external extractors are console applications; spawning them without CREATE_NO_WINDOW flashed a console window per file. Added CREATE_NO_WINDOW to all child-process spawn sites. (Reported by a user on Win 11.)
- "Check for updates" button added to Settings ? About (was hardcoded "1.0.0", now shows real version and opens the latest release page).
Also
- README restored to polished version with hero and dashboard screenshots.
- Added roadmap section with discussion links for feature requests.
- Marketing launch kit and growth plan prepared.
Known limitations (unchanged)
- Builds are not yet code-signed.
- Auto-updater not wired up (manual check button added).
- OCR: Tesseract (default) + optional PP-OCRv6 pack.
- Thumbnails: image files only.
- Visual search: beta, not in results yet.
Kensaku 1.0.7
A persistence bugfix release, one day after 1.0.6.
Fixed
- The chosen theme (light / dark) now survives closing and reopening the app. The launcher rebuilds its webview on every summon, and the frontend was restoring the theme from localStorage - which does not survive that - instead of the durable config file. The persisted config is now the single source of truth, theme picks update the shared config copy so a later Settings save can no longer write an old theme back, and Settings shows the correct active swatch after a remount.
Also
- README refreshed: a differentiators table against filename-only search tools, measured Windows numbers (9 MB installer, about 20 MB of memory idle in the tray), and a contributing section with concrete first steps.
Kensaku 1.0.6
Kensaku 1.0.6 - the Windows polish release: true launcher behavior, a calmer Apple-style UI, and a home screen that shows what you actually opened.
Home & recents
- Recents now rank by what you actually opened through Kensaku (persisted opens, falling back to modified time), with "Opened 5m ago" labels and a deterministic order that no longer reshuffles across refetches
- Home never renders dead tiles under a restored query; Tab visibly walks the recents and scrolls to follow past the fold
Search & results
- Results cards match the home tiles: 16:10, softened selection ring, smaller and denser grid
- Borderless Spotlight-style search field, tighter spacing, Apple-style radius scale with continuous (squircle) corners
- Removed the flickering search progress bar; the result count stays visible while searching
Windows platform
- True launcher behavior: starts hidden to tray, Alt+Space to summon, no ghost-frame flash, webview cleanup via the process API
- Start-at-sign-in runs in the background with no console window
- Real memory (RSS) reporting in Stats
- App icon embedded in the installer and uninstaller; NSIS uninstall is a full cleanup
OCR & setup
- Auto-switches to the PP-OCRv6 pack when Tesseract is missing; setup mirrors the real engine state
- Setup wizard survives losing focus; folder picker with validated manual entry
Kensaku v1.0.5
What's Changed
- Fix: theme choice never saves in 1.0.4 by @ren-at-gochi-s-workspace[bot] in #31
- Fix red CI on master (clippy: items after a test module) by @ren-at-gochi-s-workspace[bot] in #32
New Contributors
- @ren-at-gochi-s-workspace[bot] made their first contribution in #31
Full Changelog: v1.0.4...v1.0.5