v0.2.0-beta.8
🎉 New Features
异步与协程通信库 (Channel / Future / chan_select)
参考 vlang CSP 模型设计的异步通信原语,采用 tphp OOP 思想:
- Channel — CSP 风格有界通道,环形缓冲区实现(push/pop 零 malloc),阻塞前自旋 750 次减少 syscall。9 个方法
- Future — 一次性异步结果传递,支持
await/then/catch链式调用 +all/race组合器。10 个方法 - chan_select — 多通道多路复用,支持超时机制
- 内存安全:push 时 retain,close 时遍历释放,dtor 保证不泄漏
- 新增
ChannelClosedException/FutureRejectedException异常类型
ext/pgsql + ext/pdo_pgsql
PostgreSQL 扩展(纯 C 协议实现,支持 trust/md5/SCRAM-SHA-256 认证):
- 78 个
pg_*函数(连接/查询/预处理/结果集/COPY/DML/Large Object/持久连接/通知回调) - ~60 个常量
- 参考 vlang Pool+IdleSlot 模式实现
pg_pconnect持久连接池 pdo_pgsql驱动复用 ext/pgsql 协议实现
🐛 Bug Fixes
- fix(ci): 修复 TCC on macOS 定义
__GNUC__导致误命中 GCC__atomic_*内建,283 个测试全部编译失败 - fix(pdo_pgsql): 修复
c_int()截断 64 位 dbh 指针导致多平台段错误 - fix(pgsql): 修复 notice 回调段错误 + TypeChecker 常量 null type 警告
- fix(ext): pgsql/pdo_pgsql 改用 phpc 正确前缀 + 修复常量引用类型推导
- fix(ci): Windows PostgreSQL 改用 EnterpriseDB binaries ZIP 包手动安装
Full Changelog: v0.2.0-beta.7...v0.2.0-beta.8
What's Changed
Full Changelog: v0.2.0-beta.7...v0.2.0-beta.8