------------------------------------------------------------------------------- wxWidgets Change Log ------------------------------------------------------------------------------- Note: This file contains the list of changes since wxWidgets 3.x, please see docs/changes_30.txt for the changes in the previous versions. INCOMPATIBLE CHANGES SINCE 3.0.x: ================================= Changes in behaviour not resulting in compilation errors -------------------------------------------------------- - wxRegEx now uses PCRE library, changing the meaning of some regular expressions, please see the "Changes" section in wxRegEx documentation for more details. - wxRibbonButtonBar::DeleteButton() now deletes and not just removes the button. - Default interpolation mode in wxGDIPlusContext under MSW is now wxINTERPOLATION_DEFAULT and not wxINTERPOLATION_GOOD as in 3.0 for consistency with OS X, call SetInterpolationQuality() explicitly if needed. - Calling wxYield() in wxMSW now generates wxEVT_IDLE events, just as in the other ports, but this can be unexpected for the applications not expecting their idle handlers to be called from inside wxYield(). - Creating wxBitmap with 0 width or height now always fails in all ports (it used to succeed in wxMSW). - Using invalid flags with wxBoxSizer or wxGridSizer items now triggers asserts when done from the code or error messages when done in XRC. These asserts are best avoided by fixing the flags, but wxSizerFlags::DisableConsistencyChecks() can be used to globally suppress them until this can be done. Even less intrusively, environment variable WXSUPPRESS_SIZER_FLAGS_CHECK can be set (to any value) to achieve the same effect. - wxWS_EX_VALIDATE_RECURSIVELY is now the default behaviour, i.e. calling Validate() or TransferData{From,To}Window() will now also call the same function for all children. - wxOSX/Carbon port doesn't exist any more, wxOSX/Cocoa will be silently used instead even if configure --with-osx_carbon option is used. - The pure virtual function wxAppTrait::GetToolkitVersion() now has a parameter for getting the micro version. If you override GetToolkitVersion() you need to add this new third parameter. - wxWindow::CreateAccessible() doesn't return accessible object by default anymore and GetOrCreateAccessible() may return NULL, indicating that native system-provided accessibility should be used. - wxMSW port doesn't always let the system process WM_SYSKEYDOWN events any more, make sure to call event.Skip() in your wxEVT_KEY_DOWN and/or wxEVT_CHAR event handlers if you want the standard key combinations such as Alt-Space or Alt-F4 to work. - wxMSW port now uses better appearing but much slower pens for dotted and dashed lines. Use wxPenInfo::LowQuality() or wxPen::SetQuality() to return to the previous version behaviour and performance characteristics if you are drawing many lines using such pens. - wxOSX port uses default button margins for wxBitmapButton by default, for consistency with the other ports. You now need to call SetMargins(0, 0) explicitly if you really don't want to have any margins in your buttons. - wxEVT_AUINOTEBOOK_PAGE_CHANGED event is now sent after changing the page, as expected, and not before doing it. - wxJoystickEvent::GetButtonChange() now returns "1 << N" for the events generated by the button number N under all platforms, whereas it used to return just "N" under Linux and macOS. Use the new GetButtonOrdinal() to update the existing code if necessary. - Generic wxDataViewCtrl now always resizes its last column to fill all the available space, as the GTK+ version always did. - wxGTK wxNotebook::AddPage() doesn't generate any events any more for the first page being added, for consistency with the other ports. - wxGTK wxTextCtrl doesn't generate any wxEVT_TEXT when it's created with non-empty value, for consistency with the other ports. - wxDC::GetTextExtent() returns height of 0 for empty string in wxGTK and wxOSX too now, for consistency with wxMSW and other kinds of wxDC. - wxMSW wxToolBar height now adapts to the height of embedded controls, making the toolbar taller if necessary, rather than making the controls smaller. To return to the previous behaviour, you need to explicitly create controls of smaller size. - wxDC::DrawCheckMark() draws the same shape under all platforms now, use the new wxRendererNative::DrawCheckMark() to draw MSW-specific themed check mark. - wxTE_PROCESS_ENTER must be used to receive wxEVT_TEXT_ENTER events from even multiline wxTextCtrl, conforming to the documentation, but contrary to the previous behaviour in wxMSW, when these events were always generated in this case. Please add wxTE_PROCESS_ENTER style if you relied on the old behaviour. - wxGLCanvas now uses physical pixels on high DPI displays under platforms where they're different from logical ones (wxGTK3, wxOSX). Multiply logical coordinates, e.g. returned by wxWindow::GetSize() by GetContentScaleFactor() before using them with OpenGL functions. - wxGTK now uses wxID_NONE item ID for wxEVT_MENU_HIGHLIGHT events sent when there is no highlighted menu item, instead of wxID_ANY used before, for consistency with wxMSW. - wxListCtrl::GetItemState() in wxMSW now checks the passed in item index for validity, as the generic version under the other platforms already did. - wxAuiNotebook::RemovePage() now hides the removed page, so it needs to be shown again if it is reused in another place. - wxSizer::RecalcSizes() shouldn't be called directly (note that it was never supposed to be called, only implemented), call Layout() instead. - wxFileDialog::GetPath() and wxFileDialog::GetFilename() now assert and return an empty string if called on dialogs with the wxFD_MULTIPLE style. - wxGetInstallPrefix() now returns wxString. - wxChoice::GetString() now consistently asserts when passed an invalid index. - wxSpinCtrlDouble now always resets its value to GetMin() if an invalid text string is passed to its SetValue(wxString) overload after its creation. - wxSpinCtrl::SetValue(wxString) overload doesn't generate any events with wxMSW, which was already the documented behaviour. - wxButton::GetBitmap{Current,Disabled,Focus,Pressed}() only return valid bitmaps in wxMSW if the corresponding Set had been called before, as in the other ports, instead of returning the normal bitmap as fallback in this case. - wxFileName::GetVolume() now returns "\\share" and not just "share" for the UNC paths (i.e. \\share\path\on\remote\server) and "\\?\Volume{GUID}" for the volume GUID paths rather than just "Volume{GUID}" as before. This allows distinguishing them from the drive letters, even for single letter network share name. Changes in behaviour which may result in build errors ----------------------------------------------------- - "webview" library is not included in `wx-config --libs` output any more, you need to request it explicitly, e.g. `wx-config --libs std,webview`. - wxMSW now requires linking with uxtheme.lib, shlwapi.lib and version.lib. This is done automatically in most cases, but if you use a static build of the library with a non-MSVC compiler such as MinGW and do not use wx-config, then you will need to add these libraries to your make or project files yourself. - wxPaintEvent objects can no longer be created by the application code. This was never supposed to work and is now forbidden at compile-time instead of resulting in errors during run-time. - WXWIN_OS_DESCRIPTION doesn't exist any longer, use wxGetOsDescription(). - Never documented and not always available private wxGetClipboardData() function now doesn't exist at all any more in wxMSW, use wxClipboard instead. - wxGraphicsRenderer::CreatePen() now takes wxGraphicsPenInfo and not a wxPen. This only affects code defining its own custom renderers, code just using wxGraphicsContext::CreatePen() continues to compile and work as before. - wx/treebook.h doesn't include wx/treectrl.h (and, via it, wx/textctrl.h) any more, include these headers explicitly from your code if necessary. - wxHtmlDCRenderer::Render() arguments have changed, simply omit the ones not existing in the function signature any more to update the code using it. - wxHtmlCell::AdjustPagebreak() has lost its "known_pagebreaks" argument, update your code if you override this method (you shouldn't be calling it). - wxListCtrl::SetItem() overload taking the column index now returns bool and not long. Its return value hasn't changed, however, and is still always either true or false, so normally the existing code should continue to work. - configure only accepts the options it knows about now and doesn't silently ignore all the rest. If you get errors about unknown options, you may either specify --disable-option-checking argument to continue accepting them (which only ever makes sense if you pass these options to sub-configure scripts) or, e.g. if the error is due to spelling an option name wrongly, fixing or removing its name. - wxTextValidator::Get{In,Ex}cludes() now return a const reference to wxArrayString. Please update your code to use the appropriate setter Set[Char]{In,Ex}cludes(), instead of mutating the internal data directly. - Under macOS, 10.11 SDK is the minimum SDK, building and deploying under 10.10.5 and higher is supported, you must use at least Xcode 7.2.1. - wxOSX Xcode projects no longer include the i386 target by default and, with Xcode 12 or later, build for the arm64 architecture in addition to existing x86_64. See build/osx/wxcocoa.xcconfig for more information. - wxPGProperty ctors are not longer public since this class is intended to be a base class and should not be instantiated directly. - wxIntProperty::DoValidation() and wxFloatProperty::DoValidation() are no longer public since they are helpers intended for internal use only. - wxGridCellAttr ctor taking wxGridCellAttr pointer is now explicit. - wxAuiPaneButton doesn't exist any more, it was never supposed to be used outside of the library, but if you did use, just use "int" button instead. - wxAuiMDIChildFrame now inherits from wxFrame and not wxPanel, you will need to change your code and XRC definitions accordingly. - wxGridEvent methods GetRow() and GetCol() are no longer virtual. - wxImage constructor from XPM data is now explicit, write "wxImage(xpmData)" instead of just "xpmData" if you really need to use it. - wxWindow::DoGetBorderSize() was removed, if you used this non-public function in your code, you can replace it with public GetWindowBorderSize(). - Microsoft Visual Studio 2003 (a.k.a. MSVC 7) is not supported any longer, the minimum required version is now 2005. 3.1.6: (released 2021-06-??) ---------------------------- NOTE: This file is updated only before the release, please use $ git log --notes=changelog --format='%N' v3.1.5..|grep . to see all the change log entries since the last release. To update the notes, fetch them first: $ git fetch origin refs/notes/changelog:refs/notes/changelog then use the following command to update them locally $ git notes --ref=changelog add -m 'wxPort: description.' and finally push it to the server. $ git push origin refs/notes/changelog:refs/notes/changelog If this fails due to a conflict because you had forgotten to run git-fetch first, you can always reset your local notes (LOSING YOUR CHANGES TO THEM, so make sure to make a copy) $ git fetch origin refs/notes/changelog $ git update-ref refs/notes/changelog FETCH_HEAD and then redo "git-notes add" and git-push. 3.1.5: (released 2021-04-14) ---------------------------- All: - Add wxWebRequest with support for HTTPS and HTTP/2 (Tobias Taschner). - Add wxGetCpuArchitectureName() (Lauri Nurmi). - Add support for 64-bit integers to wxConfig. - Add wxFileName::ResolveLink() (Ian McInerney). - Add wxString::utf8_string(). - Use millisecond resolution for wxLog timestamps. - Fix wrong FIFO/sockets detection in wxFileName (atbara46). - Fix search in wxSortedArrayString with custom comparator (Pavel Tyunin). - Allow translations for different versions to co-exist (Andriy Byelikov). - Eliminate really all gcc warnings from wx headers. - Avoid gcc -Wsuggest-override inside wx macros (Teodor Petrov). - Bug fixes and improvements in wxConvAuto (Pavel Tyunin). All (GUI): - Add wxPersistentComboBox to save user input history easily. - Add alpha blending support to wxImage::Paste() (Rachel Mark, Eric Raijmakers). - Add wxImageDataObject for copying wxImage to/from clipboard (Artur Wieczorek). - Add support for user script messages to wxWebView (Tobias Taschner). - Add wxFileHistory::SetMenuPathStyle() (Ian McInerney). - Add wxEVT_GRID_RANGE_SELECT{ING,ED} (Daniel Kulp). - Add wxGrid::wxGridSelectNone selection mode (Gary Allen). - Fix changing in wxGrid with multicells (Dimitri Schoolwerth). - Fix custom date formats in wxGrid. - Improve wxGrid appearance in dark mode (Daniel Kulp). - Optimize handling of attributes in wxGrid (Dimitri Schoolwerth). - Fix infinite loop with auto-wrapped cells in wxGrid (Dimitri Schoolwerth). - Apply data transfer to the window itself too (Ali Kettab). - Add wxUpdateUIEvent::IsCheckable() (Ian McInerney). - Fix wxCaret default ctor (Stefan Brüns). - Improve tooltips handling in wxPropertyGrid (Pavel Tyunin). - Allow extending rules and zebra in wxListCtrl to the whole window (Marcos). - Implement new coordinates conversion functions in wxDC (Artur Wieczorek). - Improve high DPI handling in wxHtmlWindow (Maarten Bent). - Improve selection/focus event generation in wxGenericListCtrl (Ali Kettab). - Improve wxComboCtrl popup positioning (Oleksandra Yushchenka, Maarten Bent). - Add wxRIBBON_ART_PANEL_HOVER_BORDER_[GRADIENT_]COLOUR (Gary Allen). - Add wxRibbonToolBar GetToolByPos() and GetToolRect() (Gary Allen). - Improve tooltips behaviour in wxRibbon (Gary Allen). - Fix resorting wxDataViewCtrl with custom sort order (Jorge Moraleda). - Make combining alignment and centering in wxSizerFlags work in wxGridSizer. - Restore support for loading XRC files from URLs. - Improve support for using default system locale. wxGTK: - Implement EGL-based wxGLCanvas for Wayland (Scott Talbert). - Support Wayland in wxMediaCtrl (Pierluigi Passaro). - Improve wxDataViewCtrl item insertion performance (Sebastien Besombes). - Return more reasonable value from wxSlider::GetBetSize(). - Avoid pixman debug warnings in wxGrid. wxMSW: - Fix infinite repaint loop in wxListCtrl with wxLC_HRULES. - Add real support for monochrome bitmaps to wxMSW (Bill Su). - Allow customizing invalid wxDatePickerCtrl text. - Allow using lower quality but faster pens. - Fix best size of wxDatePickerCtrl with wxDP_ALLOWNONE. - Fix build after STL changes in MSVS 2019 16.6 - Fix using JS in wxWebViewIE with custom scheme (Maarten Bent). - Handle exception in wxEVT_CHAR_HOOK correctly. - Improve high DPI support and custom scheme handlers in IE-based wxWebView (michael). - Preserve ampersands in toolbar tool tooltips. - Support Ctrl-Backspace in non-rich text controls too. wxOSX: - Add wxFullScreenEvent (Tobias Taschner). - Add support for underline and strike-through in markup labels. - Implement wxBitmap ctor from wxCursor (Igor Korot, Maarten Bent). - Improve text controls focus ring appearance. - Improve wxPreferencesEditor appearance under macOS 11. - Significantly speed up wxDataViewCtrl::SetSelections(). - Fix window background tinting on macOS 11 (Václav Slavík). - Fix cosmetic problem in wxSplitterWindow appearance (Andreas Falkenhahn). - Fix bug with double clicking on empty space in wxDataViewCtrl (kurisutsukato). - Fix handling of standard edit commands in context menu. - Fix key events codes for non-ASCII characters (Artur Sochirca). - Fix of accelerators defined in wxAcceleratorTable. - Fix selection after inserting items in wxListBox (Andreas Falkenhahn). - Fix system UI font handling on macOS 11. - Fix truncation of images in wxDataViewCtrl (Andreas Falkenhahn). - Fix wxDataViewCtrl columns resizing (Andreas Falkenhahn). - Generate wxEVT_DATAVIEW_ITEM_EDITING_DONE in wxDataViewCtrl (Andreas Falkenhahn). - Make setting tooltips for non-native windows work again. - Make wxCOL_WIDTH_AUTOSIZE work correctly in wxDataViewCtrl (Andreas Falkenhahn). - Mark wxTextCtrl as dirty before calling the event handler (Hartwig Wiesmann). - Send wxEVT_TEXT when wxComboBox selection changes (Andreas Falkenhahn). - Set and update wxListBox horizontal scrollbar correctly (Andreas Falkenhahn). - Switch to WKWebView for wxWebView implementation (Tobias Taschner). wxQt: - Implement gesture events support (bdbcat). - Implement wxMenuItem::SetFont() (bdbcat). 3.1.4: (released 2020-07-22) ---------------------------- INCOMPATIBLE CHANGES SINCE 3.1.3: - CMake library targets were renamed and now start with 'wx'. In addition, aliases for the libraries have been added using the 'wx::' namespace. For example, the core library is now named wxcore and has alias wx::core. - Building on ARM Apple platforms using configure now targets macOS by default, and not iOS. Please use --with-osx_iphone explicitly if you need the latter. All: - Add natural sort functions (Hugo Elias, PB). - Add wxTempFFile class (Dummy). - Fix bug with multiple leading ".." in wxFileName::Normalize() (Fabian Cenedese). - Improve brush transparency support in wxSVGFileDC (Maarten Bent). - Optionally forbid implicit wxString/char* conversions (Arrigo Marchiori). - Add --disable-tests configure option (Hertatijanto Hartono). All (GUI): - Many wxGrid improvements: - Live-resize wxGrid columns/rows, making it work with wxGTK3 and wxOSX too. - Add activatable editors support, use it for boolean cells. - Add support for copying selected cells to clipboard (Kvaz1r). - Many bug fixes and usability improvements to selection. - Improve wxGridCellChoiceEditor usability (Ian McInerney). - Significantly optimize wxGrid::AutoSizeColumns() for big grids. - Add ellipsization support. - Add support for wxGenericAnimationCtrl to XRC (Ilya Sinitsin). - Add wxDD_SHOW_HIDDEN and wxDD_MULTIPLE wxDirDialog flags (Ian McInerney, PB). - Add wxWebView::SetZoomFactor(float) (Hertatijanto Hartono). - Add wxWindow::DisableFocusFromKeyboard() (Tomay). - Allow overriding wxDataViewModal::HasValue() (Jorge Moraleda). - Call wxAuiManager::UnInit() automatically now. - Fix crash and layout problem in wxGenericDirCtrl (Maarten Bent). - Improve AUI appearance in dark mode (Daniel Kulp, Michel Le Bihan). - Upgrade libjpeg to 9d. - Enable SIMD use in builtin PNG library (Maarten Bent). wxGTK: - Add native wxSearchCtrl implementation (AliKet). - Several bug fixes and improvements in wxSpinCtrl. - Implement wxBU_EXACTFIT support in wxButton (Artur Wieczorek). - Allow using generic wxAnimationCtrl if wanted. - Fix a regression with crashes when using wxBufferedPaintDC. - Fix drawing bitmaps with masks using wxGraphicsContext under GTK2. - Fix position of popup menus on non-primary display. - Make wxUIActionSimulator much more reliable (AliKet). - Fix caret colour in wxTextCtrl with custom colours. wxMSW: - Add Edge-based wxWebView backend (Tobias Taschner). - Add wxUSE_DPI_AWARE_MANIFEST option (Maarten Bent). - Add support for private fonts to Direct2D renderer (Artur Wieczorek). - Adjust sizer borders on DPI change too (Maarten Bent). - Allow showing only scalable fonts in wxFontDialog (Gilbert Pelletier). - Fix building with gcc 10.1 in C++20 mode (PB). - Fix flicker when resizing MDI frames (Richard Reznicek). - Fix position of IME in wxSTC (wangqr). - Fix wxWindow::Reparent() for TLWs (Danail Stoychev). - Improve TAB handling in wxListBox (Artur Sochirca). - Make CMake build using MinGW consistent with configure (Maarten Bent). - Make wxDC::GetExtent() much faster (and a bit less precise). wxOSX: - Add support for macOS 11. - Make wxOverlay work under macOS Mojave and later. - Allow disabling automatic tabbing (Ian McInerney). - Avoid duplicate key down events for Ctrl-O. - Fix event generation, notably for mouse clicks, on wxStaticBitmap. - Make shaped windows work again. - Fix bugs in client size computation for some controls. - Invalidate display cache when system configuration changes. - Fix not showing more than 13 combobox items under 10.13+ (Dan Korn). - Fix regression with child process IO redirection in 3.1.3. - Fix regression with copying to clipboard in 3.1.3. - Fix wxMediaCtrl::Seek() for sub-second resolution (Scott Talbert). - Improve wxTextCtrl and wxSpinCtrl sizing (wangqr). - Send EVT_MENU_HIGHLIGHT when menu items are unhighlighted (Ian McInerney). - Stop including SDK headers from public wx headers (Lauri Nurmi). - Support background colour in wxDataViewCtrl attributes (Ian McInerney). wxiOS: - Fix bundled libpng to not crash on iOS < 10.13 (maccy2). - Implement wxMenu. wxQt: - Fix build with Qt 5.15 (Stefan Brüns). 3.1.3: (released 2019-10-28) ---------------------------- INCOMPATIBLE CHANGES SINCE 3.1.2: - New wxTranslations::GetAcceptableTranslations() method was problematic and was removed, fixing various regressions in wxTranslations::AddCatalog() that were introduced by it. Thanks to Tomasz Słodkowicz and Dummy for reporting this and providing fixes for it. All: - Add C++20-style wxString::starts_with()/ends_with() functions (Lauri Nurmi). - Add Croation translations (Milo Ivir). - Add wxRegEx::QuoteMeta() (Tomay). - Fix MIME type for wxFSFile obtained from wxHTTP. - Support nullptr in wxPrintf() etc. - Allow specifying optional libs in WX_CONFIG_CHECK (Juha Sointusalo). All (GUI): - Add support for freezing columns and/or rows in wxGrid (Lucian Rotariu) - Fix wxInfoBar close button size in high DPI (Stefan Ziegler). - Make disabling the window before creating it actually work. - Implement wxAuiNotebook::GetBestSize() (Sebastian Walderich). - Add support for editing dates (without time) to wxGrid (Pavel Kalugin). - Allow changing tooltip text for button allowing to enter a new string in wxPGArrayEditorDialog. - Fix wxPropertyGrid issues with horizontal scrolling. - Add wxPG_DIALOG_TITLE wxPGProperty attribute. - Add support for creating a wxGraphicsPen with a gradient. - Add support for applying a transformation matrix to a gradient. - Fix and unify drawing wxBitmap with both alpha channel and mask under all platforms. - Improve AUI notebook appearance in high DPI (Paul Kulchenko). - Add XRC handler for wxDataViewCtrl (Anton Triest). - Add XRC handler for wxInfoBar (Илья Синицын). - Add support for checkboxes to virtual wxListCtrl too (Maarten Bent). - Add wxBusyInfo::Update{Text,Label}() (Kvaz1r). - Add wxDCTextBgColourChanger and wxDCTextBgModeChanger (Vsevolod V Gromov). - Add wxFD_SHOW_HIDDEN flag to wxFileDialog (Igor Korot). - Add wxRendererNative::DrawCheckMark() (Maarten Bent). - Add wxSystemAppearance, notably useful for macOS dark mode checks. - Allow expanding environment variables in XRC file paths (ousnius). - Enhance support for underlining in wxTextCtrl. - Fix spurious asserts in wxBoxSizer when wxSHAPED is used. - Fix wxWrapSizer minimum size calculations (Илья Синицын). - Improve popups appearance and behaviour in wxSTC (New Pagodi). - Improve wxHtmlWindow selection appearance and behaviour (Павел Калугин). wxGTK: - Invalidate selection after deleting wxListBox item with GTK+ 3 too. - Add support for ticks to wxSlider (Iwbnwif Yiw). - Fix two-finger scrolling under Wayland (Scott Talbert). - Fix wxEVT_KEY_DOWN for non-ASCII characters (Scott Talbert). - Fix crash in wxDataViewTreeCtrl::DeleteAllItems(). - Make wxDataViewModel::Cleared() behave consistently with the other ports. - Fix best size computation for multiline wxTextCtrl. - Fix best size computation for wxGauge (Iwbnwif Yiw). wxMSW: - Add support for per-monitor DPI under new enough OS versions (Maarten Bent). - Add MSVS 2019 support. - Fix passing Unicode strings via wxIPC when using DDE. - Improve wxDataViewCtrl performance with variable line heights (Jens Goepfert). - Add EVT_COLOURPICKER_CURRENT_CHANGED (Trylz). - Fix linking of monolithic library with MinGW (Jannick). - Support fill mode in GDI+ and D2D graphics contexts (Maarten Bent). - Add wxFileDialog::GetCurrentlySelectedFilterIndex() (QuentinC). - Add wxPU_CONTAINS_CONTROLS style for popups (New Pagodi). - Add wxWebViewIE::MSWSetEmulationLevel() (Chilau He). - Allow showing ToC/search in wxCHMHelpController (Andreas Falkenhahn) - Fix RegisterHotKey() work with WXK_XXX. - Fix changing wxSpinCtrl colours (Kvaz1r). - Fix compilation in deprecated ANSI build mode. - Fix drawing cross hair on wxDC. - Fix input handling bugs in text controls with autocompleters. - Fix pasting very long strings into wxTextCtrl. - Fix resetting columns images in wxListCtrl (followait). - Optimize drawing solid vertical and horizontal lines on wxDC - Recognize UTF-8 system encoding supported in latest MSW 10 versions. - Work around nVidia bug with OpenGL and coloured buttons. - Handle Ctrl+A in focused wxTextCtrl instead of always as an accelerator. wxOSX: - Support for macOS Mojave and later dark mode. - Fix crash in wxGauge with wxGA_PROGRESS (Konstantin Matveyev). - Fix crash when pasting from clipboard (Tim Kosse). - Fix dragging files (Dan Gudmundsson). - Fix fetching sub-bitmap from wxBitmap with maskAll - Fix wxPOPUP_WINDOW style (Dan Korn). - Make it possible to play wxSound again (frustum). - Allow setting focus before showing the window. - Fix order of accelerators handling, giving priority to focused window. - Don't stop TAB navigation on wxRadioBox when full keyboard access is off. wxQt: - Too many changes to list. Thanks to Graham Dawes, Jay Nabonne, Matthew Griffin, Liam Treacy, Chris Lemin, Cătălin Răceanu, Richard Smith, Mick Waites and others. 3.1.2: (released 2018-12-10) ---------------------------- All: - Add wxLZMA{Input,Output}Stream classes using external liblzma. - Make wxList and wxVector iterators conform to input iterator requirements. - Fix MT-safety problem when reading and writing from wxSocket (jkubalik). - Fix build issues under HaikuOS (mill-j). - Fix problem with wx-config installation and use under NetBSD (wiz). - Avoid spurious errors on thread creation under NetBSD. - Improve high DPI support in wxAui (Simon Rozman). - Fix a bug with parsing time zones in wxDateTime::ParseFormat() (evileye). - Update all 3rd party libraries to their latest versions (Maarten Bent). All (GUI): - wxAdvanced library was merged into wxCore, simply remove all references to "adv" from your build system, it is not needed any longer. - Add support for non-integer font sizes (e.g. 10.5pt fonts). - Add support for font weights in 1..1000 interval and not just light/bold. - Add wxDataViewToggleRenderer::ShowAsRadio(). - Improve stock items consistency and aesthetics (dhowland). - Fix bug with missing items in overflowing AUI toolbar (Maarten Bent). - Revert to left-aligning wxSpinCtrl contents by default. - Make wxRibbonButtonBar buttons more customizable (Max Maisel). - Add wxHtmlEasyPrinting::SetPromptMode() (pavel-t). - Fix possible infinite loop in wxHtmlWindow layout (trivia21). - Add "hint" property support to XRC for wxComboBox and wxSearchCtrl. - Add support for style="page-break-inside:avoid" to