Swagger v4的努力终于取得了丰硕的成果。这是一段不可思议的旅程,我们尤其要感谢我们的社区成员,他们帮助推动了v4版本的进展。他们的贡献使我们能够在发布候选版本过程中快速识别并解决各种错误和异常。
SwaggerUI和SwaggerEditor的主分支都运行在最新版本的React 17.x和Redux 4.x上。除了这两项主要的依赖项更改,我们还更新并精简了许多其他依赖项。这使得依赖项树更加安全、更稳定、更精简。
v4版本发布最显著的优势在于SwaggerUI和SwaggerEditor的插件现在可以使用函数(即功能性)组件以及React 17带来的所有最新功能。这包括Hooks、Context API、新的生命周期方法、新的事件处理程序、错误边界等。
有哪些重大变更?
对于不将SwaggerUI或SwaggerEditor作为React库集成的用户,没有重大变更。v4版本将继续像以前一样支持OpenAPI 3.0.x和Swagger 2.0。对于库维护者而言,引入的唯一重大变更是停止支持旧版本的React和Redux。
为确保平稳升级,在使用v4时,请更新所有React代码以支持React@17。如果这无法实现,替代方案是运行两个版本的React,这被称为渐进式升级。相关指南可在https://github.com/reactjs/react-gradual-upgrade-demo/找到。
SwaggerUI API、插件系统或代码库的任何其他部分都没有其他重大变更。
为何推出新的主要版本(v4)?
过去,SwaggerUI和SwaggerEditor的版本控制遵循OpenAPI规范的版本。当OpenAPI 3.0.0发布时,SwaggerUI和SwaggerEditor也随之发布了各自的v3版本。这种版本控制结构虽然最初易于理解和推广,但在将Swagger作为库集成时存在问题,作为其他库的用户,我们对此深有体会。因此,我们决定放弃这种方法,并在可能的情况下采用语义版本控制。v4版本的发布是向Swagger工具中添加新的和激动人心的功能的开始,所有这些都始于更新到最新可用的精简依赖项树。
今日如何探索Swagger v4
SwaggerUI和SwaggerEditor的v4 npm包已在npmjs.com上可用,并将是最新稳定版本。您可以通过命令行安装这些包,npm install [-D|-S] swagger-ui@4。
3.x分支的生命周期
我们将继续支持3.x分支到2021年11月底。在3.x维护期间,我们将把安全和/或bug修复回溯到3.x分支,并发布v3补丁版本。v3分支将不会添加新功能。