クロスプラットフォームのGUIフレームワーク「wxWidgets」のメジャーバージョンアップ版「wxWidgets 3.2」が7月7日(現地時間)にリリースされました。
最後のwxWidgetsの安定版「wxWidgets 3.0」以来、9年経過後にリリースされた最新の安定版で、現在、GitHubからライブラリソース、ドキュメント、各種コンパイラ用のバイナリがダウンロード可能です。
wxWidgets 3.2では、CMakeビルドシステムオプションを含むビルドシステムの改善や、macOS 10.14以降のネイティブダークモードのサポート、Arm版macOSのサポートなどが行われています。HiDPIのサポートや、wxWebRequestのHTTPSとHTTP/2のサポート、新しいクラスの追加、既存のクラスの改善、サードパーティライブラリの更新、Waylandのサポート、OpenCL 3.2+のサポート、wxQtポートの試験的サポートも含まれています。また大量のバグフィックスも行われています。
変更点は以下の通りです。
- Build system improvements: support for new compilers (up to MSVS 2022,
g++ 12, clang 14) with an even simpler way of using wxWidgets from
MSVS, withwxwidgets.props
file, as well as an entirely new CMake build
system.- Support for native dark mode under macOS 10.14 and later, support for
ARM hardware and macOS versions up to 13.- High DPI support with the new, but almost perfectly backwards-
compatible, API based on wxBitmapBundle, including per-monitor DPI and
dynamic DPI changes.- New features: HTTPS and HTTP/2 support with wxWebRequest and friends;
support for freezing rows/columns in wxGrid; mouse gesture events
(GSoC 2017 project); non-integer font sizes and arbitrary font weights
in wxFont; fractional pen widths in wxGraphicsContext; arbitrary label
windows in wxStaticBox; markup in wxDataViewCtrl items text; support
for ZIP 64 files; LZMA compression; much improved accessibility
support under MSW; new Edge-based wxWebView implementation; support for
using native spell-checking in wxTextCtrl; new PCRE-based wxRegEx.- New classes: wxActivityIndicator, wxAddRemoveCtrl, wxAppProgressIndicator,
wxBitmapBundle, wxNativeWindow, wxPersistentComboBox,
wxPowerResourceBlocker, wxSecretStore, wxTempFFile, wxUILocale and many new
features in the existing classes.- New XRC handlers for all the new and some of the existing classes.
- Significant improvements to: wxBusyInfo, wxDataViewCtrl, wxDirDialog, wxGrid,
wxNotificationMessage, wxSpinCtrl, wxStaticBox, wxStyledTextCtrl,
wxUIActionSimulator.- Improvements to compile-time safety with the possibility to disable dangerous
implicit conversions between wxString andchar*
strings.- Latest versions of all bundled 3rd party libraries, including all the
security fixes and support for WebKit 2 and GStreamer 1.7 under Unix.- Better, even if still perfectible, Wayland support in wxGTK.
- Revamped OpenGL support better suited to modern OpenGL (3.2+).
- Further C++11 and later support improvements, wxWidgets can be built using
C++20 compilers.- New experimental wxQt port.
- Many, many bug fixes.
これらの変更にもかかわらず、wxWidgets 3.2.0 は wxWidgets 3.0 とほぼ完全に互換性があり、既存のアプリケーションを更新して使用するのにそれほど労力を必要としないとのこと。ただし以前のバージョンからアップグレードする場合、変更履歴ファイルの冒頭にあるる互換性のない変更点のリストを参照することが推奨されています。
変更点の詳細はこちらで確認可能です。