diff --git a/CHANGELOG.md b/CHANGELOG.md index d4d6cd11..b63a33dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ +# [3.3.6] - 2026-09-19 + +3.3.6 是问题修复版本,修复 3.3.5 发布后报告的 RSS 匹配、网络、解析与部署问题。 + +- **修复(#1103/#1114,RSS 匹配)**:解析器重组的 `title_raw`(剔除标题中间的集数、拼接 ` / ` 分隔的别名)不是种子名的子串,导致新剧集无法匹配、被归入孤儿种子;现在与种子自身重组出的标题完全相等也算命中,已有数据无需迁移 +- **修复(#1105,订阅)**:搜索类 RSS 同时返回多季资源时,订阅/收集整订阅下载会把其他季的种子按本季下载并重命名,互相覆盖;现在按季度/类型过滤,与 RSS 刷新的匹配规则一致 +- **修复(#1104,网络)**:HTTP 代理下 CONNECT 成功但 TLS 握手失败时,httpcore 泄漏隧道连接,连接池耗尽后持续 `PoolTimeout` 直至重启;现在遇到 `PoolTimeout` 时为后续请求换用新连接池,不中断进行中的请求 +- **修复(#1108,解析器)**:Unicode 罗马数字(`Ⅱ` 等)识别为季度,去除包裹中文标题的全角破折号,`Clevatess Ⅱ-魔獸之王與虛假的勇者傳承-` 解析为第 2 季并可匹配 TMDB +- **修复(#1106,Docker)**:健康检查改为读取配置的 WebUI 端口,依次探测 IPv4 与 IPv6 回环地址,不再因 `localhost` 解析为 `::1` 或修改端口而被标记为 unhealthy +- **修复(#1117,日志)**:RSS/重命名间隔配置为 0 时后台循环空转刷屏,现在最小间隔为 1 秒;部署文档中的 docker-compose 与 `docker run` 示例增加容器日志大小上限(10 MB × 3) + # [3.3.5] - 2026-07-26 3.3.5 是问题修复版本,包含五个订阅、通知与配置相关的修复。 diff --git a/backend/pyproject.toml b/backend/pyproject.toml index 7dcc7fc3..de300f94 100644 --- a/backend/pyproject.toml +++ b/backend/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "auto-bangumi" -version = "3.3.5" +version = "3.3.6" description = "AutoBangumi - Automated anime download manager" requires-python = ">=3.13" dependencies = [ diff --git a/backend/uv.lock b/backend/uv.lock index c8dd5889..8a32c736 100644 --- a/backend/uv.lock +++ b/backend/uv.lock @@ -125,7 +125,7 @@ wheels = [ [[package]] name = "auto-bangumi" -version = "3.3.4" +version = "3.3.6" source = { virtual = "." } dependencies = [ { name = "aiosqlite" }, diff --git a/docs/changelog/3.3.md b/docs/changelog/3.3.md index abe1f112..1ef2686a 100644 --- a/docs/changelog/3.3.md +++ b/docs/changelog/3.3.md @@ -2,6 +2,17 @@ 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 through schema v24. +## 3.3.6 — RSS matching, proxy, parser, and deployment fixes + +3.3.6 is a bugfix release for issues reported after 3.3.5. + +- **RSS matching (#1103, #1114):** the parser rebuilds `title_raw` by removing the episode from the middle of the name or joining ` / `-separated aliases, so it is not always a substring of the torrent name. New episodes then failed to match and landed in Orphan Torrents. A torrent now also matches when its own rebuilt title equals the stored `title_raw`; existing rows work without a migration. +- **Subscriptions (#1105):** when a search RSS feed returns several seasons, subscribing or collecting no longer downloads the other seasons' torrents under this bangumi (where they overwrote each other during rename). Items are filtered by season and type with the same rule the RSS refresh uses. +- **HTTP proxy (#1104):** httpcore leaks the tunnel connection when CONNECT succeeds but the TLS handshake fails, so the shared pool filled up and every request hit `PoolTimeout` until restart. A `PoolTimeout` now switches later requests to a fresh client without interrupting in-flight ones. +- **Parser (#1108):** Unicode Roman numerals (`Ⅱ`, …) are read as the season, and fullwidth dashes wrapping the Chinese title are removed, so `Clevatess Ⅱ-魔獸之王與虛假的勇者傳承-` parses as season 2 and matches TMDB. +- **Docker health check (#1106):** reads the configured WebUI port and probes IPv4 then IPv6 loopback, instead of `localhost:7892`, which busybox resolved to `::1`. +- **Logs (#1117):** an RSS or rename interval of 0 made the background loop spin and flood the log; the interval now falls back to 1 second. The docker-compose and `docker run` examples cap the container log at 10 MB × 3. + ## 3.3.5 — Subscription, notification, and configuration fixes 3.3.5 is a bugfix release with five fixes across RSS subscriptions,