chore(release): prepare 3.3.4-beta.2

This commit is contained in:
Estrella Pan
2026-07-13 01:36:29 +02:00
parent 9d5b1c3998
commit 37d794db0d
4 changed files with 32 additions and 2 deletions

View File

@@ -1,3 +1,11 @@
# [3.3.4-beta.2] - 2026-07-13
- **修复(#1078)**:同一番剧、媒体类型、季集、字幕组和分辨率出现更高修订版时,不再因目标文件已存在而反复重命名;默认 `hold` 保留双方并记录冲突,可选 `replace` 安全替换旧版本
- **新增(修订版替换)**:qBittorrent 与 aria2 使用可恢复的“暂存旧版 → 晋升新版 → 清理旧版”流程;异常重启、目标冲突和下载任务消失时可继续或回滚,首版只自动处理双方均为单文件的任务
- **新增(管理与通知)**:设置页增加全局修订冲突策略,新增冲突查询/重试 API 和通知中心事件
- **安全性**:多文件合集、身份信息不完整、非严格升级或同一路径存在多个下载器 owner 时一律保持 `hold`,不会自动删除旧任务或文件
- **测试**:覆盖 V1/V2 严格身份匹配、并发抢占、断点恢复、合集保护、qBittorrent/aria2 冲突与数据库迁移
# [3.3.4-beta.1] - 2026-07-10
- **新增(#1074,认证)**:引入多用户会话认证——首次安装创建管理员,支持用户管理、独立浏览器会话,以及按 `api` / `mcp` scope 隔离且仅展示一次明文的哈希令牌;密码变更、禁用用户和退出登录都会可靠撤销既有会话

View File

@@ -1,6 +1,6 @@
[project]
name = "auto-bangumi"
version = "3.3.4-beta.1"
version = "3.3.4-beta.2"
description = "AutoBangumi - Automated anime download manager"
requires-python = ">=3.13"
dependencies = [

2
backend/uv.lock generated
View File

@@ -125,7 +125,7 @@ wheels = [
[[package]]
name = "auto-bangumi"
version = "3.3.4-beta.1"
version = "3.3.4b2"
source = { virtual = "." }
dependencies = [
{ name = "aiosqlite" },

View File

@@ -2,6 +2,28 @@
3.3 is the largest AutoBangumi release in a while: a fully async backend architecture, aria2 promoted to a first-class download backend, movie/OVA/special support, per-bangumi release preferences, a hardened security stack, and a WebUI that updates over SSE instead of polling. REST API behavior is backward-compatible; existing databases upgrade automatically (migrations v9–v14).
## 3.3.4-beta.2 — Safe revision replacement preview
This beta fixes revision conflicts such as an unmarked V1 episode being followed
by a matching `V2` release (#1078). The default `hold` policy keeps both
downloads and records a visible conflict instead of retrying the same rename
forever. Users may opt into the global `replace` policy to replace the older
revision automatically.
Automatic replacement is deliberately strict: Bangumi ID, media type,
season/episode, subtitle group, and resolution must all match, and the incoming
revision must be higher. The first preview only handles two single-file tasks;
collections, incomplete identities, multiple owners, and non-upgrades remain on
hold. qBittorrent and aria2 use a durable three-stage saga—stage the old file,
promote the new file, then remove the old task—with restart recovery and safe
rollback when the incoming task disappears.
The WebUI adds the global policy selector and conflict notifications. A new
conflict API supports listing and retrying held ordinary renames. Migrations
v23–v24 add the durable operation journal and aria2 filesystem intent, and the
regression suite covers concurrent claims, crash recovery, collection
protection, both download backends, and V1/V2 identity matching.
## 3.3.4-beta.1 — Multi-user authentication safety preview
This beta intentionally ships the authentication refactor before the next