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

latest release: 3.2.0-beta.3
pre-release6 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 解析器安全问题
  • 修复数据库测试使用异步会话与同步代码不匹配
  • 修复 3.1.x 升级 3.2 时配置字段冲突导致设置丢失的问题
    • 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、键盘导航、焦点管理)
    • 响应式布局适配移动端
  • 新增 Passkey 管理面板(设置页)
    • WebAuthn 浏览器支持检测
    • 设备名称自动识别
    • Passkey 列表展示与删除
  • 登录页新增 Passkey 指纹登录按钮
  • 新增日历视图页面
  • 新增下载器管理页面
  • 新增 Bangumi 卡片悬停覆盖层(显示标题和标签)
  • 新增 resolvePosterUrl 工具函数,统一处理外部 URL 和本地路径
  • 重新设计 LLM 设置面板
  • 重新设计设置、下载器、播放器、日志页面样式
  • 全新移动端优先响应式设计
    • 三层断点系统:手机 (<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 开发指南

Don't miss a new Auto_Bangumi release

NewReleases is sending notifications on new releases.