Skip to content

Releases: wop-platform/wop-php-sdk

v0.2.0 — 质量闭环:覆盖率 100% / 变异门禁 / Behat / 可移植性

Choose a tag to compare

@im47cn-bot im47cn-bot released this 31 Aug 06:48
v0.2.0
ddad6c3

v0.2.0

基于 v0.1.0 的质量闭环 + 工具链治理(协议语义零改动,PHPDoc 除外)。

质量指标(本地实测:PHPUnit 12.5 / xdebug 3.5.3 path-coverage / behat 3.32)

  • 行覆盖 467/467 = 100%,分支覆盖 395/395 = 100%
  • PHPUnit 187 tests / 523 assertions 全绿
  • 变异测试 MSI 90.69%(15 类算子、494 变异体;46 存活全部归档等价证明,见 docs/mutation-report.md E1–E18)
  • Behat Gherkin 4 feature / 18 场景 / 65 步全绿(入向场景消费 interop 冻结样本,D5 纪律)

新增

  • 场景矩阵:UC1–UC11 商户使用场景 × spec F1–F9/D1–D5(docs/wop-sdk-scenario-matrix.md)
  • 变异框架 .ci/mutation-run.php + 等价锚点漂移检测(scripts/check-equivalent-anchors.py)
  • 可移植性门禁 .ci/portability-gate.sh、PHPDoc 门禁 scripts/docstring_gate.py(本地+CI 同脚本)
  • Behat 场景套件(features/,behat 3.32)
  • src PHPDoc 全量补齐(71 对外 + 26 内部)

修复

  • README Coverage badge 括号闭合
  • TransportTest server 就绪竞争(TCP 探测+端口重试)/ 11MB 组内存 / router 临时文件治理
  • Codeup 适配器:标记评论 best-effort 读取、add 幂等、remove 投影屏蔽、pr_list marker-only 过滤
  • 质量脚本去机器特定路径(cron/launchd PATH 动态探测注入)

治理

  • .factory 调度/反馈/守卫/变异执行重构(可诊断性、Python 跨版本兼容)
  • Sourcery gate 全量清零(豁免项见 .sourcery.yaml)

详见 docs/wop-sdk-report-quality-gate.md。

v0.1.0

Choose a tag to compare

@im47cn im47cn released this 29 Aug 04:46
v0.1.0
62a5242

首版(Q7 裁决:仅 RSA 套件)。

协议核心

  • 套件解析(WOP-RSA3072-SHA256 / WOP-RSA4096-SHA256;SM2-SM3 按路线图明确拒绝)
  • canonicalRequest(5 段换行连接,Java-URLEncoder 语义,与网关逐字节对齐)
  • 结构化 x-wop-sign(phpseclib RSASSA-PKCS1v15)
  • x-wop-content-digest(D2:恰一空格小写 hex;无 body 缺席;有 body 必入签)
  • L2 数字信封:DEK 载荷 RSA-OAEP(显式双 SHA-256 + 空 label)+ AES-256-GCM(ciphertext||tag 尾拼)
  • verifyResponse/verifyCallback:F6 顺序钉死(验签→digest→DEK 解包→alg 族比对→bulk 解密);I7 错误模糊化;F9 防重放字段
  • Transport:curl 扩展适配器 + Guzzle peer 适配器(suggest,不污染核心依赖)

质量门

  • 黄金向量字节级合规:rsa3072/4096 sign、oaep unwrap(含 mgf1-sha1 陷阱拒)、aesgcm、formatRules 全量负向量
  • 覆盖率:行 344/344 = 100%、分支 295/295 = 100%(xdebug path-coverage,门禁 ≥98%)
  • CI:PHP 8.2–8.5 矩阵全绿(run #33234590986);tag 验证全绿(run #33234593500)

兼容性

PHP ^8.1;依赖仅 phpseclib ^3.0;MIT。SM2-SM3 支持见 README 国密路线图。