版本对照
knife4j-next 版本 vs Spring Boot 版本
| knife4j-next 版本 | Spring Boot 2.x | Spring Boot 3.x | Spring Boot 4.x | 说明 |
|---|---|---|---|---|
5.7.7 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.16 | ✅ 4.0.8 | 当前版本,依赖维护、共享 React UI 迁移与 WebJar 打包修复 |
5.7.6 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.16 | ✅ 4.0.7 | React UI 调试格式化与表单快照补丁 |
5.7.5 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.16 | ✅ 4.0.7 | React UI JSON 示例与预览折叠补丁 |
5.7.4 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.16 | ✅ 4.0.7 | React UI 示例、诊断与调试响应补丁 |
5.7.3 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.16 | ✅ 4.0.7 | React UI 标签菜单与首页布局补丁 |
5.7.2 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.16 | ✅ 4.0.7 | Vue3 网关头与 Tag 搜索补丁 |
5.7.1 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.16 | ✅ 4.0.7 | OAS 3.1 SchemaEngine 元校验失败重试补丁 |
5.7.0 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.16 | ✅ 4.0.7 | OpenAPI 3.2.x 文档消费 |
5.6.1 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.16 | ✅ 4.0.7 | OAS 3.1 非 ASCII 分组自引用补丁 |
5.6.0 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.16 | ✅ 4.0.7 | 浏览器登录会话调试、枚举过滤与目录吸顶 |
5.5.0 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.16 | ✅ 4.0.7 | OAS 3.1 / JSON Schema 2020-12、受控资源、调试诊断与导出 |
5.4.0 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.16 | ✅ 4.0.7 | 接口工作区、本地数据清理与单接口 OpenAPI 3.0.x 下载 |
5.3.3 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.16 | ✅ 4.0.7 | 动态表单参数补丁 |
5.3.2 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.16 | ✅ 4.0.7 | 离线文档请求与响应示例补丁 |
5.3.1 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.16 | ✅ 4.0.7 | 离线导出契约与请求参数批量选择补丁 |
5.3.0 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.16 | ✅ 4.0.7 | React UI 两级请求参数与配置入口拆分 |
5.2.4 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.16 | ✅ 4.0.7 | React UI 固定布局与区域滚动补丁 |
5.2.3 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.16 | ✅ 4.0.7 | 聚合路由请求头补丁 |
5.2.2 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.16 | ✅ 4.0.7 | 调试枚举/分组校验与文档展示补丁 |
5.2.1 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.16 | ✅ 4.0.7 | 响应文档与调试编辑器补丁 |
5.2.0 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.16 | ✅ 4.0.7 | 分组级全局参数与依赖维护 |
5.1.0 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.0 | ✅ 4.0.6 | 前端体验与国际化 |
5.0.18 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.0 | ✅ 4.0.6 | 补丁修复版本 |
5.0.17 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.0 | ✅ 4.0.6 | 补丁修复版本 |
5.0.16 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.0 | ✅ 4.0.6 | 补丁修复版本 |
5.0.15 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.0 | ✅ 4.0.6 | 补丁修复版本 |
5.0.14 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.0 | ✅ 4.0.6 | 补丁修复版本 |
5.0.13 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.0 | ✅ 4.0.6 | 补丁修复版本 |
5.0.12 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.0 | ✅ 4.0.6 | 补丁修复版本 |
5.0.11 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.0 | ✅ 4.0.6 | 补丁修复版本 |
5.0.10 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.0 | ✅ 4.0.6 | 补丁修复版本 |
5.0.9 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.0 | ✅ 4.0.6 | 补丁修复版本 |
5.0.8 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.0 | ✅ 4.0.6 | 补丁修复版本 |
5.0.7 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.0 | ✅ 4.0.6 | 补丁修复版本 |
5.0.6 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.0 | ✅ 4.0.6 | 补丁修复版本 |
5.0.5 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.0 | ✅ 4.0.6 | 补丁修复版本 |
5.0.4 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.0 | ✅ 4.0.6 | 补丁修复版本 |
5.0.3 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.0 | ✅ 4.0.6 | 补丁修复版本 |
5.0.2 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.0 | ✅ 4.0.6 | 补丁修复版本 |
5.0.1 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.0 | ✅ 4.0.6 | 补丁修复版本 |
5.0.0 | ✅ 2.7.18 | ✅ 3.4.0 ~ 3.5.0 | ❌ | 首个正式稳定版本 |
knife4j-next 从
5.0.0起采用独立 SemVer 版本号,与上游 knife4j 版本号无关。5.7.7包含 Boot4 WebMVC starter、Boot4 Gateway starter、Boot4 独立聚合 starter,以及 Boot 3.5 Gateway Server Web MVC 聚合 starter;可直接使用com.baizhukui:knife4j-openapi3-boot4-spring-boot-starter:5.7.7、com.baizhukui:knife4j-gateway-boot4-spring-boot-starter:5.7.7、com.baizhukui:knife4j-aggregation-boot4-spring-boot-starter:5.7.7和com.baizhukui:knife4j-gateway-webmvc-spring-boot-starter:5.7.7。
5.7.7 依赖更新
5.7.7 在 5.7.6 基线上纳入以下同主版本依赖更新(PR #845)。
| 依赖 | 5.7.6 发布基线 | 5.7.7 发布基线 |
|---|---|---|
| Spring Boot(Boot4 线) | 4.0.7 | 4.0.8 |
| Spring Cloud(Boot4 线) | 2025.1.2 | 2025.1.3 |
| SLF4J | 2.0.18 | 2.0.20 |
| Lombok | 1.18.46 | 1.18.48 |
| Gson | 2.11.0 | 2.14.0 |
| commons-lang3 | 3.20.0 | 3.21.0 |
Java 8 / 17 下限与 Boot 2 / 3 / 4 支持边界保持不变;Boot 2 demo 继续显式使用 SLF4J 1.7.36。 Boot3 Jakarta 线继续使用 springdoc 2.8.9;2.8.17 在现有 Boot3 聚合 smoke 场景启动失败,本轮暂缓。
待发布源码依赖更新
以下变更在 5.7.7 基线上实施,尚未发布,不属于上方历史版本记录。
| 依赖或支持边界 | 5.7.7 基线 | 当前源码 |
|---|---|---|
| springdoc Boot3 Jakarta | 2.8.9 | 2.9.1 |
| Swagger Jakarta annotations / models / core | 2.2.47 | 全部 2.2.55,共享 BOM 与 Boot4 直接依赖一致 |
| Boot3 编译基线 | Boot 3.4.0 / Framework 6.2.0 | Boot 3.4.7 / Framework 6.2.8 |
| Boot3 生成器支持下限 | Boot 3.4.0 / 3.5.0 | Boot 3.4 线 3.4.7;Boot 3.5 线 3.5.1 |
MVC、WebFlux 与独立聚合的 smoke 使用真实 Boot 3.4.7 BOM;Boot35 MVC 使用真实 Boot 3.5.1 BOM,均检查实际 Framework 6.2.8。Gateway 使用自己的既有 Cloud/Boot 组合, 不把生成器的下限套用到所有网关模块。Java 8 / 17 下限不变,Boot4 springdoc 保持 3.0.3。
OAS 3.1 中,raw Java Object 字段及 List<Object> 元素默认省略 type: object,允许任意 JSON 值。这是 Swagger 上游修正。迁移配置见 生成 OpenAPI 3.1 文档。版本组合评估及复现证据见 #844。
核心依赖版本
以下为 knife4j-next 5.7.7 内部管理的依赖版本,用户一般不需要手动指定。
Boot 2.x(非 Jakarta)线
| 依赖 | 版本 |
|---|---|
| Spring Framework | 5.3.31 |
| Spring Boot | 2.7.18 |
| Springfox | 2.10.5 |
| springdoc-openapi | 1.8.0 |
| Swagger 2 models | 1.6.14 |
| Servlet API | 4.0.1 |
Boot 3.x(Jakarta)线
| 依赖 | 版本 |
|---|---|
| Spring Framework | 6.2.0 |
| Spring Boot | 3.4.0 |
| springdoc-openapi Jakarta | 2.8.9 |
| Swagger v3 Jakarta models | 2.2.47 |
| Servlet Jakarta API | 6.1.0 |
smoke-tests 中
boot3-jakarta-app使用 Boot3.4.5,boot35-jakarta-app使用 Boot3.5.0,boot35-gateway-webmvc-app使用 Boot3.5.16,均通过验证。
Boot 4.x(Jakarta)线
| 依赖 | 版本 |
|---|---|
| Spring Boot | 4.0.8 |
| Spring Cloud | 2025.1.3(Gateway 5.x) |
| springdoc-openapi | 3.0.3 |
| Swagger v3 models | 2.2.47 |
| Servlet Jakarta API | 6.1.0 |
smoke-tests 中
boot4-jakarta-app、boot4-gateway-app与boot4-aggregation-app使用 Boot4.0.8,通过验证。
其他共享依赖
| 依赖 | 版本 |
|---|---|
| Java 最低版本 | 1.8(非 Jakarta);17(Jakarta / Boot4) |
| SLF4J | 2.0.20 |
| Gson | 2.14.0 |
| Javassist | 3.30.2-GA |
| Lombok | 1.18.48 |
Upstream 版本对照
| upstream 版本 | knife4j-next 版本 | 说明 |
|---|---|---|
4.5.0(上游 Maven Central 最后发布版本) | 5.7.7 | 当前版本:依赖维护、共享 React UI 迁移与 WebJar 打包修复 |
4.5.0 | 5.7.6 | 包含已合并兼容/安全修复、Boot 3.4/3.5/4.0 兼容、OAS 3.1 支持、OpenAPI 3.2.x 文档消费、SchemaEngine 元校验失败重试、Vue3 网关头与 Tag 搜索、React UI 标签菜单与首页布局、示例展示、Schema 诊断与调试 JSON 响应、JSON 示例与预览层级折叠,以及调试格式化与表单快照补丁 |
4.5.0 | 5.7.5 | React UI JSON 示例与预览层级折叠补丁 |
4.5.0 | 5.7.4 | React UI 示例展示、Schema 诊断与调试 JSON 响应补丁 |
4.5.0 | 5.7.3 | React UI 标签菜单与首页布局补丁 |
4.5.0 | 5.7.2 | Vue3 网关头与 Tag 搜索补丁 |
4.5.0 | 5.7.1 | OAS 3.1 SchemaEngine 元校验失败重试补丁 |
4.5.0 | 5.7.0 | React UI OpenAPI 3.2.x 文档消费 |
4.5.0 | 5.6.1 | OAS 3.1 非 ASCII 分组自引用补丁 |
4.5.0 | 5.6.0 | React UI 浏览器登录会话调试、枚举过滤与目录吸顶 |
4.5.0 | 5.4.0 | React UI 工作区与本地数据治理能力 |
4.5.0 | 5.3.3 | React UI 动态表单参数补丁 |
4.5.0 | 5.3.2 | React UI 离线文档请求与响应示例补丁 |
4.5.0 | 5.3.1 | React UI 离线导出契约与请求参数批量选择补丁 |
4.5.0 | 5.3.0 | React UI 两级请求参数与配置入口拆分 |
4.5.0 | 5.2.4 | React UI 固定布局与区域滚动补丁 |
4.5.0 | 5.2.3 | 聚合路由请求头补丁 |
4.5.0 | 5.2.2 | 调试枚举/分组校验与文档展示补丁 |
4.5.0 | 5.2.1 | 响应文档与调试编辑器补丁 |
4.5.0 | 5.2.0 | React UI 分组级全局参数与依赖维护 |
4.5.0 | 5.1.0 | 前端体验与国际化 |
4.5.0 | 5.0.18 | 补丁修复版本 |
4.5.0 | 5.0.17 | 补丁修复版本 |
4.5.0 | 5.0.16 | 补丁修复版本 |
4.5.0 | 5.0.15 | 补丁修复版本 |
4.5.0 | 5.0.14 | 补丁修复版本 |
4.5.0 | 5.0.13 | 补丁修复版本 |
4.5.0 | 5.0.12 | 补丁修复版本 |
4.5.0 | 5.0.11 | 补丁修复版本 |
4.5.0 | 5.0.10 | 补丁修复版本 |
4.5.0 | 5.0.9 | 补丁修复版本 |
4.5.0 | 5.0.8 | 补丁修复版本 |
4.5.0 | 5.0.7 | 补丁修复版本 |
4.5.0 | 5.0.6 | 补丁修复版本 |
4.5.0 | 5.0.5 | 补丁修复版本 |
4.5.0 | 5.0.4 | 补丁修复版本 |
4.5.0 | 5.0.3 | 补丁修复版本 |
4.5.0 | 5.0.2 | 补丁修复版本 |
4.5.0 | 5.0.1 | 补丁修复版本 |
4.5.0 | 5.0.0 | 首个正式稳定版本 |
如何确认你项目中的实际版本
mvn dependency:tree -Dincludes=com.baizhukui
mvn dependency:tree -Dincludes=org.springdoc
mvn dependency:tree -Dincludes=org.apache.commons:commons-lang3如果 springdoc 版本与上表不一致,说明你的项目中有其他依赖覆盖了版本管理。请检查是否有 BOM 或父 POM 引入了不同版本的 springdoc。
如果安全扫描提示 CVE-2025-48924,重点确认 commons-lang3 是否低于 3.18.0。使用 Spring Boot parent 或 Spring Boot BOM 的应用可能会把 starter 传递声明的 commons-lang3 版本重新管理回 Boot 自带版本;这种情况下需要在应用侧 dependencyManagement 中显式覆盖到 3.20.0 或更高版本。