From 656c83bd434bf838fe56a912e32413e57a92646f Mon Sep 17 00:00:00 2001 From: Estrella Pan Date: Thu, 2 Jul 2026 12:06:59 +0200 Subject: [PATCH 1/3] chore: bump version to 3.2.8 and update changelog for release Re-home the stale [Unreleased] content under its actual release (3.2.6) and document the 3.2.8 fix batch. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_014w1Z6Nxy6XTRgkFXqPr9Zh --- CHANGELOG.md | 27 +++++++++++++++++++++++++++ backend/pyproject.toml | 2 +- backend/uv.lock | 2 +- 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a54bcd8..3cf311c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,32 @@ # [Unreleased] +# [3.2.8] - 2026-07-02 + +## Backend + +### Fixed + +- 修复 qBittorrent ≥ 5.2 登录失败:新版登录成功返回 HTTP 204 空响应体,旧代码要求 200 + "Ok." 导致认证失败 (#1044, #1034, #1043) +- 修复删除番剧/种子时文件不被删除:hashes 列表未按 qB API 要求以 `|` 拼接且响应状态未校验,删除失败现在会正确上报到 WebUI (#1046) +- 修复下载器认证失败时 httpx 连接池泄漏:连接失败后正确关闭客户端 (#1043) +- 加固初始设置接口:`/setup/test-downloader` 增加 URL 协议校验,所有 setup 接口不再回显原始错误详情 (#1041) +- 修复同一站点多个 RSS 并发请求触发 HTTP 429:按主机分组串行抓取并加入间隔,不同主机仍并行 (#1026) +- 修复 OpenAI 解析阻塞事件循环:切换到 AsyncOpenAI 异步客户端 +- 修复番剧缓存的失效竞态:加锁并引入代数计数,防止过期快照覆盖较新的失效 +- 修复无 `[字幕组]` 前缀的标题被解析器破坏 (#1025) +- 共享 httpx 客户端跟随 302 重定向(mikanime.tv 镜像域名) (#983) +- 修复 Linux 主机解析 Windows qBittorrent 保存路径导致季度总被置为 01 (#1016) +- 加固共享 httpx 客户端:缩短 keepalive 防止陈旧连接风暴 (#1018, #1028, #984) +- 删除 RSS 订阅时级联删除其种子记录,侧边栏不再残留条目 (#1019) +- 探测 qBittorrent 时遵循 SSL 设置 (#1014) + +### Maintenance + +- 发布包纳入 `pyproject.toml` / `uv.lock` / `requirements.txt` (#994, #1015) +- 容器启动 chown 跳过 `.venv`,加快启动 (#1011) + +# [3.2.6] - 2026-03-01 + ## Backend ### Added diff --git a/backend/pyproject.toml b/backend/pyproject.toml index b9c5b4f5..3bfe0007 100644 --- a/backend/pyproject.toml +++ b/backend/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "auto-bangumi" -version = "3.2.4" +version = "3.2.8" description = "AutoBangumi - Automated anime download manager" requires-python = ">=3.13" dependencies = [ diff --git a/backend/uv.lock b/backend/uv.lock index 00473cb5..1330f937 100644 --- a/backend/uv.lock +++ b/backend/uv.lock @@ -61,7 +61,7 @@ wheels = [ [[package]] name = "auto-bangumi" -version = "3.2.4" +version = "3.2.8" source = { virtual = "." } dependencies = [ { name = "aiosqlite" }, From 4a513df26efa0b3a3da44bae0f1df363d29e1676 Mon Sep 17 00:00:00 2001 From: Estrella Pan Date: Thu, 2 Jul 2026 12:22:39 +0200 Subject: [PATCH 2/3] =?UTF-8?q?ci:=20unbreak=20docker=20release=20build=20?= =?UTF-8?q?=E2=80=94=20bump=20docker=20actions,=20make=20GHA=20cache=20wri?= =?UTF-8?q?tes=20non-fatal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The 3.2.8 release build failed three times (twice after a full buildkit cache purge) at 'Build and push' with 'error writing layer blob: failed to reserve cache' — the GHA cache export in docker/build-push-action@v4's buildkit client aborting the whole multi-arch build on a cache-service write error. Bump the docker/* actions to current majors and add ignore-error=true to cache-to so a cache write failure can never fail a release build again. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_014w1Z6Nxy6XTRgkFXqPr9Zh --- .github/workflows/build.yml | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3380b355..26587cfa 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -192,16 +192,16 @@ jobs: echo "VERSION='${{ needs.version-info.outputs.version }}'" >> module/__version__.py - name: Set up QEMU - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx id: buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Docker metadata main if: ${{ needs.version-info.outputs.release == 1 && needs.version-info.outputs.dev != 1 }} id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 with: images: | estrellaxd/auto_bangumi @@ -213,7 +213,7 @@ jobs: - name: Docker metadata dev if: ${{ needs.version-info.outputs.dev == 1 }} id: meta-dev - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 with: images: | estrellaxd/auto_bangumi @@ -224,14 +224,14 @@ jobs: - name: Login to DockerHub if: ${{ needs.version-info.outputs.release == 1 }} - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} - name: Login to ghcr.io if: ${{ needs.version-info.outputs.release == 1 }} - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} @@ -245,7 +245,7 @@ jobs: - name: Build and push if: ${{ needs.version-info.outputs.release == 1 && needs.version-info.outputs.dev != 1 }} - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v6 with: context: . builder: ${{ steps.buildx.output.name }} @@ -253,12 +253,12 @@ jobs: push: True tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} - cache-from: type=gha, scope=${{ github.workflow }} - cache-to: type=gha, scope=${{ github.workflow }} + cache-from: type=gha,scope=${{ github.workflow }} + cache-to: type=gha,scope=${{ github.workflow }},ignore-error=true - name: Build and push dev if: ${{ needs.version-info.outputs.dev == 1 }} - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v6 with: context: . builder: ${{ steps.buildx.output.name }} @@ -266,20 +266,20 @@ jobs: push: ${{ github.event_name == 'push' }} tags: ${{ steps.meta-dev.outputs.tags }} labels: ${{ steps.meta-dev.outputs.labels }} - cache-from: type=gha, scope=${{ github.workflow }} - cache-to: type=gha, scope=${{ github.workflow }} + cache-from: type=gha,scope=${{ github.workflow }} + cache-to: type=gha,scope=${{ github.workflow }},ignore-error=true - name: Build test if: ${{ needs.version-info.outputs.release == 0 }} - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v6 with: context: . builder: ${{ steps.buildx.output.name }} platforms: linux/amd64,linux/arm64 push: false tags: estrellaxd/auto_bangumi:test - cache-from: type=gha, scope=${{ github.workflow }} - cache-to: type=gha, scope=${{ github.workflow }} + cache-from: type=gha,scope=${{ github.workflow }} + cache-to: type=gha,scope=${{ github.workflow }},ignore-error=true release: runs-on: ubuntu-latest From 8600bb7cf76cf6713b8f52a9caabe3954454edf9 Mon Sep 17 00:00:00 2001 From: Estrella Pan Date: Thu, 2 Jul 2026 13:49:23 +0200 Subject: [PATCH 3/3] docs(security): add working disclosure contact email GitHub private vulnerability reporting is now enabled on the repo, and the email fallback previously pointed at a non-public profile email. Point it at a concrete address so both documented disclosure channels actually work (raised by a reporter in #1041). Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_014w1Z6Nxy6XTRgkFXqPr9Zh --- SECURITY.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SECURITY.md b/SECURITY.md index 0c71a9c3..a787afde 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -15,7 +15,7 @@ If you discover a security vulnerability in AutoBangumi, please report it respon 1. **GitHub Private Vulnerability Reporting** (Recommended): Use [GitHub's private vulnerability reporting feature](https://github.com/EstrellaXD/Auto_Bangumi/security/advisories/new) to submit your report securely. -2. **Email**: Contact the maintainer directly at the email associated with the GitHub account [@EstrellaXD](https://github.com/EstrellaXD). +2. **Email**: Contact the maintainer directly at [estrellaxd05@gmail.com](mailto:estrellaxd05@gmail.com). **Please do NOT:** - Open a public GitHub issue for security vulnerabilities @@ -37,7 +37,7 @@ We will acknowledge receipt of your report within 48 hours and work to address t 1. **GitHub 私密漏洞报告**(推荐):使用 [GitHub 的私密漏洞报告功能](https://github.com/EstrellaXD/Auto_Bangumi/security/advisories/new) 安全地提交您的报告。 -2. **邮件**:直接联系维护者,使用 GitHub 账户 [@EstrellaXD](https://github.com/EstrellaXD) 关联的邮箱。 +2. **邮件**:直接联系维护者,邮箱 [estrellaxd05@gmail.com](mailto:estrellaxd05@gmail.com)。 **请勿:** - 在公开的 GitHub Issue 中报告安全漏洞