Skip to content

Releases: opensolon/solon

Solon v3.0.5

24 Dec 03:36
Compare
Choose a tag to compare

兼容说明(从 v2 升级的同学,需详看)

具体更新

  • 新增 solon-data-rx-sqlutils 插件(基于 r2dbc 构建)
    • 可配合 solon-web-rx 或者 solon-cloud-gateway 使用
  • 添加 solon ClassUtil.scanClasses 方法
  • 添加 solon 非单例类使用生命周期时 warn 日志提醒
  • 添加 solon-cloud-gateway ExContext:toContext 方法,可用于支持经典接口接入(比如,sa-token 签权)
  • 添加 solon ContextHolder 替代 ContextUtil ,后者标为弃用
  • 添加 solon Context::isHeadersSent 方法,用于响应式转经典式后识别数据发送情况
  • 添加 solon SolonApp::isMain 方法,用于在单元测试时识别是否可同步到 System 属性集
  • 优化 solon ClassUtils.newInstance 异常类名显示
  • 优化 solon InjectGather:isMethod 条件(仅方法,之前构造也算),让@Bean方法的检测先于组件的构造器
  • 优化 solon-mvc Action 返回为 void,不作渲染处理
  • 优化 solon-data DsUtils 构建时支持 "@type" 属性申明(统一未来的配置类型申明风格)
  • 优化 solon-data DataSources 的配置获取时机
  • 优化 solon-data-sqlutils SqlUtilsFactory 接口设计
  • 优化 solon-scheduling Async 异常提示
  • 优化 solon-scheduling Retry 拦截优先级到最里层
  • 优化 solon-scheduling-simple 调用异常提示
  • 修复 solon-mvc 以实体接收时 UploadedFile[] 字段不能注入的问题
  • 修复 solon-boot-smarthttp 会把默认时区设为 GMT 的问题
  • snakc3 升为 3.2.122
  • redisx 升为 1.6.9
  • socketd 升为 2.5.14
  • folkmq 升为 1.7.10
  • redisson 升为 3.39.0
  • smarthttp 升为 2.5
  • mybatis-flex 升为 1.10.3
  • sqltoy 升为 5.6.34.jre8
  • slf4j 升为 2.0.16
  • log4j 升为 2.24.3
  • jansi 升为 2.4.1
  • fury 升为 0.9.0

Solon v3.0.4.1

11 Dec 15:19
Compare
Choose a tag to compare

兼容说明(从 v2 升级的同学,需详看)

具体更新

  • 添加 solon Router:matchMainAndStatus 接口,并将 attr 处理移到外部
  • 添加 solon Props:addAll 方法
  • 添加 solon-security-validation 值类型支持检测,通过检测异常替代之前的类型校验失败
  • 优化 solon ServerEndpoint 注解支持属性模板
  • 优化 solon BeanWrap 增加重复代理的检测,避免特殊情况出现重复代理
  • 优化 solon RunUtils 线程池支持重复关闭与恢复,并与 SolonApp 停止事件绑定
  • 修复 solon.boot.smarthttp 在某些环境下会出 arraycopy 异常的问题
  • smarthttp 升为 2.4

Solon v3.0.4

04 Dec 08:57
Compare
Choose a tag to compare

兼容说明(从 v2 升级的同学,需详看)

具体更新

  • 新增 nami-coder-abc 插件
  • 新增 solon-serialization-abc 插件
  • 新增 mybatis-solon 插件
  • 添加 solon SolonApp:pluginExclude 方法,排除插件加载
  • 添加 solon ResourceUtil.findResource(uri,defAsFile) 方法
  • 添加 solon HandlerSlots.add(expr,method,index,handler) 方法,支持路由优先级排序
  • 添加 solon Context::sessionState(create) 方法
  • 添加 solon SessionState.creationTime, lastAccessTime 方法
  • 添加 solon-data-sqlutils SqlUtils:ofName(dsName) 方法
  • 添加 solon-net-httputils HttpRespose.cookie 解析处理
  • 添加 solon-cloud-gateway CloudRouteRegister:routeRemove 方法
  • 添加 nami Encoder:bodyRequired() 方法,支持必须 body 请求的场景
  • 优化 solon @Produces@Consumes 改为可继承,方便通过基类
  • 优化 solon @Bean initMethodName,destroyMethodName 改为自有或公有方法(之前只能自有)
  • 优化 solon 外部配置加载处理,没有时,尝试在内部找资源文件
  • 优化 solon Props.bindTo 性能
  • 优化 solon SessionState:sessionId 的保持处理(从 attr 转到 cookieMap;减少一道)
  • 优化 solon 带'.'的环境变量自动加载到应用属性里(之前只加载 'solon.')
  • 优化 solon AppContext 支持对 app 为 null 的过滤处理,强化无 app 的测试场景
  • 优化 solon-boot-websocket 对 "//" resourceDescriptor 的兼容性
  • 优化 solon-data-sqlutils 接口设计,优化极限性能
  • 优化 solon-cloud-gateway 改为流响应模式,节省内存驻留、并支持 sse 代理
  • 优化 solon 静态字段注入,取消有默认值则不注入的限制条件
  • 优化 kafka-solon-cloud-plugin 配置处理
  • 修复 solon-docs-openapi2 部分泛型响应体无法识别的问题
  • snack3 升为 3.2.121
  • wood 升为 1.3.15
  • redisx 升为 1.6.8
  • lombok 升为 1.18.36
  • smart-http 升为 2.3
  • vertx 升为 4.5.11
  • netty 升为 4.1.115.Final

Solon v3.0.3

11 Nov 00:21
Compare
Choose a tag to compare

兼容说明(从 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

24 Oct 02:09
Compare
Choose a tag to compare

兼容说明(从 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

08 Oct 00:19
Compare
Choose a tag to compare

兼容说明(需,详看)

具体更新

  • 新增 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

01 Oct 11:14
Compare
Choose a tag to compare

兼容说明(需,详看)

具体更新

  • 新增 solon-data-sqlutils 插件
  • 移除 solon BeforeAfter 体系,(统一为 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

24 Sep 00:20
Compare
Choose a tag to compare
  • 添加 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

10 Sep 03:06
Compare
Choose a tag to compare
  • 新增 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

02 Sep 12:35
Compare
Choose a tag to compare
  • 新增 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) 新增