Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: opensolon/solon

Solon v4.0.0

10 Jun 00:31
@noear noear

Choose a tag to compare

1、纪年

  • v0: 2018 ~ 2019 (2y)
  • v1: 2020 ~ 2022 (3y)
  • v2: 2023 ~ 2024 (2y)
  • v3: 2024 ~ 2026 (1.5y)
  • v4: 2026 ~

2、v3.x 升到 v4.x 提醒

  • 提醒1:之前没有使用弃用接口的,可以直接升级
  • 提醒2:有使用弃用接口的。建议先升级到 3.10.7;替换弃用代码后,再升级到 4.0.0

总体思考是:移除弃用方法或类。总体变化不大。其中,solon ai 体系变化较大(skill 概念改为 talent)

3、更新说明(更详细内容见后面的"附件")

for solon 生态:

  • 新增 mcp-json-jackson2
  • 新增 solon-view-aifei-enjoy 插件
  • 新增 solon-cache-caffeine3 插件
  • 新增 solon-ai-talent-gateway(由 solon-ai-skill-restapi 和 solon-ai-skill-toolgateway 合并而来)
  • 新增 solon-ai-talent-mount 才能插件
  • 添加 solon ScopeLocal.getOr(Supplier) 方法
  • 添加 solon AppContext.resolvePlaceholders 方法
  • 添加 solon-config-snack4 开放属性序列化的 Options 定制支持
  • 添加 solon-flow FlowContext.data(), serData() 方法(vars, serVars 标为弃用)
  • 调整 solon-cache-caffeine 增加 md5 控制、默认时间、缓存头控制支持
  • 调整 solon-cache-xxx enableMd5key 默认为 false
  • 调整 solon Utils.annoAlias 标为弃用(由 Utils.valueOr 替代)
  • 移除 solon-flow FlowContext.model() 方法 //.vars()
  • 移除 solon-flow Link.condition 方法 //.when
  • 移除 solon-expression StandardContext 类
  • 修复 solon-serialization-snack4 Snack4StringSerializer.name 为 "snack4-json"
  • eggg 升为 1.1.3
  • snack4 升为 4.0.52
  • liquor 升为 1.6.8
  • socketd 升为 2.6.0
  • folkmq 升为 1.8.0
  • asm 升为 9.10
  • lombok 升为 1.18.46
  • slf4j 升为 2.0.18
  • log4j 升为 2.26.0
  • junit5 升为 5.14.4
  • hutool 升为 5.8.44
  • snakeyaml 升为 2.6
  • fastjson2 升为 2.0.62
  • jackson2 升为 2.21.4
  • gson 升为 2.14.0
  • redisson 升为 3.52.0
  • lettuce 升为 6.8.2.RELEASE
  • kafka 升为 3.9.2
  • reactor-netty-http 升为 1.3.5
  • netty 升为 4.1.134.Final
  • smartsocket 升为 2.0.0
  • smarthttp 升为 2.5.19
  • vert.x 升为 4.5.27
  • tomcat 升为 9.0.118
  • undertow 升为 2.2.39.Final
  • rocketmq5 升为 5.2.0
  • nacos3 升为 3.2.1
  • swagger 升为 1.6.16
  • swagger2 升为 2.2.50
  • undertow (for java17) 升为 2.3.24.Final
  • jetty (for java17) 升为 12.1.9
  • xxl-job-core3 (for java17) 升为 3.4.0
  • jackson3 (for java17) 升为 3.1.3
  • tomcat (for java17) 升为 11.0.22

for solon-ai 生成

  • 变更 solon skill "概念"改为 solon talent(避免与 agent skill 的冲突)
  • 新增 mcp-core(替换之前的 mcp-sdk,保持与官方相同命名)
  • 新增 mcp-json-jackson2
  • 新增 solon-ai-sandbox
  • 新增 solon-ai-mcp MCP_2025_11_25 协议支持(支持 ServerTransportSecurityValidator 签权)
  • 新增 solon-ai-talent-mount 才能插件(原 PoolManager 独立出来)
  • 添加 solon-ai-talent-openapi OpenApiSkill.removeApi 方法
  • 添加 solon-ai-talent-openapi ApiSource 超时配置支持
  • 添加 solon-ai-talent-gateway McpGatewaySkill 专门处理 mcp(ToolGatewaySkill 可以处理所有工具)
  • 添加 solon-ai-talent-cli TerminalTalent 系统级沙盒限制支持
  • 添加 solon-ai-core ChatOptions:httpCustomize 方法
  • 添加 solon-ai-core Talent::isEnabled 方法
  • 添加 solon-ai-core AiConfig::standard(替代 provider 之前的作用)
  • 添加 solon-ai-core ReActAgent::getModel 方法
  • 添加 solon-ai-agent ReActInterceptor.onReasonStart 事件方法
  • 添加 solon-ai-agent AgentTrace.getOriginalPrompt, getWorkingMemory 方法
  • 添加 solon-ai-agent AgentTrace.getRunId 方法
  • 添加 solon-ai-agent AgentChunk.getRunId 方法
  • 添加 solon-ai-agent TeamAgent 添加初心标记
  • 添加 solon-ai-agent ToolExchanger 类
  • 添加 solon-ai-mcp McpClientProvider allowedTools, disallowedTools 工具控制机制
  • 添加 solon-ai-harness bashAsyncEnabled 开关
  • 添加 solon-ai-harness HarnessEngine.removeApi 方法
  • 添加 solon-ai-harness HarnessProperties.mountPools 属性(替代 skillPools,后者标为弃用)
  • 添加 solon-ai-harness 用 McpGatewaySkill 替换 ToolGatewaySkill(更有争对性)
  • 优化 solon-ai-agent 初始化时(rest)添加快照持久化
  • 优化 solon-ai-harness AgentFactory edit 权限添加 readwrite 控制
  • 优化 solon-ai-agent ContextCompressionInterceptor 压缩时机(从 onObservation 改为 onReasonStart),并增加系统词大小
  • 优化 solon-ai-agent ContextCompressionInterceptor 增强上下文压缩拦截器中过期区 tool-use 原子序列的追溯保护,并完善文档注释
  • 优化 solon-ai-agent ContextCompressionInterceptor 算法,增加 tools token
  • 优化 solon-ai-dialect-openai OpenaiResponses 协议兼容性
  • 调整 solon-ai-core 取消 ChatConfig.reasoningFieldName 配置(这个配置不合理)
  • 调整 solon-ai-core 移除 SkillProvider 类
  • 调整 solon-ai-core 移除 toolAdd(Object) 方法(指向不明,容易出错)
  • 调整 solon-ai-core 移除 defaultToolAdd(Object) 方法(指向不明,容易出错)
  • 调整 solon-ai-agent 移除 toolAdd(Object) 方法(指向不明,容易出错)
  • 调整 solon-ai-agent 移除 defaultToolAdd(Object) 方法(指向不明,容易出错)
  • 调整 solon-ai-mcp McpClientProperties 默认不启用心跳(之前默认为 30 心跳一次)
  • 调整 solon-ai-mcp McpProviders 更名为 McpClientProviders
  • 调整 solon-ai-agent ActionChunk:ActionChunk 更名为 ObservationChunk;ActionStartChunk 更名为 ActionChunk
  • 调整 solon-ai-agent ReActInterceptor.onAction,onObservation: toolName,args,result 合并为 toolExchanger(并允许修改)
  • 调整 solon-ai-agent ReActInterceptor.onReason 更名为 onReasonEnd(和 onReasonStart 凑成一对)
  • 调整 solon-ai-agent ReActAgent.maxSteps 更名为 maxTurns(保持行业习惯)
  • 调整 solon-ai-agent SummarizationInterceptor 更名为 ContextCompressionInterceptor(更符合语义)
  • 调整 solon-ai-talent-cli PoolManager 实现细节,并添加 refresh(alias)
  • 调整 solon-ai-talent-cli 技能标识由 aliasPath 统一改为 name,并优化技能池加载逻辑及代码格式
  • 调整 solon-ai-talent-web WebfetchTool 更名为 WebfetchTalent; WebsearchTool 更名为 WebsearchTalent; CodeSearchTool 更名为 CodeSearchTalent
  • 调整 solon-ai-talent-diff ApplyDiffTool 更名为 ApplyDiffTalent;ApplyPatchTool 更名为 ApplyPatchTalent
  • 调整 solon-ai-harness HarnessEngine 打断与 HarnessProperties 关联(后者删除),避免耦合影响未来的调整
  • 调整 solon-ai-harness HarnessEngine 移除 mainModel 字段(减兴缓存麻烦)
  • 移除 solon-ai-skill-browser(包太大了,没必要)
  • 移除 solon-ai-skill-restapi (由 solon-ai-talent-gateway 替代)
  • 移除 solon-ai-skill-toolgateway (由 solon-ai-talent-gateway 替代)
  • 移除 mcp-sdk(由 mcp-core 替代)
  • 修复 solon-ai-mcp WebRxStreamableHttpTransport 没有 event 的消息会出错的问题(优化非规范兼容)
  • 修复 solon-ai-mcp WebRxStreamableHttpTransport 没有 contentType 的消息会出错的问题(优化非规范兼容)
  • 修复 solon-ai-agent ContextCompressionInterceptor 压缩后可能会引起 ToolMessage 无法对齐的问题
  • mcp-sdk 升为 1.1.3

4、附件:弃用配置移除对应表(要认真核对)

移除

应用或插件 移除配置名 替代配置名
solon-server server.session.state.domain server.session.cookieDomain
server.session.state.domain.auto server.session.cookieDomainAuto
solon-web-staticfiles solon.staticfiles.maxAge solon.staticfiles.cacheMaxAge
nacos2-solon-cloud-plugin solon.cloud.nacos2.* solon.cloud.nacos.*

5、附件:弃用插件移除对应表(要认真核对)

移除(以下插件已由项目官方仓库维护,或者直接使用即可)

移除插件 替代插件
solon-ai-skill-* solon-ai-talent-*
easy-trans-solon-plugin com.fhs-opensource:easy-trans-solon-plugin
sms4j-solon-plugin org.dromara.sms4j:sms4j-solon-plugin
beetlsql-solon-plugin com.ibeetl:sql-solon-plugin
dbvisitor-solon-plugin net.hasor:dbvisitor-solon
sqltoy-solon-plugin com.sagframe:sagacity-sqltoy-solon-plugin
mybatis-sqlhelper-solon-plugin com.github.fangjinuo.sqlhelper:sqlhelper-mybatis
mybatis-pagehelper-solon-plugin com.github.pagehelper:pagehelper
mybatis-plus-solon-plugin com.baomidou:mybatis-plus-solon-plugin
mybatis-plus-extension-solon-plugin 同上
mybatis-flex-solon-plugin com.mybatis-flex:mybatis-flex-solon-plugin
fastmybatis-solon-plugin net.oschina.durcframework:fastmybatis-solon-plugin
bean-searcher-solon-plugin cn.zhxu:bean-searcher-solon-plugin
mybatis-tkmapper-solon-plugin tk.mybatis:mapper-solon-plugin
sa-token-solon-plugin cn.dev33:sa-token-solon-plugin
sa-token-snack4 同上
sa-token-dao-redisson-jackson 同上
liteflow-solon-plugin com.yomahub:liteflow-solon-plugin
forest-solon-plugin com.dtflys.forest:forest-solon-plugin

6、附件:弃用注解或属性移除对应表(会有编译提醒)

移除注解或属性

应用或插件 弃用注解或属性 替代注解或属性
solon org.noear.solon.annotation::
@Bean:priority() @Condition:priority()
@Bean:injected() @Bean:autoInject()
solon-data org.noear.solon.data.annotation::
@Tran @Transaction
nami org.noear.nami.annotation::
@NamiBody:contentType() @NamiMapping:headers()

7、附件:Solon 生态弃用类或方法移除对应表(会有编译提醒)

  • solon 移除类或方法
应用或插件 移除类或方法名 替代类或方法名
solon 包(org.noear.solon)
Solon:start(NvMap) /
SolonApp:add*() SolonApp:router():add*()
SolonApp:filter*() SolonApp:router():filter*()
SolonApp:get*() SolonApp:router():get*()
SolonApp:post*() SolonApp:router():post*()
SolonApp:head*() SolonApp:router():head*()
SolonApp:put*() SolonApp:router():put*()
SolonApp:patch*() SolonApp:router():patch*()
SolonApp:delete*() SolonApp:router():delete*()
SolonApp:socketd*() SolonApp:router():socketd*()
SolonApp:delete*() SolonApp:router():delete*()
SolonApp:converterManager() SolonApp:converters()
SolonApp:serializerManager() SolonApp:serializers()
SolonApp:renderManager() SolonApp:renders()
SolonApp:factoryManager() SolonApp:factories()
SolonApp:renderManager() SolonApp:renders()
SolonApp:chainManager() SolonApp:chains()
SolonProps:plugs*()...
Read more
Assets 2
Loading

Solon v3.10.6

13 May 08:59
@noear noear

Choose a tag to compare

  • 添加 solon-text SolonTest.enableWebSocket 属性
  • 优化 solon-net-httputils TextStreamUtil 的背压流控效果
  • snack4 升为 4.0.47
Loading

Solon v3.10.4

26 Apr 01:06
@noear noear

Choose a tag to compare

  • 新增 solon-serialization-javabin 插件(统一 JavabinSerializer 管理)
  • 添加 solon-cache-spymemcached MemCacheService.cacheKeyHead 方法(修改缓存头)
  • 添加 solon-cache-redisson RedissonCacheService.cacheKeyHead 方法(修改缓存头)
  • 添加 solon-cache-jedis RedisCacheService.cacheKeyHead 方法(修改缓存头)
  • 添加 solon JavaUtil.IS_MAC 字段
  • 添加 solon-parent maven-surefire-plugin 插件版本管理
  • 调整 solon-sessionstate-jedis 启用新的 JavabinSerializer
  • 调整 solon-cache-jedis 启用新的 JavabinSerializer
  • 修复 solon-config-snack3 不能通过属性反序列化外部扩展包里的类问题
  • 修复 solon-config-snack4 不能通过属性反序列化外部扩展包里的类问题
  • reactor-core 升为 3.8.5
  • redisx 升为 1.8.5
Loading

Solon v3.10.2

14 Apr 12:56
@noear noear

Choose a tag to compare

  • 添加 nami NamiFilter(替代 Filter)更好表意
  • 调整 RunUtil 恢复 parallel 方法(之前标为弃用)
  • 调整 Log4j2Plugin,LogbackPlugin ,取消 doLoadUrl 重载
  • snack4 升为 4.0.45
Loading

Solon v3.9.8

14 Apr 12:56
@noear noear

Choose a tag to compare

  • 修复 solon-net-httputil OkHttp 请求体封装问题,转为对应编码字节流
  • snack 升为 4.0.45
Loading

Solon v3.8.6

14 Apr 12:55
@noear noear

Choose a tag to compare

  • 修复 solon-net-httputil OkHttp 请求体封装问题,转为对应编码字节流
  • snack 升为 4.0.45
Loading

Solon v3.10.1

03 Apr 07:29
@noear noear

Choose a tag to compare

  • 添加 solon MultiMap.flags 机制,更好的支持 args 解析
  • 添加 solon ParamWrap.getMethodWrap 属性
  • 修复 solon-net-httputil OkHttp 请求体封装问题,转为对应编码字节流
  • eggg 升为 1.0.11
  • snack4 升为 4.0.42
  • jansi 升为 2.4.3
  • jline 升为 3.30.9
Loading

Solon v3.10.0

23 Mar 22:44
@noear noear

Choose a tag to compare

  • 添加 solon-docs-openapi3 分布式文档支持
  • 添加 solon-expression 添加 @bean 表达式支持
  • 优化 solon-flow FlowContext 持久化,添加 stopped 属性
  • 优化 solon-openapi2-knife4j 的资源控制(避免多余的资源开放)
  • 优化 solon-openapi3-knife4j 的资源控制(避免多余的资源开放)
  • 优化 solon-sessionstate-jedis 超时处理(get 自动续时)
  • 优化 solon-sessionstate-redisson 超时处理(get 自动续时,sessionPublish、sessionRefresh 加越时)
  • 修复 solon-cloud-gateway CloudGatewayLocator.loadDiscoverConfig 可能出现 null 异常(允许没有发现服务)
  • snack4 升为 4.0.41
  • jakarta.logback 升为 1.5.32
  • jackson3 升为 3.1.0
  • fastjson2 升为 2.0.61
  • log4j 升为 2.25.3
  • jackson 升为 2.19.4
  • asm 升为 9.9.1
  • lombok 升为 1.18.44

solon-expression @bean 表示式示例:

Map<String, Object> vars = new HashMap();
vars.put("a", 1);
EnhanceContext context = new EnhanceContext(vars);
context.forBeans(Solon.context()::getBean);
SnEL.eval("@user.getAge() == a ? true : false", context);
Loading

Solon v3.9.6

22 Mar 00:51
@noear noear

Choose a tag to compare

  • 添加 solon-docs-openapi3 分布式文档支持
  • 添加 solon-expression 添加 @bean 表达式支持
  • 优化 solon-flow FlowContext 持久化,添加 stopped 属性
  • 优化 solon-openapi2-knife4j 的资源控制(避免多余的资源开放)
  • 优化 solon-openapi3-knife4j 的资源控制(避免多余的资源开放)
  • 优化 solon-sessionstate-jedis 超时处理(get 自动续时)
  • 优化 solon-sessionstate-redisson 超时处理(get 自动续时,sessionPublish、sessionRefresh 加越时)
  • 修复 solon-cloud-gateway CloudGatewayLocator.loadDiscoverConfig 可能出现 null 异常(允许没有发现服务)
  • snack4 升为 4.0.41
  • jakarta.logback 升为 1.5.32
  • jackson3 升为 3.1.0
  • asm 升为 9.9.1
  • lombok 升为 1.18.44
Loading

Solon v3.9.5

09 Mar 02:21
@noear noear

Choose a tag to compare

  • 添加 solon Assert.isNumber, isBool 等给检测
  • 添加 solon-net-httputils HttpUtils.url() 方法
  • 优化 solon-logging-log4j2 SolonTagsConverter 去掉一个注解 tags
  • 修复 solon-scheduling-simple MDC tag(job) 污染其它日志的问题
  • fastjson2 升为 2.0.61
  • log4j 升为 2.25.3
  • snack4 升为 4.0.35
  • jackson 升为 2.19.4
Loading
Previous 1 3 4 5 19 20
Previous

AltStyle によって変換されたページ (->オリジナル) /