Repository navigation
v0.1.6
Pre-release
Pre-release
Audit fixes: crashes, terminal safety and performance
A code audit of v0.1.5 produced a register of findings (audit-v0.1.5.md). This release fixes the crashers and the biggest performance problems; the rest is recorded and scheduled.
Crashes and terminal safety (P3-27)
- Search no longer panics on some Unicode: a page titled "İstanbul" (or text with the Kelvin sign) crashed the search overlay as soon as you typed a match. Matching now maps back to the original text, in the overlay, the snippets and content search.
- Help → "Open in editor" now suspends the terminal first, as the
ekey does, instead of running$EDITORon top of the live screen. - Worker panics no longer wreck the screen: a crash in an image, diagram, highlight or reindex worker becomes an error in the UI (or a message after exit) instead of tearing down raw mode. A dead worker no longer leaves the viewer on "rendering…" with a busy redraw.
[keys]overrides apply in the reader only:quit = "q"no longer quits while you type in search, Help or Options, and non-ASCII overrides work.- Zoom keys work again after a zoom-time failure. A failed session save backs off, reports once, cleans its temp file, and the session is flushed even if the terminal closes. A non-finite
nav_orderis ignored.
Performance (P3-28)
- Pages with many repeated headings no longer slow to a crawl (the duplicate-slug work was quadratic; 4,000 identical headings took seconds).
- Search-as-you-type refreshes once per burst of keys (a paste used to search per character), content search stops at 500 matches ("500+" in the footer), and the Raw view's highlighting uses one worker that drops superseded pages instead of a thread per page.
- Previous/next page lookups are constant time, so large collections draw faster. The code and table viewers measure once per frame; table sort keys are computed once, and filtering no longer allocates.
- A page that cannot be read shows the "page removed" state instead of the previous page, and a rebuild that changes nothing no longer reloads the page.
This is an alpha prerelease, like every v0.1.* release. Phase 2 remains on its fixes-only dogfood hold until the adoption verdict around 2026-10-13.
Install and upgrade
Download the matching platform tarball and its .sha256, verify the checksum, and replace the binary in the same install location. See Releasing and upgrading. The lite build is still cargo install --locked --no-default-features --git https://github.com/luckgrid/wiki-reader --tag v0.1.6 wiki-reader.
- Binaries are unsigned and not notarized.
- Browser downloads on macOS may be quarantined. If Gatekeeper blocks the extracted binary, run
xattr -d com.apple.quarantine path/to/wiki-reader. - The Linux binary links the glibc from the
ubuntu-latestbuild runner; older distributions may need a source build orcargo install. - Upgrades preserve configuration and saved sessions.