Files
Auto_Bangumi/docs/changelog/3.2.md
Estrella Pan 70c9908a5a docs: update 3.2 changelog with setup wizard feature
Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-01-24 08:17:08 +01:00

6.1 KiB
Raw Blame History

[3.2] - 2025-01

Backend

Features

  • 新增 WebAuthn Passkey 无密码登录支持
    • 支持注册、认证、管理 Passkey 凭证
    • 支持多设备凭证iCloud Keychain 等)备份检测
    • 支持克隆攻击防护sign_count 验证)
    • 认证策略模式,统一密码登录和 Passkey 登录接口
  • 新增首次运行设置向导
    • 7 步引导式配置账户、下载器、RSS 源、媒体路径、通知
    • 下载器连接测试、RSS 源验证
    • 可选步骤可跳过,稍后在设置页配置
    • 哨兵文件机制(config/.setup_complete)防止重复触发
    • 无需认证的设置 API仅首次运行时可用完成后返回 403
  • 新增日历视图,集成 Bangumi.tv 放送时间表
  • 新增下载器 API 和管理接口
  • 全面异步化改造
    • 数据库层新增异步支持aiosqlite为 Passkey 操作提供非阻塞 I/O
    • UserDatabase 支持同步/异步双模式,兼容新旧代码路径
    • Database 上下文管理器同时支持 with(同步)和 async with(异步)
    • RSS 引擎、下载器、检查器、解析器全面转为异步
    • 网络请求从 requests 迁移至 httpxAsyncClient
  • 后端迁移至 uv 包管理器pyproject.toml + uv.lock
  • 服务器启动使用后台任务避免阻塞fixes #891, #929

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 迁移至 asyncioEvent、Lock

Bugfixes

  • 修复 aaguid 类型错误py_webauthn 2.7.0 中为 str,不再是 bytes
  • 修复 credential_backup_eligible 字段不存在的问题(改用 credential_device_type
  • 修复 verify_authentication_response 传入无效参数 credential_id 导致 TypeError
  • 修复程序启动阻塞服务器的问题fixes #891, #929, #886, #917, #946
  • 修复搜索接口导出与组件不匹配的问题
  • 修复 poster 端点路径检查错误拦截所有请求fixes #933, #934
  • 修复 OpenAI 解析器安全问题
  • 修复数据库测试使用异步会话与同步代码不匹配
  • 修复 3.1.x 升级 3.2 时配置字段冲突导致设置丢失的问题fixes #956
    • program.sleep_time / program.times 自动迁移为 rss_time / rename_time
    • 移除已废弃的 rss_parser 字段(typecustom_urltokenenable_tmdb
    • 修复 ENV_TO_ATTR 环境变量映射指向不存在的模型字段
    • 修复 DEFAULT_SETTINGS 与当前配置模型不一致
  • 修复版本升级时迁移逻辑错误(所有升级均调用 3.0→3.1 迁移函数)
    • 新增版本感知的迁移调度,根据来源版本执行对应迁移
    • 新增 from_31_to_32() 迁移函数处理数据库 schema 变更

Frontend

Features

  • 全新 UI 设计系统重构
    • 统一的设计令牌(颜色、字体、间距、阴影、动画)
    • 支持亮色/暗色主题切换
    • 完善的无障碍访问支持ARIA、键盘导航、焦点管理
    • 响应式布局适配移动端
  • 新增首次运行设置向导页面
    • 多步骤向导组件(进度条 + 步骤导航)
    • 路由守卫自动检测并重定向至设置页
    • 下载器/RSS/通知连接测试反馈
    • 中英文国际化支持
  • 新增 Passkey 管理面板(设置页)
    • WebAuthn 浏览器支持检测
    • 设备名称自动识别
    • Passkey 列表展示与删除
  • 登录页新增 Passkey 指纹登录按钮
  • 新增日历视图页面
  • 新增下载器管理页面
  • 新增 Bangumi 卡片悬停覆盖层(显示标题和标签)
  • 新增 resolvePosterUrl 工具函数,统一处理外部 URL 和本地路径fixes #934
  • 重新设计 LLM 设置面板fixes #938
  • 重新设计设置、下载器、播放器、日志页面样式
  • 全新移动端优先响应式设计
    • 三层断点系统:手机 (<640px)、平板 (640-1023px)、桌面 (≥1024px)
    • 手机端底部导航栏(带图标和文字标签)
    • 平板端迷你侧边栏56px 图标导航)
    • 移动端弹出框自动切换为底部抽屉Bottom Sheet
    • 下拉刷新Pull-to-Refresh支持
    • 水平滑动容器Swipe Container支持
    • 移动端卡片列表替代数据表格RSS 页面)
    • CSS Grid 响应式布局Bangumi 卡片网格)
    • 表单标签在移动端垂直堆叠,输入框全宽
    • 触摸目标最小 44px符合无障碍标准
    • 安全区域适配(刘海屏设备)
    • 100dvh 动态视口高度(解决移动浏览器地址栏问题)
    • viewport-fit=cover 支持全面屏设备

New Components

  • ab-bottom-sheet — 触摸驱动的底部抽屉组件(拖拽关闭、最大高度限制)
  • ab-adaptive-modal — 自适应弹窗(移动端底部抽屉 / 桌面端居中对话框)
  • ab-pull-refresh — 下拉刷新包装组件
  • ab-swipe-container — 水平滑动容器CSS scroll-snap
  • ab-data-list — 移动端友好的卡片列表(替代 NDataTable
  • ab-mobile-nav — 增强型底部导航栏(图标 + 标签 + 活动指示器)
  • useSafeArea — 安全区域 composable

Changes

  • 重构搜索逻辑,移除 rxjs 依赖
  • 搜索 Store 导出重构,匹配组件期望格式
  • 升级前端依赖
  • 断点系统从单一 1024px 扩展为 640px + 1024px 两级
  • useBreakpointQuery 新增 isTabletisMobileOrTabletisTabletOrPC
  • media-query.vue 新增 #tablet 插槽(回退到 #mobile
  • UnoCSS 新增 sm: 640px 断点
  • ab-input 样式移动端全宽 + 增高触摸目标
  • 布局使用 dvh 单位替代 vh,支持 safe-area-inset

CI/Infrastructure

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