# 更新日志 ## 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) - 快捷键支持 Ctrl+Enter 发送评论. (#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 一样, 按住 Shift 点击侧栏的功能将会执行 `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` - 搜索栏可以使用 / 全局唤起了. (安装了`快捷键扩展`时) - 自定义顶栏功能同步至 `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 开发组件了吗?** 可以弄些简单的玩玩, 复杂的组件建议等预览版发布后(接口基本稳定)再开发.