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.11.3 リリース

Qt 5.11.3 がリリースされています。5.11系の最終リリースとなります。セキュリティ更新を含む重要なリリースのため、Qt 5.11以前を使用している人は注意してください。

この更新には以下のセキュリティ修正が含まれます。

Qt 5.9.7 には Qt Virtual Keyboard 以外のすべての修正が含まれています。Qt Virtual Keyboard は以下の変更を適用してください。

Qt 5.6.3 には以下の変更を適用してください。

Qt 5.9.7 リリース

Qt 5.9.7 LTS がリリースされました。

LTS(Long Term Support)が Strict フェーズに入ったこともあって、修正がメインです。大きな変更としては macOS 10.14 や Xcode 10 対応が入ったことでしょうか。ただし、ダークモードなどへの対応は行われていないので注意してください。

既知の問題をみるとクラッシュ系の問題などもいくつかありますので、こちらも注意が必要です。

Qt 5.12 LTS β版リリース

Qt 5.12 LTS ベータ版がリリースされました。

5.12 の概要については「Qt 5.12 アルファ版リリース」も参照してください。

5.12 は Long Term Support になります。既に LTS としてリリースされている 5.6, 5.9 についてもリリースアナウンスでは説明があります。

Qt 5.6 は 2019年3月までサポート期間が残っていますが、Very Strict フェーズに移行しており、重大なバグやセキュリティ修正のみが対象となります。新しいパッチリリース(5.6.4)は予定されていません。より新しいマイナーリリースへの移行が推奨されており、実質的にはサポートはほぼ終了している状態です。今も 5.6 を使うのは LGPLv3 が課題となっているケースが多いと思うので、個人的にはサポート期限前に最後のパッチリリースを出して欲しいところですが。

Qt 5.9 は今年の2月から Strict フェーズに移行しており、バグの修正はデグレーションなどの問題が発生しないように慎重に行われています。こちらは 5.9.7 のリリースも予定されており、しばらくはメンテナンスされると思われます。

ちなみに、現在の Qt Project の運営は QUIP で定義されています。LTS の各フェーズや、Qt のリポジトリのブランチの扱い方などに興味がある方は参照してください。Strict フェーズや Very Strict フェーズについては QUIP-0005 に記載されています。

Qt 5.12 アルファ版リリース

Qt 5.12 アルファ版がリリースされました。Qt 5.12 は Qt 5.9 に続く、新たなLTS(Long Term Support)版となります。

オンラインインストーラ使用時には MaintenanceTool を使ってインストールすることも可能です。

Qt Remote Objects モジュールが正式サポートとなりました。

新機能から私が気になったものを以下に挙げます。

“Qt 5.12 アルファ版リリース” の続きを読む

Qt 5.7 アルファ版リリース

Qt 5.7 アルファ版がリリースされました。Qt 5.6.0 が遅れた関係で、アルファ版のリリースそのものは 5.6.0 のリリースの前に行われています。

Qt 5.7 では環境面での変化が大きいため注意してください。

  • ライセンスの整理が行われ、LGPLv2 が選択肢から無くなります。LGPL 版が必要な場合は LGPLv3 のみ選択可能です。また、モジュールによっては LGPL が提供されず、GPLv3 版か商用版のみになります(商用版からオープンソース版が追加されたモジュールなど)。
  • C++11 が必須となります。そのため、利用可能なコンパイラなどが 5.6 までと比べて大きく変わる予定となっています。

5.7 の主な新機能は以下の通りです。

  • Qt WebEngine: Chromium 49 ベースに更新
  • Qt QML: QJSEngine 用デバッガ
  • Qt Quick: QQuickWindow とその派生クラス用インスペクタ
  • Qt Bluetooth: (BLUZのみ) Low Energy peripheral role(子機用API?)
  • Qt 3D: 正式リリース
  • Qt Quick Controls 2: 正式リリース
  • Qt SerialBus: 正式リリース
  • Qt Charts: オープンソース版をリリース
  • Qt Data Visualization: オープンソース版をリリース
  • Qt Virtual Keyboard: オープンソース版をリリース
  • Qt Purchasing: オープンソース版をリリース
  • Qt Quick 2D Renderer: オープンソース版をリリース
  • Qt Wayland Compositor: テクニカルプレビュー版リリース
  • Qt SCXML: テクニカルプレビュー版リリース
  • Qt Script: 非推奨へ
  • Qt Enginio: リリースバイナリから削除

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 リリース” の続きを読む