Repository navigation
v1.3.1 — 修复 CI 暴露的两处测试构造错误(CI 已在 8.0–8.4 全绿)
修复
新加的 CI 立刻抓到了一处长期潜伏的问题:两个用例写成 new Sm2AsymmetricCipher('sm2'),而该构造函数第一个参数是 ?Sm2CipherOptions(标识符在第二位),因此在任何装了 ext-gmp 的环境都会 TypeError。它们都带 gmp 门控,本地开发机没有 gmp 就一直 skip —— 测试一直是绿的,问题一直存在。
修正为 new Sm2AsymmetricCipher(null, 'sm2'),与其他用例的既有写法一致。仅测试代码变更,src/ 无改动,对使用者没有影响。
CI 现状(本次发布的验证)
.github/workflows/tests.yml 在推送后自动跑通全部五个版本:
| PHP | 结果 |
|---|---|
| 8.0 / 8.1 / 8.2 / 8.3 / 8.4 | 全绿,各 239 用例 / 4512 断言 / 5 跳过 |
CI 环境启用 gmp + sodium,因此 SM2 与 XChaCha20 的用例真正执行(本地因缺 gmp 会跳过)—— 这也顺带确认了 v1.3.0 里那处 SM2 反射修复在 PHP 8.0 上确实生效:若 setAccessible 仍缺失,8.0 那一格会以 ReflectionException 直接失败。
升级
无运行时变更,composer require erikwang2013/encryption:^1.3 即可。