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 Creator 4.8.0 リリース

Qt Creator 4.8.0 がリリースされています。

Language Server Protocol

実験的ですが「Language Server Protocol」に対応しました。Language Server Protocol(LSP)は統合開発環境(IDE)やコーディング向けエディタで重要なコード補完やナビゲーション、コード診断などの機能を提供するためのプロトコルです。元々は Microsoft が Visual Studio Code 向けに開発したものをオープンソース化したもので、LSP を使用することで様々なプログラミング言語への対応を比較的容易にIDEに実装することができます。

Qt Creator では主に Qt for Python のサポートのために LSP を使用しています。コード全体のハイライトなど LSP がサポートしていない機能もあることや、QML 用の LSP 実装が存在していない(QTBUG-68406)こともあり、これまでの C++/QML 向けコードも出るの実装が LSP に統一されるかどうかはまだ不明です。

C++

Clangコードモデルが LLVM 7.0 ベースになるなど、C++関連にもいくつかの更新が行われています。実験的な機能ですが Compilation Database のエクスポートやプロジェクトとしてのインポートにも対応しました。

デバッグ

複数のデバッガをQt Creator内で同時に起動することができるようになりました。

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 Creator 4.8 ベータ版リリース

Qt Creator 4.8 ベータ版がリリースされました。

Qt Creator 4.8 では実験的な機能として Language Server Protocol(以下LSP) のサポートが実装されました。LSPとは元々は Microsoft 社が Visual Studio Code の実装に利用していたプロトコルを公開したもので、IDEやエディタなどで重要なコード補完やシンボルへのジャンプなどのプログラミングで利用頻度の高い高度な機能をプロトコル化したものです。LSP や各言語向けのその実装を利用することで、IDE側は比較的容易に対応するプログラミング言語を増やすことが可能となります。

Qt Creator では LSP を主に Python をサポートするために使用しています。実験的な機能のためデフォルトでは無効化されているため、「ヘルプ」→「プラグインについて」から「LanguageClient」を有効化する必要があります。また、LSPのサーバや設定も同梱されていないため、別途インストールや設定が必要です。

C++やQMLについては現状は既存のコードモデル(C++はClangコードモデル)が利用されています。QML向けLanguage Serverの実装も計画されていますが、現状ではシンタックスハイライトやインデント対応など、LSPだけでは実現できない機能もあるようで、今後がLSPに統一されるかどうかは不明なようです。

この他、Compilation Database や Clang format ベースのインデント機能、Cppcheck を用いた診断機能などが実験的な機能として追加されました。

また、デバッグ機能でデバッガを複数プロセス起動することも可能となりました。

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 Creator 4.7.1 リリース

Qt Creator 4.7.1 がリリースされました。

Qt Creator 4.7.0 の Windows 版では内部で QT_OPENGL 環境変数を設定していた関係で、ユーザーアプリの動作への影響が発生していました。4.7.1 では環境変数を設定を無くしました。Qt Quick や OpenGL 系の動作に影響していましたので、Windows で Qt Creator 4.7.0 を使用していた人は更新をお勧めします。

Qt 5.12 アルファ版リリース

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

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

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

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

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