Skip to content

Releases: opensolon/solon

Solon v3.6.7

23 Dec 16:07

Choose a tag to compare

  • 优化 solon-cache CacheService 适配没有 _cacheKeyHead 配置时,则不加前缀
  • 优化 solon SnelUtil snel 表达式缺参数时异常提示(避免配错名字)
  • 修复 solon-web-vertx VxWebContext._requestBody 如果为 null 文件上传时会出错的问题
  • snack4 升为 4.0.20
  • liquor 升为 1.6.6
  • jackson 升为 2.19.2
  • asm 升为 9.9

Solon v3.5.10

23 Dec 16:05

Choose a tag to compare

  • 优化 solon-cache CacheService 适配没有 _cacheKeyHead 配置时,则不加前缀
  • 修复 solon-web-vertx VxWebContext._requestBody 如果为 null 文件上传时会出错的问题
  • liquor 升为 1.6.6
  • jackson 升为 2.19.2
  • asm 升为 9.9

Solon v3.6.6

05 Dec 23:01

Choose a tag to compare

  • 优化 solon-ai-mcp MCP 客户端与服务端异常链接状态 立即返回
  • 调整 mybatis-solon-plugin 当配置的 mapper 没有对应注册时改为 warn 日志打印(之前为异常)
  • 修复 solon-configuration-processor 失效的问题(v3.6.1 出现)
  • snack4 升为 4.0.17

Solon v3.7.3

05 Dec 23:03

Choose a tag to compare

  • 插件 solon-flow 第五次预览
  • 新增 solon-server-tomcat-add-jsp 插件
  • 新增 solon-server-tomcat-add-websocket 插件
  • 新增 solon-server-tomcat-add-jsp-jakarta 插件
  • 新增 solon-server-tomcat-add-websocket-jakarta 插件
  • 新增 solon-cloud-telemetry 插件
  • 新增 opentelemetry-solon-cloud-plugin 插件
  • 添加 solon SolonProps:appVersion solon.app.version 配置支持
  • 添加 solon 接口版本的模式匹配支持(1.0+
  • 添加 solon-scheduling IJobManager:jobAdd(name,scheduled,handler,data) 方法
  • 添加 solon-server-tomcat jsp 适配支持
  • 添加 solon-flow Node:task 硬编码能力(直接设置 TaskComponent),方便全动态场景
  • 添加 solon-flow Node:when 硬编码能力(直接设置 ConditionComponent),方便全动态场景
  • 添加 solon-flow Link:when 硬编码能力(直接设置 ConditionComponent),方便全动态场景
  • 添加 solon-flow StateResult ,在计算方面比 StatefulTask 更适合语义
  • 添加 solon-flow FlowContext:stop(),interrupt() 方法
  • 添加 solon-flow Graph 快捷创建方法
  • 添加 solon-flow FlowStatefulService:eval 方法
  • 添加 solon-server-tomcat-jakarta jsp 支持
  • 优化 solon-server DebugUtils 支持 jetty,tomcat,undertow jsp 调试目录构建
  • 优化 solon-server-undertow 请求大小控制
  • 优化 solon-server-jetty jsp 适配
  • 优化 solon-ai-core ToolSchemaUtil 扩展能力,支持注解处理定制(方便第三方集成)
  • 优化 solon-ai-mcp MCP 客户端与服务端异常链接状态 立即返回
  • 调整 solon-flow “链”概念改为“图”(更符合实际结构)
  • 调整 solon-flow Chain 更名为 Graph,ChainDecl 更名为 GraphDecl
  • 调整 solon-flow ChainInterceptor,ChainInvocation 更名为 FlowInterceptor,FlowInvocation
  • 调整 mybatis-solon-plugin 当配置的 mapper 没有对应注册时改为 warn 日志打印(之前为异常)
  • 修复 solon RoutingDefault 多个双星通配符冲突的问题(v3.7.2 出现)
  • 修复 solon-server-jetty-jakarta jsp 支持
  • 修复 solon-configuration-processor 失效的问题(v3.6.1 出现)
  • eggg 升为 1.0.10
  • snack4 升为 4.0.17
  • wood 升为 1.4.3
  • luffy 升为 1.11.1
  • folkmq 升为 1.7.13
  • fastjson2 升为 2.0.60
  • hutool 升为 5.8.41
  • smarthttp 升为 2.5.17
  • tomcat 升为 9.0.112
  • vert.x 升为 4.5.22
  • jetty.jakarta 升为 12.1.4
  • undertow.jakarta 升为 2.3.20.Final
  • logback.jakarta 升为 1.5.21

solon-flow 兼容说明:

现有应用如果没有用 ChainDecl 动态构建,不会受影响。。。如果有?需要换个类名。

solon-flow 硬编码更简便:

Graph graph = Graph.create("demo1", decl -> {
    decl.addActivity("n1").task(new Draft()).linkAdd("n2");
    decl.addActivity("n2").task(new Review()).linkAdd("n3");
    decl.addActivity("n3").task(new Confirm());
});

Solon v3.6.5

22 Nov 09:21

Choose a tag to compare

  • 添加 solon RunUtil.io(),timer() 方便响应式使用
  • 修复 solon-rx Completable:doOnError 会中断传递的问题
  • 修复 solon-server-vertx VxWebSocketImpl:remoteAddress 转换失败的问题
  • 修复 solon-scheduling-simple 不能识别:zone=+08 配置问题
  • snack4 升为 4.0.14

Solon v3.5.9

22 Nov 09:18

Choose a tag to compare

  • 添加 solon RunUtil.io(),timer() 方便响应式使用
  • 修复 solon-rx Completable:doOnError 会中断传递的问题
  • 修复 solon-server-vertx VxWebSocketImpl:remoteAddress 转换失败的问题
  • 修复 solon-scheduling-simple 不能识别:zone=+08 配置问题

Solon v3.7.2

22 Nov 12:16

Choose a tag to compare

  • 引入 jspecify 的 @Nullable,@NonNull 注解
  • 新增 resilience4j-solon-cloud-plugin 插件
  • 新增 solon-cloud-gateway websocket 协议代理支持
  • 新增 solon 启动扫描类索引机制(由 solon aot 构建时自动生成)
  • 新增 aot 构建配置(在 native 基础上去除 graalvm.buildtools),任意 jdk 版本可用
  • 添加 solon RunUtil.io(),timer() 方便响应式使用
  • 添加 solon 启动资源索引机制(通过 aot 实现)
  • 添加 solon-rx Completable:doOnErrorResume 方法
  • 添加 solon-rx Completable:subscribeOn, delay 方法,方便同步io对接
  • 添加 solon-net WebSocket:colse(code,reason) 方法及相关适配
  • 添加 solon-net-httputils HttpResponse:headerMap 方法
  • 添加 solon-data solon.dataSources 的配置提示
  • 添加 solon-web-staticfiles solon.mime.mapping 配置支持(将替代 solon.mime)
  • 优化 solon 路由匹配规则,原3个优先级升为5优先级(更细)
  • 优化 solon AppContext:beanScan 改为先加载再分批处理(确保配置类先处理)
  • 优化 solon AppContext:startInjectReview 去掉 stream 写法(减少中转,提升性能)
  • 优化 solon-logging 初始化处理,避免二次加载文件配置
  • 优化 solon 启动性能(提升 10% 到 30%)
  • 优化 solon-serve-vertx websocket 适配,避免与 solon-cloud-gateway 的 ws 代理起冲突
  • 调整 solon 编译配置荐 maven.compiler.source,target 改为 release
  • 调整 solon-serve-vertx 去除内部对象 VertxHolder(没地方用到了)
  • 调整 solon-serialization AbstractStringEntityConverter string 类型直接输出(不序列化)
  • 调整 solon ChainManager:getInterceptorNodes,addInterceptor,addInterceptorIfAbsent,removeInterceptor 恢复旧方法并标为弃用
  • 修复 nami-coder-snack4 插件元数据配置失效问题(v3.7.0 出现的)
  • 修复 solon-rx Completable:doOnError 会中断传递的问题
  • 修复 solon-server-vertx VxWebSocketImpl:remoteAddress 转换失败的问题
  • 修复 solon-scheduling-simple 不能识别:zone=+08 配置问题
  • eggg 升为 1.0.8
  • snack4 升为 4.0.14

Solon v3.7.1

08 Nov 03:22

Choose a tag to compare

  • 添加 solon Router:add(clz) 方法
  • 修复 solon AppContext:tryBuildBeanOfClass2 目标组件为接口时出现 getCreator null 异常(边界问题)

Solon v3.7.0

07 Nov 04:42

Choose a tag to compare

  • 升级 snack3 切换为 snack4
  • 新增 solon-config-snack3 插件
  • 新增 solon-config-snack4 插件
  • 添加 solon preStop 方法名(替代 prestop),后者标为弃用。两者都可用
  • 添加 solon Router:addPathPrefix(path, tester) 方法
  • 添加 solon Context:localPort() 方法
  • 添加 solon-server-smarthttp 有 tomcat 时的启动控制
  • 优化 solon-web-staticfiles StaticResourceHandler 的 Cache-Control 处理(允许外部设定并优先)
  • 优化 solon-ai-core ToolSchemaUtil:paramOf 方法,增加泛型支持
  • 优化 solon-ai-core ToolSchemaUtil:outputSchema 泛型处理
  • 调整 solon-config-plus 标为弃用,由 solon-config-snack3 或 solon-config-snack4 替代
  • 调整 solon-net WebSocket:remoteAddress, localAddress 移除 throws IOException
  • 调整 solon ActionLoader, ActionLoaderFactory 内部接口设计
  • 调整 solon RouterWrapper 标为弃用,功能转到 Router 接口上
  • 调整 solon ChainManager:addInterceptor (内部接口)更名为 addRouterInterceptor 强化语义
  • 调整 solon 不再对 remoting 注册作 mapping 限制(改成跟控制器一样的策略)
  • 调整 solon Router:getBy 更名为 findBy (前者标为弃用),避免下 get 疑似冲突
  • 调整 solon-server 允许不输出 content-type
  • 修复 solon-ai parseToolCall 接收 stream 中间消息时可能会异常(添加 hasNestedJsonBlock 检测)
  • 修复 solon-ai-mcp 可能出现 Unknown media type 错误(取消 request.contentType 空设置)
  • 移除 solon.xxx 和 nami.xxx 风格的发布包
  • 启用 eggg 作为类元信息构建机制
  • redisx 升为 1.8.2(snack3 切换为 snack4)
  • snack4 升为 4.0.8
  • wood 升为 1.4.2
  • log4j 升为 2.25.2
  • logback 升为 1.3.16
  • micrometer 升为 1.15.5
  • opentelemetry 升为 1.55.0
  • undertow 升为 2.2.38.Final
  • socketd 升为 2.5.20
  • smartsocket 升为 1.7.4
  • smarthttp 升为 2.5.16
快捷组合包 调整情况
solon-lib 使用 solon-config-snack4 替代 solon-config-snack3
solon-web 使用 solon-serialization-snack4 替代 solon-serialization-snack3

Solon v3.6.4

07 Nov 04:41

Choose a tag to compare

  • 修复 solon-ai parseToolCall 接收 stream 中间消息时可能会异常(添加 hasNestedJsonBlock 检测)
  • 优化 solon-server 不再默认输出 TEXT_PLAIN_UTF8_VALUE(允许空 content-type)
  • 优化 solon-handle Action 默认为 TEXT_PLAIN_UTF8_VALUE
  • smart-http 升为 2.5.14-r2
  • snack4 升为 4.0.7