Appearance
PHP 更新日志
当前版本 v1.3.10 · Packagist(
mldong/jeeflow-php,独立1.x版本线)· 仓库 mldong/jeeflow-php · Releases 版本日期以本仓 git tag 为准;跨语言对齐脉络见 更新记录总览。
PHP 引擎独立发版,版本号不与四语言对齐,对齐的是引擎语义与 API 契约。2026-08-11 首发 v1.0.0。环境要求:PHP 8.1+ / Composer 2.x。
v1.3.10 — 2026-09-07
- 修复(demo 层,引擎核心零改动)id 生成改
DbAwareIdGenerator——修「保留库升级」幂等隐患(480beb3,T003 夜班批):InMemoryIdGenerator进程内自增固定从 1001 起,PHP 进程重启后 counter 归零,对有历史数据的 SQLite/MySQL 重新deploy必撞主键。demo 层构造时扫 8 业务表MAX(id)取全局最大起步,内存/MySQL 两仓储共用同一实例。 - 同批(
ac0b2c8,T003)demo 业务数据种子 driver:引擎真实启动 16 进行中 + 9 已完成 + 8 委托,八语言 demo 站覆盖矩阵对齐。 - 验证:旧库(define 占 1001..1015)
deploy新 namecode=0id=1390 /demo-init全跳过 / smoke 40 action 全过;公网全新库不受影响(本地复现路径)。
v1.3.9 — 2026-09-04
- 新增 stats 三 action(
processInstance/stats/overview|trend|group):overview / trend / group 全 9 维度 + 内存聚合。 - 修复 stats 契约对齐 A–E 验收(与 Java 参考实现逐字段一致):trend 桶枚举含 end 桶 + 时间过滤 end 含端(两线一致性)。
- 事件收口 v1.3.8 落地事件机制后,随 laravel 基础仓
sys_message列名对齐收口(receiver_user_id/sender_user_id,对齐种子库与其余六栈),CC_CREATE 抄送知会全链闭环。 - 验证 gate24 24/24(L2-11 消息写路径绿)+ CC 五场景 + stats。
v1.3.8 — 2026-09-03
- 新增 引擎事件机制(方案 A):引擎侧 fire
ProcessInstanceStart/End等基础事件——PHP 无监听器体系,由集成层WfMessageProcessEventListener对动作后主动补发站内信(引擎只 fire、不保证消息落库)。
v1.3.7 — 2026-08-31
- 修复 design 读路径行键只认 camelCase:
JeeflowFacade::designListByType/designDetail读 PDO 行只取displayName/isDeployed,而 PDO 持久化返回原列名display_name/is_deployed→ 未部署设计的displayName出口恒空、isDeployed恒 0。改双读(向designRowToMap看齐),零出口键形变更。 - 测试 T1 回归用例
testDesignReadPathPdoSnakeCaseKeys+ 破坏性自证两发(红 → 红 → 复原绿,用例非恒真);全量 T0 287 tests / 1481 assertions 全绿 + T1mysql-smoke4/4;契约门禁出口键形 L2-10 入共享 runner(22 → 23)。 - 集成验收 mldong-laravel-jeeflow bump → 通道 B 候选→生产 → laravel S13 转绿 → 生产 tag L0–L2 23/23。收口口径:本轮只动 PHP(单语言),收口只认 laravel 栈。
v1.3.6 — 2026-08-30
- 修复 删除/启停类 action 不认
{ids}批量:改走统一助手idListArgs({ids}数组优先、单{id}兼容、两者皆缺 / 空数组 / 含非法值一律99999999),processDefine/remove、processDesign/remove、processDefine/upAndDown一并收敛——此前空值静默成功(DELETE ... WHERE id=''删 0 行仍回code=0)。 - 测试 B 档入口批量形态矩阵(四 action × 四态,20→24 用例);自证已跑(legacy 实现下 16 组全静默成功 → 修复后全
99999999)。全量 T0 286 tests 全绿 + T1 4/4。 - 与四语言 / Rust 同批。
v1.3.5 — 2026-08-24
- 修复 串行会签「一次建全」回归,改回逐个创建(对齐 Java 与 Go / Python / Node):节点入口只建
actors[0]一个 DOING 任务,全量成员 + 计数器存首任务变量,每完成非最后一人建下一人、最后一人完成 merged。 - 修复
CountersignHandler串行分支判定$csType === 2→=== CountersignType::SERIAL(SERIAL=1,原不可达分支本轮激活)。 - 修复
JeeflowFacade.buildNodeProgress会签成员清单改读任务变量operatorList_{node}。 - 全量 280 tests / 1300 assertions 全绿(PHP 8.4.24,REQUIRE_MYSQL 真库)。
v1.3.4 — 2026-08-23
- 语义修正 会签一票否决条件化 + merged 废弃残留任务(对齐 mldong 内置引擎 boot2/3):
submitType=20默认软拒绝;仅节点countersignCompletionCondition=ONE_VOTE_VETO时一票否决推进;merged 后废弃该节点剩余 DOING 任务(taskState=99)。 - 修复 引擎缺口:
getSurrogate生效查询(时间窗 + enabled 过滤)+highLightnodeProgress 会签成员进度。 - 全量 277 tests / 1264 assertions 全绿。
v1.3.3 — 2026-08-20
- 修复 响应出口统一 id 字符串化:
JeeflowFacade::flow()对data递归stringifyIds()——单记录端点此前 19 位雪花 id 以 JSON 数字下发,前端 float64 丢精度致 designer 保存静默 no-op(L3 S8a 偶发根因)。对齐 Java / Go / Node。 - 修复 嵌套
his快照列表的id/process_design_id同步字符串化;JeeflowFacadeIssue61Test匿名类补接口方法(预存 PHP fatal)。 - 全量 242 tests / 919 assertions 全绿;Laravel L3 E2E 14 过 / 1 skip / 0 失败。
v1.3.2 — 2026-08-19
- 修复
pageCcInstances补ext/instanceExt字段(SELECT 增instance_variable解析输出),修复 L3 E2E S6 抄送列表行渲染失败。
v1.3.1 — 2026-08-19
- 修复
pageCcInstances补 JOINwf_process_instance/wf_process_define,新增displayName/processDefineName/version/operator字段(此前抄送列表前端定义名称/版本列空白)。
v1.3.0 — 2026-08-19
- 修复
TaskNodeParserperformType/countersignType 改用枚举from()替代(int)强转,正确处理字符串值(此前会签场景走错分支)。 - 新增 AssignmentHandler SPI 机制(对齐 Java
CreateTaskHandler):AssignmentHandlerInterface+ 注册表 + 内置FormFieldAssigneeHandler/ApplicantDeptLeaderAssignmentHandler;CreateTaskHandler::resolveActors()新增 actors 为空时 handler 分支。 - 扩展
OrgUserProviderInterface新增findDeptLeaders()/findDeptMainLeaders()。
v1.2.1 — 2026-08-18
- 修复
pageInstances结果补 JOINwf_process_define,新增displayName/version/processDefineName等字段(前端「我发起的」列不再空白)。
v1.2.0 — 2026-08-18
- 新增 FlowUtil 用户信息注入
addUserInfoToArgs()+ 自动标题addAutoGenTitle();EnumDictRegistry元数据模块(7 内置字典)+HandlerRegistry7 内置 Handler;枚举label()方法 +CountersignType枚举类。 - 测试 新增 22 个单元测试,全量 241 tests / 911 assertions。
v1.1.3 — 2026-08-17
- 修复 空 Map 序列化对齐:
variable/ext/taskFormData/nodeProgress等空值统一(object)[](JSON{}),对齐 Java / Go / Python / Node;listByType的processDesignId转 string。
v1.1.2 — 2026-08-15
- 修复 PDO 分页
LIMIT ?内联为整数;PDO hydrate 主键 int → string,setTaskId不再类型失败。 - 新增 persist 拦截器 / 写侧:ARCHIVE / SYNC 落业务表;T1 冒烟 M1–M4 并入 changelog。
v1.1.1 — 2026-08-13
- 修复
processTask/detail的taskModel补全ext/form字段。 - 修复
processDesign/page时间格式对齐yyyy-MM-dd HH:mm:ss。
v1.1.0 — 2026-08-12
- 新增
processTask/candidatePage:模型候选双源 + 用户搜索回落。 - 新增
processInstance/bizData:业务数据读侧回显。 - 新增 SPI:
UserSearchProviderInterface、OrgUserProviderInterface。
v1.0.0 — 2026-08-11
- 新增 引擎核心(
packages/core):ProcessInstance 聚合根 + 状态机 + 6 SPI + 7 Handler,行为对齐 Java。 - 新增 持久化(
packages/repository-pdo):MySQL 八表 + InMemory + SQLite 默认存储。 - 新增 统一门面(
packages/web-contract):JeeflowFacade40 action;PSR adapter(packages/web-psr)+ 参考 demo(demo-slim,Slim 4)。