【v2026-04】
#
# 📈 Statistic
- 总代码行数:
- 源码代码行数:
- 注释行数:
- 单元测试用例数:
# ⭐ New Features
IoT 物联网专区:
- 【新增】场景联动告警触发的消息发送,支持短信、邮件、站内信三种接收方式,由 @芋道源码 (opens new window) 贡献 5754c9a (opens new window)
- 【新增】IoT 数据流转新增 MQTT 与 Database 两种 Action 实现,由 @puhui999 (opens new window) 贡献 d668af1 (opens new window)
- 【新增】Vue3 管理后台 IoT 数据流转 Database 数据目的的配置表单,含建表 SQL 提示与一键复制,由 @puhui999 (opens new window) 贡献 #867 (opens new window)
BPM 工作流专区:
- 【新增】BPM 条件节点支持「包含」「不包含」操作符,由 @LesanOuO (opens new window) 贡献 #1519 (opens new window)、#864 (opens new window)
INFRA 基础设施专区:
- 【优化】上传文件路径新增
PATH_SUFFIX_AS_DIRECTORY开关,支持后缀(时间戳 + 随机数)作为上级目录或拼接到文件名两种形态,由 @半栈幼儿员 (opens new window) 贡献 #1514 (opens new window) - 【优化】代码生成器
CodegenBuilder注释中英文引号转中文引号的实现,并补充单测,由 @芋道源码 (opens new window) 贡献 3078fe3 (opens new window) - 【优化】
HttpUtils.replaceUrlQuery改用 hutoolUrlQuery#remove替换反射实现,并补充单测,由 @lliyueling (opens new window) 贡献 #248 (opens new window) - 【新增】区域数据
area.csv补全最新地名,并补充AreaUtils单测,由 @chenchenche (opens new window) 贡献 #247 (opens new window) - 【新增】代码生成器支持 Excel 导入功能,覆盖后端及 Vue2 / Vue3 / Vben2 / Vben5 全部前端模板,由 @itkdm (opens new window) 贡献 #1082 (opens new window)、#1083 (opens new window)
- 【优化】代码生成器 Excel 导入:新增
yudao.codegen.import-enable全局开关(默认关闭);Vue3 / Vben5 Schema 抽出独立ImportForm组件对齐user模块;补齐 Vben5 antd / ele × general / schema 共 4 套 frontType 单元测试与importEnable=true断言覆盖,由 @芋道源码 (opens new window) 贡献 40d2882 (opens new window)
AI 大模型专区:
- 【新增】AI 知识库段落补齐删除接口
DELETE /ai/knowledge/segment/delete,对齐前端调用,由 @芋道源码 (opens new window) 贡献 ea3ad5c (opens new window) - 【新增】AI 通义千问支持多模态模型(qwen-vl / qvq / qwen-omni / qwen3.5 与 3.6 系列),并兼容从
metadata解析reasoningContent,由 @芋道源码 (opens new window) 贡献 814a963 (opens new window),对应 https://t.zsxq.com/g5V0j (opens new window)、https://t.zsxq.com/geWKz (opens new window)、https://t.zsxq.com/7g2du (opens new window)
# 🐞 Bug Fixes
- 【修复】租户
get-by-website接口的website参数正则不支持端口,导致localhost:81、127.0.0.1:81等带端口的访问场景下登录页无法识别租户,由 @芋道源码 (opens new window) 贡献 9307f56 (opens new window) - 【修复】Vue3 管理后台响应拦截器对
code = 0成功码的判断逻辑,避免||将0覆盖为默认成功码,由 @zhulh (opens new window) 贡献 #871 (opens new window) - 【修复】Vue3 管理后台请求拦截器
isToken语义反转、白名单未生效的问题,由 @funcong (opens new window) 贡献 #866 (opens new window) - 【修复】Vue2 管理后台
utils/index.js的debounce工具函数 later 触发时拿不到调用参数(内层形参...args遮蔽外层闭包),由 @芋道源码 (opens new window) 贡献 5a0d8a9 (opens new window),对应 https://gitee.com/yudaocode/yudao-ui-admin-vue2/issues/IDKUIB (opens new window) - 【修复】Vue3 管理后台 form-create 单图上传规则
disabled字段标题与默认值错配,由 @芋道源码 (opens new window) 贡献 e98d575 (opens new window) - 【修复】Vue3 管理后台 TagsView 关闭非当前标签后 keep-alive 缓存未跟随收缩,DOM 节点与 JS heap 持续累积,由 @芋道源码 (opens new window) 贡献 a704620 (opens new window),对应 https://t.zsxq.com/O7adc (opens new window)
- 【修复】
convertor.py在 MySQL 转 PG 等数据库时,报表 / 工作流模块的列注释中文乱码、json / date / longblob 等类型映射缺失、INSERT 转义未对齐等多处遗漏,由 @lk67 (opens new window) 贡献 #1528 (opens new window) - 【修复】Spring Boot Admin 监控页面无法在 iframe 中正常显示,新增
spring.boot.admin.frame-ancestors配置允许嵌入域名,由 @haoyangyang (opens new window) 贡献 #1515 (opens new window) - 【修复】微信小程序订单发货信息上传:修正失效的重试机制并改为指数退避(1s / 2s / 4s 共 3 次),由 @芋道源码 (opens new window) 贡献 987d49c (opens new window)
- 【修复】用户无部门时数据权限
DEPT_AND_CHILD/DEPT_CUSTOM的 null 处理遗漏,并补单测,由 @芋道源码 (opens new window) 贡献 3df4f8d (opens new window)
Vben5.0 管理后台专区:
- 【修复】CRM 客户/联系人/线索新增表单的「地址」树形下拉无内容,以及商机状态「应用部门」、产品「产品类型」、ERP 销售出库的客户/销售人员/结算账户/产品/创建人下拉同样无内容,由 @芋道源码 (opens new window) 贡献 42fffd2 (opens new window),对应 https://t.zsxq.com/EdaN8 (opens new window)
- 【修复】CRM「合同配置」「客户公海规则配置」表单 label 错用
labelClass: 'w-100',挤掉 RadioGroup 输入区,改用labelWidth: 120,由 @芋道源码 (opens new window) 贡献 627e31f (opens new window),对应 https://t.zsxq.com/MdJTA (opens new window) - 【修复】MALL 商品管理列表与商品选择器的「价格」列直接展示后端原始的「分」(如
19900.00应为199.00 元),由 @芋道源码 (opens new window) 贡献 8020b4b (opens new window),对应 https://gitee.com/zhijiantianya/yudao-cloud/issues/IJJYPP (opens new window) - 【修复】MALL 商品保存时 SKU 销售价/市场价/成本价/一二级佣金被反复 *100 漂移,由 @芋道源码 (opens new window) 贡献 b293e11 (opens new window),对应 https://t.zsxq.com/DNBTJ (opens new window)
- IoT 物模型新增/编辑弹窗,事件类型选了「告警」「故障」仍提示「请选择事件类型,由 @芋道源码 (opens new window) 贡献 228c546 (opens new window),对应 https://t.zsxq.com/bbGIe (opens new window)
- 【修复】导出 Excel / 下载模板等 download 接口在 access token 过期时不触发刷新,下载到的文件是「账号未登录」JSON;web-antd / web-ele / web-naive / web-tdesign 四个壳子统一加 Blob 业务错误嗅探拦截器,由 @芋道源码 (opens new window) 贡献 897220e (opens new window),对应 <https://t.zsxq.com/SHqWw >
- 【修复】form-create 多图上传选 png/jpeg/gif 等被错误拦截,
isImage兼容 MIME /.ext/ 纯后缀三种 accept 写法,由 @芋道源码 (opens new window) 贡献 e385823 (opens new window),对应 https://t.zsxq.com/3BEPT (opens new window) - 【修复】BPM 流程实例审批弹窗:网关分支重算的并发与提交问题(同步自 Vue3 管理后台),由 @芋道源码 (opens new window) 贡献 c641542 (opens new window)
- 【修复】BPM 流程设计器审批节点自定义配置编辑后丢失(web-antd / web-ele),由 @lb1565387341 (opens new window) 贡献 #259 (opens new window)
IoT 物联网专区:
- 【修复】设备属性上报时,物模型 identifier 与设备上报 key 大小写不一致导致属性丢失;以及 BOOL 类型上报字符串
"true"/"false"时Convert.toByte抛NumberFormatException落库失败,由 @芋道源码 (opens new window) 贡献 3146f64 (opens new window) - 【修复】IoT 网关调用 biz 的「设备注册 / 子设备注册」RPC URL 缺少
/rpc-api/iot/device前缀,命中 Security 过滤器返回「账号未登录」,导致设备动态注册(一型一密)失败,由 @芋道源码 (opens new window) 贡献 95b1345 (opens new window) - 【修复】IoT 场景联动设备事件触发器配置「比较值」后永远不触发,并新增结构体/数组事件值的 JSON 整体相等比较,由 @芋道源码 (opens new window) 贡献 87c8d7e (opens new window)、d5a9e2e (opens new window),对应 https://t.zsxq.com/cBKXK (opens new window)
- 【修复】IoT 数据流转规则在属性上报场景下,多条规则命中同一数据目的会重复推送(原先按 ruleId 去重并未在 sink 维度去重),由 @芋道源码 (opens new window) 贡献 eda6ffa (opens new window),对应 https://t.zsxq.com/EdaN8 (opens new window)
- 【修复】IoT 设备消息日志:
device_message表params/data列宽NCHAR(2048)→VARCHAR(8192)对齐 MQTT 8KB 上限;@Async写入加 try/catch 避免静默失败,由 @芋道源码 (opens new window) 贡献 47c093a (opens new window) - 【修复】IoT 设备消息/设备属性写入 TDengine 时由 SQL
NOW改为应用端显式传入毫秒时间戳ts,避免NOW不被驱动识别或批量写入主键时间冲突导致落库失败,由 @haohaoMT (opens new window) 贡献 9ee57dc (opens new window)、5b3e1a8 (opens new window)
Admin Uniapp 管理后台专区:
- 【修复】用户详情页「状态」字段错绑成
formData?.sex,由 @芋道源码 (opens new window) 贡献 93be4cf (opens new window),对应 https://gitee.com/yudaocode/yudao-ui-admin-uniapp/issues/IJ2F7Z (opens new window) - 【修复】iOS 打包后页面底部出现白色留白,
manifest.config.ts加app-plus.safearea.bottom.offset = 'none',由 @芋道源码 (opens new window) 贡献 466785f (opens new window),对应 https://gitee.com/yudaocode/yudao-ui-admin-uniapp/issues/IEZGWJ (opens new window)
MALL 商城专区:
- 【修复】H5 公众号微信 JSSDK 签名 URL 错用
location.origin导致wx.config invalid signature,改用location.href.split('#')[0],由 @芋道源码 (opens new window) 贡献 b6b0ca3 (opens new window),对应 https://t.zsxq.com/WwYCf (opens new window) - 【修复】商城运费模板包邮判断方向反向,件数 / 金额统一为
>=,同步 DO / BO 注释,由 @芋道源码 (opens new window) 贡献 ef807be (opens new window) - 【修复】商城砍价活动促销明细 promotion id 错用
seckillActivityId,改为bargainActivity.getActivityId(),由 @芋道源码 (opens new window) 贡献 ef807be (opens new window) - 【修复】商城
TradePriceCalculatorHelper.buildCalculateResp对spu.getGiveIntegral()兜底 0,避免recountAllGivePoint拆箱 NPE,由 @芋道源码 (opens new window) 贡献 ef807be (opens new window) - 【优化】恢复并补齐商城价格 calculator 单测(Delivery / Coupon / Discount / PointUse / Reward / PriceService),新增 BargainActivity 单测,共 30 用例,由 @芋道源码 (opens new window) 贡献 ef807be (opens new window)
MES 制造执行专区:
- 【修复】MES 「常见缺陷」的「检测项类型」错用了独立的
mes_defect_type字典,与「检测项设置」语义一致却需要分别维护字典,改为复用mes_indicator_type字典,由 @芋道源码 (opens new window) 贡献 96918b4 (opens new window)
BPM 工作流专区:
- 【修复】BPM 流程实例抄送:被抄送人字段(
userId)误绑成CreateUser(创建人),由 @huang-suo-chao (opens new window) 贡献 #1531 (opens new window) - 【修复】OA 请假示例实体
BpmOALeaveDO.type字段从String改为Integer,对齐 VO 与 MySQLtinyint,避免 PostgreSQL 不自动转换类型导致报错,由 @hushaoge (opens new window) 贡献 #1110 (opens new window) - 【修复】Vue3 管理后台 BPM 流程实例审批弹窗:网关分支预览与最终提交变量不一致,由 @郭某人 (opens new window) 贡献 #875 (opens new window),对应 https://t.zsxq.com/favGP (opens new window)
- 【优化】Vue3 管理后台 BPM 流程实例审批弹窗:onChange 加 300ms 防抖与请求序号去重,提交前 await 最新一轮重算,避免并发请求乱序与提交竞态;改用 form-create 官方
formData()与until等待 fApi 就绪,由 @芋道源码 (opens new window) 贡献 9df6828 (opens new window)
# 🔨 Dependency Upgrades
所有分支:
- 【升级】redisson from 3.52.0 to 4.3.1
- 【升级】weixin-java from 4.7.9 to 4.8.2
- 【升级】druid from 1.2.27 to 1.2.28
- 【升级】mybatis-plus from 3.5.15 to 3.5.16
- 【升级】mybatis-plus-join from 1.5.5 to 1.5.7
- 【升级】netty from 4.2.9.Final to 4.2.12.Final
- 【升级】lombok from 1.18.42 to 1.18.46
- 【升级】hutool from 5.8.42 to 5.8.44
- 【升级】guava from 33.5.0-jre to 33.6.0-jre
- 【升级】jsoup from 1.21.2 to 1.22.2
- 【升级】jsch from 2.27.7 to 2.28.2
- 【升级】commons-net from 3.12.0 to 3.13.0
- 【升级】vertx from 4.5.22 to 4.5.26
- 【升级】californium from 3.12.0 to 3.14.0
- 【升级】j2mod from 3.2.1 to 3.3.0
- 【升级】taos from 3.7.9 to 3.8.3
- 【升级】awssdk from 2.40.15 to 2.44.0
- 【升级】alipay-sdk-java from 4.40.607.ALL to 4.40.771.ALL
- 【升级】opengauss-jdbc from 5.1.0 to 7.0.0-RC3-og
- 【升级】kingbase8 from 8.6.0 to 9.0.1.jre7
- 【升级】jimubi from 2.3.0 to 2.3.2
master-jdk17 分支:
- 【升级】spring-boot from 3.5.9 to 3.5.14
- 【升级】spring-doc from 2.8.14 to 2.8.17
- 【升级】tika-core from 3.2.3 to 3.3.0
- 【升级】skywalking from 9.5.0 to 9.6.0
- 【升级】spring-boot-admin from 3.5.6 to 3.5.8
- 【升级】jimureport from 2.1.3 to 2.3.2(artifactId 从 jimureport-spring-boot3-starter-fastjson2 改为 jimureport-spring-boot3-starter)
cloud-jdk17 分支:
- 【升级】spring-cloud from 2025.0.0 to 2025.0.1
- 【升级】spring-cloud-alibaba from 2023.0.3.3 to 2025.0.0.0
- 【移除】nacos-discovery 的 logback-adapter 排除(新版不再依赖)
- 【新增】yudao-spring-boot-starter-rpc 引入 httpclient 4.5.14(Spring Cloud Alibaba 2025.0.0.0 不再传递 HttpClient 4.x,WxJava 4.8.x 仍需要)
JDK8 分支专属:
- 【新增】httpclient5 5.5.2 + httpcore5 5.3.6 版本覆盖(WxJava 4.8.x 需要 HttpClient5 5.4+,Spring Boot 2.7 默认 5.1.x 不兼容)