本記事は「Qt 6.1 Released」の抄訳です。Qt 6.1のリリースを発表しました!Qt 6.1は、Qt 6シリーズ最初のマイナーバージョンアップデートです。
Qt 6.1では、Qt 5.15以降(Qt 6以前)にサポートしていたアドオンモジュールの多くをコンパイルすることに最大の焦点を当てました。新たに移植したモジュールは以下のとおりです。
これらのモジュールの追加により、Qt 6.0でサポートされていなかったQt 5.15のさまざまな機能を再びご利用いただけるようになります。Qt 6.2ではさらにいくつかのモジュールを追加できるよう現在作業中です。詳細は、Qt 2021年のロードマップに関するブログ投稿でご確認ください。
Qt 6.1では、Qt 6.0やQt 5.15で報告された多数のバグを修正しています。これらのバグ修正は、上記のモジュール追加に次ぐ今回の重点課題でした。バグ修正については、Qt 6.2のリリースに向けて今後も注力していく計画です。なお、Qt 6.2はQt 6シリーズ最初の長期サポート(LTS)としてリリース予定です。
当然ながら、Qt 6.1ではQt 6.0にあったモジュールへの新機能の追加も行っています。この投稿ではその一部をご紹介しますが、新機能の全容はリリースノートと新機能に関する弊社のwikiページでご確認ください。
Qt Coreに関しては、APIの利便性とシンプルさを高めることに力を注ぎました。多くのクラスにremoveif()メソッドを追加し、erase_if()のサポートを拡張した点が、特に大きな変更点です。また、QStringViewに不足していた複数のメソッドを追加して、QString APIをより確実にミラーリングできるようにしました。さらに、オーバーフローしない加減乗除機能を追加し、16 bit浮動小数点値へのサポートも向上させました。Qt 6.0で採用したプロパティバインディングについては、APIの調整を行っています。その他の特筆すべき新機能として、Java、QJniEnvironment、およびQJniObjectとの統合を合理化する新たなクラスの追加があります。なお、これらは主にAndroid向けです。
Qt Guiに関しては、新たにQUrlResourceProviderクラスを追加しました。このクラスを使うことで、QTextDocumentのサブクラス化とloadResource()の再実行が不要になります。QLabelでの利用も可能です。また、Vulkan APIラッパーのVulkan 1.1および1.2のサポートを向上したほか、QColorSpaceでカスタムの伝達関数が使えるようになりました。
Qt Networkでは、システムの到達可能性を確認できるQNetworkInformationクラスを追加したほか、SameSite Cookieをサポートするようになりました。
Qt Qmlについては、QJSPrimitiveValueおよびQJSManagedValueを新たに提供し、QJSValueのみの場合よりも JavaScript の実行を細かく制御することが可能になっています。
Qt Quick 3Dは、モーフターゲットアニメーションをサポートするようになりました。また、
インスタンスレンダリングおよび3Dパーティクルもテクノロジープレビューレベルでサポートしています。インスタンスレンダリングは、ひとつのシーンで同じアイテムを大量にレンダリングする場合のレンダリング性能を著しく改善します。3Dパーティクルは、インスタンスレンダリングを用いてパーティクル効果を上げます。いずれの機能も、Qt 6.2で100%サポートする見通しです。
さらに、Qt for Pythonのアップデート版を近くリリースし、Qt 6.1の追加モジュールをサポートする計画です。新しいQt for Pythonは外部のデプロイメントツールへのサポートを向上させるほか、市販ツールのテクニカルプレビューも提供します。数日中にもブログ投稿で詳細をお伝えしますので、楽しみにお待ちください。
Qt 6.1は 商用サブスクリプションライセンスユーザー、オープンソースユーザーのいずれも、ダウンロードページまたはオンラインインストーラを使って入手していただけます。古い商用ライセンス(サブスクリプションではない商用ライセンス)のユーザーの皆様は、Qt Accountから簡単にQt 6.1をお試しいただけます。Qt 6ライセンスに関する詳細はFAQでご確認ください。
Qt 6.1は、多くの皆様による数々の尽力とご協力により実現されました。パッチの作成に携わってくださった方々の一覧、ならびに詳細なリリースノートはこちらでご確認いただけます。パッチ作成、バグレポート、あるいは議論に熱心に参加してくださったすべての皆様に感謝を申し上げます。