Solon v4.0 正式发布,高考记忆版

Solon v4.0 正式发布,高考记忆版
用纪年标记成长如果把一个开源框架的成长比作一个人的成长那 Solon 现在差不多也到了成年的年纪。我们用纪年来标记它走过的路大版本时间跨度阶段v02018 ~ 2019约 2 年萌芽v12020 ~ 2022约 3 年打基础v22023 ~ 2024约 2 年成体系v32024 ~ 2026约 1.5 年全面铺开v42026 ~新篇章从 2018 年第一行代码到今天近 40 万行代码其中 Solon AI 体系就占了近 18万。Solon 从一个想做个更轻的 Java 框架的念头长成了覆盖 Web、Data、AI、Cloud、安全、编排全场景拥有 300 生态插件的应用开发框架。这条路不算快但每一步都走得踏实——就像高考之后的人生不靠一次爆发靠的是持续的复利。更新与兼容说明1、概述先说一句让大家安心的话v4.0 总体变化不大主要是做减法。这次大版本升级的核心思路是移除历史包袱——把那些早就标记为弃用的方法和类彻底清理掉让框架更干净、更轻。这恰恰呼应了 Solon 一贯的克制哲学不是不断往上堆东西而是敢于把不该留的东西删掉。唯一变化较大的是 Solon AI 体系——我们把skill概念正式改为了talent。2、v3.x 升到 v4.x 提醒要认真核对提醒一之前没用过弃用接口的可以直接升级到 v4.0.0。提醒二用过弃用接口的建议先升级到 3.10.7借助编译器提醒把弃用代码替换干净后再升级到 4.0.0。这样过渡最平滑。完整的弃用对照表配置 / 插件 / 注解 / 类与方法在官方更新说明里都列得清清楚楚升级前认真核对一遍即可。3、AI 体系从 skill 到 talent这是 v4.0 最值得说的一处变更。之前 Solon AI 里用skill技能来描述给智能体扩展能力的机制。但随着 Agent智能体生态发展业界普遍用 agent skill 来指代另一类东西两者撞名了容易让人困惑。所以我们把这个概念统一改名为talent才能。一字之差消除歧义。对应的插件与类整体更名solon-ai-skill-*→solon-ai-talent-*WebfetchTool/WebsearchTool/CodeSearchTool→WebfetchTalent/WebsearchTalent/CodeSearchTalentApplyDiffTool/ApplyPatchTool→ApplyDiffTalent/ApplyPatchTalent新增solon-ai-talent-gateway由原solon-ai-skill-restapi和solon-ai-skill-toolgateway合并而来新增solon-ai-talent-mount才能插件原 PoolManager 独立出来如果你之前用的是solon-ai-skill-*升级时把坐标换成solon-ai-talent-*即可。4、AI 生态跟上协议补齐能力AI 这一年跑得太快了v4.0 在协议和能力上做了不少跟进新增mcp-core替换之前的mcp-sdk与官方命名保持一致mcp-sdk已移除。新增solon-ai-sandbox为智能体提供沙盒隔离能力。MCP 协议升级solon-ai-mcp支持MCP_2025_11_25协议并支持ServerTransportSecurityValidator签权。ReActAgent 增强maxSteps更名为maxTurns贴合行业习惯新增getModel方法拦截器新增onReasonStart事件onReason相应更名为onReasonEnd凑成一对。上下文压缩优化SummarizationInterceptor更名为更贴切的ContextCompressionInterceptor并优化了压缩时机从 onObservation 改到 onReasonStart和算法增强了对过期区 tool-use 原子序列的追溯保护。TeamAgent新增初心标记让多智能体协作时不容易跑偏。MCP 客户端McpClientProvider新增allowedTools/disallowedTools工具控制机制默认不再启用心跳之前默认 30 秒一次McpProviders更名为McpClientProviders。这些改动都是我们在真实的 Agent 开发里踩过坑之后做的回调。5、生态规范化插件回家v4.0 做了一件长期来看很重要的事——让一批第三方插件回归各自官方仓库维护。过去为了方便早先一秕第三方库的 Solon 适配是由我们社区维护的。但更健康的方式是由库的官方团队自己维护适配。这次梳理后下面这些插件都迁回了官方坐标升级时需要调整 groupId旧坐标已移除新坐标官方维护mybatis-plus-solon-plugincom.baomidou:mybatis-plus-solon-pluginmybatis-flex-solon-plugincom.mybatis-flex:mybatis-flex-solon-pluginsa-token-solon-plugincn.dev33:sa-token-solon-pluginliteflow-solon-plugincom.yomahub:liteflow-solon-pluginforest-solon-plugincom.dtflys.forest:forest-solon-pluginsms4j-solon-pluginorg.dromara.sms4j:sms4j-solon-plugindbvisitor-solon-pluginnet.hasor:dbvisitor-solonbean-searcher-solon-plugincn.zhxu:bean-searcher-solon-plugin完整对照表见官方更新说明这里只列了常用的几个。这件事短期会给升级带来一点点麻烦但长期看它让整个生态的协作关系更清晰、更可持续。一个框架走到 v4要考虑的已经不只是自己跑得多快而是整个生态能不能一起走远。6、弃用清理该删的删v4.0 移除了大量历史弃用项主要集中在几个方面升级时编译器会给出提醒按提示替换即可。挑几个高频的说注解层面Bean(priority)→Condition(priority)Bean(injected)→Bean(autoInject)Tran→TransactionAPI 层面SolonApp的路由方法add*/get*/post*/filter*等统一收敛到SolonApp.router()下例如app.get(...)→app.router().get(...)。Utils.async*→RunUtil.async*ChatMessage.template()→ChatMessage.ofUserTmpl()、ChatMessage.augment()→ChatMessage.ofUserAugment()配置层面举例移除配置替代配置server.session.state.domainserver.session.cookieDomainsolon.staticfiles.maxAgesolon.staticfiles.cacheMaxAgesolon.cloud.nacos2.*solon.cloud.nacos.*清理后框架内核继续保持着它一贯的克制身材。7、依赖升级跟上上游v4.0 同步升级了一大批底层依赖让框架始终站在稳定且较新的基础之上。挑几个代表性的Socket.D 升至 2.6.0、FolkMQ 升至 1.8.0