跳转至

PRAXO-CORE 2.3.4

发布日期: 2026-10-24

本补丁修复已声明 JSON Schema 子集的校验语义,避免非法值被静默接受,并补充 HTTP 客户端失败路径测试。不新增、删除或修改导出 pkg/... 声明。

JSON Schema 语义

  • 有类型的 schema 拒绝 nil,不再把 null 当作缺失数据。
  • integer 拒绝小数。
  • enum 对数字和布尔值同样生效,不再只适用于字符串。
  • pattern 使用 Go/RE2 正则表达式,符合 JSON Schema 语义,而非原先的 glob。
  • minLength 和 maxLength 按 Unicode 码点计数,而非字节。

该包仍是刻意缩小的子集,会忽略 $ref、allOf、anyOf、oneOf、not、 additionalProperties、format 等不支持关键字;minimum 或 maximum 为 0 时视为未设置。需要这些能力时应使用完整 JSON Schema 库。

HTTP 客户端覆盖

新增测试覆盖 GET 5xx 重试、非幂等 POST、backoff 期间取消、关闭 body 上限、 请求头覆盖、畸形 JSON 解码和 BaseURL 路径拼接。这是对现有行为的测试覆盖, 不是新的重试契约。

验证

  • 核心全量 test、vet/build、Linux race/fuzz、staticcheck、govulncheck。
  • 三平台测试与严格双语文档构建。
  • 9 个独立模块继续执行 Linux race 与漏洞检查。
  • 导出声明与 2.3.3 相同;API 快照仅在 JSON Schema 子集的包文档上不同。

以上不代表生产验证、部署远端 peer、完整 v2 IAM、实例租约、LIMENORA 反向入口 或外部基准验证。

升级

go get github.com/axisvela/praxo-core/v2@v2.3.4

使用已验证的 Go 1.26.10。从 2.3.3 无需源码迁移,可选适配器版本不变。

标签

发布环境未配置签名密钥,因此使用附注标签,而非加密签名标签。 发布 workflow 生成校验和及 SBOM。