Files
KVideo/app-release.json
T

210 lines
11 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"repository": {
"owner": "KuekHaoYang",
"name": "KVideo",
"branch": "main"
},
"currentVersion": "4.9.18",
"releases": [
{
"version": "4.9.18",
"publishedAt": "2026-07-29",
"title": "修复移动端系统全屏按钮",
"notes": [
"修复移动端播放器控制栏在窄屏下被裁切、最右侧系统全屏按钮不可见的问题(#224)。",
"控制栏按播放器自身宽度切换紧凑布局,窄屏隐藏音量入口并压缩间距,极窄播放器只显示当前播放时间。",
"画中画、AirPlay、Cast、网页全屏与系统全屏按钮全部保留,并新增响应式控制栏回归测试。"
]
},
{
"version": "4.9.17",
"publishedAt": "2026-07-29",
"title": "加固 M3U8 广告检测",
"notes": [
"新增基于主内容时长残差的组合式检测,识别跨帧率小型插播,同时禁止把单个异常时长分片直接判为广告。",
"重复时长指纹恢复大内容块保护并限制出现比例,避免固定 GOP 或等长章节被整块误删。",
"跨源同路径检测同时比较来源域名与文件名模式,并保留合法 CDN 切换所需的组合证据。",
"安全审查后未启用动态 JS/TS 执行与公开脚本 API,避免任意代码执行、主线程死循环和无效配置链路。",
"广告检测器按解析、主模式、指纹与评分拆分,并新增误删回归测试。",
"Next.js 与配套 ESLint 配置升级至最新稳定版 16.2.12,消除 16.2.10 的多项框架级高风险公告;上游固定的 PostCSS/sharp 审计项仍等待官方稳定修复。"
]
},
{
"version": "4.9.16",
"publishedAt": "2026-07-27",
"title": "修复浮动按钮窗口缩放吸附",
"notes": [
"修复窗口宽度变化后右侧“历史播放记录”按钮停留在原位置、无法继续贴靠右边缘的问题。",
"收藏与历史浮动按钮现在会在窗口尺寸变化时保持各自的左右锚点;已拖拽的按钮按可拖拽区域比例保留位置。",
"新增浮动按钮定位与窗口缩放回归测试。"
]
},
{
"version": "4.9.15",
"publishedAt": "2026-07-25",
"title": "播放页体验与 Android TV 9 兼容",
"notes": [
"修复点击选集排序导致播放器闪烁重播:非播放器核心设置变化不再重建 HLS。",
"播放页布局对齐、网页全屏图标更新;选集支持网格+分段翻页;封面缺失显示占位图。",
"广告检测新增分片时长指纹去重(PR #219),并保留原有 interstitial/代理/关键词过滤。",
"客户端静态资源转译目标降至 chrome69,修复 Android TV 9 旧 WebView 白屏。",
"同步补齐广告检测、设置快照与 WebView 回归测试。"
]
},
{
"version": "4.9.13",
"publishedAt": "2026-07-13",
"title": "修复慢源搜索与延迟探测",
"notes": [
"慢视频源不再因 3 秒静默被前端提前判定为搜索完成,结果流会等待服务端明确结束。",
"实时延迟改用真实视频源地址并独立计算回退请求耗时,避免无效 URL 和累加计时造成虚高数值。",
"延迟探测限制为最多 4 路并发且轮次不重叠,搜索取消或超时后也不会继续无意义重试。",
"新增慢源搜索、延迟回退、探测并发和取消重试回归测试。"
]
},
{
"version": "4.9.12",
"publishedAt": "2026-07-12",
"title": "恢复账户管理与退出登录入口",
"notes": [
"窄屏导航栏现在始终显示退出登录按钮,不再把整个用户操作区隐藏在桌面断点之后。",
"高级模式设置页现在复用统一账户管理组件,恢复账户信息、退出登录及超级管理员账户管理功能。",
"新增账户入口回归测试,覆盖窄屏导航栏和高级模式设置页。"
]
},
{
"version": "4.9.11",
"publishedAt": "2026-07-09",
"title": "修复登录成功后回到登录页",
"notes": [
"访问密码 gate 登录成功后会直接放行当前页面,不再依赖整页刷新进入主界面,避免会话镜像时序导致重复登录。",
"服务端 session cookie 的 Secure 属性现在按实际请求协议和 x-forwarded-proto 判断,修复 Docker / HTTP 自托管生产模式下浏览器拒收 cookie 后刷新又回登录页的问题。",
"新增登录 gate 状态决策和 session cookie 协议判断回归测试。"
]
},
{
"version": "4.9.10",
"publishedAt": "2026-07-09",
"title": "移除首页顶部快捷搜索区",
"notes": [
"首页不再显示内容分类、电影类型、年份三组硬编码快捷搜索按钮。",
"推荐页顶部直接进入内容类型切换与后端标签列表,减少标签区域上方的无关占用。",
"更新标签管理视图回归测试,防止首页重新引用 CategoryQuickSearch。"
]
},
{
"version": "4.9.9",
"publishedAt": "2026-07-09",
"title": "修复管理标签入口误入搜索流程",
"notes": [
"首页管理标签模式现在会隐藏内容分类、电影类型、年份等快捷搜索项,避免用户打开标签管理时触发视频源搜索。",
"管理标签时不再显示电影/电视剧切换和推荐内容网格,完成、恢复默认、添加标签和标签列表成为当前视图主体。",
"标签 chip 在管理模式下改为可换行布局,并使用矩形拖拽排序策略,减少上方筛选内容对标签操作区的挤压。",
"新增标签管理视图回归测试,锁定管理入口不应退化为搜索结果筛选界面。"
]
},
{
"version": "4.9.8",
"publishedAt": "2026-07-09",
"title": "修复登录后同步接口 400",
"notes": [
"自动同步组件现在只会在访问密码 gate 确认服务端会话并完成本地 session 镜像后挂载,避免登录跳转阶段提前请求 /api/user/config 与 /api/user/sync。",
"用户配置和云同步 API 在没有有效服务端 session 时改为返回 401 Authentication required,不再把未认证状态伪装成 Missing profileId 的 400。",
"新增未认证响应回归测试,防止受保护同步接口的状态码语义再次退化。"
]
},
{
"version": "4.9.7",
"publishedAt": "2026-07-09",
"title": "修复旧 Android WebView 白屏",
"notes": [
"Next.js 构建后的浏览器静态 JS 现在会额外转译到 Chrome/WebView 83 目标,避免小米电视等旧 Android System WebView 因不支持 ??=、||=、&&= 而白屏。",
"Cloudflare Pages 构建链路同样会处理输出目录,确保托管站点和 Docker/Node 自托管站点使用一致的旧 WebView 兼容产物。",
"新增 WebView 83 静态资源回归测试,防止逻辑赋值语法重新漏进浏览器构建产物。"
]
},
{
"version": "4.9.6",
"publishedAt": "2026-07-09",
"title": "修复移动端横屏弹幕缩放",
"notes": [
"弹幕画布现在优先使用未受 CSS transform 影响的布局尺寸,避免 iOS Safari 网页横屏时字体被拉伸或压缩。",
"横竖屏和 visualViewport 尺寸变化后会重新同步画布 backing store,并按新尺寸重排活跃弹幕。",
"新增弹幕画布尺寸工具测试,覆盖 transform 后 bounding box 横竖互换的回归场景。"
]
},
{
"version": "4.9.5",
"publishedAt": "2026-07-09",
"title": "修复 Docker 登录页 Analytics 404",
"notes": [
"Vercel Analytics 现在只会在真实 Vercel 部署中注入,Docker、自托管和 Cloudflare Pages 不再请求 /_vercel/insights/script.js。",
"Cloudflare 部署环境判定优先于 Vercel 风格环境变量,避免适配器环境被误判为 Vercel。",
"新增部署环境单元测试,覆盖自托管、Vercel、Cloudflare 和混合环境变量场景。"
]
},
{
"version": "4.9.4",
"publishedAt": "2026-07-08",
"title": "补充代理说明与局域网访问开关",
"notes": [
"设置页的代理播放区域显示内置 /api/proxy 端点和部署限制,明确该功能不是第三方 HTTP/SOCKS 代理服务器配置。",
"新增 ALLOW_LAN_ACCESS 环境变量:开启后 npm run dev / npm run start 会绑定 0.0.0.0,开发模式会放行常见内网 IPv4 来源。",
"新增 LAN_ALLOWED_DEV_ORIGINS,允许自定义 Next.js 开发模式的额外来源主机。",
"README 补充局域网访问和内置媒体代理说明,并同步修正 Docker hostname 注释。"
]
},
{
"version": "4.9.3",
"publishedAt": "2026-04-15",
"title": "新增 Redis 托管账户模式",
"notes": [
"新增 Redis 托管账户模式:支持用户名密码登录、超级管理员账户 CRUD、权限编辑和密码重置。",
"认证改为服务端签名 HTTP-only 会话 Cookie/api/user/config 与 /api/user/sync 不再信任客户端自报 profileId。",
"播放页线路列表补齐剩余问题:分辨率探测会按当前集数探测并缓存,打开线路列表时会自动定位当前线路,必要时自动展开隐藏项。",
"仓库补充了与新认证和线路列表逻辑对应的单元测试,并修正了本地 eslint 版本与 Next.js 规则链不兼容的问题。"
]
},
{
"version": "4.9.2",
"publishedAt": "2026-04-12",
"title": "修复检查更新状态闪烁",
"notes": [
"设置页首次自动检查更新时不再让“检查更新”按钮自己持续转圈。",
"移除会反复闪烁的“正在整理结果”提示,避免用户误以为页面异常。",
"手动点击“检查更新”时才显示按钮转圈,状态反馈与用户操作保持一致。"
]
},
{
"version": "4.9.1",
"publishedAt": "2026-04-12",
"title": "修复 Cloudflare Pages 构建失败",
"notes": [
"移除仅支持 Node.js 的 /api/site-icon 路由,避免 next-on-pages 因非 Edge 路由中止构建。",
"站点图标改为由服务端布局直接解析,导航栏和播放器页继续显示运行时配置的图标。",
"PWA manifest 回退为静态图标,确保 Cloudflare Pages、Docker 和本地构建链路一致可用。"
]
},
{
"version": "4.9.0",
"publishedAt": "2026-04-12",
"title": "设置页新增版本信息与更新检查",
"notes": [
"设置页新增“版本与更新”卡片,直接显示当前版本、最近更新内容和检查结果。",
"新增手动“检查更新”按钮,会对比 GitHub main 分支上的最新版本元数据。",
"仓库新增更新日志文件,方便在项目内查看当前版本和更新说明。"
]
},
{
"version": "4.8.3",
"publishedAt": "2026-04-12",
"title": "站点图标与播放器兼容性修复",
"notes": [
"站点图标改为支持运行时配置,Docker 镜像无需重新构建即可替换。",
"扩展播放器默认视口,减少桌面端播放器黑边。",
"修复 Android WebView 中 Cast SDK 判定以及全屏和画中画相关兼容性问题。"
]
}
]
}