Releases: Wolido/OpenAaaS
Releases · Wolido/OpenAaaS
Release list
server v0.11.0
Added
- 新增 API Key 维度滑动窗口限流:Client API Key 100 次/分钟,Agent API Key 150 次/分钟
- 新增审计日志模块,记录 Client/Agent 注册、认证失败等关键安全事件
- 新增
trust_x_forwarded_for配置,支持从X-Forwarded-For提取来源 IP - 新增
rate_limit相关配置项与示例
Changed
- 统一认证失败错误响应为“认证失败”,避免泄露内部细节(如 key 是否存在)
- 重构
auth模块,提取 API Key 哈希与统一错误处理逻辑
Security
- 限流键使用
auth::hash_api_key生成的 HMAC 哈希,避免在内存中保存原始 API Key - 审计日志对
registration_token进行字符级掩码,防止完整 token 泄露
agent-core v0.4.2
admin-cli v0.1.1
Fixed
- admin-cli
--help输出增加初始化配置引导说明,提示首次使用执行config init(Issue #123)
client-app v0.6.1
Changed
- 任务列表改为展示排队中、进行中、已完成和失败四种真实任务状态,并移除无法由客户端验证的百分比进度展示。
- 服务市场卡片和服务详情页不再向普通用户展示内部注册状态。
server v0.10.0
Added
POST /api/v1/client/tasks新增application/json请求体支持,不强制依赖multipart/form-data- 新增 JSON 路径的
session_id校验(非空、不含..和/、长度 ≤64、仅允许字母数字及_-) - 新增 7 个 JSON 路径集成测试,覆盖成功创建、缺少字段、非法 session_id、body 超限等场景
Changed
create_taskhandler 重构为 Content-Type 分发器,内部提取create_task_inner公共逻辑和parse_multipart_fields解析函数- Discovery API 文档更新:
create_task的content_type和files字段说明明确标注 JSON 方式不支持附件上传
Security
- JSON 路径限制请求体大小为 1MB(
axum::body::to_bytes(req.into_body(), 1024 * 1024)),防止恶意大请求导致内存耗尽
Fixed
- 修复
accept_task/complete_task中的 race condition:使用数据库事务包裹 tasks 状态更新和 services 负载更新 agent_current_load改为原子 +1 / -1,避免并发时计数不准确complete_taskSQL 的agent_current_load递减增加> 0保护,避免异常状态下出现负数负载或误改 agent_status- 事务回滚失败不再阻断业务语义,返回
Ok(false)
server v0.9.0
Added
- 新增
GET /api/v1/admin/services/{id}/users接口,支持管理员查询某服务的授权用户清单 - 返回
is_public标志和授权用户列表(user_id, user_name, role, granted_at) - 包含集成测试覆盖:服务不存在(404)、公开服务无显式授权、受限服务有授权用户
Changed
- 代码格式化(cargo fmt)
Added
- 后台清理任务测试补充(仅删除文件,保留数据库记录)
client-app v0.6.0
Added
- 美化 client-app 视觉基线,新增品牌配色、统一图标、服务卡片、状态徽章和任务列表演示状态。
- 增加客户端美化流程文档与开发环境示例配置,便于后续视觉迭代。
admin-cli v0.1.0
Added
- 初始版本发布
- 服务管理:list, show, create, update, delete(含 force delete)
- 用户管理:list, delete(含确认保护)
- 权限管理:按用户/服务查询、grant、revoke
- 任务统计概览(stats)
- 配置管理:init(交互式,API Key 输入隐藏)、show
- 健康检查:验证 Server 连通性和 Admin Key 有效性
- 39 个单元/集成测试(含 wiremock HTTP 测试)
- 安全配置:文件权限 0o600、API Key 脱敏、删除确认
server v0.8.0
Changed
- 后台清理任务仅删除本地磁盘文件,保留 tasks 和 task_files 数据库记录(此前会同时删除数据库记录)
- 更新相关配置注释和文档注释,明确保留策略
server v0.7.1
Added
- 新增
PUT /api/v1/services/{id}接口,支持管理员更新服务信息(name、description、usage、is_public) - 支持部分更新,仅传入需要修改的字段
- 空请求体时直接返回当前服务信息