api/CHANGELOG.md

87 lines
4.9 KiB
Markdown
Raw Permalink Normal View History

# CHANGELOG
## v1.5.7 (2026-08-17)
- **低代码结果投影**: 动态 Action 可通过 `resultMode: data` 让 JavaScript `api.Call` 直接返回业务数据,并补齐 `ok/code/error`
- **继承一致性**: 结果投影读取完整的 Action 继承配置,子 Action 无需重复声明。
- **兼容边界**: Go `Call`/`CallBy` 与未配置该选项的 JavaScript Action 均保持原有完整 `Result` 行为。
## v1.5.6 (2026-08-17)
- **统一调用结果**: `Call``CallBy` 返回 `ok/statusCode/headers/data/code/error`,支持响应错误字段和成功码规则。
- **调用选项**: 新增 Token 验证、超时、配置覆盖与敏感/控制字段覆盖保护。
- **流式能力**: 基于 `go/http.ManualDo` 增加同步 Headers/Data/Done 回调,支持 JS 低代码向下游响应透传。
- **动态管理**: 增加 Action 与 JavaScript Signer 的注册、替换和移除能力。
- **统一 Filter 管线**: Action 仅配置有序 `filters: []`;同一 Filter 实例按 `request/headers/chunk/result/done` 事件处理调用全生命周期,并提供逐调用隔离状态。
- **安全配置**: 密文格式收敛为 `**URLBase64(AESGCM)`,新增无状态 `Encrypt`
- **结构化审计**: 增加 API 调用日志;正文默认关闭,开启后仍执行文本、数组和深度裁剪。
- **依赖对齐**: 升级 `cast/config/crypto/encoding/http/log/safe` 到当前稳定补丁版本。
## v1.5.5 (2026-06-21)
- **错误堆栈重构**:
- `Call` 函数的返回错误使用 `jsmod.MakeError` 动态包裹以保留调用堆栈。
- **依赖对齐**:
- 升级依赖 `jsmod``v1.5.3`, `cast``v1.5.3`, `rand``v1.5.3`, `encoding``v1.5.4`, `shell``v1.5.3`, `safe``v1.5.2`, `id``v1.5.4`, `crypto``v1.5.3`, `file``v1.5.5`, `config``v1.5.3`, `log``v1.5.8`, `http``v1.5.3`
## v1.5.4 (2026-06-11)
- **依赖对齐**:
- 对齐基础设施依赖到 v1.5.x。
## v1.5.3 (2026-06-10)
- **优化**:
- 对齐 JS 导出为 PascalCase 格式。
## v1.5.2 (2026-06-10)
- **修复**:
- 对齐 encoding 模块 v1.5.2。
## v1.5.1 (2026-06-03)
- **依赖对齐**:
- 对齐 Tag v1.5.0。
## v1.5.0 (2026-05-30)
- **基础设施升级**:
- 与全局 v1.5.0 基础设施对齐。
## v1.4.0 (2026-05-30)
- **重大重构**: 引入数据驱动的 API 编排模式。
- **新增**: `ActionRegistry` 支持注册 Go 结构体或 JSON 定义作为 API 模板。
- **新增**: `CallBy(name, payload)` 动态调用入口,自动处理模板实例化与动态参数合并。
- **新增**: `SetConfig` 支持内存配置热更新,并自动识别 `**` 前缀的加密字符串为 `SafeBuf`
- **新增**: 支持 `form``multipart` 请求格式。
- **新增**: 跨语言签名支持,提供 `SetJSRunner` 钩子允许执行 JS 签名逻辑。
- **JSMOD**: 注册 `call`, `setConfig`, `registerAction`, `registerSigner``jsmod`
## v1.3.3 (2026-05-30)
### Security
- **Frictionless Memory Safety**: introduced `HttpRequest.SetHeader(key, values...)` with automatic secret extraction and buffer tracking.
- **Automated Lifecycle**: `api.Call` now automatically "Opens" all `SafeBuf` configuration values before calling Signers, and explicitly closes them via defer.
- **Paradigm Signers**: refactored built-in signers to use naive, declarative syntax (`safe.Base64(safe.Concat(...))`) which leverages `SafeBuf` for encrypted intermediate states, preventing GC reliance.
- **Ultimate Protection**: implemented post-hoc string erasure using `unsafe.String` over controlled buffers managed by a private `wipeableBuffers` list.
- **Infrastructure Alignment**: aligned dependencies with `go/safe` v1.0.6, `go/http` v1.0.11, and `go/config` v1.0.7.
2026-05-09 16:31:41 +08:00
## v1.0.2 (2026-05-09)
### Changed
* **移除第三方依赖**: 移除了对 `jsontag` 模块的依赖,统一使用标准库及自有基础设施对齐,增强了模块的独立性与长期稳定性。
## v1.0.1 (2026-05-08)
### Refactoring & Testing
* **彻底无状态化**:剥离真实外部服务依赖与网络调用测试。
* **本地全链路拦截**:使用 `httptest.Server` 重塑测试用例,从配置合并、填充 (`Fill`)、自定义签名器到 HTTP 序列化全程闭环。
* **性能提升证明**:新增 Benchmark确认核心调度在纳秒级别245 ns/op0 反射滥用,极低逃逸。
* **清理**:合并所有冗余散落的测试文件至单一 `api_test.go`
## v1.0.0 (2026-05-08)
### Features
* **核心引擎**:实现基于接口驱动的 API 调用调度器。
* **配置系统**:支持多级层级合并、自动解密、并发安全保护。
* **注入引擎**:实现非破坏性参数注入(仅注入零值字段)。
* **标准签名器**:内置 `basic`, `bearer` 认证支持。
* **AI 增强**:提供 `GetManifest` 导出功能。
### Refactoring
* 彻底移除字符串模板解析引擎,转向无状态设计。
* 将具体签名器(如 TC3剥离至具体业务层。