Skip to content

v0.1.9

Choose a tag to compare

@reycn reycn released this 12 Oct 12:26

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.

Full changelog