From 37d794db0d060252bb59a9fb9168b07f071ee92d Mon Sep 17 00:00:00 2001 From: Estrella Pan Date: Mon, 13 Jul 2026 01:36:29 +0200 Subject: [PATCH] chore(release): prepare 3.3.4-beta.2 --- CHANGELOG.md | 8 ++++++++ backend/pyproject.toml | 2 +- backend/uv.lock | 2 +- docs/changelog/3.3.md | 22 ++++++++++++++++++++++ 4 files changed, 32 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b2c9feb3..7edc4e63 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 隔离且仅展示一次明文的哈希令牌;密码变更、禁用用户和退出登录都会可靠撤销既有会话 diff --git a/backend/pyproject.toml b/backend/pyproject.toml index 8cac88f9..55f21db9 100644 --- a/backend/pyproject.toml +++ b/backend/pyproject.toml @@ -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 = [ diff --git a/backend/uv.lock b/backend/uv.lock index 4ad36d65..ee696304 100644 --- a/backend/uv.lock +++ b/backend/uv.lock @@ -125,7 +125,7 @@ wheels = [ [[package]] name = "auto-bangumi" -version = "3.3.4-beta.1" +version = "3.3.4b2" source = { virtual = "." } dependencies = [ { name = "aiosqlite" }, diff --git a/docs/changelog/3.3.md b/docs/changelog/3.3.md index 0364a995..058ac928 100644 --- a/docs/changelog/3.3.md +++ b/docs/changelog/3.3.md @@ -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