release: bump version to 0.37.1

This commit is contained in:
linkong
2026-04-23 11:05:30 +08:00
parent 67f82dc41c
commit 987c378f99
7 changed files with 63 additions and 9 deletions

View File

@@ -1 +1 @@
0.37.0
0.37.1

View File

@@ -8,6 +8,19 @@ This project follows the repository versioning rule:
- `improvement` -> `+0.0.1`bugfix + 小功能混合)
- `bugfix` -> `+0.0.1`
## [0.37.1] — 2026-04-23
### ✨ Highlights
- `planet.sh` 后端重启链路修复 `uvicorn --reload` 残留 worker 场景,`restart` 现在能真正替换旧实例
### 🔧 Improvements
- 收口后端清理逻辑,统一按 `uvicorn` 进程、端口占用进程和进程组执行清理,减少 reload 场景漏杀分支
### 🐛 Fixes
- 修复部分机器执行 `./planet.sh restart --allow-lan` 后后端仍停留旧实例,导致 `/api/v1/visualization/geo/compute-centers` 返回 `404` 的问题
---
## [0.35.1] — 2026-04-22
## [0.37.0] — 2026-04-23

View File

@@ -16,12 +16,13 @@
## Current Version
- `main` 当前主线历史推导到:`0.16.5`
- `dev` 当前开发分支历史推导到:`0.37.0`
- `dev` 当前开发分支历史推导到:`0.37.1`
## Timeline
| Version | Type | Branch | Commit | Summary |
| --- | --- | --- | --- | --- |
| `0.37.1` | bugfix | `dev` | `pending` | 修复 `planet.sh``uvicorn --reload` 场景下未清理旧 worker 的问题,避免后端重启后仍停留旧实例并导致算力中心聚合接口 404 |
| `0.37.0` | feature | `dev` | `pending` | Earth 连线系统从巡航语义中完全解耦为通用 callout connector统一桌面/移动端对象级锚点、临界区锚点滑动与稳定巡航展示链路 |
| `0.36.0` | feature | `dev` | `pending` | Earth 新增统一算力中心图层与估算位置展示,继续收口拖拽交互,并补充 AI Provider 指纹与 WSL 局域网访问支撑 |
| `0.35.1` | bugfix | `dev` | `pending` | 收口 Earth 桌面 HUD 与移动端抽屉的统一统计绑定机制,修复态势统计在图层切换后的同步遗漏 |

View File

@@ -1,6 +1,6 @@
{
"name": "planet-frontend",
"version": "0.37.0",
"version": "0.37.1",
"private": true,
"packageManager": "bun@1",
"dependencies": {

View File

@@ -1025,7 +1025,14 @@ start_postgres_service() {
# Backend lifecycle helpers
cleanup_backend_processes() {
pkill -f "uvicorn" 2>/dev/null || true
local backend_port="${1:-$DEFAULT_BACKEND_PORT}"
terminate_backend_processes TERM "$backend_port"
if ! wait_for_port_release "$backend_port"; then
terminate_backend_processes KILL "$backend_port"
wait_for_port_release "$backend_port" || true
fi
}
start_backend_with_retry() {
@@ -1033,7 +1040,7 @@ start_backend_with_retry() {
local retry=1
while [ "$retry" -le "$BACKEND_MAX_RETRIES" ]; do
cleanup_backend_processes
cleanup_backend_processes "$backend_port"
cd "$SCRIPT_DIR/backend"
PYTHONPATH="$SCRIPT_DIR/backend" nohup uv run --project "$SCRIPT_DIR" python -m uvicorn app.main:app --host 0.0.0.0 --port "$backend_port" --reload > /tmp/planet_backend.log 2>&1 &
BACKEND_PID=$!
@@ -1242,6 +1249,39 @@ collect_port_pids() {
return 1
}
terminate_process_group() {
local signal="$1"
local pid="$2"
local pgid=""
[ -n "$pid" ] || return 0
kill -0 "$pid" 2>/dev/null || return 0
pgid="$(ps -o pgid= -p "$pid" 2>/dev/null | tr -d '[:space:]')"
[ -n "$pgid" ] || return 0
kill "-${signal}" -- "-${pgid}" 2>/dev/null || true
}
terminate_backend_processes() {
local signal="$1"
local backend_port="$2"
local pids=""
local pid=""
pids="$(pgrep -f "uvicorn" 2>/dev/null || true)"
for pid in $pids; do
terminate_process_group "$signal" "$pid"
terminate_process_tree "$signal" "$pid"
done
pids="$(collect_port_pids "$backend_port" || true)"
for pid in $pids; do
terminate_process_group "$signal" "$pid"
terminate_process_tree "$signal" "$pid"
done
}
terminate_process_tree() {
local signal="$1"
local pid="$2"
@@ -1521,8 +1561,8 @@ stop_container_if_running() {
}
stop_backend_service() {
if pgrep -f "uvicorn" >/dev/null 2>&1; then
cleanup_backend_processes
if pgrep -f "uvicorn" >/dev/null 2>&1 || ! can_bind_port "$DEFAULT_BACKEND_PORT"; then
cleanup_backend_processes "$DEFAULT_BACKEND_PORT"
log_halt "后端服务已停止"
fi
}

View File

@@ -1,6 +1,6 @@
[project]
name = "planet"
version = "0.37.0"
version = "0.37.1"
description = "智能星球计划 - 态势感知系统"
requires-python = ">=3.14"
dependencies = [

2
uv.lock generated
View File

@@ -475,7 +475,7 @@ wheels = [
[[package]]
name = "planet"
version = "0.37.0"
version = "0.37.1"
source = { virtual = "." }
dependencies = [
{ name = "aiofiles" },