Repository navigation
v0.1.9
PDFMathReader v0.1.9
This release includes 12 new features and 12 fixes and improvements since v0.1.7. See the highlights below.
0.1.9
New features
- show actual kernel translation progress (7e654a4)
- discover models and select prompt files (e7ba7e3)
- animate reader paragraph gap adjustments (d0a00ef)
- 即便模型存在差异,也优先沿用已有译文,默认关闭 (d3be8d1)
- epub support (in experimental feature setting, enabled by default) (fd384a7)
- ultrafast kernel supports customized setting of "Using serif fonts" and "Specify a font" in mode setting of the advanced setting menu (bb3884f)
- service provider supports more than one OpenAI compatible services (add, rename, edit, delete), storages in application and pass to kernel according to the user's choice (940e40a)
- experimental remote Precise kernel over HTTP (zotero-pdf2zh protocol) — Add an optional client for the zotero-pdf2zh server protocol. Precise pages are translated remotely only when GET /health returns status "ok"; if the check or the remote job fails, the local kernel runs instead. - Upload one-page PDFs to /translate (async), poll /api/tasks and /api/history, download the mono PDF from /translatedFile/<name> - Never forward API keys; the server uses its own translation service - Glossaries, native/on-device services and the Fast kernel stay local - Remote pages use their own cache key, so they reopen while offline; they carry no paragraph layout (no reading text layer) - Settings > Experimental: switch, server URL, optional service, health check - Credit zotero-pdf2zh in README (en, zh-CN) (5125aef)
- add experimental Jev paragraph reading aids (8d4f08e)
- move GPU inference preference to Performance settings — The Prefer GPU inference switch now lives under Performance > Resources for the Fast and Precise kernels. Advanced settings keep the stored value when saving or restoring defaults. (fb7dcc9)
- better complex layout detection in ultrafast mode (66f568b)
- add zotero-pdf2zh to About project links (2a03975)
Fixes and improvements
- allow longer chatgpt subscription inference (8f46393)
- reorganize settings and refine controls (7f53f5f)
- the translation remains refreshed after switching another translation service when the using old translation option enabled; expected behavior is that, if the doc + kernel matches and the option is enabled, prioritize the translation cache of texts (1a1e7f2)
- paragraph spaces optimization not working as expected in ultrafast mode (with unexpected additional spaces) (dab9e41)
- clipped focus ring on provider settings text fields (04ca6fa)
- Siliconflow free service is limited by /config qps and retries after 429, Precise and Fast custom prompt packages are included in the proxy template to avoid 400 errors (6925030)
- scrollable pop-up menu when the model list is longer than the view (5857f5c)
- remote Precise kernel takes precedence and fails over on stalled servers — - Use the remote kernel even when a custom service or glossary is selected; the server cannot receive either, so log a diagnostic instead of silently falling back to the local kernel - Time out job submission and downloads, and give up after repeated unanswered status polls so a hung server falls back to the local kernel - Tolerate servers without /api/tasks (4.0.x) by relying on /api/history (784c5de)
- show indeterminate progress while the remote Precise kernel reports 0% (3e9793b)
- estimate remote Precise kernel progress from status text (a74aa67)
- combine interrupted paragraphs before Fast typesetting (4e087e6)
- lazy-load UI languages and scope the Liquid Glass observer (0.1.8) — - Split the UI strings into one module per language under src/i18n/locales. English stays bundled as the fallback; other languages load on first use through loadUILanguage(). The startup App chunk shrinks from 761.5 kB to 463.6 kB (224.0 kB to 147.6 kB gzip). - setUILanguage applies the language, document lang and dir only after its strings are loaded; a newer choice supersedes a pending one. - Connect the document.body mutation observer only while Liquid Glass is enabled and not downgraded to the solid fallback. - Add the missing translation.pdfIncomplete string for ar, arz, ur, hi, bn, ru, pt, de and pcm, which fixes the ui-language test. - Add tests for lazy loading and the observer lifecycle. - Bump the version to 0.1.8. (baa30e8)
Update
Quit PDFMathReader, download the package for your system below, replace the existing application, and reopen it. Your documents and settings are preserved.