Bilibili-Evolved/CHANGELOG.md
2021-10-31 21:14:31 +08:00

311 lines
14 KiB
Markdown

# 更新日志
## v2.0.0-preview
`[预览] v2.0.0` `2021-10-31`
🎃欢迎来到 Bilibili Evolved v2.0.0 (预览版), 为了更长远的发展, 我完全重写了整个项目:
- 引入现代化前端工具 (webpack, Babel, PostCSS 等)
- 源代码 TypeScript 全覆盖 (webpack 等配置文件除外)
- 自带 UI 组件库 (基于 Vue)
- 移除对 jQuery 和 Vuex 的依赖
- 全新的架构设计, 脚本体积大幅缩小: 2.79MB 👉 759KB
- 不再有离线版, 你可以自行控制功能的更新
需要注意的是:
- 脚本不会由脚本管理器自动更新到 v2, 更新提示里也不会直接让你安装更新. 因为 v2 的安装和使用方式和 v1 有很大区别, 即便你是 v1 的老用户, 也强烈建议你重新阅读 [README](https://github.com/the1812/Bilibili-Evolved/blob/preview/README.md).
- 安装前建议先备份 v1 设置, 然后卸载或者清空 v1 的数据存储, 避免遗留数据继承至 v2 造成性能影响.
功能差异:
- 虽然 README 有写, 但还是要再强调下, 全新安装的 v2 不包含任何实质性的功能, 它本身更接近于一个功能管理器, 你可以装个 `v1 设置迁移` 导入 v1 的设置 (顺便还能熟悉下怎么装功能), v1 开着的功能会在 v2 中自动安装, 详情见[此文档](https://github.com/the1812/Bilibili-Evolved/blob/preview/doc/v1-migrate.md).
- 暂不支持 v1 的 `简化首页` 功能, 在 v2 中 `简化首页` 等于 v1 的 `首页过滤` 功能. v1 的 `简化首页` 由于代码设计过于糟糕, 很难再进一步扩充功能, 我计划在 v2 发布后重写这个功能, 届时会比 v1 更加美观和强大. 如果你非常需要这个功能, 请暂时不要升级到 v2.
- 暂不支持 Safari, 但也有计划去支持了. (#2349)
- 暂不支持 v1 的 `界面翻译` 功能, 以后可能会做英语支持.
- 下载视频暂不支持 ffmpeg 命令生成 和 课程下载.
安装及使用方法见 [README](https://github.com/the1812/Bilibili-Evolved/blob/preview/README.md#安装). 如希望参与开发, 请参考[代码贡献指南](https://github.com/the1812/Bilibili-Evolved/blob/preview/CONTRIBUTING.md).
如有其他疑问, 请在这个 Release 对应的讨论区里回复.
## v2.0.0-tp9
`v2.0.0 Technical Preview ⑨` `2021-10-17`
**功能:**
- 组件与 `v1.12.20` 同步更新.
- 自定义顶栏:
- 新增`新标签页打开`选项
- 改善了拖动排列顶栏元素顺序时的性能.
- `收藏`弹窗中修复了一些搜索相关的 bug.
- 暂时禁止了`动态`上定时刷新的数字提醒, 因为弹窗里还没做完实时刷新. (#2303)
- 番剧区:
- 修复宽屏模式 + mini 播放器出现的布局错乱. (PR #2371 by [FoundTheWOUT](https://github.com/FoundTheWOUT))
- 恢复`默认播放器模式`, `启用双击控制`和`控制栏触摸优化`的支持.
- 夜间模式更新. (PR #2296 by [FoundTheWOUT](https://github.com/FoundTheWOUT))
- 修复 Firefox 下无法加载. (#2308)
- 下载视频中支持仅下载音频. (#2325)
- 更新了直播间勋章的 API.
- 修复夜间模式下部分 iframe 弹窗背景没有变透明.
- 修复组件没超过更新间隔期时, 选项里点检查更新不执行.
**开发:**
- 修复 `VSlider` 上使用方向键没有阻止默认行为.
- 修复 `MiniToast` 加载过早时获取不到 `body`.
- `addControlBarButton` 支持番剧区.
## v2.0.0-tp8
`v2.0.0 Technical Preview 8` `2021-09-15`
**功能:**
- 组件与 `v1.12.18` 同步更新.
- 使用在线仓库时, 连接到 `github.com` 时无需再设置跨域.
- 修复搜索栏建议的文本过长时溢出.
- 快捷键设置也能从搜索栏中唤起了.
- 修复播放器控制栏的扩展按钮(截图, 逐帧调整等)颜色不对.
- 在组件详情的菜单中, 鼠标停留在 `检查更新` 上时可以显示安装的来源 URL, 如果是来自 `localhost`, 还会显示特定的图标作为区分. (#2278)
- 快捷键支持 <kbd>Ctrl</kbd>+<kbd>Enter</kbd> 发送评论. (#1015)
**开发:**
- 新增 `RuntimeLibrary API` (`src/core/runtime-library.ts`), 可以在运行时动态载入第三方库, 可以避免在每次载入页面时都加载了不常用的库. 以下原先内置于脚本的库现已转换为运行时库:
- protobufjs
- JSZip
- Sortable
- 重新整理了 `task.json` 中任务的命名.
- 功能也和本体一样能参与 CI 构建流程了.
- 支持记录第三方功能并在在线仓库中显示.
-`CONTRIBUTING.md` 中补充了一些 API 说明.
- 主题颜色除了 10 级不同透明度 `var(--theme-color-XX)`, 也支持了 10 级不同明亮度 `var(--theme-color-lightness-XX)`.
- `Toast``duration` 即使在 Toast 已发出后也能响应更改了.
- 同 v1 一样, 按住 <kbd>Shift</kbd> 点击侧栏的功能将会执行 `debugger` 语句, 在开发者工具打开时能够立即停止页面运行.
- 清理了一些无用文件, `widgets` 文件夹中的代码移动到 `ui``components` 中对应的文件夹.
- `observer` 新增 `urlChange`, 可以检测 URL 变动.
## v2.0.0-tp7
`v2.0.0 Technical Preview 7` `2021-08-23`
**功能:**
- 组件与 `v1.12.16` 同步更新.
- 新增组件 `v1 风格设置面板`.
- 在功能的管理面板中, 支持在线安装新功能.
- 搜索栏支持提供自定义选项, 目前实现的有:
- 切换在线仓库
- 自定义顶栏设置
- 修复 `observer.allMutations` 只处理第一个调用者.
- 修复高能进度条未固定时的样式.
- 尝试为 `bwp-video` 适配 `播放前显示封面`.
- `播放器控制栏背景色` 的不透明度选项使用 `0% ~ 100%` 做范围, 之前保存的值默认是 `0.64`, 如果你之前使用过, 更新后记得去改成 `64`.
**开发:**
- `Toast` API 支持 `Toast.mini` 并提供对应组件 `MiniToast` (基于 [tippy.js](https://atomiks.github.io/tippyjs/)), 用于在特定元素旁边弹出小提示.
- 插件允许提供描述 `PluginMetadata.description`
- 组件允许提供多语言配置和作者 `ComponentMetadata.i18n` / `ComponentMetadata.author`
- 删除所有的非必要 `eslint-disable`
- 统一内置组件的 UI 导入方式.
- Vue 内置于脚本, 不再由 `// @require` 提供.
- 组件选项支持使用滑动条提供带范围的数字选择 `ComponentOption.slider`, 例子可以参考 `registry/lib/components/video/player/control-background/index.ts`.
- 组件详情中支持扩展动作, 并内置了 `卸载` 动作.
## v2.0.0-tp6
`v2.0.0 Technical Preview 6` `2021-08-01`
- 搜索栏可以使用 <kbd>/</kbd> 全局唤起了. (安装了`快捷键扩展`时)
- 自定义顶栏功能同步至 `v1.12.13`.
- 新增组件 `v1 设置迁移`, 可以导入 v1 设置了, README 中有使用说明.
- 支持[合集包](https://github.com/the1812/Bilibili-Evolved/blob/v2/doc/features/pack/pack.md)安装, 设置面板中的批量安装可以接受任意类型的功能.
- `关于`面板中有了更多的链接, 并显示更详细的版本信息.
## v2.0.0-tp5
`v2.0.0 Technical Preview 5` `2021-07-24`
- 元数据中添加了 `@connect localhost`, 解决 Tampermonkey BETA 中不能从本地安装组件的问题.
- 修复 `LifeCycleEventTypes.ComponentsLoaded` 在组件运行完成前就触发的问题.
- 动态 API 支持自定义内容过滤器. (`动态过滤器`基于此 API 实现了对顶栏动态的过滤)
- 搜索栏的历史同步 b 站的搜索历史 (同 v1), 之前产生的历史数据可以通过运行以下代码来删除.
```js
delete bilibiliEvolved.settingsApis.getComponentSettings('launchBar').options.searchHistory
```
- 支持设置 `文件下载模式`.
**插件新增:**
- 下载视频 - IDM导出
- 搜索栏 - 搜索推荐
**组件迁移:**
所有常用组件已迁移完成, 剩余未迁移的还有:
- 工作量过大 (Coming S∞n)
- 清爽首页
- 极简首页
- 隐藏功能 (有一定缺陷所以未公开)
- 网址AV号转换
- 评论楼层显示
- 废弃功能 (被 b 站官方实现)
- 默认视频画质
- 解除音量上限
另外一部分组件功能还未更新到 v1.12.12 的进度:
- 下载视频
- 不支持 ffmpeg 相关导出
- 不支持课程 / 番剧 / 电影
- 自定义顶栏
- 分区未更新
- 搜索栏在搜索页没有同步搜索词
- 历史面板中的直播没有状态显示
- 收藏面板还不能记住上次选择的收藏夹
- 收藏面板还不能显示已失效视频
- 视频动态还不能显示发布时间
- `排行`还没有子菜单
- UI 样式未统一
## v2.0.0-tp4
`v2.0.0 Technical Preview 4` `2021-07-18`
**组件迁移:**
- 自动展开弹幕列表
- BiliPlus跳转支持
- 强制保留弹幕栏
- 隐藏推荐直播/视频推荐
- 直播间自动抽奖
- 直播首页静音/隐藏推荐直播
- 直播全屏弹幕栏/包裹
- 复制动态/评论链接
- 动态/评论翻译
> 移除了 Bing 翻译 (接口挂了), 翻译后可以实时更换翻译器 (#993)
- 动态/专栏图片导出
> 支持分别自定义命名格式, 不过具体说明还没写 (#1208)
- 启用细滚动条
- 高分辨率图片
- 简化首页
> 注意这个是 v1 中的 `首页过滤`, 更换为这个名字是为了和其他几个 `简化xxx` 功能保持一致. (都是移除某个页面中不需要的元素) 原 v1 中的 `简化首页` 会更换为 `清爽首页` 之类的名字.
**插件新增:**
- 设置面板 - '最近使用'类别
> 记录点开组件详情的时间, 让最近点开过的组件排序在上面
**其他:**
- `关于`页面中将显示本体的 commit hash
- `自动更新器`将自动跳过无在线链接(通过本地浏览安装)的功能.
**API 变更:**
- 组件不再必需填写 `enabledByDefault`, 默认就为 `true`.
- 组件的 `instantStyles` 会在开启/关闭时自动添加/移除了.
- 设置面板的标签分类使用自定义过滤函数. (上面那个'最近使用'类别的插件就是基于此)
## v2.0.0-tp3
`v2.0.0 Technical Preview 3` `2021-07-09`
- 设置面板更新:
- 修复高度过小时侧栏图标溢出面板
- 支持批量安装功能
- 支持设置导入/导出 (在关于面板中, 与 v1 不同的是导入后会自动刷新页面)
- 组件迁移:
- 展开动态内容
- 简化直播间
- 直播勋章快速更换
- 直播看板娘高DPI适配
- 自动收起直播侧栏
- 倍速记忆
- 删除视频弹窗
- 展开视频简介
- 外置稍后再看
- 启用快速收藏
- 快捷键扩展
- 插件新增:
- 下载视频 - aria2 输出支持
- 修复无法更新现有样式.
- 引入了 CSS `gap` 属性, 浏览器版本要求提高至 Chrome 84 / Firefox 80 / Safari 14.1
- 主脚本名称变动 (`Bilibili Evolved II`变为`Bilibili Evolved (v2)`), 更新时请多加注意.
- 生成了[功能列表文档](https://github.com/the1812/Bilibili-Evolved/blob/v2/doc/features/features.md).
> 好像只能装 GitHub 源的, jsDelivr 不知道为啥 Failed to fetch 了. 另外目前只能用 Stable 的版本, Preview 分支上还没有 v2 的文件.
## v2.0.0-tp2
`v2.0.0 Technical Preview 2` `2021-06-28`
- 设置面板更新:
- 支持右侧停靠
- 修复组件列表溢出面板
- 动画效果调整
- 更新了动态 API (`src/components/feeds/api`)
- 组件迁移:
- 禁止跳转动态详情
- 直播信息扩充
- 快速收起评论区
- 展开动态标题
- 动态反折叠
- 删除直播水印
- 专栏文字选择
- 网址参数清理
- 稍后再看重定向
- 启用弹幕空降
- 跳过充电鸣谢
- 自定义顶栏中的搜索改为默认不显示推荐词
- 样式输入格式改为与组件和插件一致 (使用 `.js` 文件), 修复样式无法卸载
## v2.0.0-tp1
`v2.0.0 Technical Preview 1` `2021-06-11`
此次 Release 为 v2.0.0 Technical Preview 1 (技术预览版), 请注意:
- 技术预览版仅供开发者或对此项目非常熟悉的用户体验, 如果你只对日常使用感兴趣, 请继续等待 v1 的后续更新.
- 主要是本体方面的换新, 功能模块尚未迁移完成, 因此还不能替代 v1 作为日常使用.
- 不保证稳定性, 可能有大量神秘 bug 潜伏.
欢迎来到 Bilibili Evolved v2 的第一个版本, 为了更长远的发展, 我完全重写了整个项目:
- 引入现代化前端工具 (webpack, Babel, PostCSS 等)
- 源代码 TypeScript 全覆盖 (webpack 等配置文件除外)
- 自带 UI 组件库 (基于 Vue)
- 移除对 jQuery 和 Vuex 的依赖
- 全新的架构设计, 本体大小可减小至 300+KB
- 不再有离线版, 你可以自行控制组件的更新
安装文件位于 [./dist/bilibili-evolved.user.js](./dist/bilibili-evolved.user.js) 或 [./dist/bilibili-evolved.preview.user.js](./dist/bilibili-evolved.user.js) , 虽然分了个预览版但目前还没有区别(
使用方法见 [README.md](./README.md#设置).
关于技术上的更详细的信息, 请参见[代码贡献指南](./CONTRIBUTING.md).
### 已完成功能
- 下载弹幕
- 夜间模式
- 跟随系统 / 计划时段
- 删除广告
- 查看封面
- 简化评论区
### 待完成功能 (近期)
- 下载视频, 已支持普通视频源 + flv / dash 格式 + 显示链接 / aria2 输出, 待实现番剧 / 课程 / 手动输入源, 纯音频格式 + IDM 输出.
- 自定义顶栏, 目前仅实现至 v1.10.20 (commit 855bb6f)
- 视频卡片联合投稿显示支持
- 简化直播间
- 设置面板
- 组件/插件/样式管理 - 文本 / 批量输入支持
- "关于"页面
- 停靠位置
### 你可能想问的其他问题
**v1 还会更新吗?**
在 v2 正式版发布前会保持更新, 只是频率可能慢些.
**v2 正式版何时发布?**
在功能迁移完成后, 会发布 v2 的预览版, 测试没有问题后就会发布正式版.
**是否会涵盖 v1 的所有功能?**
尽量会, 有些特别复杂的功能可能会在正式版发布之后再完成开发, 目前确定的有`简化首页`.
**本体体积缩小后, 还会在 GreasyFork 上发布吗?**
我拒绝.
**可以为 v2 开发组件了吗?**
可以弄些简单的玩玩, 复杂的组件建议等预览版发布后(接口基本稳定)再开发.