v1.12 系列更新 — 下载历史、MKV 重封装、splash screen 与自动翻译字幕
v1.12.0:近年最密集的新功能版本
v1.12.0 发布于 2024 年 4 月 5 日,引入了 Seal 近年最多的新功能。CHANGELOG 里的 Added 条目就有 12 条,Changed 6 条,Fixed 10 条——密度很高。
下载历史的革命
| 功能 | 说明 |
|---|---|
| 历史搜索 | 下载记录页面加了搜索框,按标题/上传者/时间过滤 |
| 历史导出 | 导出到文件或剪贴板,JSON 格式 |
| 历史导入 | 从 JSON 文件恢复历史(换机迁移关键) |
| 重新下载不可用 | 文件被删或下架后一键重新跑解析下载 |
| 长按选中 | v1.12.0 前长按历史条目是点其他按钮,现在改成长按进入多选模式 |
字幕与容器的变化
| 功能 | 说明 |
|---|---|
| 自动翻译字幕下载 | yt-dlp 自动翻译字幕也能选来下 |
| 记住字幕选择 | 下次下同站点视频自动勾上次选的字幕 |
| 视频元数据也写入 | 之前只给音频写元数据,现在视频文件也写 |
| MKV 重封装 | 即使没选字幕也重封装成 MKV(v1.12.1 的 bug 修复是反方向——之前 v1.12.0 会"即使禁字幕也 MKV",v1.12.1 其实没改这个行为,只是记录了) |
新 UI/UX 元素
| 功能 | 说明 |
|---|---|
| Splash screen | 启动页动画 |
| 触觉反馈 | 操作时的震动反馈(CHANGELOG 里写的是 Haptic feedback BZZZTT!!1!——作者的吐槽) |
| Slider & ProgressIndicator 更新 | 迁移到 MD3 新视觉样式 |
| 本地化改进 | 系统语言名称显示修正 |
yt-dlp 默认改用 nightly
Use nightly builds for yt-dlp by default
这是一个重要的行为变化——v1.11.x 之前默认用稳定版 yt-dlp,v1.12.0 起 Seal 默认拉 nightly 构建的 yt-dlp(几乎每天都有新提交,应对视频站变化更及时)。用户可以在设置里切回稳定版。
v1.12.1:两周后的修复补丁
发布于 2024 年 4 月 17 日,主要是修 v1.12.0 的 bug 和加几个小功能:
Added
- yt-dlp 自动更新间隔设置:v1.9.0 起有自动更新开关,v1.12.1 终于加了间隔设置(多久检查一次)
- Cookie 数量显示:Cookie 管理页面现在会显示当前存储了多少条 Cookie
Fixed
- 拦截 WebView 里的非 HTTP(S) URL(防止 Cookie 捕获跳出目标域名)
- 修 MD2 ModalBottomSheetLayout 在 API < 30 设备上的布局问题
- 下载时自动阻塞 yt-dlp 更新:防止"边下载边更新"导致的
bad local file header损坏
Known Issues
v1.12.1 有两个已知 bug 没修:
- TextField(IME)在显示 ModalBottomSheet 时回退到纯字符模式(中文输入法在弹层里不能正常输入)
- yt-dlp 损坏:如果你恰好在 Seal 自动更新 yt-dlp 的同时发起了下载,下载的 Python 包可能不完整,下次解析时报
bad local file header
这个第二个 bug 有简单修复:手动触发一次 yt-dlp 更新就行。v1.12.1 已经加了"更新期间阻塞下载"的保护来大幅降低这个问题的触发概率。
v1.12.x 对后续版本的影响
v1.12.0 的很多功能在 v1.13.x 里没有新的重大变更,说明 v1.12 是 Seal 功能从"基础下载"到"全链路工具箱"的转折点。v1.13.x 主要在修 bug 和拉新依赖,v2.0 才是另一个大的版本升级(并发、队列、大屏)。