Thursday, July 7, 2022

WxWidgets 3.2.0 Released

wxWidgets 3.2.0 Released

Posted on

After almost 9 years since the beginning of the last wxWidgets stable release series, the first release in the new stable 3.2 series is finally available on GitHub. You will find there archives with the library sources and documentation as well as binaries for the selected Windows compilers such as Microsoft Visual C++, MinGW-w64 and TDM-GCC. You can also read the updated documentation for this version and, in particular, if you’re new to wxWidgets, you may find the installation guide a good starting point.

Changes in this release

This release is a culmination of many years of development since the last stable 3.0 release. It contains more than 15,000 commits from more than 400 unique contributors (including more than 200 with multiple contributions) and has too many improvements to list them all here, but here is a maximally condensed summary of the most important ones:

  • 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, with wxwidgets.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 and char* 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.

Note that in spite of all these changes, wxWidgets 3.2.0 is almost fully compatible with wxWidgets 3.0 and updating the existing applications to use it shouldn’t require much effort. But please do read the (relatively short) section listing the incompatible changes in the beginning of the change log file if you’re upgrading from a previous wxWidgets version.

Feedback

Please let us know about your experience with this release via any of the following channels:

Or by commenting under this post.

Thanks to everybody who has contributed to this release and we hope that you will enjoy working with it!

Comments



from Hacker News https://ift.tt/cT18gzL

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.