Skip to content

Releases: ZASENJC/mediatree

1.1.01

Choose a tag to compare

@github-actions github-actions released this 14 Jul 10:32

文件夹浏览

  • 文件夹标题支持展示 TMDB 标题图,优先使用中文 Logo,其次使用英文 Logo;图片不可用时自动回退到文字标题
  • 放大文件夹标题并精简首屏控件,移除重复的 Folder 标签和页内“返回首页”按钮
  • 单集卡片优先展示单集剧照,缺图时回退到文件夹横版背景;手机保持两列,桌面根据空间自适应排列
  • 共享横版背景可在单集卡片之间复用浏览器缓存,并稳定离屏 16:9 卡片尺寸,减少重复下载和滚动跳动

安全更新

  • pydantic-settings 升级到 2.14.2、python-multipart 升级到 0.0.31、Pillow 升级到 12.3.0,纳入当前安全修复

发布类型

  • 需要完整 Docker 镜像更新,以安装修复后的 Python 依赖
  • Docker Compose 用户请在宿主机执行 docker compose pull && docker compose up -d;新安装使用的 zasenjc/mediatree:latest 会刷新到最新应用基线

1.1.0

Choose a tag to compare

@github-actions github-actions released this 20 Jun 18:21

设置

  • 设置页改为右侧抽屉,在当前页面上方打开,不再替换主页面路由
  • 放宽设置分类栏,让标签完整显示,同时保持文字小字号并加宽选中态阴影底框
  • 设置的液态玻璃效果只保留在抽屉面板上,打开设置时不再模糊或压暗底下的页面
  • 设置抽屉底部新增轻量 GitHub 项目归属链接
  • 移除旧的 Javdatabase 全局启用开关,Javdatabase 现在只通过刮削器选择和插件注册控制
  • 刮削器设置只保留 TMDB 读访问令牌,并提供令牌申请教程链接

媒体库

  • 首页改为将“继续观看”以紧凑横向列表展示在媒体库海报网格上方,区块标题使用更轻量的小字号,并移除原来的切换入口
  • 稳定首页媒体库初始布局,避免海报行在页面渲染完成过程中向下滑动
  • 首页媒体库在排序或布局变化导致海报移动时,会以接近 60fps 的节奏播放更自然的位置过渡动画

播放

  • 详情页打开后会自动播放,并让播放器适配首屏高度;标题、元数据和图库继续放在播放器下方
  • 手机和触控设备上的详情页改用普通上下排列播放器布局,不再强制套用首屏适配高度
  • 保持普通嵌入播放器默认不自动播放,只有详情页等明确传入 autoPlay 的页面才会启用

维护

  • 更新前端构建工具链和间接开发依赖,清除当前 npm audit 报告的问题

发布类型

  • 应用包级更新;不需要完整 Docker 镜像更新
  • Docker Compose 用户可在设置页更新;新安装使用的 zasenjc/mediatree:latest 会刷新到最新应用基线

刮削

  • 将应用内置刮削器改为由 backend/app/builtin_plugins/scrapers 下的 manifest 驱动加载
  • 用户上传的刮削器插件继续隔离安装在 settings.data_dir/scraper_plugins/api/scrapers 统一返回内置刮削器和已启用上传插件

1.0.16

Choose a tag to compare

@github-actions github-actions released this 14 Jun 22:07

媒体库

  • 首页媒体库目录卡片改为显示源文件夹下的原始视频项数量;设置页媒体库数量继续按电视剧季/显示条目聚合

发布流水线

  • 精简 Docker 构建:完整 Noto CJK 和 emoji 字体改为按需构建参数,默认保留 WenQuanYi 和前端内置字幕兜底字体
  • 新增共享 scripts/build-app-package.sh 打包脚本,本地和 GitHub release 打包都会统一剔除 pycache、bytecode、source map 和本地元数据
  • 更新构建/更新规则,后续 Docker 与应用包构建默认保持瘦身;调整运行时字体策略时必须走完整 Docker 镜像更新

发布类型

  • 需要完整 Docker 镜像更新,因为本次调整了 Dockerfile/runtime 字体策略和 release 打包路径
  • Docker Compose 用户请执行 docker compose pull && docker compose up -d

1.0.15

Choose a tag to compare

@github-actions github-actions released this 14 Jun 13:30

媒体库

  • 媒体库数量统计会将电视剧季和文件夹条目作为一个显示项统计,避免季集型内容在首页数量中过度展开

播放

  • 优化播放器控制栏自动隐藏时机,减少播放中控件遮挡画面的情况
  • 调整剧集切换按钮的玻璃质感样式,让播放器工具区更轻量

移除

  • 移除 Jellyfin/Emby 兼容 API 层,包括旧的 /System/Users/Items/Videos/Sessions/Shows/Library/DisplayPreferences/Genres/emby 路由
  • 移除独立的 Jellyfin 令牌、认证和映射模块;浏览器播放、媒体 token 串流、外部播放器 M3U 接续和 Web 播放进度继续通过 MediaTree 原生 API 支持

文档

  • 移除仓库内维护的 GitHub Wiki 镜像目录 docs/wiki*,统一以 VitePress 文档站作为文档入口
  • 更新 README 和开发文档,用户说明统一指向文档站,不再保留旧 Wiki 入口
  • 更新 README 和文档站,当前安装/使用说明不再宣称服务端支持 Jellyfin/Emby 兼容访问

发布流水线

  • 发布流程保持手动触发,普通 push 不会自动发布版本

发布类型

  • 应用包级更新;不需要完整 Docker 镜像更新

1.0.14

Choose a tag to compare

@github-actions github-actions released this 09 Jun 22:21

播放

  • 播放页浏览器标签标题会随播放状态显示:播放中为 ▶ 当前播放标题 - MediaTree,暂停或结束为 ⏸ 当前播放标题 - MediaTree
  • 用户停留在播放页时持续保留播放状态标题,只有离开播放页才恢复原站点标题
  • 剧集/选集播放时,浏览器标签标题优先使用当前集标题

更新

  • 设置页更新卡片会将旧应用包版本显示为 回滚此版本,新应用包版本显示为 下载并更新
  • 回滚与更新操作的确认框、进度和错误提示文案保持一致

发布类型

  • 应用包级更新;不需要完整 Docker 镜像更新

1.0.13

Choose a tag to compare

@github-actions github-actions released this 09 Jun 12:40

媒体库

  • 支持将影片目录下的 sp 文件夹作为花絮入库,默认不混入普通列表、搜索、收藏、继续观看、文件夹计数和播放器选集
  • 详情页花絮改为本页内“展开/收起”查看,不再联动文件夹页的花絮显示开关
  • Javdatabase 番号识别更严格,优先使用明确番号,并在匹配前清理前缀噪音

刮削

  • 新增 TMDB Collection 刮削器,用于电影系列合集的封面、背景和简介元数据
  • TMDB Collection 加入自动刮削搜索链,手动选择“自动”时会展示自动链搜索到的全部候选
  • 手动刮削的“自动”保持搜索语义,不再直接应用刮削结果
  • 右键“重新刮削”统一使用该媒体库配置的刮削器进行刮削并应用结果
  • Javdatabase 仅限配置为 Javdatabase 的媒体库使用,不加入自动刮削链
  • 刮削器缓存有效期和 Javdatabase 请求间隔改为后端内部策略,不再通过设置页或环境变量调节
  • 手动扫描、重新刮削、手动刮削应用和选择结果应用都会绕过刮削缓存,确保用户主动刷新能拿到最新数据
  • 空刮削结果不再写入缓存,读取到历史空缓存时会自动删除,避免旧空结果挡住后续补齐的数据
  • Javdatabase 的搜索、直连、模糊匹配和详情请求统一使用内部 3 秒请求间隔

播放

  • 浏览器播放遇到 AC3 音轨时可自动转码,提高浏览器兼容性
  • 花絮播放进度不会进入继续观看

发布流水线

  • Docker 镜像新增版本 label,让 zasenjc/mediatree:latest 能暴露当前应用版本基线
  • 更新页可检测应用包发布后 DockerHub latest 是否落后,并给出维护者本地同步提示
  • scripts/push-docker-release.sh 会传入 MEDIATREE_VERSION,确保本地推送的 latest 和版本镜像带有正确版本标记

更新方式

  • 本版本需要完整 Docker 镜像更新,因为 Docker 镜像 metadata、更新基线、发布链和运行时刮削策略默认值发生变化
  • Docker Compose:执行 docker compose pull && docker compose up -d

发布类型

  • 需要完整 Docker 镜像更新

1.0.12

Choose a tag to compare

@github-actions github-actions released this 06 Jun 16:30

品牌资源

  • 修复登录页 LOGO:未登录状态下也会直接公开提供 login-logo.pngsite-logo.png
  • 删除旧的运行时 frontend/public/logo.png,运行时品牌资源只保留 login-logo.pngsite-logo.png
  • 文档中的 LOGO 仍继续使用独立的 docs/assets/logo.png,不再和运行时 UI 资源混用

安全

  • 前端公开静态资源白名单保持为固定品牌文件名,不开放任意根路径文件
  • Jellyfin 兼容路由的 401 响应不再被 SPA fallback 改写成前端首页

发布流水线

  • GitHub Actions release 流程只负责测试、构建应用包资产、更新 tag 和 GitHub Release,不再登录 DockerHub 或发布 Docker 镜像
  • 应用包更新后的 DockerHub latest 同步改为维护者本地执行 scripts/push-docker-release.sh 构建并推送

发布类型

  • 应用包级更新;不需要完整 Docker 镜像更新

1.0.11

Choose a tag to compare

@ZASENJC ZASENJC released this 06 Jun 14:02

更新流程

  • 应用包更新成功并完成重启后,会自动清理更旧的应用包目录和已下载归档
  • 保留当前应用包和一个有效上一版,确保回滚和启动失败 fallback 仍然可用
  • 清理时会跳过 data/releases/ 下未知用途的目录,避免误删用户或未来运行时文件

安全与依赖

  • 更新生产环境 React Router 依赖链,清除 npm audit --omit=dev 报告的 same-origin redirect advisory

发布流水线

  • 应用包发布现在也会刷新 DockerHub zasenjc/mediatree:latest,让新安装用户直接获得最新应用基线
  • 完整镜像发布仍会同时推送版本化 Docker tag 和 latest

品牌与文档

  • 登录页 LOGO 和网页图标恢复为随应用包发布的本地资源,不再依赖远程图片 URL
  • README、compose 示例和 wiki 补充 Docker socket 挂载说明,明确它只用于可选的完整镜像更新

发布类型

  • 应用包级更新;不需要完整 Docker 镜像更新

1.0.10

Choose a tag to compare

@github-actions github-actions released this 05 Jun 23:23

重大安全更新

  • 将认证加固重新作为完整 Docker 镜像更新发布,让部署环境同时刷新基础镜像和应用基线
  • 匿名首次访问仍会被阻止:没有有效会话的用户必须停留在登录页或首次管理员初始化页
  • 未登录时仍禁止首次媒体库初始化、更新检查、媒体库业务接口,以及部分 Jellyfin 兼容媒体接口

品牌资源

  • 将运行时站点图标和登录页 LOGO 恢复为仓库内的圆角 PNG LOGO
  • 新增 frontend/public/logo.png,Docker 镜像构建会包含与 README / GitHub 展示一致的 LOGO 图

更新方式

  • Docker Compose:执行 docker compose pull && docker compose up -d
  • Docker run:执行 docker pull zasenjc/mediatree:1.0.10,再按原参数重新创建容器

发布类型

  • 需要完整 Docker 镜像更新

1.0.08

Choose a tag to compare

@github-actions github-actions released this 05 Jun 22:44

安全与访问控制

  • 认证现在默认失败关闭,空的 AUTH_USER / AUTH_PASS 不再代表允许匿名访问
  • 新增首次打开时创建管理员账号流程,使用签名 session token,并以哈希形式保存密码
  • 未登录时禁止首次媒体库初始化、更新检查、媒体库业务接口,以及部分 Jellyfin 兼容媒体接口
  • 前端在首次访问或无痕模式没有 token 时,会停留在登录/初始化界面,不再提前加载媒体库选择界面

文档

  • 说明 AUTH_USER / AUTH_PASS 用于预置管理员账号;留空时会进入首次创建管理员账号流程

发布类型

  • 应用包级更新;不需要完整 Docker 镜像更新