## What's Changed
* fix(about): 优化检测更新弹窗,将更新按钮移至底部常驻 by @ISuuuu in https://github.com/HapeLee/legado-with-MD3/pull/2447
* fix(readaloud): 修复HTTP朗读在当前章未完成时抢占预合成导致的断流卡顿 by @ISuuuu in https://github.com/HapeLee/legado-with-MD3/pull/2448
* feat: 内置词典规则更新为汉典并清理失效的百度汉语规则 by @xuezhi123go in https://github.com/HapeLee/legado-with-MD3/pull/2450
* fix(reader): 引号跨段时角色气泡不再把整章排版打挂 by @2408893730 in https://github.com/HapeLee/legado-with-MD3/pull/2461
* feat(reader): 阅读主题列表弹窗(网格/流式/管理/导入导出) by @qmzd111 in https://github.com/HapeLee/legado-with-MD3/pull/2465
* fix&feat: add configurable AI chat entry with reading context & fix IME double avoidance by @izumisagirii in https://github.com/HapeLee/legado-with-MD3/pull/2472
* feat(ui): 搜索/发现/详情页封面按原图宽高比自适应(默认固定 5:7,设置可关) by @shaoyangz1 in https://github.com/HapeLee/legado-with-MD3/pull/2473
* fix(cast): 人物档案读取被夹到 80 个,配音页与人物列表少列人 by @2408893730 in https://github.com/HapeLee/legado-with-MD3/pull/2474
* feat(cast): AI 分配角色带上「过了几章没开口」与下一章开头 by @2408893730 in https://github.com/HapeLee/legado-with-MD3/pull/2476
* opt: memory usage by @izumisagirii in https://github.com/HapeLee/legado-with-MD3/pull/2478
## New Contributors
* @xuezhi123go made their first contribution in https://github.com/HapeLee/legado-with-MD3/pull/2450
* @qmzd111 made their first contribution in https://github.com/HapeLee/legado-with-MD3/pull/2465
* @izumisagirii made their first contribution in https://github.com/HapeLee/legado-with-MD3/pull/2472
* @shaoyangz1 made their first contribution in https://github.com/HapeLee/legado-with-MD3/pull/2473
* 咕噜噜
* feat: 阅读界面优化
* feat: 添加阻止书源打开选项 在搞基里
* feat:优化听书界面
* fix(about): 优化检测更新弹窗,将更新按钮移至底部常驻 (#2447)
* fix(test): 移除ReadBookViewModel多余空行以满足2748行架构测试上限
* fix(readaloud): 修复HTTP朗读在当前章未完成时抢占预合成导致的断流卡顿
* fix(about): 优化检测更新弹窗,将更新按钮移至底部常驻
* fix(reader): keep word spaces at line end when wrapping English text
* feat: 呱
* feat: 呱
* feat: 优化
* feat: 优化
* fix(read-aloud): preserve pause across paragraph resume
* fix(reader): 角色胶囊与整串标点不再把一行顶出空洞
* fix(read-aloud): 段落间隔不再重建本章合成任务,纯符号段不再被跳过
## What's Changed
* fix(read-aloud): 段落间隔不再重建本章合成任务;reader: 胶囊与标点串不再顶出空洞 by @2408893730 in https://github.com/HapeLee/legado-with-MD3/pull/2443
* fix(about): 优化检测更新弹窗,将更新按钮移至底部常驻 by @ISuuuu in https://github.com/HapeLee/legado-with-MD3/pull/2447
* fix(readaloud): 修复HTTP朗读在当前章未完成时抢占预合成导致的断流卡顿 by @ISuuuu in https://github.com/HapeLee/legado-with-MD3/pull/2448
## What's Changed
* Refractor mad by @5151561 in https://github.com/HapeLee/legado-with-MD3/pull/1809
* feat(read): add custom header/footer template feature by @52fisher in https://github.com/HapeLee/legado-with-MD3/pull/1807
* 添加对字体选择的排序支持 by @woruteyqi in https://github.com/HapeLee/legado-with-MD3/pull/1811
* fix:阅读界面切换深浅后状态栏显示的问题 by @fansangg in https://github.com/HapeLee/legado-with-MD3/pull/1810
* fix: resolve theme slider UX changes on latest main by @HapeLee in https://github.com/HapeLee/legado-with-MD3/pull/1812
* feat: 多角色 TTS 与听书播放器 by @HapeLee in https://github.com/HapeLee/legado-with-MD3/pull/1813
* Mad 2 by @5151561 in https://github.com/HapeLee/legado-with-MD3/pull/1816
* 修改铲屎机器人运行周期 by @woruteyqi in https://github.com/HapeLee/legado-with-MD3/pull/1838
* refactor:护眼模式重构 by @fansangg in https://github.com/HapeLee/legado-with-MD3/pull/1819
* refactor: 设置读写统一到 transform 原子更新网关(MAD 拆分 1/5) by @5151561 in https://github.com/HapeLee/legado-with-MD3/pull/1840
* 修复一批阅读器 / 主题相关问题 by @5151561 in https://github.com/HapeLee/legado-with-MD3/pull/1843
* feat(reader): 全文页码 -- 融合 #1854 估算校准 + #1851 全书扫描 by @HapeLee in https://github.com/HapeLee/legado-with-MD3/pull/1865
* fix(epub): 修复超过 2GB 的 EPUB 无法读取 by @todoXu in https://github.com/HapeLee/legado-with-MD3/pull/1863
* 页眉页脚添加PageRemaining by @5151561 in https://github.com/HapeLee/legado-with-MD3/pull/1862
* feat: 改进翻译流式预览和术语字典 by @Duanhl in https://github.com/HapeLee/legado-with-MD3/pull/1855
* Fix/app font switch and role voice by @5151561 in https://github.com/HapeLee/legado-with-MD3/pull/1847
* 修复几个遗留问题 by @5151561 in https://github.com/HapeLee/legado-with-MD3/pull/1870
* fix(cache): 对齐图片缓存成功判定,并完善多书 FIFO 独占调度 by @Homchen in https://github.com/HapeLee/legado-with-MD3/pull/1872
* fix(reader): 开书不再闪一帧"加载数据中" by @5151561 in https://github.com/HapeLee/legado-with-MD3/pull/1873
* feat(reader): 优化全文页码计算与页眉页脚展示 by @5151561 in https://github.com/HapeLee/legado-with-MD3/pull/1888
* feat(highlight): add font weight, italic and 9-slice background support by @52fisher in https://github.com/HapeLee/legado-with-MD3/pull/1893
* feat&refactor:重构 TXT 目录解析、排版配置页面,新增分卷规则、目录更新与页脚样式功能 by @52fisher in https://github.com/HapeLee/legado-with-MD3/pull/1897
* feat:阅读设置里增加按钮切换新旧目录显示 by @todoXu in https://github.com/HapeLee/legado-with-MD3/pull/1898
* refactor: 阅读器核心 MAD 收敛 + 全应用 UI→DAO 直连清零 by @5151561 in https://github.com/HapeLee/legado-with-MD3/pull/1904
* 添加自助还原日志工作流 by @woruteyqi in https://github.com/HapeLee/legado-with-MD3/pull/1908
* fix: 书架布局模式切换不生效及列表封面未垂直居中 by @maker255 in https://github.com/HapeLee/legado-with-MD3/pull/1913
* refactor (read & typography): 清理废弃功能并规范化排版配置键名 by @52fisher in https://github.com/HapeLee/legado-with-MD3/pull/1899
* feat:阅读界面更多设置里补充按钮切换新旧目录显示 by @todoXu in https://github.com/HapeLee/legado-with-MD3/pull/1912
* MAD 遗留修复 by @5151561 in https://github.com/HapeLee/legado-with-MD3/pull/1926
* feat: 增加模型思考强度配置, by @Duanhl in https://github.com/HapeLee/legado-with-MD3/pull/1916
* refactor(read): 简化标题字体大小的计算逻辑 by @52fisher in https://github.com/HapeLee/legado-with-MD3/pull/1918
* feat(read): add font size offset adjustment for text styles by @52fisher in https://github.com/HapeLee/legado-with-MD3/pull/1920
* fix: 修复弹窗字体缩放不跟随设置且窗口尺寸变化后失效 by @maker255 in https://github.com/HapeLee/legado-with-MD3/pull/1929
* Fix search issue in specified book source management by @a328929 in https://github.com/HapeLee/legado-with-MD3/pull/1957
* 修复书源页面无障碍相关问题,修复书源 替换规则管理页面底部操作,读屏软件无法聚焦的问题 by @a328929 in https://github.com/HapeLee/legado-with-MD3/pull/1959
* fix: 书签跳转位置有误 by @funnytime75 in https://github.com/HapeLee/legado-with-MD3/pull/1961
* fix: 书架简介显示书源状态面板而非正文 by @5151561 in https://github.com/HapeLee/legado-with-MD3/pull/1962
* 修复书源校验通知消失的问题,修复锁屏书源校验异常退出的问题,修复书源校验时文字显示不全的问题,修复在书源管理页面进行架构迁移时,遗留的其余问题 by @a328929 in https://github.com/HapeLee/legado-with-MD3/pull/1972
* 增强手柄功能支持,统一代码风格,简化接口定义 by @mobeicanyue in https://github.com/HapeLee/legado-with-MD3/pull/1979
* feat: 在书架的分组管理中添加“AI自动分组”入口 by @Loooosdin in https://github.com/HapeLee/legado-with-MD3/pull/1974
* Pr/reader bookmark swipe by @maker255 in https://github.com/HapeLee/legado-with-MD3/pull/1987
* fix:修复seek无法刷新的问题 by @todoXu in https://github.com/HapeLee/legado-with-MD3/pull/1993
* feat:允许设置无规则匹配时的章节分割字数 by @todoXu in https://github.com/HapeLee/legado-with-MD3/pull/2016
* feat: AI 自动分组支持增量模式 by @Loooosdin in https://github.com/HapeLee/legado-with-MD3/pull/2029
* 修复听书播放器蒙版点击穿透,添加Android媒体控制通知,朗读定时添加读完本章功能 by @lingran7031 in https://github.com/HapeLee/legado-with-MD3/pull/2024
* fix: 统一听书播放器语速调节范围与经典朗读控制一致 by @kungunier in https://github.com/HapeLee/legado-with-MD3/pull/2033
* fix: 底栏填充样式着色层半透明,修复模糊被完全遮住 by @kungunier in https://github.com/HapeLee/legado-with-MD3/pull/2075
* fix: 听书系统媒体播放器进度条随朗读推进 by @lingran7031 in https://github.com/HapeLee/legado-with-MD3/pull/2042
* fix: 目录更新后新增章节点击无法跳转 by @kungunier in https://github.com/HapeLee/legado-with-MD3/pull/2077
* fix(read-record): 修复备份导入重复记录并完善未知作者归属 by @coastline-echo in https://github.com/HapeLee/legado-with-MD3/pull/2076
* feat: 恢复扫码导入书源入口 by @kungunier in https://github.com/HapeLee/legado-with-MD3/pull/2078
* fix: web接口 saveReplaceRule/deleteReplaceRule 成功时响应仍为 isSuccess=false by @kungunier in https://github.com/HapeLee/legado-with-MD3/pull/2081
* fix(read-record): 修复跨设备记录合并、时长统计及合并弹窗问题 by @coastline-echo in https://github.com/HapeLee/legado-with-MD3/pull/2093
* Feat/reading anchor by @maker255 in https://github.com/HapeLee/legado-with-MD3/pull/2089
* fix: 从媒体控件打开阅读器时重置导航栈至主页 by @lingran7031 in https://github.com/HapeLee/legado-with-MD3/pull/2158
* fix: 修正书籍详情换源入口及弹窗标题 by @user-A100 in https://github.com/HapeLee/legado-with-MD3/pull/2157
* fix(reader): 行高排除异常 leading,修复部分字体顶部行距过大 by @Mupceet in https://github.com/HapeLee/legado-with-MD3/pull/2221
* fix(backup): 划线笔记表 book_marks 纳入备份与恢复(随书签忽略项统一控制) by @Mupceet in https://github.com/HapeLee/legado-with-MD3/pull/2231
* fix(rhino): 脚本入口先确保上下文工厂已安装,修 RhinoContext 强转崩溃 by @Mupceet in https://github.com/HapeLee/legado-with-MD3/pull/2258
* fix(search): 全文搜索历史只记录确认过的查询 by @kungunier in https://github.com/HapeLee/legado-with-MD3/pull/2245
* fix(readaloud): AI 朗读分析补推理级别开关,默认关闭思考 by @kungunier in https://github.com/HapeLee/legado-with-MD3/pull/2244
* fix(source-management): 完善删除确认与书源操作提示 by @coastline-echo in https://github.com/HapeLee/legado-with-MD3/pull/2238
* fix: 封面持久化缓存与离线加载、目录字数剔除富文本、书架滚动性能等修复 by @2408893730 in https://github.com/HapeLee/legado-with-MD3/pull/2242
* feat(web):阅读界面新增"自动翻页"功能(滚动模式) by @rinnki-L in https://github.com/HapeLee/legado-with-MD3/pull/2263
* fix(app): 崩溃重启改走 launcher 组件解析——图标别名切换会禁用 MainActivity,显式 Intent 启动即崩 by @Mupceet in https://github.com/HapeLee/legado-with-MD3/pull/2266
* feat(reader): 预置 excludeActionImages 排版能力——带动作脚本的图片(段评气泡)可在测量层整体剔除 by @Mupceet in https://github.com/HapeLee/legado-with-MD3/pull/2267
* fix(reader): 修复英文/Latin 单词异常断行 by @ViqUey in https://github.com/HapeLee/legado-with-MD3/pull/2274
* Add Xbox controller LB/RB support and paging feature by @mobeicanyue in https://github.com/HapeLee/legado-with-MD3/pull/2280
* fix: 收掉 main 上的 CI 红灯(API 26 崩溃 / 规则引擎快捷路径 / lint / 文档死链) by @HapeLee in https://github.com/HapeLee/legado-with-MD3/pull/2281
* fix(reader): preserve word selection until drag starts by @ViqUey in https://github.com/HapeLee/legado-with-MD3/pull/2288
* fix: 处理 Android 11+ 开屏启动窗口状态栏颜色异常 (紫色) by @sdkahal in https://github.com/HapeLee/legado-with-MD3/pull/2311
* fix(read-record): 修复阅读记录删除与跨午夜时长统计 by @coastline-echo in https://github.com/HapeLee/legado-with-MD3/pull/2314
* fix: 修复媒体进度条灰化与朗读定时结束后章节回退 by @lingran7031 in https://github.com/HapeLee/legado-with-MD3/pull/2324
* fix: 修复听书播放器朗读设置跳转 by @lingran7031 in https://github.com/HapeLee/legado-with-MD3/pull/2347
* fix(search): 修复书源触发人机验证后搜索中断且未继续搜索的问题 by @zuohl in https://github.com/HapeLee/legado-with-MD3/pull/2372
* fix: 关闭分组的「允许下拉刷新」后仍可下拉刷新 by @mingxitang in https://github.com/HapeLee/legado-with-MD3/pull/2369
* feat: 添加LT和RT按钮支持,优化手柄配置 by @mobeicanyue in https://github.com/HapeLee/legado-with-MD3/pull/2358
* feat(readaloud): 多角色配音、正则角色、背景乐、气泡样式、听书下载整套,附原有缺陷修复 by @2408893730 in https://github.com/HapeLee/legado-with-MD3/pull/2371
* refactor: 重构 Xbox 手柄配置和状态管理,优化代码结构 by @mobeicanyue in https://github.com/HapeLee/legado-with-MD3/pull/2387
* fix(cast): 角色记忆与配音双向同步、声音池导入自识别、AI 默认模型传播 by @2408893730 in https://github.com/HapeLee/legado-with-MD3/pull/2384
* fix(font): 修复应用内字体不生效与国产 ROM 字体文件夹读不出内容,新增「导入字体文件」 by @clevebitr in https://github.com/HapeLee/legado-with-MD3/pull/2379
* fix(network): 适配 Android 17 本地网络保护,补齐局域网访问权限 by @THERentropy in https://github.com/HapeLee/legado-with-MD3/pull/2391
* fix(deps): Compose 整条线钉到 1.13.0-beta01,修复 "LayoutNode not found in RectList" 崩溃 by @kungunier in https://github.com/HapeLee/legado-with-MD3/pull/2400
* fix(gson): 给外部契约与落盘 JSON 的字段写死 @SerializedName(修 #2398 关联书籍整组消失) by @kungunier in https://github.com/HapeLee/legado-with-MD3/pull/2401
* feat: 预下载拆分为向前/向后并跟随设置,发现页页码与书架识别,修复条漫无缝白缝、漫画缓存目录与目录缓存图标,新增按书关闭阅读记录,漫画正文跨章节首图片跳动问题 by @ZYO122 in https://github.com/HapeLee/legado-with-MD3/pull/2416
* fix(web): 修复插件兼容、资源路径与服务状态显示 by @berial in https://github.com/HapeLee/legado-with-MD3/pull/2421
* fix(read-aloud): 朗读切章与起点、角色随机补音、TTS Server 导入层级等 11 项 by @2408893730 in https://github.com/HapeLee/legado-with-MD3/pull/2427
* fix(read-aloud/cast): 旁白默认音色与章标题、角色记忆收敛、分配窗口内换模型 by @2408893730 in https://github.com/HapeLee/legado-with-MD3/pull/2429
* fix(read-aloud): 段落间隔不再重建本章合成任务;reader: 胶囊与标点串不再顶出空洞 by @2408893730 in https://github.com/HapeLee/legado-with-MD3/pull/2443
## New Contributors
* @todoXu made their first contribution in https://github.com/HapeLee/legado-with-MD3/pull/1863
* @maker255 made their first contribution in https://github.com/HapeLee/legado-with-MD3/pull/1913
* @funnytime75 made their first contribution in https://github.com/HapeLee/legado-with-MD3/pull/1961
* @lingran7031 made their first contribution in https://github.com/HapeLee/legado-with-MD3/pull/2024
* @kungunier made their first contribution in https://github.com/HapeLee/legado-with-MD3/pull/2033
* @coastline-echo made their first contribution in https://github.com/HapeLee/legado-with-MD3/pull/2076
* @user-A100 made their first contribution in https://github.com/HapeLee/legado-with-MD3/pull/2157
* @Mupceet made their first contribution in https://github.com/HapeLee/legado-with-MD3/pull/2221
* @2408893730 made their first contribution in https://github.com/HapeLee/legado-with-MD3/pull/2242
* @rinnki-L made their first contribution in https://github.com/HapeLee/legado-with-MD3/pull/2263
* @ViqUey made their first contribution in https://github.com/HapeLee/legado-with-MD3/pull/2274
* @sdkahal made their first contribution in https://github.com/HapeLee/legado-with-MD3/pull/2311
* @mingxitang made their first contribution in https://github.com/HapeLee/legado-with-MD3/pull/2369
* @clevebitr made their first contribution in https://github.com/HapeLee/legado-with-MD3/pull/2379
* @THERentropy made their first contribution in https://github.com/HapeLee/legado-with-MD3/pull/2391
* @ZYO122 made their first contribution in https://github.com/HapeLee/legado-with-MD3/pull/2416
* @berial made their first contribution in https://github.com/HapeLee/legado-with-MD3/pull/2421