Files

91 lines
5.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# DEVLOG
## v1.8.0 - 邮箱池与受控对外池 API 首次交付
发布日期:2026-03-17
### 新增功能
- 新增内部邮箱池接口:`/api/pool/claim-random`、`/api/pool/claim-release`、`/api/pool/claim-complete`、`/api/pool/stats`,支持随机领取、人工释放、结果回写与池统计。
- 新增对外邮箱池接口:`/api/external/pool/*` 现已支持 API Key 鉴权访问,并接入既有公网模式守卫、访问审计与调用方日级使用统计。
- 新增邮箱池状态机与持久化结构:账号新增 `pool_status`、`claimed_by`、`lease_expires_at`、`claim_token`、成功/失败计数等字段,同时引入 `account_claim_logs` 记录 claim/release/complete/expire 全链路动作。
- 新增多 API Key 粒度权限:`external_api_keys` 现支持 `pool_access` 字段,可按调用方单独授予 external pool 访问能力。
### 修复
- 修正对外邮箱池接口的返回格式,使 `claim-random`、`claim-release`、`claim-complete` 与 `stats` 全部对齐现有 external API contract,避免对接方处理分支不一致。
- 修正设置接口对邮箱池总开关和公网模式细粒度禁用项的读写逻辑,确保 `pool_external_enabled` 与 `external_api_disable_pool_*` 系列配置可以稳定持久化并回显。
- 修正租约超时回收行为,过期 claim 会自动写入 claim log、转入 `cooldown`,降低因调用方异常退出导致账号长期悬挂的风险。
### 重要变更
- 版本号从 `1.7.0` 提升到 `1.8.0`,应用 UI 侧边栏版本显示、系统/对外 API 返回的 `version` 字段继续由 `outlook_web.__version__` 统一驱动。
- 数据库 schema 新增邮箱池相关字段、`account_claim_logs` 表,以及 `external_api_keys.pool_access` 权限列;现有库初始化/升级时会自动补齐。
- 当前仓库不是 Tauri 工程,不包含 `Cargo.toml`、`package.json`、MSI 或 NSIS 构建链路;本次发布继续沿用仓库既有的 Docker 镜像 tar 与源码 zip 作为正式产物。
### 测试/验证
- 单元测试:`python -m unittest discover -s tests -v`
- 结果:`Ran 440 tests in 42.599s`
- 状态:全部通过
- 构建验证:`docker build -t outlook-email-plus:v1.8.0 .`
- 状态:失败
- 原因:Docker daemon 未启动,`//./pipe/dockerDesktopLinuxEngine` 不存在,当前环境无法连接 Docker Desktop Linux Engine
- 发布产物:
- 未生成。由于镜像构建失败,本次未导出 Docker tar、源码 zip,也未同步到 GitHub Release 页面。
## v1.7.0 - 第二次发布:README 交付口径补全
发布日期:2026-03-15
### 新增功能
- 无新增业务功能。本次版本以“对外交付说明与发布内容整理”为主。
### 修复
- 重写 `README.md`,按当前代码实际能力补齐对外说明:对外只读 API、公网模式守卫(IP 白名单/限流/高风险端点禁用)、异步 probe、调度器、反向代理安全配置等。
### 重要变更
- 版本号从 `1.6.1` 提升到 `1.7.0`,应用 UI 侧边栏版本显示、系统/对外 API 返回的 `version` 字段均由 `outlook_web.__version__` 统一驱动。
- 发布内容继续沿用仓库既有的 Docker 镜像 tar 与源码 zip 作为正式产物。
### 测试/验证
- 单元测试:`python -m unittest discover -s tests -v`
- 结果:`Ran 378 tests in 47.899s`
- 状态:全部通过
- 构建验证:`docker build -t outlook-email-plus:v1.7.0 .`
- 状态:通过
- 发布产物:
- `dist/outlook-email-plus-v1.7.0-docker.tar`(299,417,600 bytes)
- `dist/outlookEmailPlus-v1.7.0-src.zip`(930,706 bytes)
## v1.6.1 - 发布质量闸门清理与发布内容精简
发布日期:2026-03-15
### 新增功能
- 无新增终端功能。
- 补回面向发布的 `docs/DEVLOG.md`,用于保留版本级发布记录,避免内部过程文档清理后缺少对外可读的版本说明。
### 修复
- 清理 `external_api_guard`、`external_api_keys`、`external_api`、`system` 控制器中的格式与类型问题,恢复发布质量闸门可通过状态。
- 将异步 probe 轮询逻辑拆分为更小的私有函数,分别处理过期探测、待处理探测加载、命中结果写回与异常落库,降低发布前质量检查中的复杂度风险。
- 保持外部 API 行为不变的前提下,修正多处测试代码排版与断言表达,确保测试套件在当前代码状态下稳定通过。
### 重要变更
- 大规模移除了仓库内的内部分析、设计、测试与过程文档,仅保留运行所需内容与少量公开文档,显著缩减发布包体积和源码分发噪音。
- 本次版本号从 `1.6.0` 提升到 `1.6.1`。应用 UI 侧边栏版本显示、系统/对外 API 返回的 `version` 字段均由 `outlook_web.__version__` 统一驱动,已同步到新版本。
- 当前仓库不是 Tauri 工程,不包含 `Cargo.toml`、`package.json`、MSI 或 NSIS 构建链路;本次发布沿用仓库既有的 Docker 镜像与源码压缩包作为正式产物。
### 测试/验证
- 待执行:`python -m unittest discover -s tests -v`
- 待执行:`docker build -t outlook-email-plus:v1.6.1 .`
- 待执行:导出 Docker 镜像 tar 与源码 zip,并同步到 GitHub Release 页面。