[TOC] ## V4.2.0 更新说明:https://mp.weixin.qq.com/s/752ARPQ9cJWQQQtNbrT9Tg * 新增 `jackson` 工具类 * **json**相关代码替换 `fastjson` 为 `jackson` * 升级 `spring-boot` 到 `2.2.10.RELEASE` * 升级 `spring-cloud` 到 `Hoxton.SR8` * 升级 `spring-cloud-alibaba` 到 `2.2.3.RELEASE` * 升级 `mybatis-plus-boot-starter` 到 `3.4.0` * 升级 `spring-data-elasticsearch` 到 `3.2.10.RELEASE` * 升级 `knife4j` 到 `2.0.5` * 修复redis的increment命令的反序列化问题   ## V4.1.0 更新说明:https://mp.weixin.qq.com/s/g9WdP-OKfTXiJPYlG1xCxg * 优化 `分布式锁` 增加**自动解锁**功能 * 优化 `swagger-ui` 替换为 `knife4j` * 更新 `seata-demo` 的代码适配 `seata1.3` * 完善 `web-sso` 单点登录demo添加 `state参数` 验证,防止**CSRF攻击** * 升级 `spring-boot` 到 `2.2.8.RELEASE` * 升级 `spring-cloud` 到 `Hoxton.SR7` * 升级 `spring-boot-admin` 到 `2.2.4.RELEASE` * 修复改为jwt token类型无效的问题 * 优化sc-gateway的异常处理返回状态码   ## V4.0.0 更新说明:https://mp.weixin.qq.com/s/VkfEKwB97BYR66rvLs5NaQ * 重构uaa的自定义授权实现,统一授权接口使用 `grant_type` 区分 * 基础框架版本升级 * 升级 `spring-boot` 到 `2.2.8.RELEASE` * 升级 `spring-cloud` 到 `Hoxton.SR6` * 升级 `spring-cloud-alibaba` 到 `2.2.1.RELEASE` * 升级 `spring-boot-admin-starter-server` 到 `2.2.3` * 升级 `search-center` 支持**ES7.x**版本,**不支持6.x**版本 * 升级 `elasticsearch-rest-high-level-client` 到 `7.8.0` * 升级 `elasticsearch-rest-client` 到 `7.8.0` * 升级 `elasticsearch` 到7.8.0` * 升级 `zlt-register/nacos` 到 `1.3.1` * 升级 `transmittable-thread-local` 到 `2.11.5` * 修复用户列表只显示用户所关联的当前租户的角色 * 修复redis-cluster模式下有时候会删除token失败 * [#I1LPAV] RedisClientDetailsService.removeRedisCache()方法没有删除缓存 * [#I1KAME] SysRole类里的userId缺少@TableField(exist = false) * 增加分支 3.x(该分支不会更新) * Spring Boot 2.1.14.RELEASE * Spring Cloud Greenwich.SR6 * Spring Cloud Alibaba 2.1.2.RELEASE   ## V3.7.0 更新说明:https://mp.weixin.qq.com/s/ifL3Jj2g6_qM-BEHeFo_Kg * 分布式锁增加注解调用方式 * 优化应用管理编辑页面和列表 * 优化授权码模式的登录错误响应 * 优化登出逻辑 * 升级 `zlt-register/nacos` 到 `1.3.0` * 升级 `spring-boot` 到 `2.1.14.RELEASE` * 升级 `spring-cloud` 到 `Greenwich.SR6` * 升级 `fastjson` 到 `1.2.70` * 升级 `druid-spring-boot-starter` 到 `1.1.22` * 升级 `fastdfs-client` 到 `1.27.2` * 升级 `spring-data-elasticsearch` 到 `3.2.7.RELEASE` * 升级 `commons-configuration2` 到 `2.7` * 修复开启多租户时不同的租户使用授权码模式单点登录时角色没有变更的问题 * 修复token失效时网关会出现跨域问题   ## V3.6.1 * 修复`saveIdempotency`方法释放锁时的传参错误 * 去掉`getLoginAppUser`方法加锁的测试代码,导致登录后刷新页面假死   ## V3.6.0 更新说明:https://mp.weixin.qq.com/s/XzOyP2KhW8iw-Z8_cvcBJA * 分布式锁的实现方式改为 `Redisson` 并优化抽象接口 * 修改zlt-redis-spring-boot-starter的客户端由 `lettuce` 改为 `redisson`,同时兼容 `RedisTemplate` 和 `RedissonClient` 两种客户端API * 修改DefaultWebMvcConfig类由WebMvcConfigurationSupport改为WebMvcConfigurer,避免覆盖其他的WebMvc配置 * 支持 `Nacos 1.2` 服务注册发现认证配置 * 升级 `spring-cloud-alibaba-dependencies` 到 `2.1.2.RELEASE` * 升级 `elasticsearch-rest-high-level-client` 到 `6.8.8` * 升级 `elasticsearch-rest-client` 到 `6.8.8` * 升级 `elasticsearch` 到 `6.8.8`   ## V3.5.0 更新说明:https://mp.weixin.qq.com/s/0e3NWyFNbmVC-BsS33b6nw * 新增`zlt-elasticsearch-spring-boot-starter`工程 * 支持`xpack`安全认证 * 支持最新的`es7.x`版本 * 支持自定义`连接池`参数 * 优化搜索中心`search-center`客户端由`TransportClient`改为`HighLevelClient ` * 优化公共`starter`的bean加载方式,避免依赖的工程因包路径不一致而导致加载不了的情况 * 优化`zlt-uaa`的bean加载方式 * 优化`zlt-uaa`原生的授权接口返回统一的json格式 * 优化`zlt-db-spring-boot-starter`自动装配`MybatisPlus`配置,去掉`DefaultMybatisPlusConfig`类 * 修复开启多租户时`zlt-uaa`原生的授权接口和refresh_token接口丢失租户id导致角色取不到的问题   ## V3.4.0 更新说明:https://mp.weixin.qq.com/s/hO3ZgSyHRnZ6MPFqwFtLvw * 首页增加**天流量趋势图**,并优化图表样式 * 增加**前后端分离**的单点登录样例工程 `web-sso ` * 基于security实现的sso-demo增加**登出**功能 * 优化授权中心UAA的登出接口,支持自定义回调地址 * 优化back-web前端工程的登出逻辑 * 优化数据源配置添加时区参数 * 升级 `zlt-register/nacos` 到 `1.2.0`   ## V3.3.0 更新说明:https://mp.weixin.qq.com/s/BPwDUFLNtwsMT29o2E4rEw * 审计日志增加插入数据库实现类,配置动态切换logger和db模式 * 增加基于oauth2的sso单点登录样例工程sso-demo * 升级 `hutool-all` 到 `5.1.4 ` * 升级 `lettuce-core` 到 `5.2.2.RELEASE`   ## V3.2.0 更新说明:https://mp.weixin.qq.com/s/n8VNlc_lZJcerONdQ4x9dg * 新增审计日志记录功能(支持 `spEL` 表达式) * 新增审计日志页面 * 修复开启多租户功能后,用户管理中用户只能分配webApp的角色 * 修复开启url权限时,无权限访问的api前端会报跨域错误 * 升级 `spring-boot` 到 `2.1.12.RELEASE ` * 升级 `spring-cloud` 到 `Greenwich.SR5 ` * 升级 `fastjson` 到 `1.2.62 ` * 升级 `druid-spring-boot-starter` 到 `1.1.21 ` * 升级 `hutool-all` 到 `5.1.2 ` * 升级 `mybatis-plus-boot-starter` 到 `3.3.1 ` * 升级 `poi` 到 `4.1.1 ` * 升级 `lettuce-core` 到 `5.2.1.RELEASE`   ## V3.1.0 更新说明:https://mp.weixin.qq.com/s/KNCn6qKecJkEuG-489_zAw * 拆分 `feign` 拦截器适配 `webflux` * 新增 `zlt-config/bootstrap.properties` 文件,用于 `bootstrap` 级别通用配置 * 简化 `nacos` 的 `server-addr` 配置 * 迁移所有的 `nacos` 相关配置到 `zlt-config/bootstrap.properties` 文件下统一配置 * 优化网关认证信息传递逻辑,修复 `oauth2` 的 `客户端模式` 认证时报错的问题 * 修复 `sc-gateway` 开启 `url` 权限时租户的传递问题 * 升级 `spring-boot` 到 `2.1.9.RELEASE` * 升级 `spring-cloud-alibaba` 到 `2.1.1.RELEASE` * 升级 `zlt-register/nacos` 到 `1.1.4` * 升级 `mybatis-plus` 到 `3.2.0` * 升级 `spring-boot-admin-starter-server` 到 `2.1.6` * 升级 `hutool-all` 到 `5.0.5`   ## V3.0.0 * 增加 `Spring Cloud Gateway` 网关(sc-gateway模块) * 集成 `Spring Security` 统一认证 * url权限控制 * swagger-api聚合 * 动态路由 * 版本号隔离策略 * 升级 `Spring Boot` 到 `2.1.8.RELEASE` * 升级 `Spring Cloud` 到 `Greenwich.SR3` * 升级 `Spring Cloud Alibaba` 到 `2.1.0.RELEASE` * 优化部分公共模块适配 `webFlux` * 增加分支 `2.x` * 该分支只修复问题不增加新功能 * Spring Boot 2.0.9 * Spring Cloud Finchley.SR4   ## V2.7.2 * 优化代码生成器代码 * 修复开启动态路由后网关聚合的`SWAGGER-API`有重复   ## V2.7.1 * 修复`租户id`判断逻辑问题 * 去掉无用的配置 * 修改`文件id`的生成规则为`uuid`,修复同一个文件id相同的问题   ## V2.7.0 * 新增分布式事务 `seata-demo` 演示工程 * 增加自定义负载均衡规则,实现服务实例版本号隔离 * 优化 **租户**、**trace** 等数据传递方式,由拦截器改为过滤器 * 优化请求IP获取 * 修复开启url权限认证时认证方法的租户id获取不到的问题 * 升级验证码 `easy-captcha` 包到 `1.6.2 ` * 升级 `fastjson` 到 `1.2.60 ` * 升级 `swagger-butler` 到 `2.0.0`   ## V2.6.0 * zuul网关增加`动态路由`实现 * 增加分`布式日志链路追踪 ` * 扩展线程池,父线程能传递`租户`和`MDC`信息给子线程 * 文件日志`logger`改为异步方式 * Spring Boot自定义配置支持IDE自动提示 * 增加自定义`banner ` * 升级`lettuce`到`5.1.8.RELEASE`   ## V2.5.0 * **后端** * 增加多租户功能(应用隔离) * 优化图像验证码,改为gif动图 * 增强`jwtToken`额外添加用户`id`参数,@LoginUser注解能获取(id、username 和roles)三个属性 * 优化`Feign`拦截器,增加`access_token`、`userid`、`username`、`roles`、`client`等参数传递 * 优化部分接口返回前端的`json`格式改为标准格式 * 解决`poi`包冲突问题导致导入报错,并优化导出为`xlsx`格式 * 升级`easypoi`到`4.1.0 ` * 升级`zlt-register/nacos`到`1.1.3 ` * **前端** * 角色管理、菜单管理、token管理增加`所属应用`选择 * 应用管理增加`应用名称`字段   ## V2.3.0 * 优化url权限,并增加用户管理的前后端结合样例(按钮/资源权限+后台api权限) * api网关集成`Sentinel`网关流控组件 * 新增`jwt`和`rsa`工具类 * 优化授权认证配置,授权服务器关闭basic认证 * 优化多记录insert改为batch批量方式 * 升级`spring-cloud-alibaba`到`2.0.0.RELEASE` * 升级`spring-cloud`到`Finchley.SR4` * 升级`mybatis-plus`到`3.1.2`   ## V2.2.0 * 优化认证配置 * 优化`redis token`模式,提升性能 * 增加`token`自动续签功能(仅限于`redis token`模式),可配置化(开关、白名单、黑名单) * 增加`Token管理`模块(仅限于`redis token`模式):"认证管理-token管理" * redis客户端使用`lettuce`代替`jedis ` * 项目默认token模式改为`redis`,并且开启自动续签功能 * 升级`zlt-register/nacos`到`1.1.0`   ## V2.1.0 * 首页增加`在线人数`统计 * 升级`zlt-register/nacos`到`1.0.1` * 优化`文件中心`列表的字段名 * 优化`统一异常处理`的注解   ## V2.0.0 * 新增`search-center`工程(搜索中心) * `search-server`为搜索中心服务端 * `search-client`为搜索中心客户端(需要搜索的业务服务依赖该工程) * 前端页面 * 新增`搜索中心-索引管理`和`搜索中心-用户搜索`两个功能 * 首页增加访问流量统计 * 用户中心`user-center`集成`搜索中心`实现用户全文搜索(需要搭配实时同步中间件,总体架构可参考:[实时搜索系统设计](https://www.kancloud.cn/zlt2000/microservices-platform/1050047)) * 优化`log-center`去掉原来的es相关配置和代码,改为集成`搜索中心` * 网关`zuul-gateway`增加请求埋点 * 升级`mybatis-plus`到`3.1.1`   ## V1.6.0 * 新增`rocketmq-demo`演示工程 * 集成`Spring-Cloud-Stream`消息框架(rocketmq-consume和rocketmq-produce) * MQ实现的分布式事务案例(rocketmq-transactional) * 重构`file-center`的自动化配置,并增加`FastDFS`的实现 * 升级`spring-cloud-alibaba`到`0.2.2.RELEASE` * 升级`spring-boot`到`2.0.9.RELEASE` * 升级`zlt-register/nacos`到`1.0.0 GA`   ## V1.5.0 * 新增sharding-jdbc-demo分库分表演示工程(sharding-sphere3.1.0) * 升级Spring Cloud版本为`Finchley.SR3` * 获取当前登录人接口由`api-uaa/oauth/userinfo`替换为`api-user/users/current` * 删除spring-cloud-gateway工程,因为目前该工程还不能完全集成进项目去等集成完毕再放出来 * 修复docker镜像运行问题 * 优化redis配置,因为redis不同的集群部署配置完全不一样,所以统一放到zlt-config中统一管理各环境的redis配置 * zuul 配置优化   ## V1.4.0 * 新增zlt-demo工程 * 新增zlt-transaction工程 ,集成分布式事务TX-LCN,支持LCN、TCC、TXC三种模式 * 升级spring-security-oauth2到`2.3.5.RELEASE` * 修复redis类型的token时,登出时的清理问题 * 添加feign拦截器,适配无网络隔离时token的传递   ## V1.3.0 * 升级nacos为0.9.0 * prometheus支持,通过在`/prometheus`端点上暴露监控指标   ## V1.2.0 * 增加docker支持,通过`mvn docker:build`命令构建镜像(免Dockerfile文件)   ## V1.1.3 * 优化sonar静态代码检查的问题 * 增加项目发布jar到maven私服的配置 * 配置中心全局公共配置增加自动刷新功能   ## V1.1.0 * 前端和后端都支持多环境动态切换(为了CI/CD自动化部署) * 增加单元测试mock例子(为了CI/CD自动化测试) * 修复nacos配置中心失效问题 * 修复token失效时间无效问题 * 修复导出问题 * 优化log查询,改为模糊查询 * 优化sentinel配置