- v0: 2018 ~ 2019 (2y)
- v1: 2020 ~ 2022 (3y)
- v2: 2023 ~
- 提醒1:之前没有使用弃用接口的,可以直接升级
- 提醒2:有使用弃用接口的。建议先升级到 1.12.4;替换弃用代码后,再升级到 2.0.0
- 新增 seata-solon-plugin 插件
- 增加 quartz jdbc 及时更新支持(数据库里变了,它马上变) ???
- 调整 solon.config.add 与 solon.config.load 合并,规范格式(同时支持内部与外部) ???
- 调整 使用更多的 slf4j 替换 LogUtil ???
- 调整 取消启动参数简写模式,保持与应用参数相同的名字 ???
- 新增 seata-solon-plugin 插件?
- 添加 序列化安全名单接口?
- 优化 拦截体系与 rx 的兼容?
- 添加 solon Duration 类型配置注入
- 添加 solon AppContext::beanExclude 方法
- 添加 solon AppContext::beanDeliver 方法
- 添加 solon Bean:delivered 替代 registered
- 添加 solon Component:delivered 替代 registered
- 添加 solon-boot-vertx websocket 支持
- 添加 solon-web-cross CrossInterceptor::pathPatterns() 方法
- 添加 solon Router:getAll(), getBy(path) 方法
- 优化 kafka-solon-cloud-plugin 添加自动延时重试模拟实现
- 优化 grpc-solon-cloud-plugin GrpcClient 注解处理添加必须
- 优化 thrift-solon-cloud-plugin ThriftClient 注解处理添加必须
- 修复 jdk21 + win10 + solon-logging-simple 打包后无法输出日志的问题
- 调整 solon Gateway:find 改为 public
- 调整 solon-logging OutputStreamAppender 彩色打印
- 取消 Ds 注解(未启用)
- 取消 HandlerProxy ,不太合理(尤其是对本地网关)
- 取消 Solon:versionCode
- snack3 升为 3.2.111
- wood 升为 1.3.6
- beetlsql 升为 3.30.13-RELEASE
- asm 升为 9.7
- 新增 solon-web-vertx 插件
- 新增 solon 分类注入支持体系
- 新增 solon 分类构建支持体系
- 调整 solon Before,After Handler 体系标为弃用
- 调整 solon Props:getBean 标为弃用
- 调整 solon NvMap:getBean 标为弃用
- 添加 solon Action 过滤器体系(替代 Before,After 体系)
- 添加 Context::sessionReset 方法
- 添加 solon Props:toBean 方法(替代 Props:getBean)
- 添加 solon-scheduling CommandExecutorProxy 原型代理支持
- 添加 solon-data DsUtils.observeDs 方法
- 添加 solon-cloud CloudEventHandlerPlus 原型代理支持
- 添加 solon-cloud CloudConfigHandler 原型代理支持
- 添加 solon-cloud CloudEventHandler 原型代理支持
- 添加 solon-cloud-gateway X_Forwarded_Host 和 https 转发支持
- 添加 solon-cloud-gateway RewritePathFilterFactory
- 添加 solon-cloud-gateway QueryPredicateFactory
- 调整 solon Constants 内部类改为接口类型
- 凋整 solon-cloud-gateway 路由处理体系,支持路由多协议头扩展
- 调整 solon-scheduling scheduled 内部实现类(强调原型代理概念
- 调整 solon ContextPathFilter index 改为 -990
- 调整 solon-i18n I18nFilter index 改为 -980
- 提醒 solon AppContext::beanAroundAdd 添加弃用打印日志
- 提醒 solon 添加不支持单例的打印日志
- 修复 solon BeanWrap::rawClz 处理 anonymousClass 失误的问题
- wood 升为 1.3.4
- redisson 升为 3.35.0
- bean-searcher 升为 4.3.2
- 新增 solon-config-plus
- 新增 BeanInjectorTyped 分类注入器机制
- 新增 BeanBuilderTyped 分类构建器机制
- 添加 NOTICE
- 添加 solon @Bean::priority 属性(用于 onMissing 条件时的运行优先级)
- 添加 solon-cloud 的分布式注解开关
- 添加 solon Context::cookieValues(name) 方法
- 添加 solon MultiMap 类,用于 Context 能力优化
- 添加 solon-web-rx 对 ndjson 支持
- 优化 solon-cloud-gateway body 修改支持
- 修复 solon beanRegister 处理的兼容性(2.9.0 出现了一点不兼容)
- 调整 快捷方式只保留:solon-lib 和 solon-web(原 solon-web 去掉 view,方便自选)
- 移除 旧包 solon.test(改用 solon-test)
- 移除 旧包 solon.web.flux(改用 solon-web-rx)
- 移除 旧包 detector-solon-plugin(改用 solon-health-detector)
- 移除 旧包 log4j2-solon-plugin(改用 solon-logging-log4j2)
- 移除 旧包 logback-solon-plugin(改用 solon-logging-logback)
- 移除 旧包 solon.extend.schedule
- wood 升为 1.3.1
- redisson 升为 3.34.1
操作 | ||
---|---|---|
ctx.paramMap():NvMap | 调整 | ctx.paramMap():MultiMap |
ctx.headerMap():NvMap | 调整 | ctx.headerMap():MultiMap |
ctx.cookieMap():NvMap | 调整 | ctx.cookieMap():MultiMap |
ctx.fileMap():NvMap | 调整 | ctx.fileMap():MultiMap |
ctx.paramNames() | 新增 | |
ctx.headerNames() | 新增 | |
ctx.cookieNames() | 新增 | |
ctx.cookieValues(name) | 新增 | |
ctx.fileNames() | 新增 | |
ctx.fileValues(name) | 新增 |
- 新增 solon.boot.vertx 插件,支持 cloud gateway 开发与 web 开发
- 优化 solon.cloud.gateway 改由 solon.boot.vertx 驱动(可与 web 开发复用)
- 优化 solon.cloud.gateway 改为流式分块代理转发(chunk)
- 优化 solon.security.validation 执行拦截时的异常消息(保持与旧版兼容)
- 优化 solon LifecycleBean 和 Lifecycle 设计
- 新增 solon.cloud.gateway 插件
- 新增 solon.rx 插件
- 添加 solon.data 配置节
solon.dataSources
(用于自动构建数据源),支持 ENC 加密符 - 添加 solon.docs 配置节
solon.docs
(用于自动构建文档摘要) - 添加 solon.view.prefix 配置项支持 "file:" 前缀(支持体外目录)
- 添加 solon.scheduling.simple SimpleScheduler::isStarted 方法
- 添加 solon
@Condition(onBean, onBeanName)
条件属性 - 添加 solon.validation ValidUtils 工具类
- 添加 solon LifecycleBean:postStart 方法
- 添加 solon MethodInterceptor 接口,替代 Interceptor(旧接口保留)
- 添加 solon.net.httputils 扩展机制,并与 solon.cloud 自动整合
- 添加 solon.net.httputils HttpResponse::headerNames 方法
- 添加 solon.cloud CloudDiscoveryService:findServices 方法
- 添加 solon
solon.plugin.exclude
应用属性配置 - 添加 solon
solon.app.enabled
应用属性配置(Solon.cfg().appEnabled()
可获取) - 添加 solon
${.url}
应用属性配置本级引用 - 添加 solon
--cfg
启动参数支持(便于内嵌场景开发) - 添加 托管类构造参数注入支持(对 kotlin 更友好)
- 调整 solon.cloud.httputils 标为弃用,由 solon.net.httputils 替代
- 调整 smarthttp,jetty,undertow 的非标准方法的 FormUrlencoded 预处理时机
- 调整 solon.auth maven 包更名为 solon.security.auth (原 maven 包保留)
- 调整 solon.validation maven 包更名为 solon.security.validation (原 maven 包保留)
- 调整 solon.vault maven 包更名为 solon.security.vault (原 maven 包保留)
- 优化 AppContext::beanMake 保持与 beanSacn 相同的类处理
- 优化 solon.serialization.jackson 兼容 @JsonFormat 注解时间格式和时间格式配置并存
- 优化 solon Context::body 的兼容性,避免不可读情况
- 优化 solon 调试模式与 gradle 的兼容性
- 优化 solon.boot FormUrlencodedUtils 预处理把 post 排外
- 优化 solon.web.rx 允许多次渲染输出
- 优化 kafka-solon-cloud-plugin 添加 username, password 简化配置支持(简化有账号的连接体验)
- 优化 solon.boot 413 状态处理
- 优化 solon.boot.smarthttp 适配的 maxRequestSize 设置(取 fileSize 和 bodySize 的大值)
- 优化 solon AppContext 注册和查找时以 rawClz 为主(避免以接口注册时,实例类型查不到)
- 优化 solon.mvc kotlin data class 带默认值的注入支持(表单模式下)
- 优化 solon PathAnalyzer 添加 addStarts 参数选择,支持域名匹配
- 修复 solon.view.thymeleaf 模板不存在时没有输出 500 的问题
- 修复 solon.serialization.jackson 泛型注入失效的问题
- 修复 solon.boot.smarthttp 适配在 chunked 下不能读取 body string 的问题
- 修复 solon-openapi2-knife4j 没有配置时不能启动的问题(默认改为不启用)
- wood 升为 1.3.0
- snack3 升为 3.2.109
- socket.d 升为 2.5.11
- zookeeper 升为 3.9.2
- dromara-plugins 升为 0.1.2
- kafka_2.13 升为 3.8.0
- beetlsql 升为 3.30.10-RELEASE
- beetl 升为 3.17.0.RELEASE
- mybatis 升为 3.5.16
- mybatis-flex 升为 1.9.6
- sqltoy 升为 5.6.20
- dbvisitor 升为 5.4.3
- bean-searcher 升为 4.3.0
- liteflow 升为 2.12.2
- aws.s3 升为 1.12.769
- powerjob 升为 5.1.0
- netty 升为 4.1.112.Final
- reactor-core 升为 3.6.9
- reactor-netty-http 升为 1.1.22
- vertx 升为 4.5.9
- undertow 升为 2.2.34.Final
- jetty 升为 9.4.55.v20240627
- smarthttp 升为 1.5.9
- 添加 solon Context::outputStreamAsGzip 方法(方便手动 gzip 输出)
- 添加 solon
@Bean(initMethod, destroyMethod)
配置属性 - 添加 solon ActionLoaderDefault:postActionPath 方法(方便重写)
- 添加 solon.boot
server.request.useRawpath
配置 - 添加 solon.boot http-server 同端口的 ws 信号注册
- 优化 solon.boot 当有
server.?.name
配置时才注册 ws,sd 信号 - 优化 solon MvcFactory:resolveParam 更名为 resolveActionParam(旧名,标为弃用)
- 优化 solon DownloadedFile 取消空构造函数,避免内容为 null 的情况
- 优化 solon UploadedFile::getContentSize 避免可能为 null 的情况
- 优化 solon.proxy AOT 代理增加 接口 default 方法代理支持
- 优化 solon.proxy ASM 代理增加 接口 default 方法代理支持
- 优化 solon.net SubProtocolCapable:getSubProtocols 设计,增加请求子协义校验的支持
- 优化 solon 停止结束语打印
- 修复 solon.sessionstate.local LocalSessionState::sessionKeys 数据获取错误
- 修复 solon.serialization.jackson 的 boolAsInt 配置 对小写 bool 无效的问题
- 修复 solon.serialization.fastjson2 的 boolAsInt 配置无效的问题
- 修复 solon.config.yaml 当配置 key 为数字时会出错的问题
- fastjson2 升为 2.0.52
- snack3 升为 3.2.107
- wood 升为 1.2.13
- socket.d 升为 2.5.10
- folkmq 升为 1.7.6
- smartsocket 升为 1.5.50
- smarthttp 升为 1.5.5
- 添加 solon.cache.redisson RedissonClientOriginalSupplier 类
- 添加 solon MethodKey 类
- 添加 solon ClassUtil:resolveClassLoader 方法
- 添加 solon Router::getBy(controllerClz) 方法,用于管理需求
- 添加 solon ChainManager::addExecuteHandler(e,index) 方法,支持执行器排序
- 添加 solon RouterInterceptor::postArguments 提交参数确认(更方便 mvc 参数定制)
- 添加 solon UploadedFile::getContentAsBytes 方法
- 添加 solon DownloadedFile 动态 304 的支持
- 添加 solon Component:registered,控制形态注册
- 添加 solon.data 序列化新实例 JsonSerializer.typedInstance
- 添加 captcha-solon-plugin 图形验证码接口注释,之后使用smart-doc会拥有更完整的文档内容
- 优化 solon
solon.config.load
支持classpath:
前缀 - 优化 solon.data 的 JsonSerializer,JavabinSerializer 类加载器处理
- 优化 solon.sessionstate.jedis 的 JsonSerializer,JavabinSerializer 类加载器处理
- 优化 solon Serializer 接口定义,更好支持泛型
- 优化 solon CacheService 接口定义,更好支持泛型
- 优化 mybatis-plus-extension-solon-plugin 增加
@Db IService
注入支持 - 优化 mybatis-solon-plugin 没有 mappers 时的提示
- 修复 solon.logging forward 时会清掉 mdc 的问题
- 修复 solon 一个注解同时用 beanInterceptorAdd 和 beanExtractorAdd 时 代理失效的问题
- redisx 升为 1.6.5
- snack3 升为 3.2.104
- wood 升为 1.2.12
- socket.d 升为 2.5.9
- folkmq 升为 1.7.4
- water 升为 2.13.3
- nacos2 升为 2.3.2(更好兼容 GraalVM Native)
- smartsocket 升为 1.5.46
- smarthttp 升为 1.5.2
- 新增 solon.net.httputils 插件
- 添加 BeanWarp::rawClz,优化 BeanWrapLifecycle 的检测方式(避免 LifecycleBean 重复注册)
- 添加 CloudBreakerException 异常类,用于 CloudBreakerInterceptor
- 添加 CloudStatusException 异常类,用于 Cloud 触发的 4xx 状态异常
- 添加 Router 移除控制器的接口
- 添加 openapi2 支持 action 返回接口类型
- 简化 Router 注册控制器的方式
- 优化 solon.boot.websocket 适配,在重启时端口不能立即复用的问题
- 优化 List[Bean] 注入,支持排序
- 优化 AppContext::beanShapeRegister 改为实例检测(之前为类型检测)
- 调整 429 状态改由 CloudBreakerException 发出(访问量过大时)
- 调整 415 状态改由 StatusException 发出(Consumes 不匹配)
- 调整 用 solon.net.httputils 替换 solon.test 里的 HttpUtils(统一代码)
- 调整
@Consumes
@Produces
作用域,支持加在类上 - 调整 solon-rpc 快捷包去掉 hessian 依赖(如有需要手动引入)
- 调整 CloudBreakerInterceptor 融断时改为 CloudBreakerException(之前为直接设定 429 状态),更方便过滤和拦截
- 修复
@Consumes
@Produces
在 solon.docs 里无效的问题 - fury 升为 0.5.1
- liteflow 升为 2.12.1
- socket.d 升为 2.5.7
- folkmq 升为 1.7.2
- mybatis-flex 升为 1.9.3
- smartsocket 升为 1.5.44
- smarthttp 升为 1.4.3
- undertow 升为 2.2.32.Final
- 新增 thrift-solon-cloud-plugin 插件
- 新增 solon.serialization.jackson.xml 插件
- 添加
@Destroy
注解(与@Init
呼应) - 添加 Serializer 接口,统一多处模块的序列化定义
- 添加 BytesSerializerRender 类,对应 StringSerializerRender
- 添加 solon.net.stomp ToStompWebSocketListener 适配 WebSocket 子协议验证
- 添加 solon.net ToSocketdWebSocketListener 适配 WebSocket 子协议验证
- 添加 graphql-solon-plugin GraphqlWebsocket 适配 WebSocket 子协议验证
- 添加 WebSocket 子协议校验支持(smarthttp,jetty,undertow,java-websocket,netty-websocket)
- 添加 应用配置键名二次引用支持
- 添加 folkmq 适配 EventLevel.instance 订阅支持
- 添加 rocketmq5 适配 EventLevel.instance 订阅支持
- 添加 solon.boot.socketd 对 ssl 配置的支持
- 添加 beetl 适配自定义 Tag 注入支持
- 添加 enjoy 适配自定义 Tag 注入支持
- 添加 StatusException 异常类型
- 调整 AuthException 改为扩展自 StatusException(之前为 SolonException)
- 调整 ValidatorException 改为扩展自 StatusException(之前为 SolonException)
- 调整 Action 参数解析异常类型为 StatusException(之前为 IllegalArgumentException)
- 调整 solon.test 默认为 junit5 并简化 SolonTest 体验(不用加 ExtendWith 了),需要 junit4 的需引入 solon-test-junit4
- 优化 CloudClient.event().newTranAndJoin() 增加 inTrans 判断
- 优化 mybatis-solon-plugin 在有 mapper 配置,但无 mapper 注册时的异常提示(原为 warn 日志提示)
- 优化 RouteSelectorExpress 的路由顺序(常量的,优于变量的)
- 优化 kafka 适配的 ack 处理
- 修复 IndexUtil:buildGatherIndex 处理字段时,会出错的问题
- snack3 升为 3.2.100
- fastjson2 升为 2.0.51
- socket.d 升为 2.5.3
- folkmq 升为 1.5.2
- wood 升为 1.2.11
- sqltoy 升为 5.6.10.jre8
- mybatis-flex 升为 1.9.1
- smarthttp 升为 1.4.2
- okhttp 升为 4.12.0
- xxl-job 升为 2.4.1
- graphql 升为 18.3
- 添加
@Bean::injected
- 添加
TmplUtil
工具类(提供简单模板支持) - 添加
RoutingDataSource
对事务管理的支持(即动态数据源支持事务管理) - 添加 Solon Cloud Event 消息事务支持!
- 优化 Bean 集合注入时,乎略泛型
- 优化 smarthttp 和 jetty 适配,queryString 和 from-data 同时有数据时的处理
- 优化 jetty 适配的临时目录处理
- 优化 solon.serialization.properties 处理,扩大范围
- 优化 onMissingBean 条件与 Bean 集合注入的边界问题!
- 优化 sa-token 的 json 序列化处理
- 优化 配置加载同步,带 - 的不同步到 System
- snack3 升为 3.2.97
- socket.d 升为 2.4.16
- folkmq 升为 1.4.4
- fastjson2 升为 2.0.50
- mybatis-flex 升为 1.8.9
- sqltoy 升为 5.6.5.jre8
- sa-token 升为 1.38.0
- kafka 升为 3.7.0
- water 升为 2.13.2
- luffy 升为 1.7.5
- 新增 solon-docs-openapi2-javadoc 插件
- 新增 solon.serialization.properties 插件(支持 ?a.b=1 prop 风格的参数)
- 新增 solon.net.stomp 插件
- 添加 solon.boot.jetty 原生编译支持
- 添加 solon.boot.undertow 原生编译支持
- 添加 solon 对
classpath*:
表达式支持(兼容旧的习惯) - 添加 solon Utils:pid 方法(方便获取进程号)
- 添加 solon.data TranUtils:getDataSourceProxy 方法
- 添加 solon.cloud CloudProps:getNamespace 方法,允许每个中间件有自己 namespace 配置
- 添加 solon.net WebSocketListener::onPing,onPong 方法,允许获得 ping/pong 的监听
- 添加 solon.net WebSocketListenerSupplier 接口,简化 ws 扩展适配
- 添加 solon.validation 校验出错的结果里带上当前校验的名称(该名称是当前校验的参数名称或者是实体对象字段名称)
- 添加 nami json 解码器,对普通 string 的支持(如果返回类型为 string ,则解码失败时以普通 string 返回)
- 添加 "solon.config.load" 对资源表达式的支持(例:"config/*.yml")
- 添加 solon.boot.smarthttp 对参数 key 的 urlDecode 处理
- 优化 solon.net ToSocketdWebSocketListener 防止 websocket 恶意空连
- 优化 非 solon 测试环境下,日志打印添加 pid 显示支持
- 优化 ResourceUtil 扫描类或资源的能力,增加支持
*Mapper
表达式 - 优化 Aot 时的函数注册处理(修复 原生运行时组件代理失败的问题)
- 优化 Bean 集合的注入处理
- 优化 StaticResourceHandler 对静态资源的压缩支持,改为先查找压缩文件
- 修复 solon.boot.undertow 的 ws 适配在 window 下异常关闭处理时,无法触发 onClose 事件的问题
- 修复 solon.boot.websocket.netty 接收二进制码时出错的问题
- 修复 nami 在请求参数为空时被转换成GET操作的问题
- 修复 solon.docs.openapi2 没有同步 operation.security 的问题。
- 调整 solon.net websocket 没有路由记录时,将自动关闭(更安全)
- 调整 solon Condition::onMissingBean 标为弃用
- redisx 升为 1.6.3
- fastjson2 升为 2.0.49
- wood 升为 1.2.9
- mybatis-flex 升为 1.8.8
- snack3 升为 3.2.95
- socket.d 升为 2.4.14
- 新增 solon.web.rx 插件
- 添加 SolonException 异常基类
- 添加 solon.view 模板渲染器指定视图前缀的构造函数
- 添加 solon.view 模板渲染器的容器注册(提供容器扩展方式)
- 添加 solon.data TranUtils:getConnectionProxy 接口,方便不同的事务对接
- 添加 solon.scheduling 对多个 JobInterceptor 及排序支持
- 添加 solon.cloud 对多个 CloudJobInterceptor 及排序支持
- 添加 solon.validation
@Size
验证注解支持参数 - 添加 AppContext::removeWrap 接口
- 添加 folkmq-solon-cloud-plugin 对 event:key 支持
- 添加 大写开头的环境变量注入支持
- 调整 bean 的基类注册的排除条件改为“java.”开头(之前为包含)
- 修复 solon.scheduling.simple 在使用单点 cron 表过式时,会出现 npe 的问题
- socket.d 升为 2.4.10
- folkmq 升为 1.4.2
- snack3 升为 3.2.92
- jackson 升为 2.17.0
- fastjson2 升为 2.0.48
- mybatis-flex 升为 1.8.7
- beetlsql 升为 3.30.4-RELEASE
- netty 升为 4.1.107.Final
- vertx 升为 4.5.6
- hutool 升为 5.8.27
- smartsocket 升为 1.5.43
- smarthttp 升为 1.4.1
- aws-java-sdk-s3 升为 1.12.695
- grpc 升为 1.62.2
- thrift 升为 0.20.0
- dubbo3 升为 3.2.11
- freemarker 升为 2.3.32
- beetl 升为 3.16.0.RELEASE
- thymeleaf 升为 3.1.2.RELEASE
- log4j 升为 2.23.1
- slf4j 升为 2.0.12
- 增加 java 22 支持
- 添加 solon.threads.virtual.enabled 配置支持
- 添加 solon.cloud.httputils 异步处理接口
- 添加 NamiClient::localFirst 属性,增加本地实现组件优先支持
- 添加 Context::filesDelete 批量删除临时文件方法
- 优化 solon.view 后端模板的编码配置处理
- 优化 非 http/https 协议包的处理(被人刷假包)
- 优化 local-solon-cloud-plugin 本地服务发现的查找处理,避免失败
- 优化 部分锁的处理方式(synchronized 改为 ReentrantLock)
- 优化 jetty 的 multipart 解析处理
- 修复 solon.health HealthIndicator 自动注册无效的问题
- socket.d 升为 2.4.7
- folkmq 升为 1.3.2
- snack3 升为 3.2.90
- sqltoy 升为 5.6.2.jre8
- asm 升为 9.6
- nacos1 升为 1.4.7
- nacos2 升为 2.3.1
- redisson 升为 3.27.2
- undertow 升为 2.2.31.Final
- 添加 公共锁 Utils.locker() 给初始化场景使用
- 添加 scheduling 调度任务拦截机制 JobInterceptor
- 添加 UploadedFile:delete 尝试删除临时文件方法
- 添加 server.request.useTempfile 新的配置支持
- 添加 solon.boot.jdkhttp 上传文件缓存的可选功能
- 添加 solon.boot.jlhttp 上传文件缓存的可选功能
- 添加 solon.boot.smarthttp 上传文件缓存的可选功能
- 添加 solon.boot.jetty 上传文件缓存的可选功能
- 添加 日志打印默认格式显示进程号
- 调整 框架内的 ThreadLocal 默认为非继承,通过 FactoryManager 可定制
- 调整 jlhttp 源码独立为 jlhttp 仓库再转依赖引用
- 调整 cron 源码独立为 java-cron 仓库再转依赖引用
- 调整 smarthttp 的内部日志级为 WARN
- 优化 部分锁的处理方式(synchronized 改为 ReentrantLock)
- 优化 solon.boot.smarthttp 适配在空跑时的内存情况
- 优化 solon.boot.smarthttp 的 websocket 闲置超时处理
- 优化 FactoryManager.newThreadLocal 接口设计,方便定制扩展
- 修复 knife4j 适配未鉴权时在 undowtow + 非本地IP情况下 500 的问题
- redisson 调为 3.23.5
- shardingsphere 调为 5.3.2
- socket.d 升为 2.4.6
- folkmq 升为 1.3.1
- sqltoy 升为 5.2.98
- beetlsql 升为 3.30.1-RELEASE
- mybatis-flex 升为 1.8.2
- fastjson2 升为 2.0.47
- smarthttp 升为 1.4.0
- 添加 solon LifecycleBean:prestop 生命节点,方便用户做安全停止
- 添加 solon.scheduling IJobManager:jobGetAll 接口
- 添加 folkmq-solon-cloud-plugin 新的 rpc 与 tran 能力适配
- 调整 solon.boot.jetty 适配的静态资源处理
- 优化 solon 外部资源文件的相对位置加载在不同 linux 的兼容性
- 优化 solon 安全停止打印信息
- socket.d 升为 2.4.4
- folkmq 升为 1.2.2
- jetty 升为 9.4.54.v20240208
- undertow 升为 2.2.30.Final
- smarthttp 升为 1.3.9
- smartsocket 升为 1.5.42
- sqltoy 升为 5.2.95
- mybatis-flex 升为 1.7.9
- beetlsql 升为 3.30.0-RELEASE
- activerecord 升为 5.1.3
- shardingsphere 升为 5.4.1
- jetcd 升为 0.7.7
- xxl-job 升为 2.4.0
- thymeleaf 升为 3.0.15.RELEASE
- enjoy 升为 5.1.3
- beetl 升为 3.15.14.RELEASE
- forest 升为 1.5.36
- 调整 内核的 mvc 能力实现,独立为 solon.core.mvc 包(为之后拆分作准备)
- 新增 solon.view.jsp.jakarta 插件
- 新增 solon.scheduling 插件对 command 调度的支持(即由命令行参数调度任务)
- 添加 undertow jsp tld 对 templates 目录支持(简化 tld 的使用)
- 添加 jetty jsp tld 对 templates 目录支持(简化 tld 的使用)
- 添加 SocketdProxy 对 socket.d 集群的支持
- 添加 @Addition 注解(用于间接附加注解)
- 添加 相对应用目录的文件获取接口
- 调整 Plugin组件和动态组件注解的弃用提醒级别为 error
- 调整 外部资源文件加载,保持与应用目录的相对位置(不因 user.dir 而变)
- 调整 @Get, @Options 注解到类上时的限定效果,保持与方法上一样(原增量效果 @Addition 注解替代)
- 解除 WEB-INF 的目录依赖,早期是为了支持 jsp tld 文件的自动处理(仍然兼容)
- 修复 QuartzSchedulerProxy::remove 失效的问题(之后调错方法了)
- socket.d 升为 2.4.0
- folkmq 升为 1.1.0
- sqltoy 升为 5.2.93
- mybatis-flex 升为 1.7.8
- dbvisitor 升为 5.4.1
- fastjson2 升为 2.0.46
- 添加 ToSocketdWebSocketListener::setListener 接口(更方便定制)
- 添加 ToHandlerListener 对异常反馈的支持
- 添加 WebSocket 支持 war(javax) 部署
- 添加 WebSocket 支持 war(jakarta) 部署
- 添加 OffsetDateTime 请求注入支持
- 添加 solon.boot.undertow 打印 http2 的启用情况
- 添加 solonee.licence 配置支持
- 添加 JacksonActionExecutor 支持设定全新 ObjectMapper
- 添加 smarthttp 适配对 websocket header 的处理
- 调整 enableMd5key 返回(支持链式返回自己)
- 调整 路由拦截器匹配规则采用pathNew方法(原为path)
- 调整 ToHandlerListener 基类改为 EventListener(更方便定制)
- 修复 WebSocket 不能获取 queryString 单字母参数问题
- liteflow 升为 2.11.4.2
- fastjson2 升为 2.0.44
- snack3 升为 3.2.88
- bean-searcher 升为 4.2.7
- sqltoy 升为 5.2.91
- beetlsql 升为 3.29.0-RELEASE
- reactor-netty-http 升为 1.1.15
- reactor-core 升为 3.6.2
- socket.d 升为 2.3.7
- folkmq 升为 1.0.30
- sms4j 升为 3.1.1
- smarthttp 升为 1.3.8
- 修复 solon.auth 验证路径被强制转小写的问题
- 添加 war 部署时,multipartConfig 自动配置并与 app.yml 对接
- 添加 thymeleaf 适配对
@{}
语法的支持 - 添加 RedisCacheService,RedissonCacheService,MemCacheService::enableMd5key (默认为 true)
- 添加 solon.serialization 对 ZonedDateTime 适配支持
- dubbo3 升为 3.2.10
- hutool 升为 5.8.25
- redisson 升为 3.24.3
- lettuce 升为 6.2.7.RELEASE
- fury 升为 0.4.1
- fastjson2 升为 2.0.45
- slf4j 升为 2.0.11
- knife4j 升为 4.5.0
- forest 升为 1.5.35
- mybatis 升为 3.5.15
- mybatis-flex 升为 1.7.7
- beetlsql 升为 3.27.5-RELEASE
- bean-searcher 升为 4.2.6
- snack3 升为 3.2.87
- folkmq 升为 1.0.28
- socket.d 升为 2.3.4
- 新增 graphql-solon-plugin 插件(欢迎试用)
- 修复 @Header 与 @Body 同时注入时,@Header 会失效的问题
- 修复 LocalCacheService 时间过大时会超界的问题
- 添加 local-solon-cloud-plugin 对描述信息的获取
- fastjson2 升为 2.0.44
- log4j 升为 2.22.1
- logback 升为 1.3.14
- sqltoy 升为 5.2.88
- mybatis-flex 升为 1.7.6
- beetlsql 升为 3.27.4-RELEASE
- fastmybatis 升为 2.10.0
- socket.d 升为 2.2.2
- folkmq 升为 1.0.26
- 发布 Solon FaaS
- 修复 solon.luffy 插件 JtFunctionLoaderClasspath 可能会出现 null 异常的问题
- 修复 solon.luffy 插件 XFun.callFile 的执行兼容性(添加 file_id 赋值)
- 修复 Solon.cfg().stopSafe() 自动配置失效的问题
- 修复 war 部署时 contextPath 自动识别失效的问题
- 调整 contextPath 配置,支持 '!' 开头(表示强制模式,即不再支持旧的地址请求)
- 调整 solon.net 把 socketd 包改为 provided
- 调整 Utils::mime 添加默认处理
- 添加 ConvertUtil 对 Byte 类型的默认解析
- smart-http 升为 1.3.6
- luffy 升为 1.7.2
- folkmq 升为 1.0.22
- socket.d 升为 2.1.14
- sqltoy 升为 5.2.86
- beetl 升为 3.15.12.RELEASE
- beetlsql 升为 3.27.3-RELEASE
- netty 升为 4.1.101.Final
- 修复 solon.logging.logback 对 solon.logging.appender.console.enable 配置无效的问题
- 修复 maven 打包插件,出现 “Unable to rename XXX” 错误
- 修复 jetty 适配,添加多个 http 端口时会受 ssl 配置影响
- 修复 swagger 适配
@Body
后 path 参数不能显示的问题 - 调整 solon.data nested 事务微略处理
- socket.d 升为 2.1.7
- folkmq 升为 1.0.18
- nacos2 升为 2.3.0
- sqltoy 升为 5.2.85
- 新增 folkmq-solon-cloud-plugin 插件
- 新增 solon.luffy 插件
- 添加 solon.docs 全局参数支持
- 添加 solon.logging 配置提示文件
- 添加 rabbitmq-solon-cloud-plugin 消息并发处理机制
- 添加 RunUtil::asyncAndTry 接口
- 添加 WebSocket::id, attrHas 接口
- 添加 WebSocket::setIdleTimeout 接口
- 添加 NamiClient::name 支持配置表达式
- 调整 solon.auth 取消 AuthUtil 验证路径、权限、角色与登录绑死。由用户适配的处理器决定
- 调整 scheduledPoolSize 默认值多一倍
- 调整 solon.scheduling.simple 过滤中断异常
- 调整 solon.logging 注册日志打印,取消不必要的打印
- 调整 RouterWebSocketListener 更名为 PathWebSocketListener
- 调整 http-server 的 idleTimeout 策略
- 修复 Snack3 不能反序列化 SaSession 的问题
- 修复 solon.logging.config 的配置文件不存在时会异常的问题
- 修复 solon.boot.smarthttp 获取 queryString 会中文乱码的问题
- 移除
@Dao
,@Service
,@Repository
三个注解(弃用很久了,容易带来误解) - snack3 升为 3.2.84
- socket.d 升为 2.0.22
- wood 升为 1.2.6
- mysql-flex 升为 1.7.5
- sqltoy 升为 5.2.82
- beetlsql 升为 3.27.2-RELEASE
- smartsocket 升为 1.5.38
- undertow 升为 2.2.28.Final
- netty 升为 4.1.101.Final
- wx-java 升为 4.6.0
- 设定 smart-http 为 solon-api 快捷组合包的默认 http-server
- 重构 socketd 适配,升为 v2.0
- 重构 websocket 适配,升为 v2.0
- 新增 solon.net 模块用于定义网络接口,分离 websocket 与 socketd 的接口(分开后,用户层面更清爽)
- 新增 solon.boot.socketd 插件
- 新增 sa-token-dao-redisson-jackson 插件
- 添加 SolonApp::filterIfAbsent,routerInterceptorIfAbsent 接口
- 添加 AppContext::getBeansMapOfType 接口
- 添加 websocket context-path 过滤处理机制
- 添加
@Cache
缓存注解处理对动态开关的支持(之前,只能在启动时决定) - 添加
@Tran
事务注解处理对动态开关的支持(之前,只能在启动时决定) - 添加 solon.boot.smarthttp 外部优先级处理(成为默认后,要方便外部替换它)
- 调整 smart-http,jetty,undertow 统一使用 server.http.idleTimeout 配置
- 调整
@ProxyComponent
弃用提示为直接提示(之前为 debug 模式下) - 调整 websocket server 的地址打印
- 移除 AopContext(完成更名 AppContext 的第二步动作)
- 移除 PathLimiter (已无用,留着有误导性)
- 移除 SolonApp::enableWebSocketD,enableWebSocketMvc,enableSocketMvc(已无用,留着有误导性)
- 优化 http context-path 过滤器处理机制
- 优化 solon.test 的
@Rollback
注解处理,支持 web 的事务控制 - 优化 solon.scheduling.simple 保持与 jdk 调度服务的策略一致
- 删除 socketd v1.0 相关的 10 多个插件(v2.0 独立仓库)
- jackson 升为 2.15.2
- pagehelper 升为 5.3.3
- liteflow 升为 2.11.3
- activemq 升为 5.16.7
- redisx 升为 1.6.2
- minio8 升为 8.5.3
- sqltoy 升为 5.2.81
- fastjson2 升为 2.0.42
- luffy 升为 1.7.0
- water 升为 2.12.0
- 调整 solon.view 插件,默认添加请求上下文 context 对象
- 调整 SnackActionExecutor 默认关闭 className 读取
- 调整 事务监听器 afterCommit 时,转为无事务状态(移除事务状态)
- 优化 SolonApp 构造时日志处理(避免失去样式的可能)
- 优化 容器停止时把 Closeable 接口的 bean 也关掉
- 优化 solon.data 插件 afterCommit 事件之前移除事务状态
- 优化 属性引用表达式,当环境变量无时马上使用默认值(环境变量是启动时决定的,有或无固定了)
- 优化 mqtt-solon-cloud-plugin 重构代码,增加异步发布与并发消费模式(并改为异步接口)
- 优化 mqtt5-solon-cloud-plugin 重构代码,增加异步发布与并发消费模式(并改为异步接口)
- 增加 solon.aot 支持使用命令行设置 构建 native image args
- 增加 Utils::isProxyClass 接口
- 修复 solon.boot.smarthttp 可能会两次触发 close 的问题
- snack3 升为 3.2.82
- sqltoy 升为 5.2.75
- mybatis-flex 升为 1.7.3
- activemq 升为 5.15.12
- sureness 升为 1.0.8
- guava 升为 32.1.3-jre
- pulsar 升为 2.11.2
- beetlsql 升为 3.26.1-RELEASE
- smarthttp 升为 1.3.5
- 新增 nami.coder.fury 插件
- 新增 solon.serialization.fury 插件
- 新增 hibernate-solon-plugin 插件(提供标准 jpa 支持)
- 修复 @Import::classes 未被执行的问题
- 修复 socketd.session 关闭时,自动心跳不能停止的问题
- 修复 solon.logging.logback 控制台等级 yml 配置失效的问题
- 优化 Solon::cfg() 多配置加载的校验机制
- 优化 solon.logging.logback 原生编译元信息配置
- 优化 运行时退出勾子的处理,非 aot 情况下强制退出
- 调整 socketd.session::sendHeartbeatAuto 更名为 startHeartbeatAuto (内部接口)
- 调整 @Init 的弃用提示(改为推荐了)
- 添加 @Import::profiles, @Import::profilesIfAbsent 接口
- 添加 DynamicDsKey 类, 替代 DynamicDsHolder
- 添加 socketd.session::stopHeartbeatAuto 接口
- snack3 升为 3.2.81
- liteflow 升为 2.11.2
- sqltoy 升为 5.2.73
- mybatis-flex 升为 1.7.2
- sa-token 升为 1.37.0
- redisx 升为 1.6.1
- smarthttp 升为 1.3.4
- beetlsql 升为 3.26.0-RELEASE
- beetl 升为 3.15.10.RELEASE
- fastjson2 升为 2.0.41
- rabbitmq 升为 5.19.0
- dubbo3 升为 3.2.7
- rocketmq4 升为 2.9.7
- kafka_2.13 升为 3.6.0
- sms4j 升为 3.0.2
- dromara-plugins 升为 0.1.1
- 新增 ConverterFactory 接口
- 恢复 @Mapping 函数旧版兼容,改为告警(以后去掉非公有支持)
- 增加 @Mapping 函数非公有告警提醒
- 弃用 SolonBuilder
- 修订 CONTRIBUTING.md
- 新增 事务管理的 TranListener 机制支持!!!
- 新增 Mapping 函数对 TypeVariable 参数类型的识别支持!!!
- 新增 Mapping 函数父类继承的支持(仅限 public)!!!
- 新增 FactoryManager 工具类,合并各种工厂管理,替代旧的 Bridge
- 弃用 InitializingBean(简化应用生命周期)
- 删除 SolonApp::onError,::enableErrorAutoprint 接口(已无用,留着有误导性)
- 删除 LogUtil::globalSet 接口(已无用,留着有误导性)
- 调整 Get,Put,Post,Delete,Patch 注解,取消 ElementType.TYPE 目标
- 调整 solon.logging 的 MDC.clear() 时机(安排到最外层)
- 调整 数据源事务管理相关改为线程状态可继承(支持通过 FactoryManager 设置 threadLocalFactory)
- 调整 所有模块的单测都升级为 junit5(落实最新的 CONTRIBUTING 规范)
- 调整 water-solon-cloud-plugin 本地调试时服务注册改为被动检测(之前为主动上报)
- 调整 HttpServerConfigure::enableSsl 允许自己设定 SSLContext(方便国密处理)
- 增加 动态数据源注解
@DynamicDs("${ddsName}")
参数模板支持 - 增加 Context::remotePort 接口
- 增加 Context::remoteIp 接口,原 ip 接口标为弃用
- 增加
@Init
函数对 AOP 的支持(有时候初始化也要用事务注解之类的) - 增加 配置提示元文件???
- 修复 solon.socketd.client.websocket 自动重连失效的问题
- sqltoy 升为 5.2.69
- mybatis-flex 升为 1.7.0
- 取消 全局未处理异常走总线的机制,转由 Log 框架接收(简化用户体验)
- 增加 Context::headerOfResponse 接口
- 增加 http server gzip 整体配置支持
- 增加 solon.web.staticfiles 对 gzip 的配置支持
- 增加 solon.boot.jdkhttp 对 gzip 的配置支持(取消内部的自动处理)
- 调整
@Import
替代@PropertySource
、@TestPropertySource
,后者标为弃用 - 调整
@Rollback
替代@TestRollback
,后者标为弃用 - 调整 SolonTestApp 默认关闭 http 服务;避免与已启动服务端口冲突
- 调整 solon.cache.jedis 的两个序列化实现,转到 solon.data(做为公用)
- 调整 solon.cache.redission RedissonCacheService 增加外部序列化接口支持
- 调整
@Bean
函数,参数没带注解的算必须 - 调整 paramsMap 增加 autoMultipart 处理
- 调整 nami,forest,feign 负载均衡的获取方式
- 修复 solon-maven-plugin 在 linux 下因为一些用户角色没有权限导致打包失败问题
- 优化
VarGather
检查增加自动排序 - 优化 Props::getMap 处理
- 简化 Props::getProp 处理提升性能
- wood 升为 1.2.2
- mybatis-flex 升为 1.6.8
- fastmybatis 升为 2.9.7
- easy-trans 升为 1.3.0
- sa-token 升为 1.36.0
- fastjson2 升为 2.4.0
- jetty 升为 9.4.52.v20230823
- undertow 升为 2.2.26.Final
- redisx 升为 1.6.0
- asm 升为 9.5 (for JDK21)
- 完成 JDK21 编译测试,功能单元测试
- 添加 HttpServerConfigure::setExecutor 接口,用于支持虚拟线程池(for JDK21)
- 添加 PropUtil 类。把原来的属性表达式与模板解析独立出来
- 添加 ContextPathListener 类,用于控制 contentPath 对 ws,tpc 的影响
- 添加 ContextPathFilter 一个简化的构造函数
- 添加 MethodHolder::getDeclaringClz、getDeclaringClzAnnotation 接口
- 添加 yaml 多片段支持(即一文件多环境支持)
- 添加 多配置文件交差引用变量支持
- 添加 DownloadedFile(file,name) 构造函数
- 添加 Router 对 405 的支持
- 调整 RunUtil 执行器分离为 parallelExecutor + asyncExecutor(for JDK21)
- 调整 CacheService 接口(增加类型化 get)
- 调整 SessionState 接口(增加类型化 get)
- 调整 Context::session 接口(增加类型化 get)
- 调整 BeanWrap 的 rawSet 改为公有
- 调整 SolonApp::enableWebSocketMvc, enableSocketMvc, 默认为 false
- 调整 SolonApp::enableWebSocket, enableWebSocketD 分离设置,各不相关(前者代表通讯,后者代表协议)
- 调整 CloudConfig 复用主框架的属性表达式与模板解析
- 调整 Listener 去掉 @FunctionalInterface,所有方法标为 default
- 调整 ChainManager::postResult 的执行策略改为包围式(相当于倒序)
- 调整 ValHolder 标为弃用
- 调整 jdkhttp,jlhttp,smarthttp 的 contentLength 适配处理
- 调整 使用更多的 slf4j 替换 bus
- 调整 mybatis-solon-plugin 的会话提交方式,修复二级缓存控制可能失效的问题
- 调整 "solon.config.load" 支持按顺序加载
- 调整 几个特定启动参数的处理方式。改与成 Solon.cfg() 同步,再统一从 Solon.cfg() 取值
- 调整 启动参数与系统属性的同步时机
- wood 升为 1.2.1
- redisx 升为 1.5.0
- mybatis-flex 升为 1.6.5
- sqltoy 升为 5.2.66
- polaris 升为 1.14.1
- slf4j 升为 2.0.9
- lombok 升为 1.18.30(for JDK21)
- 增加 AppContext::onEvent 接口
- 调整 paramsMap() 的 List 处理,避免出现只读情况
- 调整 JarClassLoader 更名为 AppClassLoader
- 调整 solon.serialization.fastjson2 转换枚举未匹配时则异常
- 调整 solon.serialization.snack3 转换枚举未匹配时则异常
- 调整 smarthttp,jetty,undertow 的 FORM_URLENCODED 预处理
- 调整 signal server 启动打印信息
- mybatis-flex 升为 1.6.4
- dromara-plugins 升为 0.1.0
- snack3 升为 3.2.80
- redisx 升为 1.4.10
- beetlsql 升为 3.25.4-RELEASE
- fastmybatis 升为 2.9.6
- bean-searcher 升为 4.2.4
- rabbitmq 升为 5.18.0
- kafka_2.13 升为 3.5.1
- dubbo3 升为 3.2.5
- logback 升为 1.3.11
- nacos2 升为 2.2.4
- snakeyaml 升为 2.2
- redisson 升为 3.23.3
- luffy 升为 1.6.7
- water 升为 2.11.3
- 增加
AppContext
类 - 调整
AopContext
标为弃用,由AppContext
替代 - 调整 solon.docs.openapi2 对枚举类型的显示处理
- beetlsql 升为 3.25.2-RELEASE
- 增加
@Component
自动动态代理特性,即自动识别AOP需求并按需启用动态代理 - 调整
@ProxyComponent
标为弃用,组件统一使用@Component
- 调整
@Around
标为弃用,统一使用 context::beanInterceptorAdd 接口添加拦截器 - liteflow 升为 2.11.0
- activerecord 升为 5.1.2
- enjoy 升为 5.1.2
- 增加 http range 分片输出支持
- 增加 IoUtil 工具类,替代旧的 Utils IO功能(旧的标为弃用)
- 增加
@Tran
事务监视事件支持,并增加 message 属性(只在最外层触发事件) - 调整 kafka-solon-cloud-plugin 如果没有订阅,则不启用消费端
- 调整 PathLimiter 的弃用提示方式
- 调整 solon.cloud.metrics 的时间记录单位
- 调整 solon.data.dynamicds 增加默认源配置项
- 优化 solon.serialization.snack3 对根字符串的解码处理
- 优化 solon.scheduling 的
@Async
定制能力 - 优化 solon.docs.openapi2 对基础类型列表识别过度的问题
- 优化 solon.docs.openapi2 对实体扩展的字段识别
- 优化 solon.docs.openapi2 的
@ApiModelProperty
注解处理 - 优化 solon.data.dynamicds 手动控制能力(添加、移除、获取)
- 优化 sa-token-solon-plugin 两个适配类的处理
- 优化 ConditionUtil 条件工具类处理
- mybatis-flex 升为 1.6.1
- beetlsql 升为 3.25.0-RELEASE
- dbvisitor 升为 5.4.0
- snack3 升为 3.2.79
- forest 升为 1.5.33
- smarthttp 升为 1.3.0
- 修复 httputils of okhttp 手动设定超时无效的问题
- 新增 mqtt5-solon-cloud-plugin 插件(用于支持 v5 版本)
- 增加 mqtt-solon-cloud-plugin 支持 publishTimeout 配置(默认3秒)
- 增加 mqtt-solon-cloud-plugin 支持 topicFilter 表达式
- 增加 HttpServerConfigure::enableDebug 接口
- 增加 Context::close 强制实现约定
- 增加 JacksonRenderFactory::addFeatures、removeFeatures 接口
- 增加 solon.cloud.eventplus 对事件 qos 传递支持
- 优化 rabbitmq-solon-cloud-plugin 代码实现
- 优化 solon-maven-plugin 打包提示语
- 优化 maven 打包插件版本管理
- beetlsql 升为 3.24.0-RELEASE
- beetl 升为 3.15.8.RELEASE
- mybatis-flex 升为 1.5.8
- fastmybatis 升为 2.9.2
- fastjson2 升为 2.0.39
- snack3 升为 3.2.76
- liteflow 升为 2.10.6
- knife4j 升为 4.2.0
- 增加 solon.cloud.metrics 对 MeterBinder 的自动装配处理
- 增加 HandlerLoaderFactory,以实现所有
@Mapping
注解解析的重写支持 - 增加 rocketmq-solon-cloud-plugin 插件,对 ak/sk 的支持
- 增加 sa-token 插件,对 SaTokenDaoOfRedisson 实现
- 增加 solon.data.dynamicds 支持各源不同的连接池类型
- 调整 solon.serialization.fastjson 插件,默认增加字段排序特性
- 调整 solon-test 依赖,改成 solon-test-junit4 和 solon-test-junit5 的集合
- 调整 ConvertUtil 内的 LocalDateTime 处理,先通过 Date 中转,统一时间格式
- 调整 FiledWrap 反射权限改为用时再设置
- 调整 RouterInterceptorLimiter 标为弃用,由 RouterInterceptor::pathPatterns 替代
- 调整 ChainManager::getFilterNodes、getInterceptorNodes 输出类型
- 调整 solon-admin 的 server 和 client 通信为有状态格式
- 调整 solon 模块结构
- 调整 solon-admin-server 界面细节
- 修复 solon.docs.openapi2 插件 ApiImplicitParam::paramType 未生效的问题
- 修复 solon.docs.openapi2 插件 ApiParam::hidden 未生效的问题
- sa-token 升为 1.35.0.RC
- mybatis-flex 升为 1.5.7
- redisx 升为 1.4.9
- 新增 lettuce-solon-plugin 插件
- 新增 solon.docs.openapi2 插件
- 新增 solon.cloud.metrics 插件
- 升级 solon-maven-plugin 的相关依赖
- 增加
List<Bean>
和Map<String,Bean>
注入支持 - 增加 Context::attrOrDefault 接口,原接口标为弃用
- 增加 RouterInterceptor::pathPatterns 接口,原接口标为弃用
- 增加 solon-admin-server 对 basic auth 配置的支持
- 增加 solon-admin-server 对 uiPath 配置的支持
- 增加 solon-admin-client 接口安全控制
- 增加 solon-admin-client 与 server 一起使用时,自动识别 serverUrl
- 增加 solon-admin-client 增加 token 访问控制
- 调整 solon-admin-client ,元信息改为 solon.app 的内容;server 监视日志改为 trace 级别
- 调整 solon.docs 的控制器启动,转到 solon-openapi2-knife4j。方便不同的框架定制自己的服务
- 调整
@Bean
函数的 VarGather::requireRun 由 false 改为 true,只要过了条件检测必然运行 - 调整 sa-token-solon-plugin 插件,增加对网关的支持
- 调整 CloudMetricService 接口设计,更适合与 micrometer 对接
- 调整 solon.health.detector 代码实现,增加复用性
- 修复 solon.cloud.eventplus 插件
@CloudEventSubscribe
注解在函数会出错的问题 - 修复 solon.docs 插件
@ApiParam
注解无效的问题 - mybatis-flex 升为 1.5.6
- beetlsql 升为 3.23.6-RELEASE
- sqltoy 升为 5.2.60
- snack3 升为 3.2.75
- wood 升为 1.1.8
- smarthttp 升为 1.2.9
- smartsocket 升为 1.5.32
- 新增 solon.web.servlet.jakarta 插件(用于 war 打包时,支持 tomcat10, jetty11 等 jakarta.servlet 容器)
- 新增 solon-admin-client 插件
- 新增 solon-admin-server 插件
- 新增 solon-admin-server-ui 插件
- 增加 Props::getByKeys、getOrDefault 接口
- 调整 EventBus::push 标为弃用,添加 ::publish 代之
- 调整 AopContext::beanAroundXxx 标为弃用,添加 ::beanInterceptorXxx 代之
- 调整 Around 相关名改为 Interceptor,原名标为弃用
- 优化 ProxyComponent 注解属性调整成与 Component 注解一样,支持用 tags 查找
- 优化 solon.boot 信号启动的执行时机后延
- 优化 solon.scheduling 插件的 retry 的兜底设计
- 优化 EventBus 增加订阅排序支持
- 修复 bean 所有字段只读且无 public 构造器时,会异常的问题
- wood 升为 1.1.7
- snack3 升为 3.2.73
- beetlsql 升为 3.23.5-RELEASE
- 新增 solon-openapi2-knife4j 插件,替代 solon-swagger2-knife4j
- 增加 server.socket.ssl.* 配置
- 增加 server.websocket.ssl.* 配置
- 增加 Context::isSecure 接口
- 增加 ChainManager::defExecuteHandler 接口
- 增加 ChainManager 对 SessionStateFactory 的管理,原管理方式移除
- 增加
@Header
String[] xxx 注入支持 - 增加 Converter 体系,一般用于基础类型的通用转换
- 增加 日志服务孵化机制,可在打印前进行完成格式配置
- 增加 solon.boot.socketd.netty 插件对 ssl 的支持
- 增加 solon.boot.websocket.netty 插件对 ssl 的支持
- 优化 RouterListener 取消自己的线程池,改用 RunUtil
- 优化 JsonConverter 标为弃用,统一由 Converter 替代
- 优化 SocketChannelBase 标为弃用,统一由 ChannelBase 替代
- 优化 ResourceUtil 的根路径兼容性
- 优化 @Init 注解逻辑,仅对原始实例有效。保持与 LifecycleBean 相同策略
- 优化 solon.boot.smarthttp 的 ws 适配
- 优化 nacos2-solon-cloud-plugin 的适配,统一 jackson 版本
- 优化 nacos-solon-cloud-plugin 的适配,统一 jackson 版本
- 优化 LogUtil 扩展方式,改为静态扩展方式,原手动方式标为弃用
- 优化 Context::headerValues() 返回类型为 String[]
- 优化 Context::paramValues() 统一 server 相关处理逻辑
- 优化 统一 request 参数与实体字段的注入转换机制,并增加自定义转换机制
- 优化 内核日志打印顺序,由 SolonApp 实例化后再打印。以便日志格式配置先加载
- 优化 当使用 http ssl 时,服务启动打印为 https 地址
- 优化 ActionExecuteHandlerDefault::changeBody 参数结构,方便不同的序列化方案处理
- 优化 Nami 编码器匹配策略及头同步策略,尤其是仅单编码包引入时
- 优化 AbstractRoutingDataSource 的关闭处理
- 优化 ShardingDataSource 增加 Closeable 接口支持
- 调整 beetlsql-solon-plugin 插件,DbConnectionSource 改为公有,调整包结构
- 修复 solon-swagger2-knife4j 插件,递归类型的数据模型会栈溢出的问题
- 修复 solon-swagger2-knife4j 插件,相同 path 不能显示多个 method 的问题
- 修复 solon-swagger2-knife4j 插件,
List<Demo>
风格参数,不能正常构建 json 示例 - 修复 solon-swagger2-knife4j 插件,
Page<Demo>
、Result<Page<Demo>>
等复杂嵌套的临时模型,不能正常构建 json 示例 - dbvisitor 升为 5.3.3
- mybatis-flex 升为 1.5.1
- sqltoy 升为 5.2.59
- fastmybatis 升为 2.8.1
- bean-searcher 升为 4.2.2
- liteflow 升为 2.10.5
- beetl 升为 3.15.7.RELEASE
- beetlsql 升为 3.23.4-RELEASE
- smarthttp 升为 1.2.8
- fastjson2 升为 2.0.35
- 增加 HttpServerConfigure::enableHttp2 接口, 默认为 false
- 增加 UploadedFile[] 注入支持
- 调整 solon.view.* 增加引擎提供者获取属性
- 调整 mqtt-solon-cloud-plugin 插件,增加获取原生 client 接口
- 调整 minio-solon-cloud-plugin 插件,minio 降为 8.2.2
- 调整 单元测试项目结构?
- 调整 IpUtil 增加扩展 ip 实现,可替换内部的实现
- 调整 solon.docs 插件,在无参 post 时,不再自动转成 get;增加 @Api::value() 做为 tags
- 调整 Gateway:register 执行时机为容器启动时,使注册时可使用注入字段
- 修复 solon.boot.undertow 在客户端进程关闭时,不能触发 onClose 事件的问题
- 修复 solon.boot.smarthttp 在客户端进程关闭时,不能触发 onClose 事件的问题
- 优化 sqltoy-solon-plugin 适配代码,增加 LightDao 的支持
- 优化 hasor-solon-plugin 插件适配,支持最新状态
- sqltoy 升为 5.2.58
- mybatis-flex 升为 1.4.7
- 优化 nami 解码器的渲染要求策略
- 优化 solon.boot.websocket 异步发送机制
- 优化 solon.boot.websocket.netty 异步发送机制
- 调整 RunUtil 增加线程池名
- 调整 StringSerializerRender 开放 serializer 属性
- 调整 app.router().caseSensitive 默认为 true
- 增加 CloudEvent 注解在函数上时,支持 AOP 扩展
- 增加 solon.docs 插件,对网关开发模式的支持
- 增加 solon.boot.socketd.jdksocket 插件,对 ssl 的支持
- 增加 server.http.ssl.* 配置
- 增加 NamiMapping、NamiBody 注解
- 增加 序列化接口(在渲染之外),可以外面复用(从 StringSerializerRender 开放 serializer)
- 增加 Context::headersMap, Context::headerValues 接口
- 修复 solon.serialization.jackson 在某些情况下,序列化 null 会出错的问题
- 修复 solon.boot.jetty 不能使用资源文件做 ssl 密钥文件的问题
- wood 升为 1.1.5
- smarthttp 升为 1.2.6
- smartsocket 升为 1.5.31
- sqltoy 升为 5.2.57
- mybatis-flex 升为 1.4.4
- beetlsql 升为 3.23.2-RELEASE
- 修复 异步监听可能为null的问题
- 调整 异步超时默认为30秒(-1L为不限,0L为默认)
- 新增 solon.boot.websocket.netty 插件
- 增加 solon.boot.jdkhttp 插件,虚拟异步支持(进而支持响应式接口)
- 增加 solon.boot.jlhttp 插件,虚拟异步支持(进而支持响应式接口)
- 调整 solon.web.flux 插件,出错时自动结束异步
- 调整 Context 异步接口机制,只能被调用一次
- 优化 solon.web.sse 插件,改为纯异步机制(所有 solon.boot.http 已支持异步)
- 优化 SmartHttp Context 异步接口机制
- 优化 Servlet 启动打印信息
- 优化 Context:forward 在有 context-path 时的处理
- 优化 ContextPathFilter 对根地址的映射处理
- 修复 pathNew 多次执行后 ContextPathFilter 会失效的问题
- 新增 solon.web.sse 插件(sse: Server Send Events)
- 新增 solon.web.flux 插件,响应式web开发插件(适用于支持异步的 http server)
- 增加 mybatis-plus-solon-plugin 插件,原生编译支持(GraalVM Native Image)
- 增加 solon.scheduling 插件,简单的 Retry 功能
- 增加 solon.validation 一次性验证所有字段的支持
- 增加 solon.docs 插件,支持字段 transient 排除
- 增加 Context 异步控制接口,为响应式web开发提供支持
- 增加 ActionReturnHandler 接口,之后特别的返回结果可定制。为响应式web开发提供支持
- 增加 ActionExecuteHandler 接口(替代旧的 ActionExecutor),并交由 chainManager 管理
- 增加 jetty、undertow 对 Context 异步适配
- 增加 Inject("{xxx:def}") 默认值转集合和数组支持
- 完善 mybatis-solon-plugin 原生编译支持
- 完善 solon.aot 增加 lambda 序列化支持
- 修复 请求路径动态变化后,路径变量获取失败的问题
- guava 升为 32.0.0-jre
- smarthttp 升为 1.2.4
- smartsocket 升为 1.5.30
- dromara-plugins 升为 0.0.9
- forest 升为 1.5.32
- mybatis-flex 升为 1.4.1
- sqltoy 升为 5.2.54
- hutool 升为 5.8.20
- fastjson2 升为 2.0.34
- java-websocket 升为 1.5.3
- 调整 solon-cloud-alibaba 快捷包 改用 nacos2,rocketmq5
- 调整 file-s3-solon-cloud-plugin 插件,不排除 aws-java-sdk-s3(之前为排除)
- 添加 dromara-plugins 所有插件的版本管理
- 添加 PathRule 工具类
- 添加 PathLimiter 用于限制 RouterInterceptor 的范围
- 添加 MybaitsAdapter::getMapper 增加缓存处理
- 添加 maxHeaderSize(8k), maxBodySize(2m) 为 server 统一默认配置,不然会出 readToken 错误
- 添加 Context::sessionOrDefault(),headerOrDefault(),paramOrDefault() 接口
- 添加 ChainManager::getFilterNodes(),getInterceptorNodes() 接口
- 优化 AsmProxy 代理类的缓存机制(简化)
- 优化 Utils::firstOrNull 增加 null 判断
- 优化 ClassUtil 的异常处理
- 优化 Context::filesMap() 改抛 IOException 异常
- 优化 Context::param(key,def) 处理
- wood 升为 1.1.3
- nacos2 升为 2.2.3
- rocketmq5 升为 5.0.5
- dubbo3 升为 3.2.2
- 调整 mybaits-solon-plugin 插件,添加 configuration.mapperVerifyEnabled 配置(控制是否启用 mapper 校验)
- 调整 solon.docs 插件,将非
@Body
model 进行字段拆解 - activemq 升为 5.15.9
- 新增 solon.data.shardingds 插件
- 新增 redisson-solon-plugin 插件
- 调整 solon-swagger2-knife4j 插件的优先级,以便控制 enableDoc
- 调整 mybatis-solon-plugin 插件,增加 aot 处理适配(支持原生编译了)
- 调整 mybatis 适配增加 isMapper 检测接口
- 调整 开放 bean 内部形态注册的限制,之前只能用普通组件注解
- 调整 应用启动时的事件改由 push 推送(之前是 pushTry)
- 调整 XxxCacheService 增加新的构造函数
- 调整 jlhttp Part 的 body string 大小限制改为 MAX_BODY_SIZE(之前为 MAX_HEADER_SIZE)
- 调整 smarthttp Part 的 body string 大小限制改为 MAX_BODY_SIZE(之前为 MAX_HEADER_SIZE)
- 调整 jdkhttp Part 的 body string 大小限制改为 MAX_BODY_SIZE(之前为 MAX_HEADER_SIZE)
- 增加 Context::filesMap() 接口
- bean-searcher 升为 4.2.0
- sqltoy 升为 5.2.51
- redisson 升为 3.21.0
- netty 升为 4.1.75.Final
- fastjson2 升为 2.0.33
- mybatis-flex 升为 1.3.2
- fastmybatis 升为 2.6.1
- 升级 日志体系到 slf4j 2.x(如果冲突,排除旧的 1.x)!!!
- 新增 solon.docs 插件!!!
- 新增 solon-swagger2-knife4j 插件!!!
- 新增 zipkin-solon-cloud-plugin 插件
- 新增 etcd-solon-cloud-plugin 插件
- 新增 fastmybatis-solon-plugin 插件
- 弃用
@Dao
@Repository
@Service
(改由@ProxyComponent
替代) - 增加 ProxyUtil::attach(ctx,clz,obj,handler) 接口
- 增加 aot 对 methodWrap 参数的自动登记处理
- 修复 AopContext::getWrapsOfType 返回结果失真的问题
- 调整 mybatis 按包名扫描只对
@Mapper
注解的接口有效(避免其它接口误扫) - slf4j 升为 2.0.7
- log4j2 升为 2.20.0(基于 slf4j 2.x)
- logback 升为 1.3.7(基于 slf4j 2.x)
- sqltoy 升为 5.2.48
- mybatis-flex 升为 1.2.9
- beetlsql 升为 3.23.1-RELEASE
- wood 升为 1.1.2
- redisx 升为 1.4.8
- water 升为 2.11.0
- protobuf 升为 3.22.3
- jackson 升为 2.14.3
- dubbo3 升为 3.2.1
- grpc 升为 1.54.1
- zookeeper 升为 3.7.1
- nacos2-client 升为 2.2.2
- nacos1-client 升为 1.4.5
- jaeger 升为 1.8.1
- 添加 Props::bindTo 接口
- 优化 日志框架,在 window 下的彩色打印支持
- snack3 升为 3.2.72
- 调整 日志框架,增加 window 下的彩色打印支持
- 调整 bio maxThreads core x 32
- 调整 maxBodySize,maxFileSize 用大于号做判断 (undertow 之外,maxBodySize 相当于 maxFromContentSize)
- 修复 solon.boot.undertow 的 maxBodySize 配置无效问题
- 修复 solon.boot.smarthttp + ssl 在某些情况下会慢的问题
- 修复 maxFileSize 过大会超界的问题
- smartboot.socket 升为 1.5.28
- smartboot.http 升为 1.2.1
- snack3 升为 3.2.71
- 增加 solon.boot.jdkhttp 对 HttpServerConfigure 接口的支持,方便添加端口及ssl的编程控制
- 增加 solon.boot.jlhttp 对 HttpServerConfigure 接口的支持,方便添加端口及ssl的编程控制
- 增加 solon.boot.smarthttp 对 HttpServerConfigure 接口的支持,方便添加端口及ssl的编程控制
- 增加 solon.boot.jetty 对 HttpServerConfigure 接口的支持,方便添加端口及ssl的编程控制
- 增加 solon.boot.undertow 对 HttpServerConfigure 接口的支持,方便添加端口及ssl的编程控制
- 增加 solon.logging.logback 插件,文件扩展名配置(.log, .log.gz)
- 增加 solon.logging.log4j2 插件,文件扩展名配置(.log, .log.gz)
- snack3 升为 3.2.67
- 增加 @Inject 注入 bean 的 required 检测支持
- 增加 缓存服务适配类可传入客户端的构建函数
- 增加 DynamicDataSource 无参构造函数,方便定制
- 增加 CloudDiscoveryService 代理类,以支持发现代理的配置
- smart-socket 升级为 1.5.27
- smart-http 升级为 1.2.0
- fastjson2 升为 2.0.31
- 增加 ctx:pathAsLower() 接口
- 增加 solon.boot.undertow 原生配置申明
- 增加 solon.sessionstate.jwt 原生配置申明
- 增加 solon.logging.logback 原生配置申明
- 增加 solon.logging.log4j2 原生配置申明
- 增加 solon cloud 发现代理的配置支持(在 k8s 环境,可直接转发到 k8s sev 上)
- 调整 aot 注册时对空类名进行过滤
- 增强 solon.boot.jetty 在原生运行时兼容性
- 增强 solon.boot.undertow 在原生运行时兼容性
- 调整 Context::commit 函数位置,迁移到别处
- 调整 预热工具在 aot 时跳过执行
- 调整 MethodWrap 和 BeanWrap 的两个异常解包处理
- 解决 solon.aot 部分类型不能解析识别的问题
- polaris 升为 1.12.2
- beetl 升为 3.15.4.RELEASE
- beetlsql 升为 3.22.0-RELEASE
- sqltoy 升为 5.2.45
- liteflow 升为 2.10.2
- forest 升为 1.5.31
- dbvisitor 升为 5.3.1
- 增加 aot 配置注入实体的自动登记处理
- 增加 aot 函数包装的返回可序列化类型的自动登记处理
- 增加 aot 有注入jdk代理的自动登记处理
- 增加 aot jdbc 驱动的的自动登记处理
- 增加 aot 通用反射代理的自动登记处理
- 调整 aot 完成后的关闭处理方式
- 增加 afterInjection() 对注入的检测及非必须注入的支持
- 增加 @Bean demo(...) 对注入的检测及非必须注入的支持
- 增加 okhttp 原生编译支持配置
- 增加 solon.scheduling.quartz 原生编译支持配置
- 增加 water-solon-cloud-plugin 原生编译支持配置
- 增加 solon.aot 功能总体上实现(细节优需优化)
- 增加 VarGater::check 接口,用于在容器启动时做收集检测
- 增加 Router::caseSensitive 接口,用于设定区分大小写
- 调整 solon.test 增加代理类的字段注入
- 调整 solon.proxy.apt 的代理生成能力,转移到 solon.aot
- 调整 solon aot 时,取消 Runtime.getRuntime().addShutdownHook
- 调整 solon cloud 在 aot 时不做注册处理
- 调整 mybatis 适配的环境id规则保持也数据源bean同名
- 调整 Fastjson2Serializer 增加内部的上下文复用
- 调整 solon 路径分析器添加区分大小写的控制
- 调整 solon-maven-plugin 打包时,排除 provided 的包;支持配置 include 和 exclude 配置
- 调整 sa-token-solon-plugin 全局过滤器的 BeforeAuth 认证设为不受 includeList 与 excludeList 的限制,所有请求都会进入
- 修复 native 运行时,可能出现找不到资源文件而报错
- mybatis-flex 升为 1.2.0
- wood 升为 1.1.1
- 调整 solon.scheduling.quartz 管理机制
- 调整 solon.scheduling.simple 管理机制
- 调整 solon.aot 将 native 元数据生成到对应主类的包下
- 调整 solon bean 允许有多个其它基础形态
- 调整 EnjoyRender 增加获取 Engine 对象方法
- 调整 aot 时不启动 http 等通讯服务
- 移除 mybatis-flex-solon-plugin 的实现代码,改为引用第三方
- mybatis-flex 升为 1.1.8
- dubbo3 升为 3.2.0
- fastjson2 升为 2.0.29
- 新增 solon.aot 插件
- 新增 simplejavamail-solon-plugin 插件
- 新增 sms4j-solon-plugin 插件
- 增加 Utils::isEmpty(Collection s) 接口
- 增加 solon cloud i18n 默认值配置支持
- 修复 @Inject("${demo:hello}") 有默认值的配置注入不能自动更新的问题
- mybatis-flex 升为 1.1.3
- mybatis-plus 升为 3.5.3.1
- undertow 升为 2.2.24.Final
- jetty 升为 9.4.51.v20230217
- fastjson2 升为 2.0.28
- snack3 升为 3.2.66,支持 Charset 类型注入
- 新增 pulsar2-solon-plugin 插件
- 新增 drools-solon-plugin 插件
- 新增 solon.web.sdl 插件替代 solon.web.sso(之前名字搞错了)
- 插件 solon.boot.jetty 增加 jetty-servlet 依赖(solon.boot.jetty.add.servlet 就不需要了)
- 插件 solon.boot.jlhttp 优化线程不够时会处理方式
- 插件 solon.boot.socketd.jdksocket 优化线程不够时会处理方式
- 插件 solon.boot.smarthttp 优化二级池线程不够时会处理方式
- 插件 solon-maven-plugin 打包机制,支持 scope system 包编译
- 增加 @Configuration + @Inject 支持配置变更事件的注入
- 增加 solon.cloud/Config:_Props 申明为非序列化字段
- 增加 三个 http server 通过事件扩展的支持,比如定制执行服务
- 调整 sa-token sao 适配代码,优化相同key在多线程下的并发问题
- 调整 InvocationRunnableFactory::create 允许返回为 null,即自己直接执行
- 调整 @Init 的索引策略与 LifecycleBean 相同:+1
- 调整 根路由支持 remove 监听记录
- fastjson2 升为 2.0.27
- beetlsql 升为 3.22.0-RELEASE
- redisx 升为 1.4.7
- 新增 mybatis-flex-solon-plugin 插件
- 插件 solon.cloud.tracing 将 traceId 和 spanId 存入日志全局变量,方便在日志中打印
- 插件 solon.scheduling 增加 @Async 运行器创建扩展机制
- 调整 "@Init will be discarded" 打印时机,改由 debug 时打印
- 调整 solon.web.sso 插件的用法
- 调整 mybatis 相关的适配包名,基于2.0规范
- 调整 @SolonTest 注解为可继承
- 优化 mybatis-solon-plugin 去掉关闭连接时的 connection.setAutoCommit(true)。此段代码会导致查询速度增加20~30ms
- 优化 solon.boot.jlhttp 插件 JlHttpServer 类,实现接口公用性!!!
- 优化 solon.boot.jdkhttp 插件 JdkHttpServer 类,实现接口公用性!!!
- 优化 solon.boot.smarthttp 插件 SmHttpServer 类,实现接口公用性!!!
- snack3 升为 3.2.65,支持 File 类型注入
- 新增 solon.web.sso 插件
- 新增 wxjava-xxx-solon-plugin 插件
- 插件 solon.serialization.jackson 增加几个默认特性,增强与fastjson的兼容度???
- 插件 solon.serialization.snack3 增加嵌套泛型支持 List<List>、Map<String,List>
- 优化 jlhttp 状态码超界的处理
- 优化 solon.cloud.tracing @Tracing 增加全类名的记录
- 优化 时区解析统一由 ZoneId 处理???
- 调整 solon.serialization.snack3 从 solon-lib 移到 solon-api,更方便 json 的选择
- 增加 "/WEB-INF/templates/" 后端模板目录约定支持
- mybatis 升为 3.5.13
- fastjson2 升为 2.0.26
- beetl 升为 3.15.1.RELEASE
- beetlsql 升为 3.21.0-RELEASE
- snack3 升为 3.2.64
- 插件 dubbo-solon-plugin 增加 DubboFilterTracing 类
- 插件 solon.scheduling.simple 增加单计划任务的起停控制
- 增加 solon.boot.jlhttp 插件 JlHttpServer 类,提供可复用支持!!!
- 增加 solon.boot.jdkhttp 插件 JdkHttpServer 类,提供可复用支持!!!
- 增加 solon.boot.smarthttp 插件 SmHttpServer 类,提供可复用支持!!!
- 增加 动态代理时异常时的友好提示
- 优化 solon.boot.xxx "Server:main:" 打印
- 优化 solon.cloud.tracing Span 的 name 和 tags
- 优化 LifecycleBean 组件增加自动排位!!!
- 优化 ctx.realIp() 获取算法
- wood 升为 1.1.0 (拆分为: wood 和 wood.plus)
- water 升为 2.20.3 (配套 wood 拆分)
- 增加 @Path 替代 @PathVar(简短些),不过这个注解本身意义不大
- 增加 ResourceUtil::findResource 接口(ssl.keyStore 改用此接口)
- 增加 "application.xxx" 配置的弃用警告日志
- 增加 "solon.config" 多文件与内外文件支持
- 增加 "solon.config.add"(添加外部) 配置,用于替代 "solon.config"
- 增加 "solon.config.load"(加载内部) 配置,支持数组配置
- 增加 Props::getMap 接口,替代 Props::getXmap
- 调整 file-s3-solon-cloud-plugin 插件, "file.default"改为动态获取,增加bucket接口
- 调整 maven 版本管理,由 ${xxx.ver} 改为 ${xxx.version}
- 优化 请求参数 required 的提示
- 优化 Props::getProp 减少 forEach 次数
- 修复 solon.scheduling.simple 插件,在启动卡时后不能运行 cron=* * * * * ?
- 修复 AopContext::ProxyComponent 不能被 copyto 的问题
- sqltoy 升为 5.2.41
- wood 升为 1.0.9
- snack3 升为 3.2.62
- hutool 升为 5.8.16
- liteflow 升为 2.10.1
- 调整 solon.scheduling.quartz 增加非单例运行支持,method 支持拦截
- 调整 solon.scheduling.simple 增加非单例运行支持,method 支持拦截
- 调整 solon.web.staticfiles 改为固定长度输出
- 调整 CloudJob 增加非单例运行支持,method 支持拦截
- 增加 ModelAndView 操作便利性
- 增加 CloudLoadBalance 对策略机制的支持,可自定义
- 增加 CloudClient::loadBalance() 接口
- 增加 ids=t1,t2,t3 注入 List 的支持
- 增加 插件加载失败日志
- 增加 动态代理注解的兼容检测,并打印警告日志
- 移除 不必要的 @Note 注释,同时缩减内核大小
- liteflow 升为 2.10.0
- fastjson2 升为 2.0.25
- snakeyaml 升为 2.0
- 增加 GsonActionExecutor 类
- 修复 FastjsonActionExecutor 配置没启效的问题
- snack3 升为 3.2.61
- wood 升为 1.0.8
- wood 升为 2.10.2
- gson 升为 1.10.1
- jackson 升为 2.14.2
- 新增 orika-solon-plugin 插件
- 新增 solon-job 插件
- 新增 solon-web-beetl 插件
- 新增 solon-web-enjoy 插件
- 增加 VaultUtils::guard 接口
- 修复 ColonClient.configLoad(g,k) 不能实时同步配置的问题
- beetlsql 升为 3.20.3-RELEASE
- fastjson2 升为 2.0.25
- snack3 升为 3.2.60
- hutool 升为 5.8.15
- sqltoy 升为 5.2.39
- beetlsql 升为 3.20.3-RELEASE
- 新增 easy-trans-solon-plugin 插件(引用)
- 增加 应用元信息 "solon.app.meta" 配置支持
- 增加 应用标签 "solon.app.tags" 配置支持
- 增加 nacos 客户端的自由配置支持(如:clusterName,contextPath)
- 增加 HealthHandler 自动注册支持,即组件模式
- 调整 sa-token 的集成逻辑
- 修正 LOG_SERVER 属性映射缺陷(pr)
- 新增 bean-searcher-solon-plugin 插件
- 优化 rocketmq5-solon-cloud-plugin 插件
- 移除 forest-solon-plugin 源码,改引用 com.dtflys.forest:forest-solon-plugin
- 移除 liteflow-solon-plugin 源码,改引用 com.yomahub:liteflow-solon-plugin
- 增加 调试模式下,模板仅在文件模式下才加载源码提供器
- 增加 用属性配置控制 solon.logging.log4j2::File 添加器是否启用!
- 增加 用属性配置控制 solon.logging.logback::File 添加器是否启用!
- 增加 "solon.logging.config" 配置支持,可将日志的配置文件移到外部
- 增加 CloudProps 关于 username/password 与 ak/sk 配置互通的支持!
- 增加 CloudProps 关于 username/password 上下级传导的支持!
- 增加 Solon::stopBlock 接口
- 调整 Solon::stop 时把 app,appMain置为null
- 调整 solon.web.static 的目录优先级(支持两个,但只让一个生效)
- 调整 让注解产生的生命周期,排序晚1个点
- 调整 让默认的 beanOnloaded 生命周期,排序为-1
- activerecord 升级为 5.0.4
- bean-searcher 升级为 4.1.2
- snack3 升级为 3.2.59
- hutool 升级为 5.8.14
- dubbo3 升级为 3.1.7
- forest 升级为 1.5.30
- rocketmq5-client 升级为 5.0.4
- smarthttp 升级为 1.1.22
- smartsocket 升级为 1.5.25
- ons-client 升级为 1.8.8.8.Final
- mybatis-solon-plugin,取消 mappers 检测异常,改为警告日志
- ContextPathFilter 增加与 cfg().serverContextPath 同步配置
- LifecycleBean 增加对 InitializingBean 的继承,使用时简便些
- 模板添加 templates 目录支持
- 移除 RenderUtil 类
- 降低内部手动添加 lifecycle 的执行排序,调为 -99 和 -98!!!
- 延迟 captcha-solon-plugin 运行时机
- 添加 SerializationConfig,为渲染器提供统一的配置帮助
- 概要:
- 1.吸收近期使用需求,增强内核能力(完善 bean 的生命周期;调整 plugin 仅定位为 spi;)
- 2.兼容的同时增强品牌个性化(增加 @SolonMain,@ProxyComponent 注解)
- 3.增加 apt 代理实现,增加 apt 生成 native 元信息配置的机制(为 native 简便打包,埋下好的基础 )
- 新增 solon.proxy 插件
- 新增 solon.proxy.apt 插件
- 新增 solon.graalvm 插件
- 新增 solon.graalvm.apt 插件
- 调整 BeanInvocationHandler 内部代码,简化并增加 AptProxy 调用
- 调整 dateAsFormat 配置增加对 LocalDate 和 LocalDateTime 的支持
- 调整 Plugin::Init 标为弃用, 并由 InitializingBean 接口接替
- 调整 Plugin 接口不再做为组件形态,有生命周期需求的可改为 LifecycleBean 接口
- 调整 Plugin Spi 实例化改为 Bean 模式,之前为不能注入的 New 模式
- 调整 AopContext 标注 beanOnloaded 为弃用。事件概念调整为容器内部的生命周期概念
- 调整 AopContext 增加 start(),stop(),lifecycle() 接口;强化生命周期管理概念
- 调整 Lifecycle 增加可异常选择,并标注 @FunctionalInterface
- 调整 调整打包时主函数的提示信息
- 增加 应用属性配置内部引用增加默认值支持及环境变量引用
- 增加 @ProxyComponent 注解,使用时强依赖于 solon.proxy 插件
- 增加 @SolonMain 主解,作为 apt 生成 Graalvm Native 元信息配置的入口
- 增加 apt 代理实现方式(做为 asm 实现的补充),为全功能实现 Graalvm Native 打包提供支持
- 增加 InitializingBean 接口
- 增加 LifecycleBean 接口
- 增加 ClassUtil 工具类
- sqltoy 升级为 5.2.37
- 新增 bean-searcher-solon-plugin 插件
- Props::getByParse 增加默认值支持
- Props::getByExpr 增加默认值支持
- Condition 注解重新规范条件属性名
- AopContext 增加 Condition::onMissingBean 条件属性支持
- 升级 snack3 为 3.2.54 ,支持 kotlin data
- 插件 solon-maven-plugin 增加 jdk19 支持
- 插件 snowflake-id-solon-cloud-plugin 增加 workId 可配置
- 插件 solon.test 增加 AbstractHttpTester 类,名字比 HttpTestBase 顺眼些
- 插件 solon.test Http 测试器 增加 http(int port) 接口,方便本机所有http端口测试(比如 mock server)
- 插件 solon-test-junit4 增加 mockito-core 依赖,方便 mock 测试
- 增加 新的类存在检测方式 Utils.hasClass(() -> AuthUtil.class)
- 修复 activerecord-solon-pllugin::修复在 ActiveRecordPlugin::start 前不能注入 DbPro 的问题
- 修复 solon.cache.redisson 默认缓存时间没有生效的问题,及缓存键头没用起来的问题
- 调整 solon.cache.jedis 缓存键以':'为间隔
- 优化 solon.test 排除只读类成为代理类
- 优化 Gateway 根据路由记录数量,自动切换主处理
- 优化 http 输出长度模式 与 chunked模式 的自动切换
- 升级 mockito 为 4.11.0
- 升级 beetl 为 3.14.1.RELEASE
- 升级 sqltoy 为 5.2.34
- 新增 solon.health.detector 插件
- 增强 detector-solon-plugin 扩展能力
- 增强 mybatis-solon-plugin 的 typeAliases,typeHandlers,mappers 表达式配置能力
- 增加 ResourceUtil 提供资源路径表达式分析能力
- 调整 local-solon-cloud-plugin 本地文件路径规范
- 修复 mybatis-solon-plugin 与 solon-maven-plugin 打包插件的兼容性问题
- 新增 activemq-solon-cloud-plugin 插件
- 新增 solon.logging.log4j2(复制于 log4j2-solon-plugin)
- 新增 solon.logging.logback(复制于 logback-solon-plugin)
- 插件 beetlsql-solon-plugin 升级 beetlsql 为 3.20.0
- 插件 sqltoy-solon-plugin 升级 sqltoy 为 5.2.32
- 插件 dbvisitor-solon-plugin 升级 dbvisitor 为 5.2.1
- 插件 sa-token-solon-plugin 添加 SaJsonTemplate 实现类
- 增加 @Condition 注解,提供Com类与Bean函数的过滤支持!!!
- 增加 AppPrestopEndEvent,AppPrestopEndEvent 事件!!!
- 增加 配置元信息 solon-configuration-metadata.json 规范与支持
- 增加 EventBus.pushTry 接口
- 增加 solon.view.beetl 对 -debug=1 的支持
- 增加 solon.view.enjoy 对 -debug=1 的支持
- 优化 安全停止与延时的配置(增加新的启动参数:stop.safe,和应用配置:solon.stop.safe)
- 说明:第一个版只删除弃用代码,不加新功能
- 调整 solon//
- 删除 Aop;由 Solon.context() 替代
- 删除 Bean:attr,Component:attr
- 删除 BeanLoadEndEvent,PluginLoadEndEvent;由 AppBeanLoadEndEvent,AppPluginLoadEndEvent 替代
- 删除 Utils.parallel()...等几个弃用接口;由 RunUtil 替代
- 删除 Solon.global();由 Solon.app() 替代
- 删除 SolonApp::port();由 Solon.cfg().serverPort() 替代
- 删除 SolonApp::enableSafeStop();由 Solon.cfg().enableSafeStop() 替代
- 删除 AopContext::getProps();由 ::cfg() 替代
- 删除 AopContext::getWrapAsyn();由 ::getWrapAsync() 替代
- 删除 AopContext::subWrap();由 ::subWrapsOfType() 替代
- 删除 AopContext::subBean();由 ::subBeansOfType() 替代
- 删除 AopContext::getBeanAsyn();由::getBeanAsync() 替代
- 删除 Solon.cfg().version();由 Solon.version() 替代
- 删除 EventBus::pushAsyn();由 pushAsync() 替代
- 删除 PrintUtil::debug(),::info() 等...;由 LogUtil 替代
- 删除 @Mapping::before,after,index 属性;由 @Before,@After 或 RouterInterceptor 或 Solon.app().before(),after() 替代
- 删除 "solon.profiles.active" 应用配置(只在某版临时出现过);由 "solon.env" 替代
- 删除 "solon.extend.config" 应用配置(只在某版临时出现过);由 "solon.config" 替代
- 删除 "solon.encoding.request" 应用配置(只在某版临时出现过);由 "server.request.encoding" 替代
- 删除 "solon.encoding.response" 应用配置(只在某版临时出现过);由 "server.request.response" 替代
- 调整 DownloadedFile,UploadedFile 字段改为私有;由属性替代
- 调整 solon.i18n//
- 删除 I18nBundle::toMap();由 ::toProp() 替代
- 调整 solon.web.staticfiles//
- 删除 StaticMappings::add(string1,bool2,repository3) 接口;由 StaticMappings::add(string1,repository2) 替代
- 说明 string1 ,有'/'结尾表示目录,无'/'结尾表示单文件
- 调整 solon.web.cors//
- 删除 ..extend.cores 包;由 ..web.cors 包替代
- 调整 solon.cloud//
- 删除 Media::bodyAsByts()..;由 ::bodyAsBytes() 替代
- 调整 solon.cloud.httputils//
- 删除 cloud.HttpUtils::asShortHttp()..;由 ::timeout() 替代
- 调整 solon.test//
- 删除 test.HttpUtils::exec2()..;由 ::execAsCode()..替代
- 调整 solon.boot//
- 删除 SessionStateBase/cookie[SOLONID2]
- 调整 mybatis-solon-plugin//
- 删除 org.apache.ibatis.ext.solon.Db;由 ..solon.annotation.Db 替代
- 调整 beetlsql-solon-plugin//
- 删除 org.beetl.sql.ext.solon.Db;由 ..solon.annotation.Db 替代
- 调整 sa-token-solon-plugin//
- 删除 SaTokenPathFilter 类,由 SaTokenFilter 替代
- 删除 SaTokenPathInterceptor 类,由 SaTokenInterceptor 替代
- 删除插件 httputils-solon-cloud-plugin;由 solon.cloud.httputils 替代
- 删除插件 solon.extend.stop;由 solon.web.stop 替代
- 删除插件 solon.extend.async;由 solon.scheduling 替代
- 删除插件 solon.schedule;由 solon.scheduling.simple 替代
- 删除插件 solon.extend.retry
- 删除插件 solon.extend.jsr330
- 删除插件 solon.extend.jsr303
- 删除插件 solon.logging.impl;由 solon.logging.simple 替代
- 新增插件 powerjob-solon-plugin
- 新增插件 powerjob-solon-cloud-plugin(支持 solon cloud job 标准)
- 调整 solon.scheduling/JobManger 添加更多注册时检测
- 调整 solon.banner/banner.txt 自定义默认机制
- 调整 sa-token-solon-plugin/isPrint 处理机制
- 调整 sa-token-solon-plugin 增加对 sso,oauth2 两模块的适配
- 调整 nami 添加 ContentTypes 类,提供便利的 content-type 常量