diff --git a/automation/any2api_automation/lifecycle/process_reaper.py b/automation/any2api_automation/lifecycle/process_reaper.py index ba8da2da..e452cfc7 100644 --- a/automation/any2api_automation/lifecycle/process_reaper.py +++ b/automation/any2api_automation/lifecycle/process_reaper.py @@ -3,13 +3,13 @@ from __future__ import annotations import asyncio -from contextlib import suppress -from dataclasses import dataclass import logging import os -from pathlib import Path import signal import time +from contextlib import suppress +from dataclasses import dataclass +from pathlib import Path from typing import Any from ..config import settings diff --git a/automation/any2api_automation/main.py b/automation/any2api_automation/main.py index e3fda28e..ad3f5003 100644 --- a/automation/any2api_automation/main.py +++ b/automation/any2api_automation/main.py @@ -42,7 +42,7 @@ async def lifespan(_: FastAPI): app = FastAPI( title="Any2API Automation", - version="0.28.1", + version="0.28.2", docs_url=None, redoc_url=None, lifespan=lifespan, diff --git a/automation/pyproject.toml b/automation/pyproject.toml index d71a338b..5004eae7 100644 --- a/automation/pyproject.toml +++ b/automation/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "any2api-automation" -version = "0.28.1" +version = "0.28.2" description = "Shared browser, registration, captcha, proxy, and mail automation for Any2API" requires-python = ">=3.12,<3.13" diff --git a/automation/tests/test_process_reaper.py b/automation/tests/test_process_reaper.py index e7817343..c3b27275 100644 --- a/automation/tests/test_process_reaper.py +++ b/automation/tests/test_process_reaper.py @@ -1,14 +1,11 @@ -import asyncio import os from pathlib import Path -from unittest.mock import MagicMock import pytest from fastapi.testclient import TestClient from any2api_automation.lifecycle.process_reaper import ( BrowserProcessReaper, - ProcessInfo, ) from any2api_automation.main import app diff --git a/automation/uv.lock b/automation/uv.lock index 2189e8d9..9f41e099 100644 --- a/automation/uv.lock +++ b/automation/uv.lock @@ -89,7 +89,7 @@ wheels = [ [[package]] name = "any2api-automation" -version = "0.28.1" +version = "0.28.2" source = { editable = "." } dependencies = [ { name = "camoufox", extra = ["geoip"] }, diff --git a/backend/build.gradle.kts b/backend/build.gradle.kts index 545ca4f0..5df95835 100644 --- a/backend/build.gradle.kts +++ b/backend/build.gradle.kts @@ -5,7 +5,7 @@ plugins { } group = "com.any2api" -version = "0.28.1" +version = "0.28.2" java { diff --git a/tasks/current.md b/tasks/current.md index cc33bfd2..8e3c7cde 100644 --- a/tasks/current.md +++ b/tasks/current.md @@ -1,8 +1,15 @@ -# 当前任务板(源码 0.28.1) +# 当前任务板(源码 0.28.2) > 当前源码事实以代码和 [API 契约](../docs/architecture/API_CONTRACTS.md)为准; > 历史任务与运行态快照已归档。 +## 2026-10-12 修复进程自动回收版本的发布阻塞 + +- 目标:修复 0.28.1 发布在版本契约检查失败的阻塞,使已有进程回收修补可通过 CI/CD 部署。 +- 范围:统一 Backend、WEB、lockfile 和 automation 为新的修补版本 0.28.2;完成 lint、测试、GitOps 和线上容器能力核查。 +- 不改变 Provider、账号、密钥和推理协议;旧生产镜像 0.28.0 是回滚点。 +- 验收:版本检查通过,CI/CD 成功,线上可见 process_reaper,Arena 和 DeepSeek 的推理健康单独验证。 + ## 2026-10-11 自动化容器孤儿与僵尸进程自动化巡检与自愈机制 - **背景与根因定位**: diff --git a/web/package-lock.json b/web/package-lock.json index c72a519c..827388b2 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -1,12 +1,12 @@ { "name": "any2api-web", - "version": "0.28.0", + "version": "0.28.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "any2api-web", - "version": "0.28.0", + "version": "0.28.2", "dependencies": { "@emotion/react": "11.14.0", "@emotion/styled": "11.14.1", diff --git a/web/package.json b/web/package.json index 2f792420..d0a00cd4 100644 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "any2api-web", - "version": "0.28.1", + "version": "0.28.2", "private": true, "scripts": { "dev": "next dev",