wxWidgets is a C++ library that lets developers create applications for
Windows, macOS, Linux and other platforms with a single code base. It
has popular language bindings for
Python
,
Ruby
,
Lua
,
Perl
and
several other languages, and unlike other cross-platform toolkits,
wxWidgets gives applications a truly native look and feel because it
uses the platform's native API rather than emulating the GUI. It's also
extensive, free, open-source and mature.
Posted on
wxWidgets 3.3.1 has been released and is now
available on GitHub
, from
where you can download archives with the library sources and documentation as
binaries for the selected Windows compilers. Documentation for this version is
now also
available online
or can be downloaded from the link above for
the offline use. In particular, if you are new to wxWidgets, you may find the
installation guide
a good starting point.
This is a second release in the 3.3 series and comes soon after 3.3.0 as it
contains a number of important fixes for the regressions and other bugs found
in 3.3.0. Please update to this release if you are already using 3.3.0 as it is
fully compatible with it.
The most important fixes since 3.3.0 include:
Restore Windows date/time pickers behaviour under non-English OS (
#25511
).
Fix crash on startup under macOS when using Farsi as system language (
#25561
).
Fix losing
wxGenericListCtrl
contents after
AppendColumn()
(
#25519
).
Fix crash when sorting
wxDataViewCtrl
in wxGTK in some circumstances (
#25625
).
Fix crash when using per-window menu in Windows MDI applications (
#25522
).
Restore inadvertently broken API compatibility in
wxPropertyGrid
(
#25627
).
There were also a number of fixes to the new Windows dark mode support:
Fix crash with
wxStaticBitmap
inside
wxNotebook
in dark mode (
#25499
).
Fix disabled
wxButton
bitmaps appearance in dark mode (
#25575
).
Fix disabled
wxStaticText
appearance in dark mode (
#25574
).
Fix notebook background in dark high contrast themes (
#25542
).
Fix regression in
wxDataViewCtrl
border in light mode (
#25532
).
Fix selected toolbar buttons in dark mode (
#25616
).
Fix
wxComboCtrl
appearance in dark mode (
#23766
).
Fix
wxTE_RICH
wxTextCtrl
appearance in dark mode (
#25602
).
And, finally, this release also contains a small number of new features:
Please see the
change log
for a fuller list of the other
improvements and the
previous release announcement
for the
description of changes in wxWidgets 3.3 compared to the previous stable 3.2 branch.
Note that in spite of all these changes, wxWidgets 3.3.1 is almost fully
compatible with wxWidgets 3.2 and updating the existing applications to use it
shouldn’t require much effort. However please make sure to read the
“INCOMPATIBLE CHANGES” section of the change log when upgrading to be aware of
the breaking changes in it.
Thanks to all the people who have contributed to this release and we hope you
will find it useful and will enjoy working with it!
wxWidgets 3.3.0 has been released today,
as planned
, and is now
available on GitHub
, from where you can download archives with the
library sources and documentation as well as binaries for the selected Windows
compilers. Documentation for this version is now also
available online
or can be downloaded from the link above for the offline use. In particular,
if you are new to wxWidgets, you may find the
installation guide
a
good starting point.
This is the first release in the 3.3 development branch, bringing many new
features and improvements compared to the stable 3.2 branch while remaining
mostly API-compatible with it. Please note that even if this is not a “stable”
release, it is still considered to be suitable for production use, the only
difference with the stable releases is that API and ABI compatibility are not
guaranteed for the releases in this series. In practice, however,
backwards-incompatible API changes are expected to be rare.
With more than 5300 commits since 3.2, there are too many changes to list them
all here, but here are some of the most important ones:
wxWebView
has gained a new Chrome-based backend and many other more minor
new features and improvements.
Support for pinned and multiline tabs was added to
wxAuiNotebook
.
wxImage
now supports images in WebP format.
Support for high DPI cursors and animations was added.
All included third party libraries have been updated to their latest
versions.
The library now builds with the latest compilers (gcc 15, clang 19/Xcode 16)
and using recent C++ standards.
Please see the
change log
for a fuller, even if still incomplete,
list of the other improvements. Note that in spite of all these changes,
wxWidgets 3.3 is almost fully compatible with wxWidgets 3.2 and updating the
existing applications to use it shouldn’t require much effort. However please
make sure to read the “INCOMPATIBLE CHANGES” section of the change log when
upgrading to be aware of the breaking changes in it.
Thanks to all the people who have contributed to this release, including 180
unique committers and many others who have helped by reporting bugs, providing
support, making translations or otherwise contributing to the project! We hope
you will find it useful and will enjoy working with it!
New 3.2.8.1 maintenance release is now
available on GitHub
. This
is a hot fix release fixing a couple of regressions in 3.2.8 related to ELF
symbol versions, as the changes improving their handling done in 3.2.8 broke
the build when using custom library flavour (i.e.
--with-flavour
configure
option, see
#25436
) and also building using LTO with clang (
#25438
).
There are no other changes in this release compared to 3.2.8, so please refer
to this
release announcement
for more
details about the changes since 3.2.7 and more links.
Posted on
3.2.8 is the latest maintenance release in the stable 3.2 series and is now
available on GitHub
, from where you can download 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 online and, in particular, if you’re new to wxWidgets, you may find
the
installation guide
a good starting point.
Changes since 3.2.7
The focus of this release, coming soon after the previous one, is to fix
several problems found in
3.2.7
:
Fix crash in
wxPropertyGrid
with wxGTK3 after recent change (
#25286
).
Fix padding of
wxMenu
in high DPI under Windows 11 (
#25117
).
Fix key codes in
WXK_NUMPADx
events in wxGTK (
#25263
).
Fix ABI breakage for versioned symbols in 3.2.7 (
#25327
).
Fix third party libraries build with Xcode 16.3.
Fix using OpenGL and WebView when using CMake install (
#25266
).
But it still contains a couple of enhancements, including:
This release is API and ABI-compatible with the previous 3.2.x releases, so
the existing applications don’t even need to be rebuilt to profit from all the
fixes above if they use shared/dynamic libraries. And if they do need to be
recompiled, this can be done without any changes to the code.
Feedback
Please let us know about your experience with this release via any of the
following channels:
A comprehensive collection of wxWidgets example applications is now available to the community. These applications were originally developed as supplementary material for the Polish book
Cross-Platform Programming with C++ and wxWidgets 3
and are now publicly accessible on GitHub in the dedicated
repository
All example applications are released under the wxWidgets License.
Repository Contents
The repository contains more than 25 example applications, showcasing various wxWidgets functionalities. These include, among others:
User interface components and custom controls
File handling, logging, and system operations
Networking (HTTP, FTP, and Socket communication)
Multithreading
OpenGL and 3D graphics
Developing a custom code editor with wxScintilla
Additionally, some projects demonstrate more advanced features, making them useful for both beginners and experienced developers looking to integrate wxWidgets into their applications.
All the examples were tested on:
Windows 11 (Visual Studio 2022, wxWidgets 3.3.x)
Linux Mint 22 (wxWidgets 3.2.6)
Each project includes configuration files for Visual Studio, Code::Blocks, and Makefile, ensuring compatibility across different development environments.
All examples have been fully translated into English to support a global audience of developers.
All projects have been re-tested, updated, and adapted to the latest versions of wxWidgets and C++20, ensuring modern compatibility and performance.
The repository also includes the
upgrade_wxwidgets.py
script, which facilitates both upgrading and adapting projects to any version of the wxWidgets library.
This resource provides an excellent starting point for developers interested in exploring wxWidgets through working examples. Users are encouraged to review the code and adapt it to their own projects.