Qt 5 の未来は明るいブログ

まもなく Qt 5.3 の Feature Freeze です

Published: 2014-01-18 / Last modified: 2014-01-18

12月の中旬に Qt 5.2 がリリースされて1ヶ月ほどしか経過していませんが、Qt Releasing MLQt 5.3 Feature freeze is coming quite soon... という案内が流れてきました。

Qt 5.3 は今年の春のリリースを予定しているため、Feature Freeze は2月14日になります。開発期間は4ヶ月程度と短いですが、これには Qt 5 のリリース当初に計画していた春/秋の年2回のリリースサイクル化を実現するという目的があります。

現在までのところ Qt 5.3 の新機能の大きなものとしては WebSocket の対応(C++/QML)が提案されていて、QtNetwork の機能の一部となる方向で議論が進められています。

新機能を Feature Freeze に間に合わせるための条件は以下のようになっています。

  • すべてのリファレンスプラットフォームでコンパイルが通ること(特定のプラットフォーム向けの機能については、それ以外のプラットフォームでなにもしないこと)
  • テストを実装していること。新機能についてはできる限りのテストをするようにしましょう。自動テストでカバーされていない領域については、どのようにテストされる予定かを明確にしておく必要があります。
  • ドキュメントがあること。ドキュメントがないパブリックな API は許されません。Feature Freeze までに基本的なドキュメントはすべて揃っている必要があります。
  • サンプルがあること。その API を使うサンプルをいくつか用意してください。ドキュメントから参照できるようになっている必要があります。

これに加え、モジュール(QtCore のような)の追加の際には以下の条件を満たす必要もあります。

  • Qt モジュールのブランチのスキーマに従う。dev/stable/release ブランチが必要です。新規モジュールの場合、Feature Freeze の時点では dev だけでもかまいません。
  • CI システムがあること。新しいモジュールを Qt のリリースに含めるには CI システムのセットアップが必要です。

新しい API を導入したいと思っている方はお急ぎあれ。