Releases: opensolon/solon
Releases · opensolon/solon
Solon v3.0.3
兼容说明(从 v2 升级的同学,需详看)
具体更新
- 新增 nami-coder-kryo 插件
- 新增 solon-serialization-kryo 插件
- 添加 solon Condition:onProperty 多条件支持
- 添加 solon-net-stomp 简单事务支持,并添加统一凭据答复
- 添加 solon-net-httputils 对 data + get 请求的支持
- 添加 solon
@Controller
和@Remoting
“非 Mapping” 函数支持 “拦截注解” - 添加 solon @bean 函数,非 public 的警告日志
- 添加 solon AppContext:beanInterceptorHas 检测方法
- 添加 solon AppContext:subWrapsOfType(baseType, callback, index) 方法
- 添加 solon ClassUtil::findPublicMethods 缓存效果
- 添加 solon-net-httputils 工厂扩展方式
- 添加 solon-data-sqlutils 工厂扩展方式
- 添加 solon 路由器二级索引排序支持
- 添加 solon SimpleSolonApp 类,方便局部测试用
- 修复 solon-docs-openapi2 分布式文档,地址转发出错的问题
- 修复 solon-config-plus 配置注入与 HikariCP 6.0 的兼容问题
- 修复 solon GenericUtil 在泛型变量名在传递过程中改名后,无法还原的问题。(不过,改名会有潜在问题)
- 优化 solon AppContext.beanRegister name 注册时,增加泛型绑定。以简化泛型集合注入的条件
- 优化 nami 简化编解码适配处理
- 优化 nami 的 get 识别处理
- 优化 nami http 请求,不再强制编码。仅当有
@NamiBody
注解,或指定编码器才编码(可兼容更多的后端框架) - 优化 solon BeanWrap.Proxy 接口简化
- 优化 solon BeanWrap:nameSet, indexSet, tagSet, typedSet 改为 public,并由 isDoned() 控制是否可修改
- 优化 solon-view 渲染器的 app.shared 绑定,移到插件 start 时处理。避免热插拨时带入了不同 classloader 的类
- freemarker 升为 2.3.33
- velocity 升为 2.4.1
- redisson 升为 3.37.0
- snack3 升为 3.2.120
- liquor 升为 1.3.7
- undertow 升为 2.2.37.Final
- jetty 升为 9.4.56.v20240826
- java-websocket 升为 1.5.7
- java-websocket-ns 升为 1.2
- jackson 升为 2.18.1
- asm 升为 9.7.1
- smart-socket 升为 1.5.54
- smart-http 升为 2.0
Solon v3.0.2
兼容说明(从 v2 升级的同学,需详看)
具体更新
- 添加 solon SerializerManager 及序列化可选注册机制
- 添加 solon Serializer::mimeType,dataType 可选属性,具有自我描述性
- 添加 solon AppContext::app() 属性
- 添加 solon-cloud CloudFileService 添加 getTempUrl(Duration) 方法
- 调整 solon-boot 的 junit-jupiter 依赖标为 scope=test
- 调整 solon VarHolderOfParam:getFullName 的显示,原 "@" 改为 "''"
- 调整 solon mvc 代码独立为 solon-mvc
- 修复 solon Utils.appFolder() 在 jar in jar 打包时,失效的问题
- 修复 solon TmplUtil 当模型参数为 null 会出现 "null"(改为用空替代)
- 修复 solon-boot-smarthttp 适配,在 contentLength(long) 时会精度丢失的问题
- 优化 solon-data-sqlutils 设计(进一步提搞性能和适用性)
- 优化 solon-net-httputils 设计 支持快捷序列化
- 优化 solon-net-stomp 设计
- 优化 solon-scheduling-simple cron 调度实现
- 优化 local-solon-cloud-plugin job cron 调度实现
- 优化 solon-data 事务管理,支持 RoutingDataSource 深度查找
- 优化 solon-serialization 序列化器的泛型反序列化处理
- 优化 solon-serialization-jackson LocalDateTime,LocalDate,LocalTime 时间反序列化处理
- 优化 solon-security-auth 允许 AuthAdapter 直接支持“多套账号体系鉴权”处理(简化了)。AuthAdapterSupplier 标为弃用
- cxf-webservices 升为 3.5.9
- beetlsql 升为 3.30.14-RELEASE
- mybatis-flex 升为 1.9.8
- hutool 升为 5.8.32
- liteflow 升为 2.12.4
- snack3 升为 3.2.119
- wood 升为 1.3.12
- redisx 升为 1.6.7
- fastjson2 升为 2.0.53
Solon v3.0.1
兼容说明(需,详看)
具体更新
- 新增 solon-web-webservices 插件
- 新增 solon-net-stomp 插件
- 新增 nami-channel-http(基于 httputils 实现) 替代 nami-channel-http-okhttp
- nami-channel-http 默认使用 URLConnection 适配(更小)
- nami-channel-http-okhttp 使用 okhttp 适配
- 修复 solon-boot-vertx 没有启用 websocket 时,无法接收请求的问题
- 修复 solon
@Param
注解部分失效的问题 - 修复 solon 本地网关可能会死循环的问题
- 调整 solon-serialization Fastjson2 适配,时间默认为 dateTicks 模式(保持与其它序列化的统一)
- 调整 solon-net-httputils 默认使用 URLConnection 适配(引入 okhttp 后,自动切换)
- 调整 solon Constants.ATTR_CONTROLLER,ATTR_MAIN_HANDLER,ATTR_MAIN_STATUS 内部常量值,避免与用户 attr 冲突
- 调整 solon ActionReturnHandler 匹配增加 ctx 入参,提供更多扩展可能
- 添加 solon 基于上下文的返回类型处理控制(Constants.ATTR_RETURN_HANDLER)
- 优化 solon-serialization dateAsTicks(并为默认),支持 longAsString 时的字符串转换
- snack3 升为 3.2.113
Solon v3.0.0
兼容说明(需,详看)
具体更新
- 新增 solon-data-sqlutils 插件
- 移除 solon
Before
、After
体系,(统一为Filter
体系) // ok(化敏为简) - 移除 solon
@ProxyComponent
(统一为@Component
) //ok(化敏为简) - 移除 solon
Bean:registered
由:delivered
替代 - 移除 solon
Component:registered
由:delivered
替代 - 移除 无关配置的弃用代码(具体参考对应表)
- 移除 部分事件扩展(具体参考对应表)
- 调整 solon-net
WebSocket:paramMap
改为 MultiMap 类型 - 调整 solon-net
WebSocket:send
改为 Future - 调整 solon Context::forward 改为“不经过”过滤器
- 调整 solon
Solon.app().handler()
替代原来的 handlerGet() 和 HandletSet(x);并简化 StaticResourceHandler 接入处理 - 调整 solon
warp.*
部分方法设计(内部类) - 修复 代理类中无法获取到泛型参数的BUG
- 修复 打散包时外部相对文件定位失识问题(优化
Utils::appFolder
) - 优化 solon Gateway 在过滤之前构建
ctx.action()
- 优化 solon-web 统一
Context::cookeMap
解析 - 添加 solon
AppContext:getBeanFuture,getBeansFutureOfType,getBeansMapFutureOfType
- 添加 solon-cloud
Event:broadcast
属性 - 添加 solon
Context:cookieSet(Cookie)
方法,支持 httponly, secure 配置 - 添加 solon GenericUtil:reviewType 方法,实现 ParamWrap 和 FieldWrap 的泛型审查
- 添加 solon 泛型集合注入支持
- 添加 solon 静态字段注入支持
- 添加 solon-test
@SolonTest:scanning
控制是否自动扫描(关闭时,需要通过@Import
) - 添加 liquor-eval 框架收集
- smart-http 升为 1.6.0
- smartsocket 升为 1.5.52
- noear-jlhttp 升为 1.0.1
- wood 升为 1.3.7
- folkmq 升为 1.7.8
- socket.d 升为 1.5.12
- nacos1 升为 1.4.8
- easy-trans 升为 1.3.1
- sa-token 升为 1.39.0
Solon v2.9.4
- 添加 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 v2.9.3
- 新增 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 v2.9.2
- 新增 solon-config-plus
- 添加 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.paramsMap() | 弃用 | ctx.paramMap() |
ctx.paramsAdd(name,value) | 弃用 | 由 ctx.paramMap().add() 替代 |
ctx.paramSet(name,value) | 弃用 | 由 ctx.paramMap().add() 或 .put() 替代 |
ctx.headersMap() | 弃用 | ctx.headerMap() |
ctx.filesMap() | 弃用 | ctx.fileMap() |
ctx.files(name) | 弃用 | 由 ctx.fileValues(name) 替代 |
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 v2.9.1
- 新增 solon.boot.vertx 插件,支持 cloud gateway 开发与 web 开发
- 优化 solon.cloud.gateway 改由 solon.boot.vertx 驱动(可与 web 开发复用)
- 优化 solon.cloud.gateway 改为流式分块代理转发(chunk)
- 优化 solon.security.validation 执行拉截时的异常消息(保持与旧版兼容)
- 优化 solon LifecycleBean 和 Lifecycle 设计
Solon v2.9.0
- 新增 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 v2.8.6
- 添加 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