2.5.X 更新日志
2023年5月17日SASSpring Authorization ServerDante Cloud微服务领域驱动DDDSpring BootSpring CloudSpring SecuritySpring Cloud AlibabaSpring Cloud TencentOAuth2.1NacosSkywalkingSentinelSeata大约 25 分钟
v2.5.7.20
- 修正 OpenFeign 调用过程中,UserAgent 头信息被修改,新增的(KHTML,like Gecko) 信息中,产生换行符,导致 illegalArgumentException 问题。
- 修正平台 data-access-strategy: remote (OpenFeign 数据访问模式) 模式下,核心接口未授权问题。
- 优化平台全局错误信息描述和后端响应的错误信息,让错误提示信息更加准确以及更加友好
- 修正 OAuth2 Throwable Cause 信息转换成 自定义错误信息类型错误问题。
- 依赖包版本更新
- aliyun-java-sdk-core 升级至 4.5.30
- dysmsapi20170525 升级至 2.0.7
- aliyun-sdk-oss 升级至 3.13.2
- jpush-client 升级至 3.5.5
- jiguang-common 升级至 1.1.12
- bce-java-sdk 升级至 0.10.185
v2.5.7.10
- Skywalking 版本升级至 8.8.0
- 修正 docker-compose 配置错误问题
- okhttps 升级至 3.3.1
v2.5.7.0
重大更新
- Spring Boot 升级至 2.5.7
其它更新
- 优化 Spring Cloud Gateway 响应体分段传输代码。修复在响应体特别大的情况下,Spring Cloud Gateway 读取响应体出错问题。
- 优化 Linux 和 Windows 两个版本的 docker-compose 脚本,修正脚本配置错误以及镜像引用错误。
- 优化部分后端响应的错误信息,让错误提示信息更加准确以及更加友好
- 优化前端登录页面部分错误信息提示展示方式。
- 修复前端登录页面密码输入错误后,再次发送请求不执行的问题。
v2.5.6.60
重大更新
- Spring Cloud Alibaba Sentinel 升级至 1.8.2
- 扩展改造 Spring Cloud Alibaba Sentinel,实现应用上报的 Metrics 持久化存储到 Influxdb 时序数据库中,支持反向将 Sentinel 流控配置信息以配置文件的形式持久化存储至 Nacos 中。时序数据存储基于 Influxdb 1.X 版本实现,默认使用原有内存方式存储数据,可通过配置参数动态开启或关闭 Influxdb 和 Nacos 存储机制。
- 全面使用扩展的 Sentinel Dashboard 进行限流、熔断、降级等管理。扩展的 Sentinel Dashboard 已封装为 Docker 镜像,并上传至 Docker Hub,可通过命令 docker pull herodotus/sentinel-dashboard:1.8.2(latest) 使用。Sentinel、Influxdb、Nacos 等相关内容均支持动态参数配置。
- 新增
TICK
开源监控产品套件 Telegraf、InfluxDB、Chronograf、Kapacitor 支持,新增 Influxdb 集成模块,补充平台时序数据存储、管理能力以及拓展更多维度的运行监控和数据展现能力。提供默认配置文件及 docker-compose 脚本。 - 新增 Linux 相关操作系统下使用的 docker-compose 脚本,同时提供 Linux 和 Windows 两种系统 docker-compose 脚本供选择使用。
其它更新
- 修正 Docker 打包参数错误,解决 Docker 打包过程中无法定位服务 jar 文件问题。
- 前端 Vuetify 版本升级至 2.6.0
- 前端工程升级大量依赖包版本,重新编译生成组件库
v2.5.6.50
- 重大更新
- 重构平台 Engine 代码,提取并新建 Cache、 Web、 Message 等代码模块。代码逻辑更内聚、模块职责更清晰。规避由于代码包以及模块间过度依赖,而导致模块使用过程中必须通过排除依赖或排除注入才能正常使用模块的问题。从根本上根除,由于过度依赖导致 spring-integration、spring-actuator 等组件在不受控的状态下启动或检查额外依赖组件问题。
- 增加 Sentinel 配置持久化机制。默认使用 Nacos 进行配置持久化存储与更新。
- 原 Management 服务名称变更为 Monitor,独立出 Management 服务作为平台各项配置统一管理服务。
- Spring Boot Admin 升级至 2.5.4 版本
v2.5.6.40
- 前端工程支持 docker-compose 打包,进行容器化部署。集成 Nginx,支持 gzip 压缩,提升页面首次加载效率。
- 解决 Vue 工程打包部署至 Nginx,favicon.ico 图标报 404 错误
- 优化 Management 服务 Docker 打包逻辑,修复 Spring Boot Admin 混入 Skywalking 监控逻辑问题。
- 修复 Spring Boot Admin 在正式环境下,依赖的 spring-boot-starter-actuator 主动连接 Redis 问题。
- 优化 docker-compose 脚本,补充 BPMN 服务运行脚本。
- 优化 Logstash 日志收集内容格式,修复 Logback 会创建多个 Logback 上下文导致冲突的问题
- 补充 Nacos 2.0.3 数据库初始化脚本,删除低版本无用脚本。
- docker-maven-plugin 升级至 0.38.0
- Vuetify 升级至 2.5.14。
v2.5.6.30
- 修复单体版代码依赖错误问题。单体版补充 Camunda 工作流功能。
- 优化代码包结构,外部依赖应用提取为单独包结构,方便代码管理及维护
- 增加对象存储(OSS)模块,开放 Minio 对象存储功能,支持注解@EnableXXX 条件开启和关闭。
- 优化日志全链路跟踪信息,在 ELK 日志中心存储的结构。让日志聚合分析更加清晰准确。
- 优化数据库初始化数据脚本。
- Hutool 升级至 5.7.16
- 前端工程升级依赖包版本,Vuetify 升级至 2.5.13,重新编译组件库。
v2.5.6.20
后端更新
- 修复
Gateway
网关服务,在生产环境下,关闭SpringDoc
和Swagger
,Bean 注入不正确问题。 - 优化
Gateway
网关服务发现服务动态接入服务Swagger
文档监听器配置,通过配置动态关闭,在生产环境下不再开启。 - 单体版应用默认端口修改为 8847,与微服务版
Gateway
一致,方便前端接入 - 升级依赖包版本:
- Redisson 升级至 3.16.4
- Okhttps 升级至 3.3.0
- weixin-java-miniapp 升级至 4.2.0
- 修复
前端更新
- 优化组件库中,各个组件的配置以及导出逻辑,解决在生产模式下,组件库中组件显示不正确问题。
- 对生产模式下,Vue 工程打包进行深度性能优化。
- 对打包生成的各类资源进一步压缩,降低资源文件大小。
- 依赖包拆分变更为使用动态配置,编译时将所有依赖包都动态拆分为独立 js 文件,无须再根据分析结果手动进行拆分配置,极大地降低 Vue 默认打包文件的大小,解决首屏加载时间过长问题。
- 修复前端工程打包之后,部署至 Nginx 或 Express 页面空白或显示不正确问题。
- 解决 Vue 工程打包,index.html 文件丢失问题。
- 升级大量依赖包版本,重新编译库
v2.5.6.10
重大更新
- Spring Boot Admin 升级至 2.5.4
- Camunda Open Api 升级至 7.16.0
其它更新
- 修复 Camunda Open API 在 Swagger 中,无法正常显示问题。
- 删除本地静态文档,后续请使用在线文档进行查阅。
- 优化在线文档显示,增强在线文档可读性与易读性。
- 增加 Jenkins 持续集成组件部署配置
- 前端工程升级大量依赖包,重新编译生成组件库
v2.5.6.0
- Spring Boot 版本升级至 2.5.7
- 优化自定义多级缓存,对不同的 JPA 实体(数据表)设置不同的缓存时间,支持使用 Spring Boot Yml 配置,。支持 Duration 时间表达式,配置更灵活方便,提升自定义多级缓存的可控性。
- 使用基于 Caffeine 和 Redis 的多级缓存,实现 Mybatis 自定义二级缓存,让 Mybatis 的数据缓存也可以支持分布式,同时降低数据缓存频繁访问 Redis 问题。
v2.5.5.70
重大更新
- 在现有架构基础之上,集成 Redisson 客户端。与 Spring Data Redis 同时使用,支持 Redisson 与 Lettuce 或 Jedis 共存。
- 重构核心包 eurynome-cloud-data 内主要 Configuration 代码。让各个 Configuration 职责更清晰,代码更内聚,更加便于理解,使用及扩展。
- 增加 WebSocket 核心代码模块,全面使用 STOMP 上层协议,支持 WebSocket 集群 Session 共享,信息广播及点对点发送,在线统计,可方便拓展断开重连,心跳机制。
其它更新
- 前端工程升级大量依赖包版本,重新编译生成组件库
- SpringDoc 升级至 1.5.12
- Hutool 升级至 5.7.15
- JustAuth 升级至 1.16.5
v2.5.5.60
- 整合职责相近代码包,删除 eurynome-cloud-common 代码包,让各个代码包职责更明晰,逻辑更清楚。
- 增加开发环境配置基础知识文档,帮助萌新少走弯路,可以更快地投入到系统的使用和代码研究学习的过程中来。
- 依赖组件升级
- Hutool 升级至 5.7.14
- JustAuth 升级至 1.6.5
- Camunda 升级至 7.16.0
- okhttps 升级至 3.2.0
- bce-java-sdk 升级至 0.10.179
- jpush-client 升级至 3.5.3
- Camunda 数据库脚本升级至 7.16.0
v2.5.5.50
- 新增 Social Authentication 自定义授权模式方式,替代传统 Filter 过滤器方式,优化手机验证码,微信小程序,第三方认证的集成与 Token 的分派。代码更加简洁易于维护,解决了第三方认证游离于 OAuth 2 管控体系之外的问题。
- 本着“高内聚,低耦合”的原则,调整代码,优化代码分包。提升代码分包的合理性,降低各代码包之间的耦合性。
- 清除大量无用代码。
- 前端代码升级大量依赖包版本,重新编译库。
- 新增 Social Authentication 授权模式配置功能。
- 回滚 compression-webpack-plugin 组件版本,解决高版本运行错误问题。
- 补充在线文档 IDEA 使用常见问题章节。
- 解决 MySQL 数据更新脚本数据类型不兼容问题
v2.5.5.40
- 简化 OAuth2 资源服务器 ResourceServerConfigure 配置,代码更简洁规范。
- 进一步融合 OAuth2 错误体系,解决 OAuth2 部分错误提示与系统自定义错误体系不一致,不融合的问题。
- 解决包含路径参数的接口,可以跳过鉴权机制直接访问问题
- 解决人员与用户 @OneToOne 映射,由 Jackson 反序列化实体导致 JPA 保存或修改失败问题。
- 优化接口统一信息反馈类别,新增空数据信息结果反馈,让信息反馈内容更加友好
- 补充常用正则表达式库
- 优化人员管理,角色管理关键信息异步校验功能,解决人员管理,使用枚举作为数据类型类型导致的修改数据错误问题。
- 新增为组织机构人员分配默认用户功能。
- 新增系统默认角色配置功能。支持机构人员,手机验证码,微信小程序,QQ,微博,百度,微信开放平台,微信公众号,企业微信二维码,企业微信网页,钉钉,钉钉账号,阿里云,淘宝,支付宝,Teambition,华为,飞书,京东,抖音,今日头条,小米,人人,美团,饿了么,酷家乐,喜马拉雅,码云,开源中国,Github,Gitlab,Stackoverflow,Coding,谷歌,微软,脸书,领英,推特,亚马逊,Slack,Line,Okta,Pinterest 等多种途径或第三方登录默认角色的配置。
v2.5.5.30
- Debezimu 升级至 1.7.0.Final
- 优化统一结果返回实体封装,使用更加便捷。
- 使用统一结果返回实体新接口,替换已有代码。
- 优化接口数据前后端加密传输机制,全面支持使用 Spring @RequestParam 注解接口数据加解密。
- 统一使用 @RequestParam 注解接口加解密方式,改进 OAuth 2 密码模式,用户名,密码参数加密,不再使用传统 Filter 方式,代码更加简洁规范清晰。
- 重新调整 WebMvc 配置核心代码,依赖关系更合理,代码逻辑更清晰。
- 优化完善前端用户管理相关功能。
- 增加基于 VeeValidate 组件的服务端异步校验机制
v2.5.5.20
重大更新
- Spring Boot Admin 升级至 2.5.2
- 基于最新版 Axios 定义,所有 Delete 接口,修改为路径参数形式
- 混合 RSA(非对称) 和 AES(对称加密) 算法,基于自定义注解,设计接口数据前后端加密传输机制。
- 设计自定义数据传输 Session,规避 Vue Session 变化问题。基于自定义 Session,实现 AES KEY 动态生成,加密传输,一人一钥的安全机制,提高系统安全性。
- 实现 OAuth 2 密码模式,用户名,密码参数加密传输。
其它更新
- 修复 Spring Validation 错误信息不会抛出,循环引用问题。
- 前端 Utils 工具包,新增加密算法模块
- 基于最新版 Axios 定义,优化 Axios 请求通用代码
- 实现前端 node-rsa 包 RSA 算法,与后端 Hutool SecureUtil RSA 算法互相加,解密。
依赖包版本升级
- Guava 升级至 31.0.1-jre
- SpringDoc 升级至 1.5.11
- Mybatis Plus Generator 升级至 3.5.1
- 前端工程升级大量依赖包
v2.5.5.10
- 解决 OAuth2 自带业务表通过 Spring Data JPA 自动创建,字段名变化为小写问题。
- 完善前端 Camnuda 工作流编辑器组件功能。
- 完善前端部分功能,解决已知问题。
- 更新在线文档,补充前端工程详细介绍。
v2.5.5.0
重大更新
- Spring Boot 升级至 2.5.5
- Spring Cloud 升级至 2020.0.4
- 大幅改进系统数据库表和数据初始化方式,实现 OAuth2 业务表自动创建,取消使用脚本的创建方式,提升便捷性
- 新增人力资源管理相关功能,功能和模型设计实现与 Camunda 用户体系统一。便于用户体系数据的同步和管理。
- 基于 rollup,lerna 和 yarn workspaces,以 monorepo 方式重新构建前端工程。新版前端工程是以 Vue2,Typescript 开发的,组件库式的前端功能。代码更清晰,组件化和重用化程度更高。为升级至 Vue3 做前序铺垫。
其它更新
- 解决 Skywalking UI 连接 Skywalking OAP Server 出错问题。
- 修改防刷机制的默认配置
- 重新梳理错误体系,优化错误信息,错误提示更加友好。
- 解决单体版对 Basic 模式认证跨域拦截的问题
- 实现 OAuth2 Password 模式部分参数加密传输方式,提升系统安全性。
- 修复老版本前端工程已知问题。
- 在线文档同步更新。
依赖包版本升级
- Hutool 升级至 5.7.13
- okhttps 升级至 3.1.5
- weixin-java-miniapp 升级至 4.1.9.B
- JustAuth 升级至 1.16.4
- jasypt-spring-boot-starter 升级至 3.0.4
- mybatis-plus-boot-starter 升级至 3.4.3.4
- dysmsapi20170525 升级至 2.0.5
v2.5.4.140
- 优化 Antisamy 通用代码,提升 Xss 分析西能,去除严格拦截导致的 JSON 解析错误。
- 解决本地权限缓存并发写入冲突,抛出 com.esotericsoftware.kryo.KryoException: java.util.ConcurrentModificationException 问题。
- 解决 OAuth Starter 引入 Upms Logic 重复导入权限数据问题。
- 修改默认验证码字体配置
- 去除无用依赖包
- 新增 MySQL57 数据库切换配置。更新 Nacos 配置 SQL 脚本,增加最新导入包。
- 新增 Camunda 官方脚本
- 优化数据导入脚本
v2.5.4.130
- 修复单体版 Knife4j 依赖错误问题
- 修复单体版配置错误问题
- 增加 Gitee 流程模版
- 修复 OAuth2 自定义 confirm_access.html,error.html,login.html 页面,数据类型编译错误。
- 优化自定义页面显示内容,增加 Exception StackTrace 输出
- 修复 XssUtils 校验出错问题。
- 优化 ResourceServer 安全配置
- 修复 OAuth2 四种模式中授权码模式(Authorization Code),隐式授权模式(Implicit Grant)模式出错问题。
- 解决前端控制台出错问题
- 更新在线文档,增加 OAuth2 四种模式验证说明
v2.5.4.120
- 使用 Springdoc 全面替换 Springfox,配置更灵活,配置更多样
- Swagger 文档注解全面升级为支持 OpenAPI
- 使用 Springdoc 重构文档聚合功能,支持聚合查阅和服务独立查阅。Knife4j 同步升级至 3.0.3 版本。
- Swagger 文档默认支持 OAuth2 Password,Authorization Code 两种认证流程
- 整合 Camunda Engine Rest 与 Swagger,实现 Camunda API 接口文档查阅,支持聚合查阅。
- 修复 Bpmn 服务默认启动 Tomcat 问题。
- 升级前端依赖包版本
- 更新 Nacos 配置文件及导入包
- 更新在线文档
v2.5.4.110
- 重新构建项目文档体系,使用纯静态页面,替代已有 Gitee Wiki 文档。优化文档结构,提升文档阅读体验。提供全文搜索,便于文档查阅。支持文档独立部署,方便使用者搭建独立的文档服务查阅。
- 更换 Nacos 导入包,解决上一版本导入包导入重复问题
- Update Readme
v2.5.4.100
- 重新梳理所有 Nacos 配置,提取共性配置至统一配置文件,优化配置属性结构和归类,便于参数修改,降低维护复杂度
- 重构数据库相关 Nacos 配置,优化 Maven,Nacos 多环境配置与数据库切换的联动性,让数据库切换所需修改的参数更少,切换更顺滑
- 解决 eurynome-cloud-monitor 编译出现的 Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources) on 4. project XXXX: Input length = 1 -> [Help 1]错误
- 解决 Redis 设置密码后,无法连接出现 NOAUTH Authentication required 错误
- 增加 MySQL 数据库默认数据初始化脚本
- 增加最新版 Nacos 配置导入包
- 修复前端 UI 申请 APPKEY 页面错误
- 修复前端 UI 切换至单体版后,连接错误问题。
- 升级前端 UI 依赖包版本。
- 同步更新相关文档,补充新建子模块,常见问题等部分文档。
v2.5.4.90
- 使用 Mybatis Plus 全面替换已有 Mybatis,与 Spring Boot Data JPA 共存且支持同时使用。使用任何技术都可以无障碍的进行业务代码编写。
- 整合 Mybatis Plus 和 Spring Boot Data JPA 更换数据库配置属性,一处修改即可以同时修改 Mybatis Plus 和 Spring Boot Data JPA 使用数据库类型。
- 新增接口 XSS 脚本攻击过滤机制,同时支持请求参数和 JSON 请求体过滤。采用 Ebay XSS 过滤模型,进一步提升防控能力。
- 新增 SQL 注入攻击防控机制。
- 解决 eurynome-cloud-gateway 和 eurynome-cloud-monitor 服务启动调用 Kafka 问题。
- 解决 CacheConfigException 错误问题,在错误体系中增加配置参数不合理提醒,让信息反馈更加友好。
- 解决 Spring Boot Admin 不支持 Java 8 时间类型问题。
- 解决 Spring Boot Admin 不显示 Git Properties 信息问题。
- 解决修改 Redis 密码配置生效问题
- 梳理 dependencies 依赖包,对已有依赖进行进行更合理的分类,更加便于依赖包的找寻和维护。
- 升级依赖包版本
- spring-boot-admin 升级至 2.5.1
- git-commit-id-plugin 升级至 4.9.10
- docker-maven-plugin 升级至 0.37.0
- hutool 升级至 5.7.10
- okhttps 升级至 3.1.4
- JustAuth 升级至 1.16.3
- aliyun-java-sdk-core 升级至 4.5.25
- baiducloud-java-sdk 升级至 0.10.175
- aliyun-java-sdk-oss 升级至 3.13.1
- cn.jpush.api 升级至 3.5.2
- 规范项目文档,增加系统部署,数据库切换等多部分内容
- 增加 Nacos 配置导入包,在没有自动部署功能支持的情况下,也可以更加方便的导入配置。
- 替换 UI SweetAlert 过期方法,解决弹出框不会关闭问题
- 解决授权码模式(authorization code)验证码被拦截问题
v2.5.4.80
- 合并 eurynome-cloud-curd 包和 eurynome-cloud-rest 包,减少包数量,提升代码维护便捷度。
- 增加接口幂等处理机制,防止重复提交。增加接口防刷限制机制,防止接口恶意频繁刷新。
- 接口幂等和防刷机制,均支持全局配置控制,同时提供@Idempotent 和@AccessLimited 注解进行灵活的,个性化的配置。
- 接口幂等和防刷机制,缓存标记采用分布式多级缓存进行存储,将低单一访问 Redis 带来的访问压力,同时支持多实例数据多级缓存本地数据同步。
- 接口幂等和防刷机制,所涉及标记缓存时间配置全部统一支持 Duration 时间格式,简化配置参数,提升配置便捷度。同时,优化平台错误响应体系,返回更加友好的错误信息提示。
- 定义 Stamp 签章体系,采用统一体系,对 SMS 短信验证码,JustAuth State,环信 Token 以及接口幂等和防刷等需临时存储标记相关应用进行统一实现。同时,采用分布式多级缓存进行数据存储,降低单一访问 Redis 压力。
v2.5.4.65
- 优化 Skywalking 打包内容,直接使用 Skywalking 官方容器
- 补充 RequestMappingScanner 对应事件代码,解决单体版扫描 Rest API 接口后不会存储问题
- 优化数据库脚本以及数据库表结构和默认数据自动初始化机制。解决在第一次运行时,Spring Data JPA JDBC 初始化机制与 Hibernate 初始化机制冲突问题。
- 在 Gitee Wiki 中,增加数据库初始化说明文档
- 删除部分预留代码,减少暂时不必要的代码对使用者带来的误导。
- 前端 UI 中,增加部分配置,使用者可以通过注释部分配置,让前端 UI 快速支持单体版。
v2.5.4.60
- Spring Boot 版本升级至 2.5.4
- Skywalking 版本升级至 8.7.0
- 微服务日志输出至日志中心格式。
- 增加 Swagger 注入条件注解,优化日志中心相关配置采用统一常量控制
- 增加自定义 Property"助手"数据统一自动编译生成配置,无须额外设置,在 IDE 中编辑配置属性时可自动弹出提示
- 修复 Kafka 配置不生效问题。
- 解决单体版自动启动 Kafka 问题。
- 暂时关闭单体版 Swagger,规避 Swagger 会自动启动 Kafka 问题。
v2.5.4.55
- 整合代码,将 constant 包代码整合至 common 包中。删除 constant 包。
- 完善 Rest 接口校验机制,以及相关自定义错误码
- 统一 spring boot validation 错误信息,将其整合至平台统一响应实体 Result 中。无须在各个 Rest 接口中,添加 BindingResult 参数。
v2.5.4.50
- 优化服务本地权限存储逻辑,解决权限属性数据重复存储,不会替换问题。
- 重新梳理 Spring Security OAuth2 方法级表达式动态权限鉴权逻辑,摒弃无用的权限验证 Voter 逻辑,使用统一逻辑实现@PreAuthorize 注解权限的全面动态可配置化。统一平台接口- 白名单,IP 地址白名单,以及 Scope 绑定 URL 的管理。
- 重构 UserDetails 用户信息组织逻辑,使用 Spring Security 标准代码,替换自定义逻辑代码,降低代码冗余,与自研方法级动态权限完美融合。
- 优化平台权限从 Controller 扫描,汇总存储至服务器以及动态修改后最终回传同步至服务的整理逻辑以及事件流。完美支持单体式架构,UPMS 自身应用需求,分布式架构以及分布式各服- 务多实例等各种应用场景。
- 修复部分已知 BUG,将部分代码中日志由@Slf4j 改回传统日志编写方式,一方面提高编译效率,另一方面解决源代码包查看时 Idea 提醒代码不一致问题。
- 清理系统无用代码。
- 增加方法级动态权限演示动图,更新 Readme
v2.5.4.40
- 优化自定义多级缓存,实现可以统一设置 allowNullValues 值,并解决存储空值时卡死问题。
- 重新梳理,优化系统权限从 Controller 扫描,汇总存储至服务器以及动态修改后最终回传同步至服务的整理逻辑以及事件流。完美支持单体式架构,UPMS 自身应用需求,分布式架构以及- - 分布式各服务多实例等各种应用场景。
- 增加 Kafka 条件注入配置,将条件转换为@ConditionalOnXXX,方便管理和维护。避免单体版应用相关依赖过度依赖 Kafka 而导致的无法启动
- 修复部分已知 BUG,将部分代码中日志由@Slf4j 改回传统日志编写方式,一方面提高编译效率,另一方面解决源代码包查看时 Idea 提醒代码不一致问题。
- 去除传统 Kafka Producer 通用类,改为统一使用 Spring Cloud Bus
v2.5.4.30
- 重新调整 Property 配置,规范 Property 定义。修改相关配置
- 调整包,以及包相关依赖关系。让包之间的依赖更加合理
- 增加 Kafka 配置,增加@KafkaListener 动态控制,以避免在不需要的情况下 Kafka 的自动开启。
- 调整部分常理代码位置,常量代码基本调整完成
- 将原有自定义条件,转换为@ConditionalOnXXX 注解,让使用更加便捷
- 日志中心是否开启状态,改为@ConditionalOnLogCenterEnabled 注解
v2.5.4.20
- 本地权限缓存更换为 JetCache,为服务多实例的权限扫描和存储提供更好的支持
- 将数据访问策略从 Conditional 类,升级为 Conditional 注解,使用更加便捷
- 调整包依赖关系,新建 assistant,constant 包,删除 message 包。
- 逐步将平台中各类非独有常量移入 constant 包方便管理和修改
- 采用 Spring Boot Event 和 Spring Cloud Bus Event 机制重构接口收集逻辑。支持单体架构,UPMS,分布式多实例等不同场景接口扫描的特殊需求
- 优化 Docker Compose 配置,使用 Debezium Kafka 替换已有 kafka,以支持 Debezium 应用
- 删除无用代码
v2.5.4.10
- 全网首个实现 Spring Security 动态 URL 权限与注解表达式权限有机整合,并且可以动态配置的微服务框架。
- 全面支持方法级权限控制,Security OAuth2 permitAll 等方法权限以及@PreAuthorize 注解权限,均支持动态配置。目前支持以下权限的动态配置: · hasRole · hasAnyRole · hasAuthority · hasAnyAuthority · hasIpAddress · #oauth2.clientHasRole · #oauth2.clientHasAnyRole · #oauth2.hasScope · #oauth2.hasAnyScope · #oauth2.hasScopeMatching · #oauth2.hasAnyScopeMatching · #oauth2.denyOAuthClient · #oauth2.isOAuth · #oauth2.isUser · #oauth2.isClient
- 彻底解决使用 withObjectPostProcessor 方式,会覆盖外部匹配规则问题。
- 真正实现 Scope 权限与 URL 权限的关联与管控,拓展 OAuth2 默认只进行 Scope 简单对比的实现逻辑。
- 实现动态权限配置的多服务同步。
- 暂时去除 JetCache,全面使用自研支持 Hibernate 二级缓存的多级缓存。
- 修改配置文件配置
- 删除无用代码
v2.5.3.60
- Nacos 版本升级至 2.0.3
- Hutool 版本升级至 5.7.6
- 修改部分代码名称
- 修改配置文件配置参数
v2.5.3.50
- 将所有服务包括 UAA 的权限存储,改为本地和认证中心,多级分布式存储和验证。
- 增加策略模式,支持认证中心权限数据直连和远程消息两种存储方式动态切换。
- 改进自研多级缓存,解决 Hibernate 二级缓存进行数据缓存时产生的事务锁问题。
- 删除无用代码
- 为动态 Scope 权限做铺垫。
- 全面支持方法级权限控制。
v2.5.3.40
- Spring Boot 版本升级至 2.5.4
- 采用新的 Hash 算法,缩短权限标识;简化用户权限信息,以缩短平台生成 JWT Token 的长度
- git commit 插件由 pl.project13.maven » git-commit-id-plugin 改为 io.github.git-commit-id » git-commit-id-maven-plugin。
- git commit 插件升级至 5.0.0 版本
v2.5.3.30
- 重构用户中心用户人员体系,将平台用户,第三方社交登录用户,人事管理用户以及 Camunda 工作流用户体系无缝融合。
- 人事管理体系人员唯一化管理,同时支持企业,党组,团青等多种类型的机构类型,便于企业人事管理。
- 基于 Debezium 实现数据库变更数据捕获,实现人事管理信息与 Camunda 工作流用户实时同步。
- 树形结构通用代码实现逻辑与 Hutool Tree 一致,因此采用 Hutool Tree 全面替换已有的 Tree 代码。
- 删除不再使用的通用类代码。
- 修改说明文档
v2.5.3.10
- 自研基于 Caffeine 和 Redis 分布式两级缓存
- 完美支持 JPA Hibernate 二级缓存
- 完美支持各类查询数据缓存以及 JPA @ManyToMany, @ManyToOne 等关联查询。
- 实现基于 Caffeine 的 Hibernate 二级缓存,可与自研两级缓存快速切换,仅使用本地缓存。
- 极大的简化了原有自研的基于 JetCache 的缓存使用方式。
- 保留 JetCache,可根据实际使用需要使用。
- 已有服务接口相关代码,均已更新自研分布式两级缓存模式。
v2.5.2.40
- Redis Value 默认序列化工具修改为 Jackson2JsonRedisSerializer
- jetcache valueEncoder 和 valueDecoder 修改为 kryo
- 部分代码的日志改为传统方式,不再使用@Slf4j 注解
- 抽象实体共性属性,拓展基础实体,以支持 JPA 视图类的 ORM 映射。
- 重构基础 Service,将基础 Service 的读操作与其它操作分离,以支持“视图”相关 Service 的编写。
- 重构基础 Controller,将基础 Controller 的读操作与其它操作分离,以支持“视图”相关 Controller 的编写。
- 将 Hibernate Validator 替换为 spring-boot-starter-validation
- 删除 JPA 过期方法封装
v2.5.2.30
- Spring Boot 版本升级至 2.5.2
- Spring Boot Admin 版本升级至 2.4.2
- 升级其它相关依赖版本
v2.5.2.25
- Skywalking 升级至 8.6.0
v2.5.2.20
- Spring Boot 升级至 2.5.1
- Camunda 升级至 7.15.0
- 其它依赖包版本升级
- Swagger 回滚至 2.9.2,解决 Swagger 接口测试相关问题以及 Knife4 Authorize 不显示问题
- 结构性调整平台相关配置属性
v2.5.1.0
- Spring Boot 大版本升级至 2.5.0
v2.4.5.60
- 修改负载均衡不生效问题
- 调整包依赖关系
- 升级版本
v2.4.5.48
- 正式发布开源版本