# Changelog — 生产部署包（2026-06-04）

## 摘要

合入相对 `origin/main` 的后端 BUG 修复（Batch 1–6）、前端文件 ETag/推送 WS、安装向导原子锁、Agent 心跳 TTL，并附门控审计与全量测试验证。

## 动机

用户确认「含代码要上线」；需满足 `deploy/pre_deploy_check.sh` 七道门（changelog + audit + test + lint + import + security + review）。

## 涉及文件（代码）

- **API**: `agent.py`, `install.py`, `schemas.py`, `servers.py`, `sync_v2.py`
- **服务/后台**: `auth_service.py`, `files_browse_service.py`, `script_job_callback.py`, `sync_engine_v2.py`, `schedule_runner.py`, `retry_runner.py`, `heartbeat_flush.py`, `self_monitor.py`, `unix_ls.py`
- **前端**: `useFilesBrowse.ts`, `usePushProgress.ts`, `PushPage.vue`, `PushSyncModeCard.vue`, `vite.config.mts`
- **静态/Agent**: `web/app/install.html`, `index.html`, `api.js`, preview 页, `web/agent/agent.py`
- **测试**: `test_files_browse_etag.py`, `test_security_unit.py`, `test_step0_infrastructure.py` 等
- **门控**: `docs/audit/2026-06-04-production-deploy.md`

## 迁移 / 重启

- 服务器：`supervisorctl restart nexus`
- 前端：必须重新 `vite build` 并同步 `web/app/`

## 验证

```bash
bash deploy/pre_deploy_check.sh
.venv/bin/ruff check server/
.venv/bin/pytest tests/ -q --tb=no
cd frontend && npx vite build
```

## 回滚

服务器 `git reset --hard <上一版本>` + 重启 nexus；恢复上一版 `web/app` 构建产物 tar。
