SwaggerUI v4とSwaggerEditor v4の新機能

  2021年11月03日

Swagger v4の取り組みがついに実を結びました。素晴らしい道のりでした。特に、v4の取り組みの進捗を支援してくれたコミュニティメンバーに感謝いたします。彼らの貢献により、リリース候補のプロセス全体でさまざまなバグや異常を迅速に特定し、解決することができました。

SwaggerUISwaggerEditorの主要ブランチは、React 17.xおよびRedux 4.xの最新バージョンで動作しています。これら2つの主要な依存関係の変更に加えて、他の多くの依存関係を更新および整理しました。これにより、より安全で、より安定し、より合理化された依存関係ツリーが実現します。

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をサポートするように更新してください。これが不可能な場合は、*段階的アップグレード*として知られる方法で2つのバージョンの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のメンテナンス期間中、セキュリティ修正やバグ修正を3.xブランチにバックポートし、v3パッチリリースを発行します。v3ブランチに新しい機能が追加されることはありません。