Skip to content

版本历史

This content is not available in your language yet.

这篇文档是升级前的必读材料。在升级版本之前,先查看对应版本的兼容性说明和升级指南。

版本号遵循语义化版本规范:主版本.次版本.修订号

  • 主版本:可能包含破坏性变更
  • 次版本:新增功能,向后兼容
  • 修订号:问题修复,向后兼容

  • 依赖:升级 smart-socket 至 2.0.0
  • ServerServerOptions#setMaxRequestSize 方法调整为链式风格,支持流式配置
  • 协议:修复文件上传场景中文文件名解析乱码问题【ISSUE:IJPD9F】
  • 模型:新增 Anthropic 接口规范适配,支持 Claude 系列模型
  • MCP:废弃 MCP Server 对于 SSE 的适配(规范已过时),仅保留 Streamable HTTP 传输方式
  • Chat:移除 chat 接口的模型定制化逻辑,优先遵循 OpenAI 接口规范,简化多模型适配
  • Chat:新增图像消息支持,支持多模态对话
  • Chat:重构工具调用实体类,优化工具调用流程
  • 模块:移除 feat-cloud-aot-vm 模块
  1. 更新版本号

    <feat.version>2.1.0</feat.version>
  2. 检查 ServerOptions 链式调用

    setMaxRequestSize 现在支持链式调用:

    // v2.1.0 推荐写法
    server.options()
    .setMaxRequestSize(1024 * 1024)
    .setPort(8080);
  3. Feat AI 接口调整

    • 若使用 Anthropic 模型,通过 apiSpec(ApiSpec.ANTHROPIC) 切换 API 规范
    • SSE 传输方式已移除,请使用 Streamable HTTP 方式
变更项影响处理方式
setMaxRequestSize 返回类型支持链式调用可按需链式配置
feat-cloud-aot-vm 模块移除模块不存在移除相关依赖
MCP SSE 传输方式移除功能废弃迁移至 Streamable HTTP
Feat AI Chat 接口重构定制化逻辑移除遵循标准 OpenAI 规范

这是 Feat 项目的一个重要里程碑。我们将开源协议从 AGPL 升级至 Apache 2.0

为什么切换协议?

在项目初期,我们选择 AGPL 旨在保护开源项目的完整性。但随着项目成熟,AGPL 的”传染性”条款对企业用户构成了法律风险,成为阻碍广泛采用的主要因素。

Apache 2.0 已成为企业级开源项目的事实标准(Spring Framework、Kubernetes、TensorFlow 等均采用)。它在保护创作者权益与促进生态繁荣之间取得了良好平衡。

对企业用户的价值

方面变化
商业使用可自由用于商业闭源项目,无需开源义务
专利授权明确的专利使用权,降低知识产权风险
技术选型降低法务审批门槛,加速决策流程
生态参与可自由定制和扩展,促进第三方库发展

v2.0.0 与 v1.x 完全兼容,只需更新版本号:

<feat.version>2.0.0</feat.version>

无需修改任何代码,升级后自动适用 Apache 2.0 协议。


  • Client:重构 GZIP 输入流,支持完整头部解析和异步解码
  • Client:修复 SSE 事件数据换行符转义问题
  • Server:修复静态资源处理器路径解析、HEAD 请求、空指针等问题
  • Server:支持配置静态资源路径
  • Router:支持花括号 {} 形式的路径参数匹配
  • Core:升级 smart-socket 至 1.8.3
  • Agent:实现 ReAct Agent 智能体,支持系统提示词、工具执行钩子
  • Agent:AI 代理工具改为异步执行模式
  • 模型:新增 Kimi-K2.5-Instruct 支持
  • 工具:新增 WebReader 网页阅读器功能
  • 数据库:新增 MyBatis 集成支持
  • 会话:新增分布式会话管理,集成 Redis
  • 部署:新增 Docker 部署支持(JRE 和 Native Image)
  • 打包:新增 Fat Jar 打包支持
  • 路由:RequestMapping 支持 {} 花括号路径参数
  1. 更新版本号

    <feat.version>1.5.0</feat.version>
  2. 处理编译报错

    升级后若出现编译错误,根据错误提示调整代码。

  3. 检查 AsyncResponse 使用

    AsyncResponse.complete() 方法返回类型从 void 变更为 AsyncResponse

    v1.5+
    // v1.4 及之前
    asyncResponse.complete();
    return asyncResponse.complete();
变更项影响处理方式
AsyncResponse.complete() 返回类型有返回值按需要接收返回值
ApplicationContext 设为 final无法继承使用组合而非继承
Feat AI Agent 接口重构多处变更参考新文档调整

  • Client:新增友好的 SSE 接口,更好的赋能 AI 开发
  • Client:HttpClient 支持链路复用和连接资源自动释放
  • Client:支持解析 Content-Encoding: dcz 响应
  • Server:Cookie Name 默认采用 RFC2109 规范
  • Server:支持非 UTF-8 字符集的请求
  • Core:升级 smart-socket 至 1.7.5
  • SSE:适配全新 SSE 接口,提升代码可读性
  • Agent:初步实现通用 Agent 能力,内置多款工具
  • 模型:新增 DeepSeek-V3.2-Exp、DeepSeek-V3_1、Qwen3-8B、Qwen3-32B
  • 性能:异步接收 Form 表单数据,并发性能大幅提升
  • HTTPS:新增 feat.yaml 配置项 $.server.autoSSL 自动启用 HTTPS
  • AOT:优化 AOT VM 模块,对齐 AOT 运行表现
  1. 更新版本号至 1.4.0
  2. 处理编译报错(主要是包路径迁移)
  3. 若使用 Feat AI Agent,注意接口存在不兼容重构
  • feat-core 模块中多个工具类进行包路径迁移
  • feat-ai 模块 Agent 相关接口存在多处重构,未来一段时期内该情况持续存在

  • 静态资源服务迁移至示例模块
  • FeatUtils 增加 isEmptyisNotEmpty 方法
  • 优化 Router 路径参数解析性能
  • 更加规范、统一的接口定义
  • 引入编译期 LICENSE 授权验证机制
  • 剥离 AOT 相关代码作为独立模块
  • 新增 AOT VM 模块,提升本地开发体验
  • Feat AI 模板存在多处接口定义及配置参数重构
  • AOT 相关代码剥离成独立模块,保留原包路径定义,基本保持兼容性

  • 优化 HttpClient 实现,修复已知 bug
  • 启用 SSE 时默认禁用 chunked 响应 header
  • 扩充 ByteTree 初始化缓存值,提升服务性能
  • 版本号定义从 ServerOptions.java 迁移至 Feat.java
  • 新增 MCP 规范实现
  • 新增 @HttpClient 注解,用于发起 HTTP 请求
  • 支持响应结果为 bool 值的 HTTP 接口
  • @Controller 增加 gzip、gzipThreshold 配置项
  • 新增基于注解的 MCP Server 开发能力

  • Router:支持定义相同 URL、不同 HTTP Method 的接口
  • 日志:RunLogger 自动感应日志级别变化,支持动态调整
  • 日志:日志级别环境变量由 smarthttp.log.level 调整为 feat.log.level
  • 工具类:将 DateUtils、GzipUtils、HttpUtils 等统一汇集至 FeatUtils
  • Banner:限制单进程内 Feat Banner 最多输出一次
  • 配置:新增 feat.yaml/feat.yml 配置文件解析,支持 @Value 注入
  • 日志:支持运行时动态调整指定 loggerName 的日志级别
  • 性能:编译器自动将非通配 URI 注册至 ByteTree,提升解析性能

POM 升级

<dependency>
<groupId>tech.smartboot.feat</groupId>
<artifactId>feat-core</artifactId>
<version>1.1.0</version>
</dependency>

代码调整

  • CloudOptions.addExternalBean() 重命名为 registerBean()
  • 废弃工具类:DateUtils、GzipUtils、HttpUtils、NumberUtils、StringUtils、CollectionUtils、Constant、SHA1、WebSocketUtil

Feat 首个正式发布版本,提供完整的企业级 Web 服务开发框架功能。

  • 性能:基于智能异步通信框架,轻松应对高并发场景
  • 协议:支持 HTTP/1.0、HTTP/1.1、HTTP/2、WebSocket、SSE
  • 功能:内置静态资源服务器、灵活路由、RESTful API 支持
  • 部署:快速启动(<1秒),适合容器化和 Serverless 场景
  • 企业级:Feat Cloud 提供类似 Spring Boot 的开发体验
  • AI:Feat AI 模块支持 AI 应用开发

  • 问题反馈Gitee Issues
  • 版本咨询:查看对应版本的微信公众号发布文章
  • 升级支持:在 Issue 中描述你的升级场景,获取针对性建议