Qt 5.12 LTS リリース

Qt 5.12.0 がリリースされています。Qt 5.12 は 3 年間のサポート期間を持つ、5.6、5.9 に続く新しい Long Term Supported(LTS) バージョンとなります。Qt 5.12.0 は 5.9.7 からは 2000 以上、5.6.3 からは 5000 以上のバグが修正されています。

新しいプラットフォーム

Qt 5.12 から Python に正式に対応します。厳密には Qt for Python は別のリリースとなるため、Qt 5.12.0 リリース後に Qt for Python を別途リリースする形となります。

また、Qt for WebAssembly が2度目のテクニカルプレビューとなっています。Qt for WebAssembly を使うと最近の Web ブラウザ上で Qt アプリケーションを動かすことができるようになります。詳しくは「Qt for WebAssembly」を参照してください

新しいモジュール

Qt Remote Objects が正式にリリースされました。Qt Reote Objects はプロセス間通信(IPC)を行うためのモジュールです。別プロセスの QObject のプロパティやシグナル・スロットをこのモジュールを通じてアクセスできるようになります。

Qt WebGL Streaming Plugin を使うと Qt アプリケーションの画面を WebGL 経由でWeb ブラウザで表示させることができるようになります。

Qt QML & Qt Quick

QMLのJavaScriptエンジンが ECMAScript 5 から ECMAScript 7 対応へとアップグレードされました。また、ECMAScript モジュールへの対応も追加されています。

Qt Quick では TableView タイプの追加、新しい入力系対応タイプである Input Handler、Qt Quick Controls 2 への新機能の追加などが行われました。また、フォントのグリフのキャッシュ(pre-generating distance field textures)機能も追加されました。

Qt Core & Qt Network

Qt Core では CBOR(Concise Binary Object Representation)がサポートされました。また、 QRegularExpression クラスでワイルドカードがサポートされ、それにともない QRegExp クラスが非推奨(deprecate)となりました。

Qt Network では DTLS over UDP のサポートや、macOS, iOS で TransportSecurity バックエンド経由の ALPN や HTTP/2 のサポートが追加されました。

この他にも多数の変更が行われています。

Qt 5.6.0 リリース

Qt 5.6.0 がリリースされました。

当初の予定から三ヶ月遅れましたが、ようやく Qt 5.6 がリリースされました。Qt 5.6 は 最低3年間サポートする Long Term Support(LTS) 版となります。商用版のサポートを利用している人はこれまでも2年以上の期間のサポートされていましたので、そんなに変わらないのではないかと思われるかもしれません。しかし、Qt Project のサポートと The Qt Company のサポートは意味合いが全く異なることに注意してください。

これまでの Qt のリリースポリシーでは「パッチは基本的に最新バージョンにのみ適用(セキュリティパッチは除く)」としていました。メジャーバージョンの変更時(ex. Qt4 → Qt5)では古いバージョンが長くメンテナンスされることもありましたが、バグ修正は基本的に最新版に対して行われ、旧バージョンが修正されるかどうかはケースバイケースでした。また、商用サポートでは Q&A に対応してバックポートパッチを出すことはありますがマイナーバージョンが古い Qt が継続的に修正されることはありません。このため、これまでは新しいマイナーバージョンが出ると古いマイナーバージョンが新しくリリースされることはありませんでした。

Qt 5.6 の LTS ではサポート期間バグ修正を行い、パッチリリース(5.6.x)を続けることになっています。

なお、Qt 5.6 は C++11 を必要としない最後の Qt となる予定です。

Qt 5.6 の主な変更点は以下の通りです。

“Qt 5.6.0 リリース” の続きを読む