Skip to content

NextVol 0.1.0

Choose a tag to compare

@github-actions github-actions released this 12 Oct 13:49
8a626f1

NextVol 0.1.0

NextVol 的第一个公开版本,也是后续版本迭代和正式安装包升级的起点。这个版本汇集了 300 多个 PR 的开发成果:从书源、找书和阅读,到离线下载、听书、本地书籍与数据备份,建立日常使用所需的基础。

版本特性

  • 找书与书源管理:内置书源目录、JSON 规则书源导入、多书源搜索,以及按书源分类浏览和管理。
  • 可定制的阅读器:滚动、翻页与双页布局,离线字体、纸张主题、排版预览,配合书签和阅读进度恢复。
  • 离线与本地阅读:按卷或章节下载,导入 EPUB / TXT,导出 EPUB,并管理缓存和存储空间。
  • 听书:系统朗读与在线音源、后台播放、句段高亮跟随、悬浮控制和睡眠定时。
  • 书库与阅读数据:多书架、阅读记录和统计、Bangumi 卷进度同步,以及 .nvbackup 备份恢复。
展开全部版本特性

书源、发现与搜索

  • 从分类目录选择书源,也可导入单条或批量 JSON 规则;导入前预览内容并确认访问网站。
  • 按书源管理启用状态、账户、网站授权、变量和网络设置;一个书源可以加入多个分类。
  • 完整 JSON 编辑器支持查找替换、格式化、语法校验和错误位置跳转。
  • 发现与分类页面保留各自的来源和浏览位置;书源较多时可筛选分类、分页选择。
  • 搜索支持全部书源、单个书源或分组,逐步展示结果,可暂停、继续、加载更多及重试失败来源。
  • Wenku8 搜索结合原站、本地书目和 Bangumi 公开资料识别别名与常见缩写,也支持书籍 ID 或链接定位。
  • 支持需要账户或网页验证的书源;登录、验证与规则配置按各书源实际能力提供。第三方站点的可用性仍取决于其服务和规则。

阅读与外观

  • 支持连续滚动和分页阅读;分页可选择自动、单页或双页,双页受窗口大小、字号与内容兼容性限制。
  • 调整字体、字号、字重、行距、段距和页边距,并在设置中查看页面预览。
  • 内置思源宋体、霞鹜文楷,可离线使用,也可导入本地字体。
  • 提供纸张样式、主题配色和背景设置,支持减少动画;音量键可用于翻页或滚动。
  • 目录支持章节搜索、当前章定位、分卷折叠和长目录分页;可以选择单章或多章标记已读、未读。
  • 书签保存正文位置,可查看、跳转、删除并随备份恢复;切换模式、改变字体或窗口后按正文位置重新定位。

离线下载与存储

  • 下载前按卷、按章勾选范围,任务保存所选章节,并区分“所选章节已完成”和“整书已离线”。
  • 下载任务支持进度查看、取消、失败重试和中断后恢复;正文与图片分别保留可复用的完成结果。
  • 已下载内容可离线阅读;需要网站验证的任务可在验证后继续,更新下载尽量复用有效缓存。
  • 存储管理展示占用情况,并区分阅读缓存、下载内容和本地书籍的清理范围。

本地书籍与 EPUB 导出

  • 从应用内选择文件,或通过其他应用的打开、分享入口导入 EPUB / TXT,统一收进“本地书籍”书架。
  • TXT 可调整编码和章节规则,确认前预览目录与正文;EPUB 支持目录、分卷内容、封面和本地图片。
  • 导入后保存独立副本,移动外部原文件不影响当前设备上的阅读。
  • 在线书籍可按卷准备 EPUB,选择文字或带图内容;支持后台导出、完成通知及系统分享。

听书

  • 使用已安装的系统 TTS 引擎,或选择内置、自行导入的 HTTP 在线音源;提供统一音源选择、试听及语速设置。
  • 支持后台播放、媒体通知控制和自动衔接章节;听书进度与普通阅读进度分别保存。
  • 正文显示当前朗读句段并自动跟随;手动浏览可暂时脱离跟随,点击悬浮封面回到朗读位置。
  • 应用内悬浮播放器可拖动、吸边、暂停或停止,无需系统悬浮窗权限。
  • 可设置 15 / 30 / 45 / 60 分钟定时停止。在线服务需要网络,部分音源还需自行配置账户凭据。

书库、统计与数据备份

  • 创建和管理多个书架,收藏书籍,查看最近阅读、章节进度、阅读时长和读完统计。
  • Wenku8 阅读记录可匹配 Bangumi 小说条目并同步已完成册数;支持核对匹配、手动修正和查看同步结果。
  • .nvbackup 可按选项备份书架、阅读数据、设置、书签及章节缓存,也可分享书架。
  • 恢复前检查备份格式与版本;覆盖恢复中的数据写入失败会回滚,保留原有书库与离线文件。
  • 备份不包含原始 EPUB / TXT 文件;换设备前需另存原文件,恢复后重新关联。旧 .lnr 仅保留受限读取能力。

Changelog

首发累计变更按主题归纳;完整 PR 记录另附在下方折叠区。

  • 阅读位置与统计:修复跨章、切换模式和重排时的位置偏移、旧任务覆盖进度,以及已读标记和时长统计不准确的问题。
  • 书源与搜索:建立按来源隔离的读取链路,完善规则兼容、登录与网络处理,加入聚合搜索、渐进结果和 Wenku8 别名召回。
  • 下载与数据保留:完善任务恢复、选章下载、正文与图片检查点,修复覆盖恢复和备份分享中的数据处理问题。
  • 听书与本地书籍:打通后台朗读、正文跟随、EPUB / TXT 导入、EPUB 导出和书签备份。
  • 性能与发布基础:减少长章重复排版、重复请求和空转动画,修复页面闪空,建立正式签名 APK 与校验文件的发布流程。
展开完整 Changelog(按主题归纳)

阅读位置、章节切换与记录

  • 修复多个阅读会话、迟到保存及异步加载结果互相覆盖进度的问题,限制旧页面对当前阅读状态的影响。
  • 修复滚动和翻页切换、恢复阅读、前后章跳转时落到错误章节或错误位置的问题。
  • 字体、字号、间距和窗口变化后按原文字符位置恢复;连续重排不再不断偏移,纯排版变化不误写阅读进度。
  • 修复滚动模式相邻章的过期结果、重试与跨章位置保存;章节尚未准备好时不提交错误的跨章翻页。
  • 完善每本书的阅读时长结算,减少重复计时、遗漏结算及系统时钟变化带来的误差。
  • 目录显示章节阅读百分比;单章、多章标记未读保留续读章节,并防止旧会话重新写回已清理进度。
  • 手动标记已读后,整书进度按更新后的最大章节进度重算,读完最后一章可触发相应统计。

相关 PR:位置恢复 #536、重排与进度 #553、标记未读 #281、已读统计 #667。

阅读器布局、外观与书签

  • 分开行距与段距,统一字体、排版和页面预览入口;加入内置离线字体及本地字体导入。
  • 增加纸张样式、菜单配色与减少动画选项,完善音量键翻页和滚动行为。
  • 根据窗口可用区域计算正文布局,接入同章双页、章节边界跳转和单双页偏好;无法双页时显示具体原因。
  • 书签保存字符位置和正文摘要,避免字体或窗口变化后只按旧百分比跳转;正文已变化时提示定位限制。
  • 目录打开时定位当前章,长目录采用惰性显示;增加标题搜索、跨卷查找、分卷折叠与连续分页。
  • 调整阅读设置顶部、字体导入入口和预览留白,修复加载过程中的文字闪现及部分菜单切换问题。

相关 PR:排版预览与字体 #208、书签 #348、双页 #549、目录 #563、设置布局 #675。

书源导入、管理与规则兼容

  • 将书籍、章节、图片、缓存、下载和导出绑定到所属书源,避免切换来源后读错内容或混用缓存。
  • 接入 JSON 规则书源导入、批量预览与校验,完善 HTML、XPath、JSON、JavaScript 及组合规则处理。
  • 改善动态请求头、脚本公共库、字符编码、压缩响应、分页目录、空行和大目录的兼容处理。
  • 书源脚本使用隔离执行环境;完善取消、超时、执行预算及来源独立的网络与存储边界。
  • 提供分类书源目录、分组筛选和多分类成员管理,保留来源身份及原有书架、历史和缓存关联。
  • 完整 JSON 编辑器加入查找替换、格式化、语法校验、行列错误定位;网络权限与变量分别保存,错误就近显示。
  • 调整 Pixiv 的账户、阅读、发现与屏蔽入口,接入受管理更新;书籍详情可按作品、作者或标签屏蔽。
  • 清理失效目录项和不再使用的外部 LNRP 插件系统;移除旧书源测试、报告导出与修订回滚入口。首发保留的是当前 JSON 书源能力。

相关 PR:多分类管理 #474、Pixiv 更新 #491、移除外部插件 #515、屏蔽管理 #535、JSON 编辑 #653。

登录、网站验证与网络请求

  • 完善书源账户的加密保存、浏览器登录、Cookie 同步及会话恢复,减少重新打开面板后丢失登录状态的问题。
  • 区分账户登录、网站验证、权限不足、DNS 错误、地址拒绝、限流和 HTTP 错误,避免统一显示为空结果。
  • 新增网站访问需明确授权;跨域、重定向及动态地址继续检查权限,错误信息隐藏凭据和敏感地址参数。
  • 修复旧请求覆盖新 Cookie、账户变化后复用旧缓存及登录检查使用过期结果的问题。
  • 完善 WebView 与普通请求的 User-Agent、路由和限速处理,以及 Fake-IP / 代理环境下的地址判断。
  • 优化网页验证完成后的重试、登录超时、取消和前后台恢复;下载中的验证可以回到原任务继续。

相关 PR:网页验证恢复 #370、会话恢复 #436、Cookie 覆盖 #588、WebView UA #594。

发现、分类与搜索

  • 建立跨书源聚合搜索,按当前范围调度并渐进显示结果;来源失败互不阻断,同源结果去重,跨源同名书籍保留独立身份。
  • 统一搜索书籍列表,补充封面、作者、简介和来源;保留搜索历史、关键词、结果及返回后的列表位置。
  • 支持暂停、继续、分页和仅重试失败来源;从书源页面进入搜索时继承当前来源,并允许显式扩大范围。
  • Wenku8 搜索加入简繁、全半角、大小写和标点归一化、本地目录召回、别名匹配及有限容错。
  • Bangumi 公开查询提供备用线路,用于 Wenku8 搜索匹配;账户同步请求不使用该公开搜索镜像。
  • Wenku8 首页先展示已返回内容,补充栏目独立加载和重试;刷新失败保留已有书卡。
  • 改善封面重试、简介文本处理、预览并发和详情请求复用;减少首次列表跳动及长标题、大字号下的布局问题。

相关 PR:聚合搜索 #365、渐进首页 #593、别名召回 #606、搜索范围 #614。

下载任务与存储管理

  • 持久保存下载任务和增量进度,恢复未完成任务;统一排队、运行、失败与完成状态。
  • 为暂时性失败提供有限重试,完善前台下载服务的启动、取消与退出,防止后台任务状态滞留。
  • 正文和图片分别保存检查点;后续内容失败时保留已完成结果,重试只补齐缺失部分。
  • 加入独立选章下载页,保存整卷或逐章选择;不会把少量章节下载完成误报为整书离线。
  • 完善验证后续传、有效正文复用和离线内容更新;自动下载仅针对新加入书架的书籍触发。
  • 后台书籍更新按源分组调度,移除逐书固定等待,同源控制并发,单本失败不阻塞其他来源。
  • 存储页提供占用概览,清理阅读缓存时保护下载文件,并明确本地书籍的删除范围。

相关 PR:任务恢复 #493、检查点 #514、选章下载 #557、后台更新 #589、存储管理 #605。

本地书籍、EPUB 导出与分享

  • EPUB / TXT 导入接入书架、阅读、目录与统计;TXT 支持编码选择、章节规则和导入预览。
  • EPUB 按正文顺序解析目录、元数据、封面和本地图片;不主动加载书内外部资源,不支持的图片形式给出明确错误。
  • 导入文件保存在应用私有目录,取消和失败清理未提交内容;手动与外部文件入口统一使用“本地书籍”书架。
  • 备份恢复后可重新关联本地原文件,并改善损坏文件、编码和格式错误的提示。
  • 完善 EPUB 的 XHTML 输出和混淆构建中的 XPath 兼容;支持缓存内容导出、分卷选择和带图导出。
  • 导出准备按章保存正文、暂存转换结果,减少整书常驻内存;失败重试复用有效内容,不覆盖已有离线图片。
  • 整理后台导出、完成通知与分享文件的生命周期,保证分享接收方可通过授权读取生成文件。

相关 PR:本地导入 #240、后台导出 #505、按章准备 #577、本地书架 #648、分享产物 #673。

听书与播放控制

  • 打通系统 TTS 合成、音频播放、后台媒体服务和章节衔接,独立保存听书位置。
  • 加入 HTTP 音源导入、编辑和播放,内置默认音源目录;统一系统与在线音源选择及用户凭据配置。
  • 修复合成期间暂停意图丢失、快速换书、停止后旧任务恢复播放,以及通知跨会话串用等问题。
  • 增加睡眠定时,到期取消取章、合成与播放,并清理通知和临时音频。
  • 增加可拖动和收边的应用内悬浮控制,点击封面返回正在朗读的书与章节。
  • 正文句段高亮、滚动和翻页跟随接入实际播放状态;手动浏览暂停跟随,返回时等待当前章排版后准确定位。
  • 朗读索引改为异步准备,减少长章节进入时阻塞;在线音源无逐字时间戳时按音频位置估算跟随,不宣称逐字精确同步。

相关 PR:系统听书 #253、在线音源 #256、内置音源 #293、悬浮控制 #304、正文跟随 #309。

书架、Bangumi 与备份恢复

  • 调整书架网格、书籍操作和元数据刷新,修复收藏保存及主页进度展示中的问题。
  • Wenku8 阅读记录可自动匹配 Bangumi 小说系列,按已完成出版册同步,保留较高远端进度并避免重读重复计数。
  • 增加匹配修正、同步成功与错误记录;有歧义或目录不完整时保留待核对状态。
  • 完成书签的创建、跳转、去重与备份恢复;不同书源的同名书籍不共享书签身份。
  • 统一使用 .nvbackup 导出用户数据和分享书架,检查清单、版本、大小及压缩包完整性。
  • 覆盖恢复在同一事务内提交数据,成功前保留旧离线文件;失败或提交前取消时不清空原书库。
  • 修复“导出并分享”忽略勾选项的问题,取消书签等选项后,保存和分享均遵守本次选择。

相关 PR:Bangumi 同步 #286、恢复回滚 #342、备份格式 #504、分享选项 #672。

性能、界面与兼容性

  • 长章节采用有界排版准备,复用可重用的测字结果;段距或视口高度变化时减少整章重复计算。
  • 当前章优先准备,限制相邻章竞争;取消过期测量,减少重复正文解码、同步预取和主线程工作。
  • 目录按有界批次解析,对满足条件的分页目录预取;详情、选章和下载复用近期完整目录,避免短时间重复加载。
  • 前台读取优先于后台任务,排队等待不再直接耗尽规则执行时间;完善取消后释放请求与执行槽位。
  • 主页与书架复用订阅及书籍资料;加载占位退出后停止动画,修复根页面切换时同时淡空。
  • 将电量查询等工作移出关键界面路径,减少重复导航和设置弹层切换开销。
  • 整理英文、简中、繁中和俄语资源,修复繁中文案格式崩溃,补充长文本、大字号与紧凑窗口的相关布局适配。
  • 建立 JVM、API 24 / 35 设备、混淆运行时、Release APK 和 Android Lint 检查;固定构建环境并维护相关回归覆盖。

相关 PR:异步准备 #550、前台调度 #591、目录批处理 #655、阅读与主页性能 #664。

首次正式发布

  • 版本名称定为 0.1.0,版本码延续既有值递增,为后续 Android 覆盖升级保留顺序。
  • 使用 NextVol 独立正式签名,检查 APK 的包名、版本、证书、最低系统版本和非调试属性。
  • 提供通用 APK 与 SHA256SUMS,将本页作为统一发布说明;正式发布标签固定本次源码。

相关 PR:首次发布 #678、发布核验修正 #680。

展开完整 PR 记录(316 项,含本次发布配置)

以下列出本版本纳入的 PR,按编号排列。标题保留开发时的记录;部分早期实现随后被调整或移除,当前功能以本页“版本特性”和分类 Changelog 为准。

  • #1 Fix reader overlay, reading resume, and selection dismissal
  • #2 Fix reader menu flicker and stale selection toolbar
  • #3 fix(reader): stabilize immersive viewport around display cutouts
  • #4 refactor(reader): separate display and platform effects
  • #5 refactor(settings): separate reader values from edit handles
  • #6 refactor(reader): isolate reading records and timing effects (R4)
  • #7 refactor(book): isolate chapter and reading data access (R3)
  • #8 test(reader): audit R1 R2 R4 behavior and document follow-ups
  • #9 refactor(content): separate R5 decoding, construction and reader adapters
  • #10 refactor(reader): isolate R6 reading modes and task ownership
  • #34 fix(storage): prevent concurrent reading data updates from overwriting progress
  • #35 fix(book): retain cached content when remote refresh fails (BOOK-001)
  • #36 fix(reader): ignore stale flip chapter results (READ-001)
  • #37 fix(reader): cancel stale scroll neighbors (SCROLL-001)
  • #38 fix(reader): retain current chapter across mode switches (MODE-001)
  • #39 fix(reader): apply late flip progress immediately (FLIP-001)
  • #40 fix(reader): invalidate stale flip restoration (FLIP-002)
  • #41 fix(reader): bound directory and mode lifetimes (READ-006)
  • #42 fix(reader): synchronize flip pagination inputs (PAGE-002)
  • #43 fix(reader): guarantee pagination progress (PAGE-001)
  • #44 fix(stats): preserve per-book time buffers (STATS-001)
  • #45 fix(stats): preserve summary minute precision (STATS-002)
  • #46 fix(reader): settle reading time once (READ-002)
  • #47 fix(reader): aggregate updated chapter progress (READ-004)
  • #48 fix(reader): measure reading time from elapsed clock (READ-005)
  • #49 fix(reader): capture progress event identity (READ-003)
  • #50 fix(work): observe unique task identity (BOOK-003)
  • #51 fix(settings): make safe observation resilient (SET-001)
  • #52 test(settings): verify shared edit propagation (TEST-001)
  • #53 fix(content): isolate component decode failures (CONTENT-002)
  • #54 fix(content): preserve text processing JSON fields (CONTENT-004)
  • #55 fix(cache): use consistent proxy cache keys (CACHE-001)
  • #96 test(sources): establish pinned compatibility corpus (VNR-10)
  • #97 refactor(sources): own runtimes by source identity (VNR-01)
  • #100 refactor(plugin): keep acquisition local-only
  • #101 fix(reader): bind reading and image access to book sources (VNR-03)
  • #102 fix(work): bind cache, updates and exports to book sources (#76)
  • #103 feat(discovery): source-bound feeds and Wenku8 categories (#77)
  • #104 feat(rules): Legado parsing, selectors and composition (#84)
  • #105 feat(network): source-isolated request broker and storage (#85)
  • #106 feat(import): validated direct source definition import (#83)
  • #107 feat(execution): add killable source worker protocol (#86)
  • #108 feat(source): complete Rhino novel-source bridge profile (#87)
  • #109 feat(session): isolate source login and cookie generations
  • #110 feat(browser): isolate source web sessions by epoch
  • #111 feat(pipeline): bind source context across content stages
  • #112 ci: clarify isolated execution checks and reuse Gradle cache
  • #113 feat(execution): run Rhino through authenticated source broker IPC
  • #114 feat(source): connect imported rules to reading, images and offline cache (VNR-18)
  • #115 feat(bookshelf): add adaptive grid layout and saved preference (#59)
  • #116 fix(epub): make XHTML exports compliant (#72)
  • #117 feat(sources): validate revision updates and support atomic rollback (VNR-22)
  • #118 feat(reader): support volume key scrolling and page navigation (#61)
  • #119 feat(session): complete production rule login and encrypted account lifecycle (#88)
  • #120 feat(browser): connect Chromium rules and foreground source login (#89)
  • #121 feat(settings): manage imported sources and explicitly clear reading cache (#92)
  • #122 feat(diagnostics): trace production source rules and redact native logs (#93)
  • #124 fix(source): evaluate dynamic headers at request operations (#123)
  • #125 feat(categories): add source tabs and isolated result sessions (#78)
  • #126 feat(discovery): map rule catalogues and source-scoped actions (#91)
  • #127 feat(explore): source tabs and isolated search context (#79)
  • #128 feat(navigation): promote categories and move settings to root actions (#80)
  • #129 refactor(sources): retire global selection and verify host isolation (#81)
  • #130 feat(sources): complete profile compatibility and mixed acceptance (#95)
  • #143 fix(sources): parse quoted request options consistently (#131)
  • #144 fix(sources): bound native chapter markup conversion (#132)
  • #145 fix(discovery): 兼容真实书源大目录与空白分隔行
  • #147 fix(sources): 区分地址拦截、DNS 失败与站点未授权
  • #148 fix(sources): 补齐跨域授权候选与来源权限反馈
  • #149 feat(sources): 独立保存来源启停与发现显示偏好
  • #150 feat(sources): add native Z-Library search and metadata
  • #151 fix(sources): 完善批量导入、来源状态与管理展示
  • #152 fix(covers): 统一默认封面与加载失败回退
  • #153 feat(sources): 直接导入已知 LNRP 并维护对应站点规则
  • #155 fix(sources): 补齐来源前导脚本与复杂样本依赖诊断
  • #157 fix(import): accept Legado string concurrentRate values
  • #159 feat(rhino): support bounded text parser entry points
  • #162 fix(network): decode bounded HTML charset declarations
  • #164 feat(sources): directly import complete Legado novel collections
  • #165 feat(sources): import Fanqie novels without a plugin
  • #167 fix(network): support Clash Fake-IP for novel sources
  • #169 fix(sources): simplify adding sources and website sign-in
  • #170 fix(images): avoid duplicate search and poisoned cover caches
  • #172 fix(sources): align readiness, discovery, and Legado fallbacks
  • #175 fix(sources): restore Legado flows and regional Fake-IP DNS
  • #179 fix(sources): align Legado interpreter results and chapter parsing
  • #183 fix(sources): complete inline parsing and stabilize Legado execution
  • #187 feat(sources): add native WebView account sessions
  • #188 feat(sources): 前台网站验证后恢复原读取与后台停止提示
  • #189 fix(sources): align Legado interpreter and request semantics
  • #190 fix(sources): 落实 HTTP 与原生浏览器的 concurrentRate 请求节奏
  • #192 fix(sources): 修复 hlib 四入口预览、标签分类与登录误判
  • #193 fix(sources): align Legado state, cache lifetimes and catalogue reuse
  • #195 ui(categories): 将整行分类改为轻量自适应标签
  • #198 fix(sources): align Legado chapter parsing and metadata
  • #199 fix(hlib): 移除默认两秒请求间隔并明确加载延迟来源
  • #200 ui(browser): 用紧凑工具栏统一网站窗口操作
  • #202 perf(discovery): 渐进显示已完成的首页预览
  • #205 fix(discovery): 修复 MuMu 发现解析差异并保留可用入口
  • #206 test(browser): verify native environments and session continuity
  • #207 feat(reader): separate line and paragraph spacing (#66)
  • #208 feat(reader): preview layout and provide offline fonts (#60)
  • #210 feat(discovery): show book previews and preserve category tags (#209)
  • #213 feat(search): add source-scoped aggregate search
  • #221 fix(source): accept bounded lenient login form data (#216)
  • #222 feat(source): bypass Android VPN per broker source (#214)
  • #223 feat(source): clarify source settings and account status (#215)
  • #224 fix(source): distinguish login facts and website verification (#217)
  • #225 feat(source): apply per-source routes to native browser (#219)
  • #226 fix(source): retain declared browser preferences across account resets (#218)
  • #228 fix(download): preserve downloads and support incremental updates (#68)
  • #229 chore(settings): retire unused automatic public proxy (#227)
  • #230 feat(source): route Wenku8 requests through source network settings (#220)
  • #234 fix(build): restore Android release packaging with Rhino
  • #235 refactor(app): migrate application identity to NextVol (#231)
  • #237 fix(epub): retain the reflective XPath parser in minified APKs (#236)
  • #239 fix(bookshelf): simplify actions and retain .lnr sharing (#238)
  • #240 支持导入本地 EPUB/TXT 与章节预览
  • #242 精简主页顶部并修复首次加载后的列表跳位
  • #244 fix(sources): restore dynamic catalogue script scopes
  • #246 修复压缩包书源执行并加入运行回归
  • #249 修正主页标签留白与加载反馈
  • #253 feat(tts): 支持系统听书与后台播放
  • #255 用可控时钟验证缓存过期,消除20毫秒测试时序依赖
  • #256 feat(tts): HTTP 在线音源导入、管理与真实播放验证
  • #258 docs(tts): 发布 98 条在线音源的真实覆盖与接入说明
  • #259 refactor(i18n): 分离中英文界面文案与操作名称
  • #260 refactor(i18n): 分离显示状态并本地化时长与通知
  • #261 refactor(i18n): 分离更新进度与通知文案
  • #262 refactor(i18n): localize shared controls and app notices
  • #263 fix(i18n): 补齐本次软件文案拆分的俄语资源
  • #264 fix(reader): 连续重排保留原字符锚点
  • #266 ci: 预热 main Gradle 缓存并拆分 Android 检查
  • #268 fix(tts): 隔离重启通知并验收后台跨章播放
  • #270 feat(tts): 增加听书定时停止与到期清理
  • #272 chore: 整理源码与测试目录,移除过程报告
  • #274 feat(detail): 目录显示非当前章节的阅读百分比
  • #275 feat(reader): 新增七套纸张并统一阅读菜单配色
  • #277 fix(detail): 修正整数阅读百分比的浮点截断
  • #280 refactor(settings): 收拢日志、存储、更新与关于页面
  • #281 feat(detail): 目录单章与多章标记未读,保留续读位置
  • #282 feat(reader): 增加独立的减少阅读动画开关
  • #283 fix(reader): 修复连续滚动切章串写与失败重试
  • #284 fix(reader): 末页滑动跨章并在相邻章准备完成后提交
  • #285 fix: EPUB 完整缓存后导出并通过系统分享交付
  • #286 feat: 自动匹配 Wenku8 阅读记录并同步 Bangumi 卷进度
  • #288 fix: 修复续读位置丢失及手动上一章落点
  • #290 fix: 收拢阅读外观设置并优化字体与预览
  • #292 fix: 精简设置与日志界面并修复日志清理
  • #293 feat(tts): 内置默认音源并统一选择与凭据配置入口
  • #296 精简添加书源页面,仅保留链接与本地文件导入
  • #299 fix: 处理 CI 桌面 ANR 与字体列表自动定位竞态
  • #304 feat(tts): 紧凑听书悬浮窗与拖拽收边交互
  • #305 fix(reader): 限制正文滚动排版量,避免整章预取卡顿
  • #306 perf(bangumi): 复用阅读期间未变化的目录核对结果
  • #307 perf(reader): 合并进度保存并减少整书记录重复读写
  • #309 feat(tts): 正文句段高亮、自动跟随与准确返回
  • #311 fix(tts): 合成与片段间等待时保留系统暂停意图
  • #313 feat(sources): 接入六类书源目录与分页,修复详情闪动
  • #316 fix(reader): 防止开始和继续阅读连击叠加页面
  • #317 fix(sources): 修复规则与实读链路,恢复分类并核验 89+400 个样本
  • #338 fix(i18n): 修复繁中插件公钥详情格式化崩溃
  • #339 fix(i18n): 统一书源术语、管理入口与失败提示
  • #340 fix(reader): 排版预览实时反映四边距与自动留白
  • #341 fix(reader): 打开目录直接定位当前章并惰性渲染章节
  • #342 fix(backup): 覆盖恢复整体回滚并保留离线文件
  • #343 fix(i18n): complete supported translations and enforce resource contracts
  • #344 fix(local-import): 本地化 TXT/EPUB 导入错误并保留诊断详情
  • #345 feat(reader): 目录标题搜索与跨卷章节定位
  • #346 fix(lint): resolve API and resource findings with an explicit legacy baseline
  • #347 ci: gate pull requests with Android Lint and resource contracts
  • #348 feat(reader): 完成阅读书签与备份恢复链路
  • #354 test(tts): 同步耳机断开回归的真实接收器注册时序
  • #356 test(reader): synchronize volume-key tests with initial placement
  • #358 fix(ci): prevent boot logcat diagnostics from aborting device tests
  • #359 ci: 隔离字体不稳定测试并重试设备报告采集
  • #361 feat(local-book): 恢复后重新关联原文件(补入 main)
  • #363 fix: 修复合并后的书签模式切换与本地书分享衔接
  • #364 ci: 固定 Android 版本、复用构建缓存并修复设备检查
  • #365 feat(search): 按书源分组重构搜索与分页书籍列表
  • #367 fix: 添加书源先显示导入,再显示分类
  • #368 fix(ui): 分层展示发现页错误与诊断详情
  • #369 fix(explore): 适配发现榜单长标题与大字号
  • #370 fix(sources): 补齐 WAF 验证恢复、表单 UA 与取消
  • #371 fix(ui): standardize page and sheet typography
  • #372 [P2] fix(source-browser): handle gesture back in website windows
  • #389 fix(sources): 分离登录信息原文与表单投影
  • #390 fix(import): unify origin validation and identify invalid permission lines
  • #391 fix(sources): 打开操作面板时保留账号会话
  • #405 fix(rhino): add bounded Java sleep and wall clock calls
  • #414 fix(sources): expose request UA, readonly metadata and variable alias
  • #415 fix(sources): support current request refetch in loginCheckJs
  • #416 fix(sources): 稳定较大动态面板与同名按钮派发
  • #417 fix(sources): 脚本缓存按账号 generation 归属
  • #418 fix(sources): 补齐 Cookie 重载与受控网页写入兼容桥
  • #419 fix(sources): scope script memory cache to one search query
  • #420 fix(sources): 归并规范书籍身份并保留阅读归属
  • #421 fix(sources): 保留真实续页与过滤空页语义
  • #422 fix(sources): 保留安全宿主调用与执行阶段诊断
  • #423 feat(reader): 为书源操作面板提供当前书章上下文 (#387)
  • #424 test(sources): 添加 Pixiv 生命周期验收与跨来源回归 (#388)
  • #426 fix(sources): 支持浏览器宿主调用的内联请求选项
  • #433 fix(sources): 修复前台登录等待超时 (#427)
  • #434 fix(sources): 恢复浏览器完成后的登录成功分支 (#428)
  • #435 fix(network): 调整 Fake-IP DNS 回退以恢复 Pixiv 请求 (#429)
  • #436 fix(sources): 持久化并恢复浏览器会话状态 (#430)
  • #437 fix(network): 统一书源响应编码协商与解压 (#431)
  • #438 fix(sources): 避免同键缓存读取耗尽搜索请求预算 (#432)
  • #440 perf(sources): 跳过未配置 kind 的空任务并提供发现页耗时对照
  • #460 fix(browser): 在限速等待后重新校验 Cookie 准入
  • #462 feat(sources): 将 Pixiv 小说加入 R18 分类
  • #464 fix(sources): 将保存成功提示改为一次性反馈
  • #466 fix(discovery): 恢复 Pixiv 等脚本书源的安全预览并发
  • #467 fix(settings): 居中欢迎预览并优化纸张样张与过渡
  • #468 fix(sources): 按目录分类归组并移除预设筛选
  • #470 refactor(sources): 精简 Pixiv 设置并移除投票与第三方专题
  • #471 fix(discovery): 并行解析预览并限制后台资源占用
  • #472 fix(sources): 修复浏览器 Cookie、HTTP 误报与 Pixiv 登录
  • #474 feat(sources): 完善多分类管理与成员整理界面
  • #475 fix(sources): 修复第一版主旧域跳转后的规则失效
  • #476 fix(sources): 以自维护爱丽丝书屋替换内置规则
  • #477 ui(sources): 精简书源列表与分类筛选
  • #491 fix(sources): 优化书源配置并安全接管 Pixiv 更新
  • #493 fix(download): 持久恢复未完成任务并统一下载状态
  • #494 feat(sources): 增加 UA 来源与执行链路诊断
  • #495 fix(detail): 修正书籍元数据展示并补齐内置更新时间规则
  • #500 fix(download): 为瞬时网络失败提供有界持久重试
  • #504 feat(backup): 引入 NextVol 备份格式
  • #505 refactor(epub): 分离导出用例与 Worker
  • #506 refactor(plugin): 分离安装细节与运行时状态管理
  • #507 refactor(updates): 解耦更新策略与设置 UI
  • #508 fix(bookshelf): 修复收藏闪退、移除冗余说明并补齐保存边界
  • #510 fix(reader): 保留部分目录并修复空缓存吞掉请求错误
  • #512 feat(sources): 补充轻量 Cookie 与 WebView 环境诊断
  • #513 fix(download): 可恢复前台下载生命周期(CD-04)
  • #514 fix(download): 拆分正文资源检查点并隔离独立章节失败
  • #515 refactor: 彻底移除 LNRP 外部插件系统
  • #517 ci: 清理重复书源测试并复用预构建 APK
  • #518 fix(download): 连接后台验证等待与原下载任务续跑
  • #519 fix(download): 复用可信正文并提供显式离线更新 (#485)
  • #521 ci: 清理慢回归并调整 Release Lint 负载
  • #523 test(reader): 修复章节定位与阅读设置断言
  • #534 feat(reader): 窗口布局策略与真实正文几何接线
  • #535 feat(pixiv): 作品详情屏蔽与原生屏蔽管理
  • #536 fix(reader): 跨模式原文定位与重排、重建恢复
  • #549 feat(reader): 同章双页渲染与章节边界导航 (#529)
  • #550 perf(reader): 按需后台准备朗读索引
  • #551 fix(reader): 避免独立预取阻塞滚动邻章挂载
  • #552 fix(reader): 避免相同处理后正文重复解码与排版
  • #553 [阅读进度] 区分重排显示与合法阅读写入 (#530)
  • #554 test(benchmark): 补充启动就绪观测与受控夹具
  • #555 [双页交互] 统一输入并限定活动阅读器权限 (#531)
  • #556 fix(download): 明确提交结果并修复惰性来源下载被拒绝
  • #557 feat(download): 新增二级选章下载页并持久化执行范围
  • #558 test(reader): 建立生产路径阅读性能基准
  • #559 [阅读器] 滚动正文限宽与跨章原文位置保护(#532)
  • #560 [阅读设置] 页面布局偏好与实际降级说明(#533)
  • #561 fix(reader): 逐段停止过期翻页测量
  • #563 feat(detail): 全书连续分页、分卷折叠与轻量目录导航
  • #567 fix: exclude discovery parser queueing from execution budget
  • #568 fix: render rule source HTML descriptions as plain text
  • #569 perf(sources): 优化缓存、前台排队及重复详情请求
  • #570 fix(wenku8): 统一图片与可达性检查的浏览器 UA
  • #571 perf(wenku8): 消除重定向退避并落实八路并行
  • #574 fix(discovery): 修复规则书源发现页封面字段丢失
  • #575 test: 修正发现页并发测试的等待 worker 计数
  • #576 fix(bookshelf): 仅新增入架后提交自动下载
  • #577 fix(epub): 按章保存准备结果并暂存转换正文
  • #588 fix(session): 修复登录Cookie阻断浏览器及旧值覆盖新会话
  • #589 perf(update): 按源调度后台更新并移除固定等待
  • #590 修复图片出口 UA 缺失与空值覆盖
  • #591 perf(execution): 共享执行槽前台优先并限制后台越队次数
  • #592 修复失败封面原地恢复与 HTTP 错误分类
  • #593 perf(wenku8): 首页渐进返回并支持栏目独立重试
  • #594 对齐会话自动 UA 与实际 WebView 身份
  • #599 fix(reader): 在当前绘制周期生成滚动正文,消除首帧闪空
  • #600 perf(reader): 异步订阅电量,移除重组中的同步 Binder 查询
  • #601 fix(navigation): 响应转场期间的底部 Tab 点击
  • #603 fix(sources): 让排队取消与调用方超时及时完成退出
  • #604 perf(download): 为文库八下载增加有界章节预取
  • #605 feat(storage): 环形空间概况、清理边界与下载保护
  • #606 feat(search): 增强 Wenku8 缩写召回并接入 Bangumi 备用线路
  • #607 feat: 支持外部文件导入并自动归入本地书籍书架
  • #610 fix: 音量键滚动增加轻量过渡,默认翻页距离改为 60%
  • #613 fix(reader): 统一进入阅读页的加载反馈并避免章节闪动
  • #614 feat(search): 继承当前书源并简化搜索范围选择
  • #616 fix(reader): smooth theme settings navigation
  • #618 fix(stats): display reading durations by actual unit
  • #619 fix(reader): 修复滚动正文高频抖动与进度错位的 P0 故障
  • #623 perf(reader): reduce scroll and chapter-boundary frame work
  • #624 fix(bangumi): 内置 DoH/ECH 并修复连接选择与同步确认
  • #627 搜索:统一并发 8、相关性排序与规则解析链路
  • #628 refactor(reader): isolate scroll layout state and document update flow
  • #630 test(reader): 等待阅读区域焦点就绪后测试音量键
  • #633 fix(stats): 消除统计周期切换闪烁与过期查询覆盖
  • #636 fix(reader): 稳定继续阅读入场并减少底栏布局开销
  • #638 fix(sources): list only categories in use in scope pickers
  • #640 fix(download): remove offline-content updates; downloaded chapters are final
  • #642 fix(download): clarify the download chapters page and lock downloaded chapters
  • #644 fix(discovery): show covers for books whose source lists them without one
  • #646 fix(sources): dissolve Official Sites, remove dead 涩涩俱乐部, label R18
  • #648 fix(local-import): import every local book into the Local Books shelf
  • #653 fix(sources): 完善 JSON 编辑与权限保存,移除测试和回滚功能
  • #654 fix(reader): 修复无痕滚动跨章时的正文错配闪动
  • #655 fix: batch and prefetch catalogues, reuse them for downloads (#651)
  • #656 fix(reader): 消除千段落滚动的位置映射热点并限制布局节点
  • #658 ci: 按改动范围分类任务并删减非阅读器测试
  • #662 docs: 整理公开文档并隔离本地归档
  • #664 perf(ui): 复用阅读排版、优先当前章并修复主页空转与闪空
  • #667 fix: 手动标记已读后使用更新后的最大阅读进度
  • #671 refactor(reader): 归拢渲染组件与阅读器外观工具
  • #672 refactor(ui): 归拢业务弹窗并修复备份分享选项传递
  • #673 refactor(export): 明确 EPUB 分享产物与平台入口归属
  • #675 fix(ui): 收紧阅读设置顶部并对齐字体导入入口
  • #678 feat(release): 完成 NextVol 0.1.0 首次签名发布流程
  • #680 fix(release): 修正正式 APK 最低系统版本核验

下载与安装

下载附件 NextVol-0.1.0-release.apk,需要 Android 7.0 或更新版本。这是通用安装包,无需选择 CPU 架构。

SHA256SUMS 提供安装包的 SHA-256 校验值。GitHub 自动生成的 Source code 压缩包用于获取源码。

  • 本次先建立正式发布基线,应用内更新源迁移随后完成。当前请从本发布页手动下载;现有应用内更新提示尚不代表 NextVol 的新版本。
  • Debug / Snapshot 与正式版分开安装。已有同包名构建若使用其他签名,无法直接覆盖安装;迁移前请先备份需要保留的数据,并单独保存本地 EPUB / TXT 原文件。