Skip to content

Java 更新日志

当前版本 v1.8.27 · Maven Central(com.mldong:jeeflow-*)· 仓库 mldong/jeeflow-java · Releases 版本日期以本仓 git tag 为准;跨语言对齐脉络见 更新记录总览

1.0.0–1.8.4 为四语言同构对齐期(Java / Go / Python / Node 同号演进);1.8.5 起按语言节奏发版,版本号不必同号(Java 未发布 1.8.22–1.8.24,该区间为 Go / Python 独立发版,Java 无对应变更)。

v1.8.27 — 2026-09-05

  • 修复:stats 统计计数/时长被集成层 Long→String 序列化器字符串化(overview 13 字段中 9 个计数、trend started/finished、group count、JDBC define 维 avgDurationSeconds),与契约 §4.2「统计计数/时长为 int」不符。组装层统计计数一律 int 出参(Integer 不在 Long→String 序列化范围),id 字符串化规则不动;其余六语言同源实现天然走 int 不受影响。
  • 验证 Maven Central 七构件 200 + 公网 demo 实测全 number;七语言灌数据类型断言 84 项全 PASS。

v1.8.26 — 2026-09-05

  • 修复「stats 三 action 登录放行」:DefaultActionPermissionProvider 的 NO_PERM_ACTIONS 补 processInstance/stats/overview|trend|group(契约 v1.1 冻结「登录即可、不配权限码」 归纳放行清单时 stats 尚不存在后补遗漏),boot2/3/4 走引擎默认 SPI,普通用户分析页不再 99990406。
  • 验证 三场景单测 DefaultActionPermissionProviderTest;Maven Central 全构件可解析。
  • 发版注 bump 需九文件同改(根 pom + 八子模块 parent version),首跑漏子模块被 Central 以「构件已存在」拒收(bundle 混入旧版本构件),补齐后强推重打 tag 收口。

v1.8.25 — 2026-09-04

  • 新增 stats 三 action(processInstance/stats/overview|trend|group):overview / trend / group 全维度统计。
  • 修复 stats 契约对齐 A–E 验收(Java 为 wire 契约参考实现);publisher 单监听器异常兜底(P2,一个监听器异常不打断其余)。
  • 修复(发布通道)javadoc 插件关 doclint——历史注释债不应阻塞发布(v1.8.25 首次 CI 挂 javadoc)。

v1.8.21 — 2026-09-03

  • 新增 CC_CREATE 抄送知会事件(六语言统一缺口 Java 栈)。

v1.8.20 — 2026-09-02

  • 修复(引擎侧根因):TASK_CREATE 任务创建事件原在 CreateTaskHandler 落库 fire(监听器按 taskId 反查时任务行尚未提交,findTask 落空 → 静默丢,「wf 流程消息写路径缺失 / messagePage 恒空」)。统一改到任务行落库之后 fire(sourceId=taskId 可反查处理人),对齐「事件→消息」职责边界契约(引擎只 fire、不保证消息落库)。

v1.8.19 — 2026-08-30

  • 修复 批量入参契约:删除/启停类 action(processSurrogate/removeprocessDefine/removeprocessDesign/removeprocessDefine/upAndDown)统一走 idListArgs 助手——{ids} 数组优先、单 {id} 兼容,两者皆缺失 / 空数组 / 含非法值一律 99999999,不再空值静默成功。
  • 票面偏差(如实记):无真库 T1——jeeflow-repository-jdbc 连的是 H2(MODE=MySQL),按 1.8.16–1.8.18 惯例发版;发布集(排除 jeeflow-demo-boot4)JDK 8 下 clean test BUILD SUCCESS。

v1.8.18 — 2026-08-24

  • 语义修正 会签对齐内置引擎(boot2/3):submitType=20(COUNTERSIGN_DISAGREE)默认软拒绝(flag 记录、流程不阻断);仅节点 countersignCompletionCondition=ONE_VOTE_VETO 时一票否决推进;会签 merged(任意路径)后废弃该节点剩余 DOING 任务(taskState=99),不留孤儿待办。
  • 修复 串行会签「一次建全」回归,改回逐个创建:节点入口只建 actors[0] 一个 DOING 任务,全量成员 + 计数器存任务变量,每完成非最后一人建下一人;buildNodeProgress 会签成员清单改读任务变量 operatorList_{node}(逐个创建后不再漏显后续成员)。

v1.8.17 — 2026-08-23

  • 修复–82 门面字段级契约与负向断言缺口:processSurrogate 补 update / detail;taskDetail taskVo 出口 performType/taskType 改数字 code;candidatePage 行键归一 {id,realName,userName?,deptName?}listByType items 补 processDefineState;id 精度守卫(float64 超 2^53 显性报错,toLong);taskDetailext.isFirstTaskNode + designPage remark/icon 回显 + 内存仓储 toTaskRowfinishTime/expireTime;委托(授权人=操作人、时间入参兼容空格、分页 m_IN/m_EQ、生效时间窗 + enabled 过滤);submitType 2/3/4/5/6/20 门面行为 + 抄送空 actors → 99999999 测试。
  • SPEC processSurrogate update/detail、candidatePage 行键、listByType processDefineState、taskDetail ext + m_pd_* 搜列映射、id 字符串契约。

v1.8.16 — 2026-08-13

  • 修复processTask/detailtaskModel 补全 ext / form 字段,用于字段权限下发(五语言)。

v1.8.15 — 2026-08-10

  • 变更(发布通道)jeeflow-demo-boot4 从 Maven Central 发布集排除(该模块需 JDK 21)。

v1.8.14 — 2026-08-09

  • 变更(CI)test job 移除、aliyun mirror;为 CI 发布流水线做准备,无引擎行为变更。

v1.8.13 — 2026-08-09

  • 新增PersistPostInterceptor 提供 registerMeta 注册助手,集成方一行调用同步字典项与实例。
  • 变更 流程定义声明 postInterceptors 但注册表无实例时,发起 / 办理改为显式报错(原为静默跳过)。
  • 修复 Java 8 兼容:Map.ofEntries 等 JDK 9+ API 改为 JDK 8 等价写法,修复 JDK 8 运行时 NoSuchMethodError

v1.8.12 — 2026-08-08

  • 修复designRedeploy 替换分支未保留原 version,JDBC 仓储误写 1;显式保留 last.version
  • 改进 updateDefine / save / deploycontent 字段支持 string 与 JSON 对象双形态(四语言同批)。

v1.8.11 — 2026-08-06

  • 修复:办理时抄送 tf_ccActors 未创建抄送。
  • 修复FormFieldAssigneeHandler 先匹配 f_ 前缀变量再回落裸名(Go/Python/Node 于 1.8.18 对齐)。

v1.8.10 — 2026-08-06

  • 修复:串行会签完成判定缺陷——改为全部成员完成才流转后续节点,避免每次成员完成都重复创建审批任务。

v1.8.9 — 2026-08-05

  • 新增 JeeflowFacade.highLight 新增 nodeProgress(成员进度回显),与 Node / Go / Python 对齐(、)。

v1.8.8 — 2026-08-05

  • 无本语言行为变更(版本对齐;nodeProgress name 解析随 Node/Go/Python 批次,见其语言页)。

v1.8.7 — 2026-08-05

  • 无本语言行为变更(版本对齐)。

v1.8.6 — 2026-08-05

  • 无本语言行为变更(版本对齐)。

v1.8.5 — 2026-08-05

  • 无本语言代码改动(闭环收口);联邦 E9「id 出口字符串化」以 Java 既有全局实现为基准。

v1.8.4 — 2026-08-05

  • 无本语言行为变更(版本对齐;三门引擎– 对齐随版)。

v1.8.3 — 2026-08-04

  • 新增updateDefinecontent 时兼容 boot3 顶层 JSON。
  • 新增processDefine/removeprocessDesign/remove 兼容 {ids} 批量;新增 processDesign/listByTypeprocessInstance/bizData
  • 新增:权限码 SPI IActionPermissionProvider 及内置默认实现,集成方可删除静态权限表。

v1.8.2 — 2026-08-04

  • 修复:SYNC 字段权限不可绕过——任务完成入变量前按节点字段权限过滤,被拒字段不进变量,下游无法写入。

v1.8.1 — 2026-08-04

  • 修复:SYNC 字段权限键兼容前端 PERMISSION_f_{字段名} 约定,恢复只读 / 隐藏字段防护。

v1.8.0 — 2026-08-04

  • 新增persistMode 双模式——缺省 ARCHIVE(结束归档)保持向后兼容;SYNC 模式实现「发起 INSERT → 节点 UPDATE → 结束定稿」的同步演进入库。
  • 新增 任务节点级字段权限:PERMISSION_{字段名} = 1 只读 / 2 可编辑 / 3 隐藏。
  • 新增 状态字段写入:列名优先 {节点ID}_{状态码},回落 {节点ID}
  • 新增 tf_ 前缀变量去前缀冗余到业务表;writer.update 参数化 UPDATE。
  • 改进 幂等标记改为节点级;任务创建不触发节点拦截器(对齐 CreateTaskHandler),任务完成显式触发;结束节点按 submitType 定稿。
  • 修复 子表递归插入继承主表 apply_user_id;读侧 EXPAND 展开列不重复平铺。
  • 新增 MetaTableWriter.update 按元数据 storageType 组装 SET 列。

v1.7.0 — 2026-08-04

  • 新增 元数据驱动的动态写入 / 读取:StorageType(NORMAL / EXPAND / JSON / ONE2ONE / ONE2MANY)、FieldMeta / TableMeta 模型;IDynamicMetaProvider SPI 与内置 JsonMetaProviderMetaTableWriter(含子表递归)与 MetaTableReader

v1.6.6 — 2026-08-04

  • 修复:persist 表结构探测增加 schema 限定,避免多库同名表返回两套列。

v1.6.5 — 2026-08-04

  • 新增:persist 主键生成支持——方言自增检测 + setPrimaryKeyGenerator,非自增主键未配置生成器时给出明确报错。

v1.6.4 — 2026-08-04

  • 改进:persist 默认列匹配宽松化(驼峰 ↔ 下划线归一),可通过 setStrictColumnMatch(true) 恢复严格模式。

v1.6.3 — 2026-08-04

  • 改进:persist 用户列默认取 operator(回落 apply_user_id);增加同执行链重复触发防护。

v1.6.2 — 2026-08-04

  • 新增:业务数据通用入库——DynamicTableWriter 接口 + JdbcDynamicTableWriterPersistPostInterceptor 模型级 postInterceptors 挂载,流程结束时把 f_ 字段 + 流程上下文 + 系统字段写入业务表,process_instance_id 幂等。

v1.6.1 — 2026-08-04

  • 修复:starter 增加 IOrgUserProvider 装配。
  • 修复 processDesign/page 时间格式化为 yyyy-MM-dd HH:mm:ss
  • 改进 HandlerRegistry 构造即内置 7 个通用 handler 元数据。

v1.6.0 — 2026-08-04

  • 新增 表单数据契约:formData / taskFormData / 审批记录行 ext
  • 新增 IOrgUserProvider SPI(部门领导 / 角色成员查询);7 个内置通用参与者处理器:发起人、表单字段分配、部门领导 / 分管领导、任务角色。
  • 新增 candidatePage 双源候选:candidateUsers + candidateGroups
  • 改进 AssignmentHandler.assign 增加 operator 参数,区分「当前操作人」与「发起人」。

v1.5.1 — 2026-08-03

  • 新增processDesign/redeployupdateDefineupdate 三个 action,并同步 is_deployed 状态。

v1.5.0 — 2026-08-02

  • 新增 详情 jsonObjectprocessInstance/detailprocessDefine/detailprocessTask/detail 直接返回定义解析结果。
  • 新增 列表字段契约:分页行输出 ext / instanceExt / displayName / version,时间统一 yyyy-MM-dd HH:mm:ssm_ 前缀查询参数(MyBatis-Plus 约定),7 个分页列表白名单过滤。
  • 修复highLight 决策节点输出边按表达式求值过滤;processDesign/detail 的 jsonObject 缺失基本信息时从设计表补齐。
  • 改进 依赖坐标版本号不写死——${jeeflow.version} 统一管理。

v1.4.0 — 2026-08-02

  • 新增 引擎元数据能力:枚举字典注册表(7 个内置状态枚举字典,key 对齐 boot3);SPI 实现清单 HandlerRegistry 注册式元数据(type / className / displayName / order / group),供前端设计器字典使用。

v1.3.0 — 2026-08-02

  • 新增 ccList 分页补齐:核心表分页 SPI pageCcInstances 加入各语言。
  • 修复addTaskActor 追加语义——去重后仅插入新增,不清空原参与者。

v1.2.0 — 2026-08-02

  • 新增:门面补齐 13 个视图端点(highLight / approvalRecord / candidatePage / taskSurrogate / addCandidate / latest 等)。
  • 新增 IUserSearchProvider 可选 SPI:candidatePage 无模型候选时的用户分页搜索钩子。

v1.1.0 — 2026-08-02

  • 新增 管理扩展:wf_process_design / wf_process_design_his / wf_process_surrogate 三张表 + 扩展仓储 SPI IProcessExtRepository
  • 新增 统一门面 JeeflowFacade.flow(action, map):27 个 action,统一返回 {code, msg, data};deploy / redeploy 版本管理(按流程编码自动 version+1)。
  • 修复 定义写操作 SPI;updateInstance 级联持久化;assignee 变量解析;系统代执行(flow.auto / flow.admin)。

v1.0.0 — 2026-08-01

  • 引擎核心四语言同构实现(Java 为参考实现):5 张核心表(wf_process_define / wf_process_instance / wf_process_task / wf_process_task_actor / wf_process_cc_instance)。
  • 核心能力:启动 / 执行 / 驳回 / 跳转 / 退回发起人 / 会签(并行、串行、按比例)/ 抄送 / 委托扩展点。
  • SPI:IProcessRepository / UserProvider / IDGenerator / ExpressionEvaluator;多数据库适配 MySQL / PostgreSQL。
  • 发布通道:Maven Central;文档站上线。

jeeflow · 轻量级多语言工作流引擎