github EstrellaXD/Auto_Bangumi 3.2.0-beta.1
🌙3.2.0-beta.1

latest releases: 3.2.0-beta.3, 3.2.0-beta.2
pre-release10 hours ago

[3.2] - 2025-01

Backend

Features

  • 新增 WebAuthn Passkey 无密码登录支持
    • 支持注册、认证、管理 Passkey 凭证
    • 支持多设备凭证(iCloud Keychain 等)备份检测
    • 支持克隆攻击防护(sign_count 验证)
    • 认证策略模式,统一密码登录和 Passkey 登录接口
  • 新增日历视图,集成 Bangumi.tv 放送时间表
  • 新增下载器 API 和管理接口
  • 全面异步化改造
    • 数据库层新增异步支持(aiosqlite),为 Passkey 操作提供非阻塞 I/O
    • UserDatabase 支持同步/异步双模式,兼容新旧代码路径
    • Database 上下文管理器同时支持 with(同步)和 async with(异步)
    • RSS 引擎、下载器、检查器、解析器全面转为异步
    • 网络请求从 requests 迁移至 httpx(AsyncClient)
  • 后端迁移至 uv 包管理器(pyproject.toml + uv.lock)
  • 服务器启动使用后台任务,避免阻塞

Changes

  • 升级 WebAuthn 依赖至 py_webauthn 2.7.0
  • _get_webauthn_from_request 优先使用浏览器 Origin header,修复跨端口开发环境下的验证问题
  • auth_userupdate_user_info 转为异步函数
  • TitleParser.tmdb_parser 转为异步函数
  • RSSEngine 方法全面异步化(pull_rssrefresh_rssdownload_bangumiadd_rss
  • Checker.check_downloader 转为异步函数
  • ProgramStatus 从 threading 迁移至 asyncio(Event、Lock)

Bugfixes

  • 修复 aaguid 类型错误(py_webauthn 2.7.0 中为 str,不再是 bytes
  • 修复 credential_backup_eligible 字段不存在的问题(改用 credential_device_type
  • 修复 verify_authentication_response 传入无效参数 credential_id 导致 TypeError
  • 修复程序启动阻塞服务器的问题
  • 修复搜索接口导出与组件不匹配的问题
  • 修复 poster 端点路径检查错误拦截所有请求
  • 修复 OpenAI 解析器安全问题
  • 修复数据库测试使用异步会话与同步代码不匹配

Frontend

Features

  • 全新 UI 设计系统重构
    • 统一的设计令牌(颜色、字体、间距、阴影、动画)
    • 支持亮色/暗色主题切换
    • 完善的无障碍访问支持(ARIA、键盘导航、焦点管理)
    • 响应式布局适配移动端
  • 新增 Passkey 管理面板(设置页)
    • WebAuthn 浏览器支持检测
    • 设备名称自动识别
    • Passkey 列表展示与删除
  • 登录页新增 Passkey 指纹登录按钮
  • 新增日历视图页面
  • 新增下载器管理页面
  • 新增 Bangumi 卡片悬停覆盖层(显示标题和标签)
  • 新增 resolvePosterUrl 工具函数,统一处理外部 URL 和本地路径
  • 重新设计 LLM 设置面板
  • 重新设计设置、下载器、播放器、日志页面样式

Changes

  • 重构搜索逻辑,移除 rxjs 依赖
  • 搜索 Store 导出重构,匹配组件期望格式
  • 升级前端依赖

CI/Infrastructure

  • CI 新增 PR 开启时的构建测试(dev 分支 PR 到 main 时自动触发 build)
  • CI 升级 actions/upload-artifactactions/download-artifact 至 v4
  • Docker 构建移除 linux/arm/v7 平台(uv 镜像不支持)
  • 新增 CLAUDE.md 开发指南

Don't miss a new Auto_Bangumi release

NewReleases is sending notifications on new releases.