版本亮点 (Release Highlight)
阅读:为 EPUB 添加了连续滚动和双页(展开)排版支持
阅读:在页脚添加了当前时间和电量显示
阅读:为 PDF 添加了文字转语音(TTS)、批注支持、双指缩放和滚动模式
书库:添加了备份/恢复为 zip 文件以及批量刷新元数据的功能
KOReader:添加了 KOReader 和 Readest 设备之间的书签与批注同步功能
脚注:添加了带有链接历史的后退导航,以及响应更灵敏的弹出窗口大小调整
批注:在即时批注模式下选择文本时添加了放大镜(loupe)显示
文字转语音:修复了滚动模式下的 TTS 阅读位置跟踪问题
---
### 更新详情 (What's Changed)
* chore(agents): 为 readest-app 添加 AGENTS.md,由 @chrox 提交于 #3415
* fix(linux): 避免在 Linux 上的 WebKitGTK 中使用 transitions API,由 @chrox 提交于 #3417
* fix(layout): 针对 OPDS 目录和下载按钮的响应式布局,由 @chrox 提交于 #3418
* chore: 升级依赖项以解决 Dependabot 警报,由 @chrox 提交于 #3421
* fix(translation): 解决带有自动检测功能的 DeepL 翻译失败问题,由 @bfcs 提交于 #3412
* fix(translation): 减少翻译视图中的初始布局偏移,修复 #3078,由 @chrox 提交于 #3428
* fix(layout): 让缩放控制器遵循网格安全区(insets),修复 #3426,由 @chrox 提交于 #3430
* feat(footnote): 为脚注弹出窗口添加带有链接历史的后退导航,修复 #3420,由 @chrox 提交于 #3434
* fix(translation): 处理非 Cloudflare 部署(如 Vercel)上缺失的 Cloudflare 上下文问题,由 @bfcs 提交于 #3433
* fix(gallery): 支持在图片画廊模式下显示 svg 图片,修复 #3427,由 @chrox 提交于 #3435
* 更新 translation.json,由 @StepanSad 提交于 #3423
* Fix: 修复非 ASCII 字符破坏 OPDS 目录认证的问题,由 @IGCFck 提交于 #3436
* feat(font): 如果 EPUB 缺失内嵌字体,支持加载自定义字体,由 @chrox 提交于 #3439
* compat(css): 支持书脊(spine)中的 `duokan-page-fullscreen` 以全屏显示封面图片,修复 #3424,由 @chrox 提交于 #3443
* fix(css): 正确限制图片的最大宽度和高度,修复 #3432,由 @chrox 提交于 #3444
* fix(toc): 纠正目录(TOC)分组以防止不必要的嵌套层级,由 @chrox 提交于 #3445
* fix(txt): 为 TXT 文件提供更稳健的章节提取器,由 @chrox 提交于 #3446
* fix(css): 取消 body 中的 padding 和 margin 设置,修复 #3441,由 @chrox 提交于 #3452
* feat(footnote): 使弹出窗口大小对较长的脚注有更好的响应性,修复 #3425,由 @chrox 提交于 #3454
* i18n: 添加斯洛文尼亚语(sl)翻译,修复 #3453,由 @chrox 提交于 #3455
* fix(tts): 处理没有 lang 属性或 XHTML 命名空间的文档,修复 #3291,由 @chrox 提交于 #3456
* fix(css): 取消 calibre 硬编码的颜色和背景色,修复 #3448,由 @chrox 提交于 #3457
* feat(reader): 在页脚添加当前时间和电量显示 (#3306),由 @scinac 提交于 #3402
* 为斯洛文尼亚语翻译添加 `<0>` 和 `<1>` 标签,由 @Blyrium 提交于 #3460
* chore: 将 turso 升级至 0.5.0,由 @chrox 提交于 #3475
* chore(database): 针对全文搜索(fts)和向量搜索的单元测试与功能检测,由 @chrox 提交于 #3476
* fix(metadata): 仅当书籍系列信息不可用时才从 epub 解析系列信息,由 @chrox 提交于 #3478
* fix(footnote): 为脚注弹出窗口添加 overflow-wrap 以防止长单词溢出,由 @chrox 提交于 #3479
* chore(testing): 添加 Tauri 集成测试和端到端(E2E)测试基础设施,由 @chrox 提交于 #3483
* feat(database): 在 tauri 应用中支持 turso 全文搜索(fts),由 @chrox 提交于 #3484
* feat(database): 添加与平台无关的 schema 迁移系统,由 @chrox 提交于 #3485
* chore: 实验性的 vinext 构建,由 @chrox 提交于 #3486
* feat(setting): 实现设置选项:隐藏滚动模式下的滚动条 (#3480),由 @srsng 提交于 #3481
* fix(sidebar): 移动端侧边栏使用 position fixed 和 transform,由 @chrox 提交于 #3490
* feat(pdf): 支持 PDF 的 TTS 和批注功能,修复 #2149 & #3462,由 @chrox 提交于 #3493
* fix(layout): 更新阅读页面的安全区(safe insets),修复 #3469,由 @chrox 提交于 #3497
* fix(css): 将行距(Line Spacing)应用于列表元素,修复 #3494,由 @chrox 提交于 #3498
* fix(macOS): 修复侧边栏中红绿灯(窗口控制)按钮的可见性,修复 #3488,由 @chrox 提交于 #3499
* chore(ci): 修复 rust 缓存,由 @chrox 提交于 #3500
* compat(android): 在 Android 上显示底部导航栏,修复 #3466,由 @chrox 提交于 #3501
* fix(txt): 为 RemoteFile 添加 stream() 以修复桌面端导入大型 TXT 文件的问题,由 @chrox 提交于 #3502
* fix(layout): 在滚动模式下为容器添加顶部/底部边距,修复 #3463,由 @chrox 提交于 #3504
* fix(reader): 将 alwaysOnTop 应用于所有窗口并在阅读器初始化时生效,修复 #3482,由 @chrox 提交于 #3505
* fix(a11y): 改善 NVDA 屏幕阅读器的目录(TOC)可访问性,修复 #3477,由 @chrox 提交于 #3509
* feat(reader): 在滚动模式下点击刘海区域可滚动至顶部,修复 #3474,由 @chrox 提交于 #3510
* feat(a11y): 为屏幕阅读器显示上一节/下一节按钮,修复 #3290,由 @chrox 提交于 #3511
* fix(layout): 让固定版式的 EPUB 中水平滚动条可见,修复 #3506,由 @chrox 提交于 #3512
* fix(pdf): 导航到新页面时显示搜索结果,修复 #3148,由 @chrox 提交于 #3513
* feat(pdf): 支持 PDF 的双指缩放和滚动模式,修复 #3461,由 @chrox 提交于 #3520
* fix(i18n): 处理 getLocale() 中的 POSIX 语言环境值,修复 #3518,由 @chrox 提交于 #3522
* compat(footnote): 支持更多脚注选择器,修复 #3515,由 @chrox 提交于 #3523
* fix(library): 改善排序和分组交互,修复 #3517,由 @chrox 提交于 #3524
* fix(link): 防止在 Tauri 上打开重复的浏览器标签页,修复 #3514,由 @chrox 提交于 #3525
* 更新 docker 数据库 schema 以匹配 FileRecords,由 @azeemba 提交于 #3527
* feat(rsvp): 添加持久化上下文、显示设置及布局改进,修复 #3333,由 @chrox 提交于 #3528
* fix(opds): 下载书籍时提供更准确的错误信息,修复 #2656,由 @chrox 提交于 #3529
* feat(node): 将 appService 重构为专注于特定功能的服务模块,并为 Node 运行时添加应用服务,由 @chrox 提交于 #3530
* doc(agent): 添加与 CLAUDE.md 一起自动加载到上下文中的规则文件,由 @chrox 提交于 #3532
* chore: 升级依赖项以解决 Dependabot 警报,由 @chrox 提交于 #3533
* feat(bookshelf): 去重具有相同元数据哈希值的书籍,由 @chrox 提交于 #3535
* fix(export): 在批注导出时对每一行应用块引用语法,修复 #3534,由 @chrox 提交于 #3536
* feat(epub): 支持 EPUB 的连续滚动和双页排版,修复 #3419 和 #1745,由 @chrox 提交于 #3546
* refactor(reader): 提取共享的面板拖拽 hooks 并在笔记本(Notebook)中添加垂直拖拽,由 @chrox 提交于 #3548
* fix(layout): 修复小屏幕上的平行阅读(双排)布局,由 @chrox 提交于 #3549
* fix(progress): 显示当前小节的剩余页数,而不是所有已加载小节的剩余页数,由 @chrox 提交于 #3550
* fix(android): 修复页面导航层的 z-index,修复 #3511,由 @chrox 提交于 #3552
* fix(ios): 在 `copy_uri_to_path` 中解码百分号编码(URL编码)的文件 URI,由 @chrox 提交于 #3553
* feat: 滚动到最近的搜索结果或批注列表,由 @chrox 提交于 #3555
* compat(css): 修复表格布局的回归问题,修复 #3551,由 @chrox 提交于 #3556
* chore(agent): 添加 gstack 技能,由 @chrox 提交于 #3557
* fix(layout): 针对传输队列提供更具响应性的布局,由 @chrox 提交于 #3558
* fix(ios): 解决 iOS 上因过期闭包(stale closure)导致阻止高亮弹出窗口的崩溃问题,由 @chrox 提交于 #3559
* fix(layout): 修复移动设备上的固定头部背景色,由 @chrox 提交于 #3561
* fix(perf): 恢复使用带有懒加载的 next/image 以获得更好的性能,由 @chrox 提交于 #3562
* fix(footnote): 不要在脚注中预加载其他小节,由 @chrox 提交于 #3563
* chore(deps): 在 github-actions 组中将 pnpm/action-setup 从 4 升级到 5,由 @dependabot[bot] 提交于 #3564
* feat(annotator): 在即时批注时选择文本显示放大镜,修复 #3539,由 @chrox 提交于 #3565
* chore(agent): 添加项目记忆功能,由 @chrox 提交于 #3567
* feat(annotator): 放大镜的响应式布局,由 @chrox 提交于 #3568
* chore: 将 next.js 从 16.1.6 升级至 16.1.7,由 @chrox 提交于 #3569
* feat(library): 备份为 zip 文件以及从 zip 文件恢复,由 @chrox 提交于 #3571
* fix(txt): 修复纯数字标题的章节检测问题,修复 #3570,由 @chrox 提交于 #3572
* feat(library): 添加批量刷新元数据选项,修复 #3294,由 @chrox 提交于 #3573
* feat(reader): 打开书籍时导入 Foliate 批注(仅限 Linux),修复 #2180,由 @chrox 提交于 #3574
* feat(koplugin): 添加自更新检查和从菜单安装功能,由 @chrox 提交于 #3575
* feat(koplugin): 添加对批注同步的支持,由 @chrox 提交于 #3579
* feat(koplugin): 支持在 Koreader 和 Readest 设备之间同步书签,由 @chrox 提交于 #3580
* fix(tts): 在滚动模式下正确跟随 TTS 阅读位置,由 @chrox 提交于 #3581
* fix: 处理移动设备上设置中的数字输入值被裁剪的问题,由 @chrox 提交于 #3582
* fix: 解决 ph 中追踪到的各种异常,由 @chrox 提交于 #3584
* fix(layout): 修复垂直滚动模式下总可滚动宽度的问题,由 @chrox 提交于 #3586
* compat(footnote): 支持从图片的 alt 属性中获取脚注文本,修复 #3576,由 @chrox 提交于 #3587
* release: 发布版本 0.10.1,由 @chrox 提交于 #3588
---
新贡献者 (New Contributors)
* @IGCFck 在 #3436 中做出了他们的首次贡献
* @scinac 在 #3402 中做出了他们的首次贡献
* @srsng 在 #3481 中做出了他们的首次贡献
* @azeemba 在 #3527 中做出了他们的首次贡献
完整更新日志:v0.9.101...v0.10.1