Releases: jetlinks/jetlinks-community
Releases · jetlinks/jetlinks-community
2.2.0
What's Changed
- fix(场景联动): 解决指标场景告警不触发问题 by @tancongsir in #398
- build: 升级依赖 reactor-excel:1.0.6-SNAPSHOT by @zhou-hao in #402
- refactor(设备模块): 添加指标查询和保存指标功能 by @tancongsir in #403
- feat(tcp解析): 粘拆包脚本解析器相关补全提示 by @tancongsir in #404
- build: 升级 jetlinks core,easyorm,hsweb 依赖版本 by @zhou-hao in #405
- build: 优化maven子模块的relativePath配置 by @zhou-hao in #406
- fix: 修复开启链路追踪后可能报错问题 by @zhou-hao in #407
- fix: 修复透传解析脚本无法使用onDownstream,onUpstream函数注册回调. by @zhou-hao in #409
- feat: 透传数据解析脚本中增加json()和jsonArray() api. by @zhou-hao in #410
- feat: 切换新的DeviceDataManager实现,使用ThingsDataManager桥接实现。 by @zhou-hao in #412
- fix(docker): 规范社区办docker镜像命名 by @bestfeng1020 in #415
- build: 升级guava版本到32.1.2-jre by @zhou-hao in #416
- feat(联系方式): 添加qq群5联系方式 by @bestfeng1020 in #418
- fix(ES查询): 解决动态terms条件转ES查询条件错误问题 by @bestfeng1020 in #421
- build: 升级依赖版本 by @zhou-hao in #422
- build:使用bcprov-jdk18on替代bcprov-jdk15on by @zhou-hao in #424
- 定价修改 by @bestfeng1020 in #426
- refactor: 设备接入网关同一个连接上报的消息使用串行处理. by @zhou-hao in #427
- fix: 修复ThingsDataManager获取属性缓存数据可能错误. by @zhou-hao in #429
- refactor: 使用新的eventbus实现,增加相关订阅优先级支持. by @zhou-hao in #430
- fix(设备消息): 修复设备消息订阅报错 by @kyouji in #431
- fix: 修复阿里云语音通知可能提示参数过长问题 by @zhou-hao in #433
- build(deps): bump org.elasticsearch:elasticsearch from 7.17.5 to 7.17.13 by @dependabot in #434
- fix: 修复在设备里单独定义物模型时,订阅的数据格式不对问题. by @zhou-hao in #432
- build(deps): bump org.json:json from 20230227 to 20231013 by @dependabot in #435
- fix: 修复并完善ReactorUtils.limit()方法 by @ningqingsheng in #436
- feat(用户模块): 添加用户类型查询 by @tancongsir in #438
- feat(告警模块): 其他类型的告警,每个场景联动产生一条告警记录。告警日志添加告警说明 by @tancongsir in #441
- fix(用户): 超级管理员初始化类型修改 by @tancongsir in #443
- build(deps): bump org.elasticsearch:elasticsearch from 7.17.13 to 7.17.14 by @dependabot in #446
- feat: 文件管理api文档补充 by @ningqingsheng in #447
- feat(角色分组): 社区版移植角色分组功能 by @liu4410 in #451
- feat(文档): 更新项目结构说明 by @liu4410 in #453
- fix(订阅模块): 其他用户无法订阅消息修复 by @tancongsir in #455
- fix(基础模块): 修复在极端情况下物属性缓存可能出现污染. by @zhou-hao in #458
- fix: 配置文件增加接口扫描路径 by @PengyuDeng in #464
- feat(设备管理): 迁移设备指定属性列表不分页查询功能 by @fighter-wang in #463
- add(文件管理): 增加删除文件接口 by @PengyuDeng in #466
- refactor(基础模块): 使用FileManager来存储静态文件 by @zhou-hao in #484
- 修改付费支持价格单位 by @bestfeng1020 in #485
- refactor: 使用新的协议加载逻辑. by @zhou-hao in #491
- refactor: 优化文件地址逻辑 by @zhou-hao in #493
- fix(站内信消息通知): 修复产品类型告警,展示产品ID 转换为 展示产品名称 by @fighter-wang in #499
- build(deps): bump org.bouncycastle:bcprov-jdk18on from 1.76 to 1.78 by @dependabot in #501
- fix(场景联动): 修复场景联动触发条件,当选择为事件时,json参数为enum,没有enum枚举选项问题 by @fighter-wang in #503
- fix(短信通知模块): 修复产品/设备发生告警,短信通知内置函数未进行格式化问题 by @fighter-wang in #507
- refactor: 修改设备会话统计时长类型为long by @zhou-hao in #510
- feat(规则引擎): 增加场景分支executeAnyway配置.优化场景条件分支逻辑. by @tancongsir in #511
- fix(网络组件): 修复关闭mqtt网关禁用逻辑错误 by @kyouji in #512
- fix(TDengine): 修复like条件语法错误 by @kyouji in #514
- fix(告警记录): 添加通过告警配置Id查询告警日志接口 by @bestfeng1020 in #520
- fix(设备模块): 新增网关设备批量解绑网关子设备功能 by @fighter-wang in #522
- fix(消息通知模块): 修复场景联动设备告警短信通知无法发送问题 by @fighter-wang in #525
- refactor(Es): es索引配置增加拓展性。 by @PengyuDeng in #526
- fix(消息通知管理): 修复订阅管理中订阅配置关闭后,查看个人中心依然展示订阅配置及通道问题 by @fighter-wang in #534
- add(规则引擎-场景联动): 场景联动增加"读取属性后回复"触发场景联动的拓展 by @PengyuDeng in #533
- refactor(告警模块):告警级别信息增加拓展 by @PengyuDeng in #536
- feat(基础模块): MqttClient设备会话支持可恢复. by @zhou-hao in #538
- add(场景联动): 增加批量启动、禁用场景的接口 by @PengyuDeng in #539
- add(系统监控): 监控信息推送至消息总线。 by @PengyuDeng in #544
- fix(场景联动): 修复保存场景联动时缺少actionId以及features字段问题 by @fighter-wang in #549
- refactor(基础模块): 优化菜单ID生成策略. by @PengyuDeng in #556
- feat(rule-engine): 告警场景2.2相关功能更新 by @liu4410 in #552
- build(maven): Release 2.2.0 by @zhou-hao in #557
- fix(场景联动): 修复场景联动中设备属性翻译问题 by @fighter-wang in #561
- fix(场景联动): 修复场景联动使用指标值无法触发问题 by @fighter-wang in #562
- refactor: 移除重复代码 by @jk9991xx in #563
- feat(权限管理): 分页获取用户详情,新增组织信息 by @PengyuDeng in #560
- fix(场景联动): 修复重启服务后,场景联动未初始化的问题 by @kyouji in #566
- fix(邮件通知): 优化获取邮件附件,过大时的抛错国际化 by @fighter-wang in #568
- feat(菜单管理): 新增清空菜单授权功能 by @fighter-wang in #570
- fix(README): 修正二次开发文档链接 by @bestfeng1020 in #571
- feat(设备管理): 增加解析文件为属性物模型功能 by @fighter-wang in #569
- fix: 修改日志文件的文件名 by @PengyuDeng in #573
New Contributors
- @ningqingsheng made their first contribution in #436
- @liu4410 made their first contribution in #451
- @fighter-wang made their first contribution in #463
- @jk9991xx made their first contribution in #563
Full Changelog: 2.1.0...2.2.0
2.1
What's Changed
- Bump jsoup from 1.14.3 to 1.15.3 in /jetlinks-components/notify-component/notify-email by @dependabot in #197
- fix(sec): upgrade org.bouncycastle:bcprov-jdk15on to 1.69 by @vvsd in #200
- 解决产品未选择网关时,查询产品配置抛出的NPE by @bestfeng1020 in #202
- 同步协议模块代码 by @bestfeng1020 in #204
- fix-bug by @bestfeng1020 in #206
- Bump commons-text from 1.9 to 1.10.0 by @dependabot in #210
- Bump commons-text from 1.9 to 1.10.0 in /jetlinks-components/network-component/tcp-component by @dependabot in #209
- 代码优化 by @bestfeng1020 in #212
- 重构场景联动 by @bestfeng1020 in #227
- 同步README文档链接 by @kyouji in #230
- 更新2.0版本README by @kyouji in #231
- 添加透传消息转换支持 by @bestfeng1020 in #237
- fix(接口缺失): 添加菜单和权限数据验证接口 by @bestfeng1020 in #245
- fix(阿里云短信): 解决短信模板和标签只能查询第一页数据问题 by @bestfeng1020 in #257
- feat(查询条件): 添加设备查询条件构造器 by @bestfeng1020 in #259
- Bump json from 20180130 to 20230227 by @dependabot in #264
- feat(产品): 根据指定的接入方式获取产品需要的配置定义 by @bestfeng1020 in #266
- fix(网络组件): 设置支持路由设置类型的网络组件可以被复用 by @bestfeng1020 in #273
- feat(通知订阅): 支持告警消息站内信通知 by @bestfeng1020 in #274
- fix(docker镜像版本): 修改前端镜像版本 by @bestfeng1020 in #278
- 修复通过场景联动发送阿里云短信失败问题 by @bestfeng1020 in #279
- 优化重置设备配置信息 by @zeje in #277
- feat(仪表盘): 系统监控添加历史记录支持 by @kyouji in #284
- feat(系统配置): base-path值正确性校验 by @bestfeng1020 in #286
- doc: 修复注释错误 by @zhou-hao in #297
- fix(设备管理): 添加post方式的设备属性列表查询接口 by @bestfeng1020 in #302
- fix(READEME): 修改产品文地址 by @bestfeng1020 in #307
- fix(用户管理): 解决用户管理类型不存在问题 by @bestfeng1020 in #312
- fix(关系): 优化固定值的判断 by @kyouji in #313
- fix(场景联动): 设备触发添加所属产品作为条件 by @kyouji in #314
- feat(系统配置): base-path值正确性校验 by @bestfeng1020 in #318
- build(deps): bump guava from 31.0.1-jre to 32.0.0-jre by @dependabot in #320
- Bump snakeyaml from 1.32 to 2.0 by @dependabot in #253
- fix(系统配置):解决批量保存系统配置可能导致的mysql死锁问题 by @bestfeng1020 in #324
- feat(设备): 导入设备数据,并提供日志下载 by @kyouji in #326
- fix(通知管理): 修复邮件收件方不显示自定义的发件人昵称 by @doveylovey in #327
- fix(系统配置):解决base-path校验可能失效问题 by @bestfeng1020 in #330
- build(deps): bump grpc-protobuf from 1.47.0 to 1.53.0 in /jetlinks-components/configure-component by @dependabot in #331
- fix(文档):修复文案跳转链接错误 by @bestfeng1020 in #332
- fix(场景联动):修复设备选择器条件会无限叠加问题 by @bestfeng1020 in #334
- feat(设备接入网关): 修改MQTT服务网关时,重新加载网络组件 by @kyouji in #336
- fix(通知): 修复获取企业微信部门可能错误问题 by @tancongsir in #351
- doc(基础模块): 修复文档说明错误 by @tancongsir in #359
- fix(设备管理): 优化设备导入校验 by @tancongsir in #354
- refactor(基础模块): 优化excel导入数字类型格式错误提示 by @tancongsir in #356
- perf(设备接入网关): 设备接入网关文案(中文)修改 by @tancongsir in #355
- fix(告警中心): 新增告警配置时默认启用 by @tancongsir in #358
- refactor(认证模块): 加密key校验 by @tancongsir in #364
- fix(设备管理): 修复设备导入空指针异常 by @tancongsir in #362
- fix(设备管理): 删除设备后,解绑子设备 by @tancongsir in #365
- fix(认证模块): 修复更新不存在的角色可能报错问题 by @tancongsir in #368
- feat(服务支持): 添加JetLinks服务器支持说明 by @bestfeng1020 in #369
- feat(服务支持): 添加付费服务支持联系二维码 by @bestfeng1020 in #370
- fix(服务支持): 修改服务支持的联系二维码不显示的问题 by @bestfeng1020 in #374
- feat(通知模块): 重构用户个人通知订阅 by @tancongsir in #376
- fix(服务支持): 修改服务支持的联系二维码不图片分辨率的问题 by @bestfeng1020 in #380
- fix(通知管理): 修复收信人解析为空字符串导致无法发送的问题 by @kyouji in #381
- fix: 重构场景联动,迁移指标函数 by @tancongsir in #384
- fix(产品分类): 修复初始化失败 by @goten7 in #385
- fix(系统配置): 优化base-path请求验证超时提示 by @bestfeng1020 in #383
- feat(readme): DTU接入平台的视频文档说明 by @bestfeng1020 in #386
- fix(设备模块): 解决设备tag没有返回dataType字段 by @tancongsir in #389
- fix(设备模块): 解决修改设备物模型后,设备物模型脱离产品物模型问题 by @tancongsir in #387
- fix(设备模块): 解决tag枚举类型设置无参数问题 by @tancongsir in #393
- fix(场景联动): 解决并行场景告警不触发问题 by @tancongsir in #394
- doc(告警模块): 修改有歧义的字段描述 by @PengyuDeng in #396
New Contributors
- @vvsd made their first contribution in #200
- @kyouji made their first contribution in #230
- @doveylovey made their first contribution in #327
- @tancongsir made their first contribution in #351
- @goten7 made their first contribution in #385
- @PengyuDeng made their first contribution in #396
Full Changelog: 1.13.0...2.1.0
2.0
What's Changed
- Bump jsoup from 1.14.3 to 1.15.3 in /jetlinks-components/notify-component/notify-email by @dependabot in #197
- 解决产品未选择网关时,查询产品配置抛出的NPE by @bestfeng1020 in #202
- 同步协议模块代码 by @bestfeng1020 in #204
- fix-bug by @bestfeng1020 in #206
- 代码优化 by @bestfeng1020 in #212
- 重构场景联动 by @bestfeng1020 in #227
- 更新2.0版本README by @kyouji in #231
- fix(阿里云短信): 解决短信模板和标签只能查询第一页数据问题 by @bestfeng1020 in #258
- feat(查询条件): 添加设备查询条件构造器 by @bestfeng1020 in #260
Full Changelog: 1.13.0...2.0.0
1.20.0
Full Changelog: 1.13.0...1.20.0
1.13 RELEASE
主要优化:
- 升级
netty 4.1.73.Final
以及vertx 4.2.3
版本,支持mqtt5
. - 修复网关子设备通过直连接入到平台时,状态可能不一致问题.
- 修复标签使用object或者array类型时,可能导致无法解析问题.
- 增加统一的文件管理功能
FileManager
,来统一管理相对敏感的文件上传以及访问.
升级说明
文件上传配置调整,协议包,数据导入等相关文件上传已调整使用新的FileManager
进行管理,可根据配置文件进行配置
file:
manager:
storage-base-path: "./data/files"
read-buffer-size: 64KB
cluster-key: file-manager # 修改此值并保证整个集群的值一致
server-node-id: ${jetlinks.server-id}
# cluster-rute:
## 集群ID: 访问地址
# "[jetlinks-platform:8844]": "127.0.0.1:8844"
# "[jetlinks-platform:8840]": "127.0.0.1:8840"
1.12 RELEASE
- 性能优化.
- 增加根据告警记录查询设备相关数据查询条件:
where id dev-alarm 'state not xxx'
. - 修复批量
save
时,可能导致部分数据字段被设置为null. @Subscribe
注解可以使用表达式来引用配置值,如:@Subscribe("/device/${a.b.c:default}")
- 修复默认存储策略聚合查询:相同属性不同聚合方式时,聚合值可能不对的问题.
- 修复同一个设备告警配置多个触发条件时,可能某些条件无法触发问题.
- 升级log4j为
2.17.1
,升级logback为1.2.9
.(平台未直接使用log4j,而是使用log4j-to-slf4j
,最终使用logback). - 设备重复注册时,自动更新配置等相关信息到数据库中.
1.11 RELEASE
主要优化:
- 设备协议
CompositeProtocolSupport.onBeforeDeviceCreate
增加自定义设备信息,在创建设备时,可自定义生成设备的相关配置. - 优化实体事件,增加
EntityBeforeXXX
,EntityPrepareXXX
事件. - 拓展
spring.r2dbc.pool
相关配置,支持配置连接有效期. - 邮件通知模版中表达式增加对html的处理,解决部分富文本编辑器会把表达式转为html.
- 优化菜单管理,可根据菜单进行赋权(前端暂未实现)
- 优化物模型转换时的精度处理.
- 规则引擎事件中的数据增加:
modelType(模型类型)
,jobExecutor(节点执行器)
,ruleConf(规则的其他配置信息)
配置,可在直接从事件数据中获取进行处理. - 在关联子设备时增加循环依赖检查.
BUG修复:
- 修复使用pgsql进行大量insert操作时,pgsql占用内存过高问题.
- 修复存在同类名协议包会出现冲突的问题.
- 修复通知模版表达式中,表达式内容超过128引起数组下标越界问题.
1.10 RELEASE
1.10-RELEASE
更新时间: 2021-08-02
代码分支: 1.10
- 上报属性和读取属性回复增加
属性源时间
和属性状态
;行式存储时,会使用源时间当作时间戳进行存储. - JetLinks后端接口国际化支持(jsr303,枚举(
I18nEnumDict
),异常(I18nSupportException
))。查看说明 - 提供对游标分页查询支持,部分数据库可能不支持offset方式分页,当分页结果中
scoll
为true
时,表示游标分页,此时不支持使用pageIndex
进行分页,下一页查询时需要在动态查询条件中指定上一页返回的scrollId
:"context":{"scrollId":"上一页的ID"}
,并且查询条件变化后,需要重置页码以及scrollId
. - 规则引擎设备指令节点发送指令发生异常时,将返回转为消息回复,而不是抛出异常.
MQTT Broker
方式接入设备支持设置QoS.- 增加
FileQueue
工具类,可将队列数据持久化到本地文件. - 增加
ParallelIntervalHelper
工具类,可对并行操作进行延迟来实现并行转串行的效果. DeviceDataManager
接口增加getTags
方法,可在协议包中通过此方式来获取设备标签.- 在TCP网络组件中的粘拆包处理方式脚本中增加
parser.newBuffer()
方法,使用方法.
1.9 RELEASE
- 增加设备独立物模型支持,可给单独的设备配置物模型.
- 基本实现GB28181国标视频设备接入,支持
直播
,云台控制
,级联操作
.(选配模块) - RabbitMQ增加
routeKey
配置,可在配置文件中指定device.message.writer.rabbitmq.consumer-route-key
和device.message.writer.rabbitmq.producer-route-key
.(Pro) - 当设置了
device.message.writer.rabbitmq.consumer=false
时,不创建MQ消费者.(Pro) - 设备支持独立物模型,可单独配置设备的物模型.
- 适配
tdengine 2.0.16.0
,优化sql长度策略. (pro) - 优化规则引擎编辑器,实现组件模块化动态加载.(Pro)
- 修复启动服务时,如果某个产品物模型发布失败,导致后面的产品终止发布的问题.
- 增加
ignoreLatest
消息头,message.addHeader("ignoreLatest",true)
忽略记录最新数据到数据库. - 修复租户下操作设备告警提示无权限.(Pro)
- 优化租户在解绑成员时,同时解绑成员的资产信息.(Pro)
- 优化子设备消息回复处理
- 物模型属性增加存储方式功能,可配置部分属性不存储.
- 增加虚拟属性功能,可通过规则来计算出虚拟属性值.(Pro)
- 增加租户成员绑定(
TenantMemberBindEvent
),解绑(TenantMemberUnBindEvent
)事件.可通过spring-event
订阅处理此事件.(Pro) - 优化子设备状态检查,当检查子设备状态时,将会尝试发送
ChildDeviceMessage<DeviceStateCheckMessage>
给网关,处理后返回ChildDeviceMessageReply<DeviceStateCheckMessageReply>
. - 增加
ClickHouse
设备数据存储策略支持.(Pro) - 增加权限过滤功能,可配置禁止赋予自己没有的权限给其他用户.
hsweb.permission.filter
相关配置 - 设备和产品的租户绑定逻辑优化: 绑定设备时,自动绑定产品.解绑产品时,自动解绑设备.(Pro)
- 用户管理增加租户权限控制.(Pro)
- 当向
keepOnline
的设备发送消息时,如果原始连接已断开,将返回CONNECTION_LOST
错误. - 设置
keepOnline
的会话将被持久化,重启服务后自动恢复.(Pro) - 默认关闭设备最新数据存储,通过
jetlinks.device.storage.enable-last-data-in-db=true
开启.(Pro) - 属性物模型增加属性值来源,配置为
手动
时,在发送修改属性指令(WritePropertyMessage
)时,将直接生效,不会发送到设备. - 优化租户资产解绑逻辑,当删除数据时,解绑资产全部的绑定关系.(Pro)
- 用户管理,机构管理增加租户端支持,租户可以自己管理自己的用户和机构.(Pro)
1.8 RELEASE
- 固件相关消息增加
size
属性 - 网络组件在集群下可以单独指定节点的配置了(Pro)
- 修复邮件通知无法发送base64图片问题
- 优化设备详情配置查看,通过
device.setConfig
设置的配置也可以在设备详情中查看到. - 增加OneNet和CTWing接入,可将设备同步到对应到平台中.以及从对应平台订阅数据(Pro可选模块)
- 设备实例接口增加批量发送设备指令
/device/instance/messages
,可在消息体中指定deviceId
或者通过where
条件指定要发送到的设备.(Pro) - 优化设备最新消息存储,同一个产品的数据使用串行更新,防止死锁,并且丢弃来不及更新的数据.(Pro)
- 修复es索引中存在多个mapping时无法解析的问题
- 修复分组聚合查询属性时,如果返回过多分组时可能导致无法返回结果的问题.
- 支持将
object
和array
类型的属性使用json字符串
来进行存储,减少es的压力. - 修复无法转发设备消息到
rabbitMQ
和kafka
. - 增加默认物模型,在协议包里可配置默认物模型,创建产品时,自动添加到物模型配置中.
- 发送功能调用指令时,增加参数校验和参数类型转换.(可通过
headers.force
跳过校验) - 优化设备分类数据初始化,默认使用
-
进行id分隔(使用|
可能导致400错误.) - 通过jvm参数
-Djetlinks.eventbus.payload.pool.enabled=true
开启事件总线对象池,提升性能.