Appearance
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/remove、processDefine/remove、processDesign/remove、processDefine/upAndDown)统一走idListArgs助手——{ids}数组优先、单{id}兼容,两者皆缺失 / 空数组 / 含非法值一律99999999,不再空值静默成功。 - 票面偏差(如实记):无真库 T1——
jeeflow-repository-jdbc连的是 H2(MODE=MySQL),按 1.8.16–1.8.18 惯例发版;发布集(排除jeeflow-demo-boot4)JDK 8 下clean testBUILD 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;taskDetailtaskVo 出口performType/taskType改数字 code;candidatePage行键归一{id,realName,userName?,deptName?};listByTypeitems 补processDefineState;id 精度守卫(float64 超 2^53 显性报错,toLong);taskDetail补ext.isFirstTaskNode+ designPage remark/icon 回显 + 内存仓储toTaskRow补finishTime/expireTime;委托(授权人=操作人、时间入参兼容空格、分页m_IN/m_EQ、生效时间窗 + enabled 过滤);submitType2/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/detail的taskModel补全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/deploy的content字段支持 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
- 新增:
updateDefine无content时兼容 boot3 顶层 JSON。 - 新增:
processDefine/remove、processDesign/remove兼容{ids}批量;新增processDesign/listByType与processInstance/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模型;IDynamicMetaProviderSPI 与内置JsonMetaProvider;MetaTableWriter(含子表递归)与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接口 +JdbcDynamicTableWriter;PersistPostInterceptor模型级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。 - 新增
IOrgUserProviderSPI(部门领导 / 角色成员查询);7 个内置通用参与者处理器:发起人、表单字段分配、部门领导 / 分管领导、任务角色。 - 新增
candidatePage双源候选:candidateUsers+candidateGroups。 - 改进
AssignmentHandler.assign增加operator参数,区分「当前操作人」与「发起人」。
v1.5.1 — 2026-08-03
- 新增:
processDesign/redeploy、updateDefine、update三个 action,并同步is_deployed状态。
v1.5.0 — 2026-08-02
- 新增 详情
jsonObject:processInstance/detail、processDefine/detail、processTask/detail直接返回定义解析结果。 - 新增 列表字段契约:分页行输出
ext/instanceExt/displayName/version,时间统一yyyy-MM-dd HH:mm:ss;m_前缀查询参数(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分页补齐:核心表分页 SPIpageCcInstances加入各语言。 - 修复:
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三张表 + 扩展仓储 SPIIProcessExtRepository。 - 新增 统一门面
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;文档站上线。