From 304f1739242235fee2f200a4e0999afee7a33e91 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Mon, 11 Jul 2022 00:21:21 +0200 Subject: [PATCH] Rename the existing changelog to changes_32.txt and add a new one To prevent the changelog file from growing too big, start a new one for the next release. Also restore the instructions about updating it from Git notes just before the release. --- docs/changes.txt | 1262 +----------------------------------------- docs/changes_32.txt | 1270 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1289 insertions(+), 1243 deletions(-) create mode 100644 docs/changes_32.txt diff --git a/docs/changes.txt b/docs/changes.txt index 40ce541c40..969bb9ee95 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -2,1269 +2,45 @@ 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. +Note: This file contains the list of changes since wxWidgets 3.2, please see + docs/changes_32.txt for the earlier changes. - -INCOMPATIBLE CHANGES SINCE 3.0.x: +INCOMPATIBLE CHANGES SINCE 3.2.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. - -- wxRichTextParagraph::GetLines() now returns const wxVector& - instead of wxList&. - -- wxDateTime::ParseRfc822Date() now interprets a 2-digit year as 19xx, or - 20xx for 00..29, whereas earlier e.g. 95 was interpreted literally as 95 AD. - - Changes in behaviour which may result in build errors ----------------------------------------------------- -- wxBitmapComboBoxBase::SetItemBitmap() changed argument's type from wxBitmap - to wxBitmapBundle. -- "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 a few more system libraries: oleacc.lib, - shlwapi.lib, uxtheme.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.2.0: (released 2022-07-07) +3.3.0: (released 2022-??-??) ---------------------------- -All: +NOTE: This file is updated only before the release, please use -- Build fixes for Unix systems using older Cairo or glibc versions. -- Fix wxFileName::ReplaceHomeDir() when HOME=="/". -- Fix wxLocale::IsAvailable(wxLANGUAGE_DEFAULT) regression. -- Provide CMake config file for the library. -- Add a 'revision' component to wxVersionInfo (Ronny Krüger). + $ git log --notes=changelog --format='%N' v3.2.0..|grep . -All (GUI): + to see all the change log entries since the last release. -- Make loading bitmaps using BI_BITFIELDS work again. -- Fix wxGenericListCtrl::GetColumnCount() for wxLC_LIST (Kvaz1r). -- Fix refresh after calling wxGenericListCtrl::EnsureVisible() (taler21). -- Add wxMenuItem::GetBitmapBundle(). -- Support additional wxWizard properties in XRC (Randalphwa). + To update the notes, fetch them first: -wxGTK: + $ git fetch origin refs/notes/changelog:refs/notes/changelog -- Fix wxDC::Blit() and wxBitmap::GetSubBitmap() with HiDPI bitmaps. -- Fix TAB navigation in wxSimplebook (Adrian Lopez). -- Support wxINVERT logical operation on wxDC with white source colour. -- Don't assert in wxGtkImage (used in e.g. wxToolBar) when bitmap is missing. -- Fix wxListBox selection colors with non-default background (alilie). -- Fix wxCURSOR_SIZING with Wayland. -- Recognize modern versions of GNOME in GetDesktopEnvironment() (Ulrich Telle). + then use the following command to update them locally -wxMSW: + $ git notes --ref=changelog add -m 'wxPort: description.' -- Fix wxDC::DrawRoundedRectangle() and wxImageList::Draw() regressions. -- Fix wrong results of wxWebResponse::GetHeader() and GetURL(). -- Fix creating wxBitmap of depth 32 but without real alpha. -- Improve top level window resizing on DPI change and allow overriding it. + and finally push it to the server. -wxOSX: + $ git push origin refs/notes/changelog:refs/notes/changelog -- Fix regression in wxTextCtrl best size calculation. -- Fix activation of applications using LSUIElement == true. -- Fix AUI sash appearance in dark mode (alilie). -- Recognize macOS 12 in wxGetOsDescription() (Tobias Taschner). + 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 -3.1.7: (released 2022-06-06) ----------------------------- - -INCOMPATIBLE CHANGES SINCE 3.1.6: - -- wxImageFileProperty::m_pImage and m_pBitmap member variables were removed. - They were not intended for the public API. m_image variable represents - cached image now. - -- wxPropertyGridPageState functions intended for internal use are no longer - public. Corresponding functions in wxPropertyGridInterface, wxPropertyGrid, - wxPropertyGridPage, and wxPropertyGridManager should be used instead. - - -All: - -- Improvements to CMake, notably better PCH support. -- Add wxTRANSLATE_IN_CONTEXT() (Lauri Nurmi). -- Fix wxIPV6address initialization. - -All (GUI): - -- Further improve bitmap rescaling logic in high DPI. -- Add wxEVT_GRID_ROW_AUTO_SIZE to wxGrid (Dietmar Schwertberger). -- Add possibility to drag-move wxGrid rows too (Dietmar Schwertberger). -- Improve UI of several mouse operations in wxGrid (Dietmar Schwertberger). -- Add support for 3rd wxCheckBox state to XRC (Randalphwa). -- Add support for more wxBitmap attributes to XRC (Randalphwa). -- Add support for wxSpinCtrl digits attributes to XRC (Randalphwa). -- Add wxBitmapBundle::FromIconBundle() (Uwe Runtemund). -- Allow getting current ribbon tool rectangle (Uwe Runtemund). -- Allow sharing client data in wxGrid-related classes (Frode Roxrud Gill). -- Fix font sizes in wxSVGFileDC (Maarten Bent). -- Fix layout of wxWrapSizer in wxFlexGridSizer (Antti Nietosvaara). -- Fix wxRichToolTipPopup appearance in high DPI (Maarten Bent). - -wxGTK: - -- Avoid GDK errors when using PopupMenu() with Wayland. -- Fix drag and drop in generic wxDataViewCtrl (Konstantin Matveyev). - -wxMSW: - -- Provide new IFileDialog-based customization API. -- Fix handling of standard accelerators in wxSpinCtrl (Dietmar Schwertberger). -- Fix infinite recursion in wxAuiNotebook::OnHelp(). -- Fix performance regression in wxSTC redrawing (Maarten Bent). -- Fix regression in wxFileName::Normalize(wxPATH_NORM_LONG) and UNC paths. -- Fix sizes in the standard font dialog in high DPI. -- Fix warnings about bitwise operations with MSVC in C++20 mode. - -wxOSX: - -- Fix disappearing dialogs when using Spaces. -- Suppress menu items automatically added by macOS 12. -- Allow user input in wxPopupTransientWindow. -- Don't touch existing libraries in make install (Lauri Nurmi). -- Generate events for 4th and 5th mouse buttons (Lauri Nurmi). - -wxUniv: - -- Fix client data memory leak in wxListBox (Kvaz1r). - - -3.1.6: (released 2022-04-04) ----------------------------- - -All: - -- Add wxUILocale: CompareStrings(), GetLocalizedName() etc. -- Add convenient wxFileName::GetAbsolutePath() helper. -- Add support for std::string_view to wxPrintf() etc. -- Add wxString::ToInt() and ToUInt() (Gerhard Gruber). -- Add wxGetNativeCpuArchitectureName() (Tobias Taschner) -- Add wxSecureZeroMemory() (Lauri Nurmi). -- Add wxThread::SetName() (Lauri Nurmi). -- Recognize Windows 11 and macOS 12 in wxGetOsDescription() (Tobias Taschner). -- Significantly speed up wxMBConv iconv-based implementation (rlbxku1r). -- Support searching from end in wxArrayString in STL build (Pavel Tyunin). -- Update and extend list of known locales (Ulrich Telle). -- Several improvements to parsing dates in wxDateTime (Lauri Nurmi). -- Fix new compilation warnings with clang 13. -- Fix warnings when building with gcc 11 and clang 12 -std=c++20. -- Replace deprecated AC_HELP_STRING in wxwin.m4 (Alexander Bisono). - -All (GUI): - -- Add wxBitmapBundle and use it throughout the entire API and in XRC. -- Add support for using native spell checking in wxTextCtrl (iwbnwif). -- Add support for style to wxWizard XRC handler (ousnius). -- Add WXSUPPRESS_SIZER_FLAGS_CHECK and improve assert messages. -- Add sort indicators support to wxListCtrl (Maarten Bent). -- Add support for extra menu item accelerators (Alexander Koshelev) -- Add wxDPIChangedEvent::Scale(). -- Add wxEVT_SPLITTER_SASH_POS_RESIZE (Gerhard Gruber). -- Add wxImage::Change{Saturation,Brightness,HSV,Lightness}() (Tomay). -- Add wxIntegerValidator ctor taking range (Simon Stone). -- Add wxKeyEvent::IsAutoRepeat() (MArk Jessome). -- Add wxMC_NO_AUTORESIZE wxMediaCtrl style (Scott Talbert). -- Add wxSpinCtrl::GetTextValue(). -- Add wxSpinCtrl::SetIncrement() (Igor Korot). -- Add wxStyledTextCtrl XRC handler (Alexander Koshelev) -- Add wxTopLevelWindow::SetContentProtection() (Tobias Taschner). -- Add wxWebView::RunScriptAsync() (Tobias Taschner). -- Add wxXmlResource::LoadDocument(). -- Allow dropping multiple formats on wxDVC (Konstantin S. Matveyev) -- Allow using any window for the visible part of wxComboCtrl. -- Fix and tags handling in wxHTML (bakcsizs). -- Fix DPI change handling in wxGrid with hidden row/column labels. -- Fix handling of floating and resizable AUI toolbar panes (Kvaz1r). -- Fix loading BMP files using RLE (David Costanzo). -- Fix loading BMP files with malformed biClrUsed field (David Costanzo). -- Implement drawing splines in wxSVGFileDC -- Improve wxSpinCtrlDouble significant digits handling. -- Optimize wrapping long lines in wxRichTextCtrl (Mehmet Soyturk). - -wxGTK: - -- Many bug fixes for Wayland-specific problem. -- Fix missing mouse events after enabling touch events (Thierry Bultel). -- Allow suppressing GTK diagnostics (Marco DeFreitas). -- Fix getting key events from wxDataViewCtrl. -- Fix getting wxPrintData from the print dialog. -- Fix wxMediaCtrl support when using Wayland (Dominique Martinet). -- Generate wxKeyEvents for GDK_KEY_LaunchX keys (Dominique Martinet). - -wxMSW: - -- Add MSVS 2022 support. -- Use Winsock 2 by default. -- Make all native modal dialogs app modal. -- Fix setting focus to wxWebViewEdge (PB). -- Fix handling of ampersands in wxCheckListBox items. -- Fix crash in wxWebViewIE::Find() (PB). -- Fix size of the buttons when not using a manifest. -- Fix spurious assertions when using unknown Win32 locales. -- Fix wxDC::Blit() when using RTL layout (Dimitri Schoolwerth). -- Fix wxDataViewModel::ItemAdded() for closed nodes (Ilya Sinitsin). -- Fix wxStaticBox repainting in RTL (AliKet). -- Implement getting/releasing HDC in Cairo wxGraphicsContext -- Implement getting/releasing HDC in Direct2D wxGraphicsContext -- Improve dark mode detection (QuentinC) -- Use correct default printer settings (Stefan Ziegler). - -wxOSX: - -- Implement undo/redo for (multiline) wxTextCtrl (Dan Korn). -- Implement wxCmpNatural() using the same order as Finder does. -- Implement wxEVT_CHAR generation for wxDataViewCtrl. -- Implement wxFSVolume for macOS (Tobias Taschner). -- Allow having multiple lines in single line wxTextCtrl (Tobias Fleischer). -- Allow setting full screen view options (Tobias Taschner). -- Fix crash when clearing wxDataViewModel (Konstantin S. Matveyev). -- Fix handling of drag-and-drop in native controls. -- Fix right click event generation for wxComboBox (Daniel Kulp). -- Fix symlinks support in wxFileSystemWatcher (Richard Gibson). -- Fix task bar icon size in high DPI (Dominic Letz). -- Significantly speed up creating standard system fonts. - -wxUniv: - -- Many fixes to event generations, scrolling etc (Kvaz1r). -- Fix refresh problems when scrolling with mouse wheel (Kvaz1r). -- Many improvements and bug fixes in wxTextCtrl (Kvaz1r). -- Fix handling mouse capture in menus (Kvaz1r). - - -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
in wxHTML. -- Support strike-through in wxDataViewItem attributes (approach, Igor Korot). -- Allow distinguishing between user- and script-opened windows in wxWebView. -- Allow binding to events generated by their items in submenus too. -- Add wxGrid::SetCornerLabelValue() (Pavel Kalugin). -- Add strikethrough support for fonts defined in XRC. -- Add wxDisplay::GetPPI(). -- Add wxJoystickEvent::GetButtonOrdinal() (Mick Phillips). -- Add wxGraphicsContext::GetWindow() and implement wxGraphicsContext::GetDPI(). -- Add wxToolbook::EnablePage() (Stefan Ziegler). -- Adapt AUI colours to system colour changes (Daniel Kulp). -- Fix removing and inserting pages in wxToolbook (Stefan Ziegler). -- Fix bug in template selection in docview framework (jwiesemann). -- Implement wxAuiNotebook::HitTest() (Sebastian Walderich). - -wxGTK: - -- Implement wxTextCtrl::HitTest() for single line controls. -- Fix bug with wxTextCtrl::ChangeValue("") sending an unwanted event. -- Implement wxDataViewColumn::UnsetAsSortKey(). -- Fix not showing wxInfoBar with GTK+ 3 < 3.22.29. -- Fix the build with glib < 2.32 (e.g. CentOS 6). -- Fix field widths in wxStatusBar showing a size grip. -- Fill column value in wxEVT_DATAVIEW_ITEM_ACTIVATED events. -- Implement wxDataViewCtrl::GetItemRect() (MrMeesek). - -wxMSW: - -- Add experimental support for Windows 10/ARM64 platform (Simon Rozman). -- Fix hang after clearing wxTAB_TRAVERSAL style on a window with children. -- Fix handling of AUX2 mouse button events (Timon Rozmanrylz). -- Implement support for more than 4 joystick buttons (Mick Phillips). -- Fix saving/restoring window position for maximized windows. -- Fix stack corruption when using wxStackWalker (srfisk). -- Fix positioning windows at positions >= SHORT_MAX (Cătălin Răceanu). -- Honour alignment flags for multiline buttons using custom colours too. -- Support MSVC auto-linking when using monolithic build too (PB). -- Implement wxFontDialog::SetTitle() (Vitaly Stakhovsky). -- Fix build in ANSI (non-Unicode) mode. -- Improve wxNotebook themed background drawing (Arrigo Marchiori). -- Send wxEVT_WEBVIEW_NAVIGATING when redirecting (Josue Andrade Gomes). -- Fix build with MSVS 2005 broken in 3.1.1. -- Add wxwidgets.props property sheet file for MSVS users. -- Fix jumping to the given position in wxMediaCtrl (ashishmore). - -wxOSX: - -- Fix dispatching pending events (and CallAfter()) in console applications. -- Implement wxDataViewColumn::UnsetAsSortKey() (Daniel Kulp). -- Change wxBitmap to use native image format like NSImage and UIImage. -- Implement wxStaticBitmap natively for correct rendering of template images. -- Fill column value in wxEVT_DATAVIEW_ITEM_ACTIVATED events (Igor Korot). -- Make wxFrame::EnableFullScreenView() work under macOS 10.11+ (Andy Robinson). - -wxQt: - -- Fix menu bar background colour (Naser Buhamad). -- Add support for bitmaps in menu items (Igor Korot). - - -3.1.1: (released 2018-02-19) ----------------------------- - -INCOMPATIBLE CHANGES SINCE 3.1.0: - -- wxListCtrl::HasCheckboxes() and EnableCheckboxes(), which were added in - 3.1.0, have been renamed to HasCheckBoxes and EnableCheckBoxes respectively - for consistency with wxCheckBox naming. - -- The enum value wxTASKBAR_JUMP_LIST_DESTIONATION, which was added in 3.1.0, - contains a typo and has been renamed to wxTASKBAR_JUMP_LIST_DESTINATION. - -- wxZipOutputStream will now automatically convert filenames to UTF-8, if the - wxMBConv used when calling the constructor supports UTF-8 encoding. - - -All: - -- Add CMake-based build system (Tobias Taschner). -- Add wxSecretStore for storing passwords using the OS-provided facilities. -- Add support for compiling application code with wxNO_UNSAFE_WXSTRING_CONV. -- Add support for translating strings in different contexts (RickS). -- Add wxDateTime::GetFirstWeekDay() (Lauri Nurmi). -- Add support for the micro version (third component) to OS and toolkit version - functions. See wxGetOsVersion(), wxPlatformInfo, and wxAppTraits. -- wxLogInfo() now logs messages if the log level is high enough, even without - wxLog::SetVerbose() which now only affects wxLogVerbose(). -- Add wxFileType::GetExpandedCommand() (troelsk). -- Make it easier to convert to/from UTF-8-encoded std::string (ARATA Mizuki). -- Support custom conversions in wxLogStream and wxLogStderr (Lauri Nurmi). -- Add support for loading dynamic lexer in wxStyledTextCtrl (New Pagodi). -- Handle strings with embedded NULs in wxDataStream (Nitch). -- Don't crash in wxTextFile::GetLastLine() if the file is empty (crohr). -- Add wxString::cbegin() and cend() method (Lauri Nurmi). -- Allow using Bind() with event handlers non-publicly deriving from - wxEvtHandler and/or wxTrackable in C++11 code (Raul Tambre, mmarsan). -- Update bundled expat to 2.2.0 (Catalin Raceanu). -- Add wxCMD_LINE_HIDDEN wxCmdLineParser flag (Lauri Nurmi). -- Fix wxRmdir() with non-ASCII paths (trivia21). -- Don't crash in wxFFile::Eof() or Error() on closed file (jprotopopov). -- Add UTF-8 support to wxZipOutputStream (Tobias Taschner). -- Update all bundled 3rd party libraries to their latest versions. -- Use unique prefix for all zlib symbols to avoid link conflicts. -- Make wxFile::ReadAll() work for unseekable files too. -- Correct UTF-8 encoding of U+FFFF (axiom). - -All (GUI): - -- Allow wxWebView::RunScript() return values (Jose Lorenzo, GSoC 2017). -- Allow using fractional pen widths with wxGraphicsContext (Adrien Tétar). -- Add support for loading fonts from external files (Arthur Norman). -- Add support for using arbitrary windows as wxStaticBox labels. -- Improve wxSVGFileDC to support more of wxDC API (Maarten Bent). -- Add support for wxAuiManager and wxAuiPaneInfo to XRC (Andrea Zanellato). -- Add XRC handler for wxSpinCtrlDouble (Trylz). -- Add support for wxSL_MIN_MAX_LABELS and wxSL_VALUE_LABEL to XRC (ousnius). -- Update Scintilla to v3.7.2 (NewPagodi, Paul Kulchenko). -- Update bundled libpng to 1.6.28 (Catalin Raceanu). -- Automatically determine first day of the week in wxCalendarCtrl (Lauri Nurmi). -- Fix vertical scrollbar visibility in wxStyledTextCtrl (yenwu, NewPagodi). -- Fix bug with not being able to select AUI tab after dragging. -- Make wxDataViewCtrl::Expand() expand ancestors in native ports too. -- Add wxDataViewTextRenderer::EnableMarkup(). -- Add wxDataViewCtrl::SetHeaderAttr(). -- Add wxDataViewCtrl::GetTopItem() and GetCountPerPage() (Andreas Falkenhahn). -- Add wxListCtrl::SetHeaderAttr(). -- Add support for using markup in wxDataViewCtrl text items. -- Implement auto complete in generic wxSearchCtrl (Eric Jensen). -- Fix preserving selection when changing selection mode in wxGrid (jonkraber). -- Fix wxTextEntry::SetHint() with wxTE_PASSWORD in generic implementation. -- Many fixes and improvements in Direct2D, Cairo, and GDI+ graphics renderers. -- Fix and unify clipping region support for MSW and GTK+. -- Fix rescaling of wxImage. -- Fix displaying edited value of wxUIntProperty (wxPropertyGrid). -- Fix displaying validation errors for numeric wxPropertyGrid properties. -- Add wxSYS_CARET_{ON,OFF,TIMEOUT}_MSEC system settings (brawer). -- Add wxGraphicsContext::GetClipBox(). -- Fix wxGCDC::Clear() for rotated graphics context. -- Fix wxGCDC::GetClippingBox() for transformed wxDC. -- Add support for affine transformation matrix in wxGCDC. -- Add wxGraphicsContext::Flush() for Cairo renderer. -- Add wxStyledTextEvent::GetListCompletionMethod() (NewPagodi). -- Add wxEVT_STC_AUTOCOMP_COMPLETED event (NewPagodi). -- Fix retrieving bounding box for wxDC with transformed coordinates. -- Fix wxGraphicsMatrixData::Concat() for Direct2D and Cairo renderers. -- Fix calculating point position in wxDataViewCtrl::HitTest(). -- Fix position of the rectangle returned by wxDataViewCtrl::GetItemRect(). -- Add wxDataViewRenderer::GetAccessibleDescription(). -- Add wxDataViewCheckIconTextRenderer class. -- Implement persistence support for wxDataViewCtrl (iwbnwif). -- Improve wxImage::Scale() handling of pixels with alpha channel (Tim Kosse). -- Fix parsing of RGBA strings in wxColour (Laurent Poujoulat). -- Refactor code in wxQuantize() for MSVC to avoid crash. -- Fix drawing rotated and/or underlined text on wxPostScriptDC. -- Support multiline strings in wxPostScriptDC::DrawText(), DrawRotatedText(). -- Deprecate wxEVT_STC_KEY and wxEVT_STC_URIDROPPED events (NewPagodi). -- Optimize font registration in PostScript code emitted by wxPostScriptDC. -- Fix drawing filled arc with wxPostScriptDC::DrawArc(). -- Optimize PostScript code emitted by wxPostScriptDC to draw elliptic arcs. -- Add wxStyledTextCtrl::AutoCompGetCurrentText() (NewPagodi). -- Extend wxStyledTextCtrl::FindText() to return end position of matched - text (NewPagodi). -- Fix adding/removing items to/from wxRearrangeList. -- Handle wxST_ELLIPSIZE_XXX styles in wxStaticText XRC handler (tm). -- Add support for bitmaps to wxToggleButton XRC handler (tm). -- Fix wxGCDC::SetDeviceClippingRegion(). -- Never restore size smaller than the best one in wxPersistentTLW. -- Fix escaping/unescaping characters in wxLongStringProperty in wxPG (mikek). -- Ensure that navigation order reflects layout of wxStdDialogButtonSizer. -- Add Scintilla FineTicker methods to wxSTC (NewPagodi). -- Add wxFontPickerCtrl::SetMinPointSize() (Andreas Falkenhahn). -- Add Set/GetFooter/Text/Icon() to wxRichMessageDialog (Tobias Taschner) -- Add wxFloatingPointValidator::SetFactor(). -- Add "hint" property to wxSearchCtrl XRC handler. -- Add wxEVT_SEARCH[_CANCEL] synonyms for wxSearchCtrl events. -- Generate wxEVT_SEARCH on Enter under all platforms. -- Extend wxRendererNative::DrawGauge() to work for vertical gauges too. -- Add wxHD_BITMAP_ON_RIGHT style to wxHeaderCtrl. -- Send wxEVT_DATAVIEW_ITEM_EDITING_DONE when editing was cancelled too. -- Add wxIMAGE_OPTION_GIF_TRANSPARENCY (Hugo Elias). - -wxGTK: - -- Make wxUIActionSimulator work with GTK+ 3 (Scott Talbert). -- Make wxBORDER_NONE work for wxTextCtrl with GTK+ 3 (Adrien Tétar). -- Handle wxTE_PROCESS_TAB, and its absence, correctly in multiline wxTextCtrl. -- Apply wxTextCtrl::SetDefaultStyle() to user-entered text (Andreas Falkenhahn). -- Implement dynamic auto-completion in wxTextEntry (AliKet). -- Fix wxTextCtrl::GetStyle() with GTK+ 3. -- Fix wxButton::SetBitmapPosition() with GTK+ 3 (Jake Nelson). -- Support background colour in wxDataViewCtrl attributes. -- Fix regression with showing custom wxDataViewCtrl editors. -- Improve wxSpinCtrl best size calculation. -- Implement support for icon locations in wxMimeTypesManager (Hanmac). -- Improve wxRadioBox appearance in high DPI (Arrigo Marchiori, Maarten Bent). -- Cosmetic fix for empty wxCheckBoxes display (Chuddah). -- Fix crashes in wxFileSystemWatcher implementation (David Hart). -- Fix wxBitmap ctor from XBM for non-square bitmaps. -- Fix wxDC::GetClippingBox() for transformed wxDC. -- Add support for affine transformation matrix in wxDC (GTK+ 3). -- Fix wxMemoryDC::Blit() with itself as source (GTK+ 3). -- Fix displaying labels of wxRadioBox items. -- Add a native implementation for clearing bitmap/window wxGraphicsContexts -- Implement XYToPosition() for single-line wxTextCtrl. -- Implement ShowPosition() for single-line wxTextCtrl. -- Improve wx{Client,Paint,Screen,Window}DC::GetPPI() (GTK+ 3). -- Suppress focus loss events for wxChoice and wxComboBox on opening popup. -- Make custom URI schemes work WebKit2-based wxWebView (Scott Talbert). - -wxMSW: - -- Add support for building with Microsoft Visual Studio 2017 (Tobias Taschner). -- Allow loading icons from resources in wxIconBundle (PB). -- Enable wxStackWalker in MinGW64 builds. -- Fix build under Cygwin in 64 bits. -- Fix crash when using wxCHMHelpController() in 64 bit builds (Xlord2). -- Fix wxSpinCtrl appearance: show arrows inside the control (Catalin Raceanu). -- Fix MDI menu display after failure to create a child frame (troelsk). -- Fix wxScreenDC::GetSize() with multiple monitors (iwbnwif). -- Fix background colour returned by wxTextCtrl::GetStyle() (Andreas Falkenhahn). -- Revert to using equally-sized buttons in wxToolBar by default. -- Fix default button highlighting. -- Restore dispatching wxThreadEvent while resizing the window broken in 3.1.0. -- Fix wxGraphicsMatrix::TransformDistance for Direct2D renderer. -- Fix wxDC::Clear() for rotated DC. -- Fix wxDC::GetClippingBox() for transformed wxDC. -- Fix wxMemoryDC::Blit() with itself as source (Tim Roberts). -- Return proper value from wxIAccessible::get_accSelection() if no children - are selected. -- Add wxAccStatus::wxACC_INVALID_ARG error code to indicate argument-related - errors in wxAccessible methods. -- Return DISP_E_MEMBERNOTFOUND error code from wxIAccessible if wxAccessible - methods return wxAccStatus::wxACC_NOT_SUPPORTED. -- Return null BSTR from wxIAccessible if string returned from wxAccesible - method is empty. -- Handle Ctrl-A in non-rich multiline text controls (Jens Göpfert). -- Use cairo_win32_surface_create_with_format() to create ARGB surface from - wxMemoryDC (Cairo >= 1.15.4). -- Fix updating bounding box in wxDC::DrawSpline(). -- Fix placing 0RGB wxBitmaps on the clipboard. -- Fix handling wxClipboard data when wxUSE_OLE == 0. -- Fix caching of wxFONTSTYLE_SLANT fonts in wxTheFontList. -- Fix wxTextCtrl::XYToPosition() and PositionToXY(). -- Fix updating radio groups when non-radio item is inserted to wxMenu. -- Fix autoselecting the contents of wxTextCtrl with wxWANTS_CHARS style. -- Implement SetIcon(), SetPosition(), GetPosition() for native wxProgressDialog. -- Fix focus-related problems when using native wxProgressDialog. -- Fix crash when reparenting the currently focused window to another TLW. -- Fix sending wxEVT_TEXT_ENTER when using auto-completion (Dubby). -- Fix missing selection event on click in multiselection wxDataViewCtrl (mikek). - -wxOSX: - -- Many fixes for tab navigation (ikamakj). -- Fix handling of non-BMP characters in GetPartialTextExtents() (ARATA Mizuki). -- Fix setting foreground colour for several controls (Steve Browne). -- Fix dialogs using wxFRAME_FLOAT_ON_PARENT frame as parent (Lauri Nurmi). -- Implement wxGetDisplaySizeMM() and fix printing DPI (David Vanderson). -- Remove extra borders around wxFilePickerCtrl (John Roberts). -- Set up extensions filter correctly in wxFileDialog (nick863). -- Implement wxDataViewChoiceByIndexRenderer (wanup). -- Fix unnecessary indentation in list-like wxDataViewCtrl (Andreas Falkenhahn). -- Recognize macOS 10.12 Sierra in wxGetOsDescription() (Tobias Taschner). -- Don't try to open command line arguments as files (Jeff Hostetler). -- Implement wxDataViewCtrl::SetRowHeight(). -- Add OSXEnableAutomaticQuoteSubstitution(), OSXEnableAutomaticDashSubstitution() - and OSXDisableAllSmartSubstitutions() to control wxTextCtrl smart behavior. -- Don't allow interacting with disabled wxSlider (Andreas Falkenhahn). -- Fix setting alignment in wxTextCtrl with wxTE_DONTWRAP (Andreas Falkenhahn). -- Allow pasting using Cmd+V in wxTextCtrl with wxTE_PASSWORD style. -- Update font code to use toll-free bridges from CTFontRef to NSFont or UIFont -- Add a native implementation for clearing bitmap/window wxGraphicsContexts -- wxiOS now needs a minimum of iOS 9 for deployment -- Fix handling CTM in wxGraphicsContext::SeTransform and GetTransform(). -- Allow turning on/off opacity selector in wxColourDialog. -- Implement wxTextCtrl::PositionToXY() and XYToPosition(). -- Implement wxTextCtrl::ShowPosition(). -- Add support for wxTE_NO_VSCROLL style to wxTextCtrl. -- Add support for wxTE_CHARWRAP style to wxTextCtrl. -- Fix selecting RGB bitmaps (with no alpha channel) into wxMemoryDC. -- Fix updating radio groups when menu item is inserted/removed from wxMenu. -- Allow changing alignment styles after wxTextCtrl creation (Andreas Falkenhahn). -- Fix wxDataViewColumn::SetSortOrder() (hartwigw). - -wxQt - -- Many changes and improvements by Sean D'Epagnier merged into trunk (with - help from R.J.V. Bertin). - -Unix: - -- Support new gstreamer API in 1.7.2+ in wxMediaCtrl (Sebastian Dröge). -- Add wxStandardPaths::SetFileLayout(FileLayout_XDG) (Martin Koegler). - - -3.1.0: (released 2016-02-29) ----------------------------- - -- Many improvements for high DPI monitors support, notably XRC now interprets - all pixel values as being in resolution-independent pixels. - -- wxQt branch implementing Qt5-based port of wxWidgets API was merged into - the trunk (Mariano Reingart, Google Summer of Code project). - -- Added wxNativeWindow allowing to embed native widgets in wxWidgets programs. - -- Improve wxGLCanvas to be more type safe and better support modern OpenGL. - -All: - -- Add UTF-8 and ZIP 64 support to wxZip{Input,Output}Stream (Tobias Taschner). -- Upgrade libpng to 1.6.21 fixing several security bugs (Paul Kulchenko). -- Support gstreamer 0.10 and 1.0 in wxMediaCtrl (Sebastian Dröge). -- Fix handling of Unicode file names in wxFileSystem::FindFirst(). -- Add wxStandardPaths::GetUserDir() (Tobias Taschner). -- Allow calling wxItemContainer::Add() and similar with std::vector<> argument. -- Add "%z" support to printf()-like functions like wxString::Format() (RIVDSL). -- Add DOCTYPE support to wxXmlDocument (Nick Matthews). -- Add wxPowerResourceBlocker (Tobias Taschner). -- Add wxApp::StoreCurrentException() and RethrowStoredException() and implement - their functionality by default when using C++11 compiler. -- Allow iterating over wxCmdLineParser arguments in order (Armel Asselin). -- Add wxScopedArray ctor taking the number of elements to allocate. -- Add wxDynamicLibrary::GetModuleFromAddress() (Luca Bacci). -- Implement wxThread::SetPriority() for pthreads (Luca Bacci). -- Add wxInt64 support to wxText{Input,Output}Stream (Alexander Bezzubikov). -- Define wxOVERRIDE as override for supporting compilers (Thomas Goyne). -- Allow specifying custom comparator for wxSortedArrayString (Catalin Raceanu). -- Add wxDateTime::GetWeekBasedYear(). -- Specialize std::hash<> for wxString when using C++11. -- Allow recursive calls to wxYield(). -- Add wxART_FULL_SCREEN standard bitmap (Igor Korot). -- Fix wxStringTokenizer copy ctor and assignment operator. -- Added wxASSERT_MSG_AT() and wxFAIL_MSG_AT() macros. -- Accept replacement character in wxString::ToAscii() (Stefano D. Mtangoo). - -Unix: - -- Fix bug in wxExecute() if child exited too quickly (Kevin B. McCarty). -- Add --disable-sys-libs configure option. -- Add --enable-cxx11 configure option. - -All (GUI): - -- Allow requesting modern (3.x+) OpenGL version in wxGLCanvas (Fabio Arnold). -- Add wxActivityIndicator. -- Add wxWindow::FromDIP() for simpler high DPI support. -- Allow initially hiding sizer items in XRC (Bogdan Iordanescu). -- Allow customizing window shown by wxBusyInfo. -- Add wxAddRemoveCtrl. -- Add wxAppProgressIndicator for MSW (Chaobin Zhang) and OS X (Tobias Taschner). -- Add support for using checkboxes to wxListCtrl (Maarten Bent). -- Add wxListBox::GetTopItem() and GetCountPerPage() (Andreas Falkenhahn). -- Add wxTextEntry::ForceUpper(). -- Add wxTextEntryDialog::ForceUpper(). -- Add wxEVT_MAGNIFY mouse event (Joost Nieuwenhuijse). -- Add wxProcess::Activate(). -- Fix setting colours of labels in wxSlider. -- Fix setting background colour of wxRadioBox buttons. -- Add wxTopLevelWindow::Enable{Maximize,Minimize}Button() (John Roberts). -- Make results of wxDC::DrawEllipticArc() consistent across all platforms. -- XRC handler for wxAuiToolBar added (Kinaou Hervé, David Hart). -- Improve wxLIST_AUTOSIZE_XXX support in generic wxListCtrl (Kinaou Hervé). -- Support "color", "size" and "font" CSS for fonts in wxHTML (Kinaou Hervé). -- Fix one pixel gaps between consecutive underlined words in wxHTML. -- Add wxCursor::GetHotSpot(). -- Add wxFD_NO_FOLLOW style for wxFileDialog (Luca Bacci). -- Add support for embedding bitmaps in generated SVG in wxSVGFileDC (iwbnwif). -- Add support for sorting wxDataViewCtrl by multiple columns (Trigve). -- Allow dropping data on wxDataViewCtrl background (Laurent Poujoulat). -- Add wxRendererNative::DrawGauge() (Tobias Taschner). -- Add wxRendererNative::DrawItemText() (Tobias Taschner). -- Add wxHtmlWindow::SetDefaultHTMLCursor() (Jeff A. Marr). -- Add default ctor and Create() to wxContextHelpButton (Hanmac). -- Send events when toggling wxPropertyGrid nodes from keyboard (Armel Asselin). -- Fix wxRearrangeList::Check() which asserted and misbehaved before. -- Optimized wxRTC insertion and deletion when floating objects are present. -- Added on-demand image loading option to wxRTC. -- Add wxFont::GetBaseFont() (Melroy Tellis). -- Update Scintilla to v3.5.5 (Christian Walther, Heyoupeng, ARATA Mizuki). -- Add wxStyledTextCtrl copy/paste text events (Christian Walther). -- Improve RTL support in wxStyledTextCtrl (Zane U. Ji). -- Add support for loading old V1 BMP files to wxImage (Artur Wieczorek). -- Improve auto sizing of wrapped cells in wxGrid (iwbnwif). -- Fix handling of rectangular selections in wxStyledTextCtrl (roberto). -- Fix characters outside of the BMP in wxStyledTextCtrl (Thomas Goyne). -- Allow access to the currently shown wxInfoBar buttons (Hanmac). -- Add wxGenericListCtrl::EndEditLabel() (Tim Kosse). -- Use native renderer for drawing check boxes in wxPropertyGrid (Eran Ifrah). -- Fix drawing custom colours of wxEnumProperty items in wxPG (Artur Wieczorek). -- Add wxBitmap ctor from wxCursor. -- Always disable wxWizard "Back" button on the starting page (pmgrace30). -- Add wxUIActionSimulator::Select(). -- Add wxOwnerDrawnComboBox::Is{List,Text}Empty() methods. -- Fix creating/removing mode buttons in wxPG manager (Artur Wieczorek). -- Harmonize wxMenuEvent handling between all major ports. -- Fix wxPGChoices copy ctor (Snoits). -- Show how to handle files on command line in docview sample (Neil Mayhew). -- Improve wxFileCtrl::SetFilename() and SetPath() (Kevin B. McCarty). -- Fix a crash when using animated GIFs in wxHtmlListBox. -- Use platform-specific stock icons for wxEditableListBox buttons. -- Add support for the events from multimedia keys (Jens Göpfert). -- Allow suppressing warnings from wxImage::LoadFile(). -- Allow customizing wxRibbon highlight colours (wxBen). -- Enable selecting opacity in generic wxColourPicker. -- Extend the support for font weights to a bigger range. -- Add support for fractional font sizes. - -wxGTK: - -- Support building wxGTK3 under Windows (Kolya Kosenko). -- Implement support for non-wxTextCtrl custom editors in wxDataViewCtrl. -- Fix vertical cell alignment in wxDataViewCtrl. -- Fix clearing of wxComboBox with wxCB_READONLY (Chuddah). -- Fix setting "pressed" bitmap for wxToggleButton (Kevin B. McCarty). -- Fix GTK+ warnings for wxFileDialog with wxFD_MULTIPLE style. -- Don't generate wxEVT_LIST_ITEM_RIGHT_CLICK outside of item area (Igor Korot). -- Implement wxDataViewCtrl::SetIndent(). - -wxMSW: - -- Make default wxSizer border DPI-aware. -- Implement native appearance for wxAUI tabs and toolbars (Tobias Taschner). -- Show more modern-looking wxNotificationMessages under 8+ (Tobias Taschner). -- Improve wxMimeTypesManager open command detection (Eric Jensen). -- Make wxFILTER_INCLUDE_LIST in wxTextValidator actually usable. -- Fix handling crashes in wxEVT_PAINT event handlers. -- Fix wxStackWalker to work with Unicode identifiers (Suzumizaki-kimitaka). -- Fix appearance of toggled wxToggleButtons with bitmap (tm). -- Fix setting menu item bitmaps after appending them (Artur Wieczorek). -- Fix setting label of submenu items (Artur Wieczorek). -- Fix handling of selected images in wxBitmapButton (Artur Wieczorek). -- Fix loading of bitmap with non-pre-multiplied alpha (Artur Wieczorek). -- Support multiline strings in wxDC::DrawRotatedText() (Artur Wieczorek). -- Fix stretchable spacers in vertical toolbars (Artur Wieczorek). -- Implement setting foreground colour for wxRadioButton (Artur Wieczorek). -- Add font colour support to wxFontPickerCtrl (Pana Alexandru). -- Add wxEnhMetaFile::Detach() (Luca Bacci). -- Add support for saving 256*256 32bpp ICOs in PNG format (Artur Wieczorek). -- Keep menu item icon after removing and adding it back (Artur Wieczorek). -- Add wxThread::MSWGetHandle() (troelsk). -- Allow using sizers for laying out wxMDIClientWindow (Artur Wieczorek). -- Fix updating wxSlider background when its parent background changes. -- Implement wxListBox::EnsureVisible() (RIVDSL). -- Drastically improve efficiency of selecting all items in wxDataViewCtrl. -- Fix spurious selection events generation in wxDataViewCtrl. -- Fix wxMenuEvent::GetMenu() for wxEVT_MENU_{OPEN,CLOSE} in MDI frames. -- Fix updating wxSpinCtrlDouble tooltip text (Laurent Poujoulat). -- Fix appearance of checked disabled wxToolBar tools with custom images. -- Fix reading of not NUL-terminated strings using wxRegKey (Steffen Olszewski). -- Fix unexpected change in MDI children order after showing a file dialog. -- Don't send events for already selected radio popup menu items (Kinaou Hervé). -- wxListCtrl::GetItemCount() in wxEVT_LIST_INSERT_ITEM is no longer off by 1. -- Don't send bogus root selection events when clicking wxTreeCtrl (sbrowne). -- Avoid bogus assert after calling wxDatePickerCtrl::SetRange(). -- Add solution file for building with MSVS 2014 (Peter Tissen). -- Correct wxGetOsDescription() for Windows 10 (Tobias Taschner). -- Make wxListCtrl &c appearance more native on modern systems (Tobias Taschner). -- Don't send wxActivateEvent for minimized windows (bzcdr). -- Return correct OS version under Windows 8.1 and later. -- Fix crash in wxD2DContext when using non-MSVC compiler (iwbnwif). -- Notify shell about the changes done by wxMimeTypesManager (Maarten Bent). -- Fix wxPrintf() and friends when using MinGW with ANSI stdio option. -- Fix strike-through support in wxFont with GDI+ (David Vanderson). -- Fix UTF-32 conversion for non-BMP characters (ARATA Mizuki). -- Use correct parent for the native modal dialogs (Andreas Falkenhahn). -- Fix layout of wxSlider with wxSL_VALUE_LABEL only (gafatoa). -- Fix flicker when resizing columns of report-mode wxListCtrl. -- Implement wxTreeCtrl::SetDoubleBuffered() (Steve Browne). - -wxOSX/Cocoa: - -- Make wxiOS (iPhone) port build and minimally work again (Tobias Taschner). -- Use more efficient FSEvents in wxFileSystemWatcher (Roberto Perpuly). -- Implement wxWindow::Disable() for non-native controls too (Steve Browne). -- Implement wxTopLevelWindow::EnableCloseButton() (John Roberts). -- Fix wxEVT_CHAR for non-BMP Unicode characters (ARATA Mizuki). -- Add wxTE_AUTO_URL support to wxTextCtrl (Igor Korot). -- Add support for wxEVT_COMBOBOX_{DROPDOWN, CLOSEUP} events (Igor Korot). -- Implement strike-through support in wxFont (Igor Korot, Daniel Kulp). -- Provide native implementation of wxStandardPaths (Tobias Taschner). -- Add wxTE_{RIGHT,CENTER} support for multiline wxTextCtrl (Andreas Falkenhahn). -- Don't leave wxSlider labels shown when the slider itself is hidden. -- Don't generate wxEVT_TEXT_ENTER for controls without wxTE_PROCESS_ENTER. -- Implement wxToolTip::SetDelay() (David Vanderson). -- Correct positioning of popup menus relative to mouse pointer (John Roberts). -- Add support for right-aligned checkboxes (John Roberts). + and then redo "git-notes add" and git-push. diff --git a/docs/changes_32.txt b/docs/changes_32.txt new file mode 100644 index 0000000000..c488b1738f --- /dev/null +++ b/docs/changes_32.txt @@ -0,0 +1,1270 @@ +------------------------------------------------------------------------------- + wxWidgets Change Log +------------------------------------------------------------------------------- + +Note: This file contains the list of changes in wxWidgets 3.2 since 3.x, please + see docs/changes.txt for the changes in the later 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. + +- wxRichTextParagraph::GetLines() now returns const wxVector& + instead of wxList&. + +- wxDateTime::ParseRfc822Date() now interprets a 2-digit year as 19xx, or + 20xx for 00..29, whereas earlier e.g. 95 was interpreted literally as 95 AD. + + +Changes in behaviour which may result in build errors +----------------------------------------------------- + +- wxBitmapComboBoxBase::SetItemBitmap() changed argument's type from wxBitmap + to wxBitmapBundle. + +- "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 a few more system libraries: oleacc.lib, + shlwapi.lib, uxtheme.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.2.0: (released 2022-07-07) +---------------------------- + +All: + +- Build fixes for Unix systems using older Cairo or glibc versions. +- Fix wxFileName::ReplaceHomeDir() when HOME=="/". +- Fix wxLocale::IsAvailable(wxLANGUAGE_DEFAULT) regression. +- Provide CMake config file for the library. +- Add a 'revision' component to wxVersionInfo (Ronny Krüger). + +All (GUI): + +- Make loading bitmaps using BI_BITFIELDS work again. +- Fix wxGenericListCtrl::GetColumnCount() for wxLC_LIST (Kvaz1r). +- Fix refresh after calling wxGenericListCtrl::EnsureVisible() (taler21). +- Add wxMenuItem::GetBitmapBundle(). +- Support additional wxWizard properties in XRC (Randalphwa). + +wxGTK: + +- Fix wxDC::Blit() and wxBitmap::GetSubBitmap() with HiDPI bitmaps. +- Fix TAB navigation in wxSimplebook (Adrian Lopez). +- Support wxINVERT logical operation on wxDC with white source colour. +- Don't assert in wxGtkImage (used in e.g. wxToolBar) when bitmap is missing. +- Fix wxListBox selection colors with non-default background (alilie). +- Fix wxCURSOR_SIZING with Wayland. +- Recognize modern versions of GNOME in GetDesktopEnvironment() (Ulrich Telle). + +wxMSW: + +- Fix wxDC::DrawRoundedRectangle() and wxImageList::Draw() regressions. +- Fix wrong results of wxWebResponse::GetHeader() and GetURL(). +- Fix creating wxBitmap of depth 32 but without real alpha. +- Improve top level window resizing on DPI change and allow overriding it. + +wxOSX: + +- Fix regression in wxTextCtrl best size calculation. +- Fix activation of applications using LSUIElement == true. +- Fix AUI sash appearance in dark mode (alilie). +- Recognize macOS 12 in wxGetOsDescription() (Tobias Taschner). + + +3.1.7: (released 2022-06-06) +---------------------------- + +INCOMPATIBLE CHANGES SINCE 3.1.6: + +- wxImageFileProperty::m_pImage and m_pBitmap member variables were removed. + They were not intended for the public API. m_image variable represents + cached image now. + +- wxPropertyGridPageState functions intended for internal use are no longer + public. Corresponding functions in wxPropertyGridInterface, wxPropertyGrid, + wxPropertyGridPage, and wxPropertyGridManager should be used instead. + + +All: + +- Improvements to CMake, notably better PCH support. +- Add wxTRANSLATE_IN_CONTEXT() (Lauri Nurmi). +- Fix wxIPV6address initialization. + +All (GUI): + +- Further improve bitmap rescaling logic in high DPI. +- Add wxEVT_GRID_ROW_AUTO_SIZE to wxGrid (Dietmar Schwertberger). +- Add possibility to drag-move wxGrid rows too (Dietmar Schwertberger). +- Improve UI of several mouse operations in wxGrid (Dietmar Schwertberger). +- Add support for 3rd wxCheckBox state to XRC (Randalphwa). +- Add support for more wxBitmap attributes to XRC (Randalphwa). +- Add support for wxSpinCtrl digits attributes to XRC (Randalphwa). +- Add wxBitmapBundle::FromIconBundle() (Uwe Runtemund). +- Allow getting current ribbon tool rectangle (Uwe Runtemund). +- Allow sharing client data in wxGrid-related classes (Frode Roxrud Gill). +- Fix font sizes in wxSVGFileDC (Maarten Bent). +- Fix layout of wxWrapSizer in wxFlexGridSizer (Antti Nietosvaara). +- Fix wxRichToolTipPopup appearance in high DPI (Maarten Bent). + +wxGTK: + +- Avoid GDK errors when using PopupMenu() with Wayland. +- Fix drag and drop in generic wxDataViewCtrl (Konstantin Matveyev). + +wxMSW: + +- Provide new IFileDialog-based customization API. +- Fix handling of standard accelerators in wxSpinCtrl (Dietmar Schwertberger). +- Fix infinite recursion in wxAuiNotebook::OnHelp(). +- Fix performance regression in wxSTC redrawing (Maarten Bent). +- Fix regression in wxFileName::Normalize(wxPATH_NORM_LONG) and UNC paths. +- Fix sizes in the standard font dialog in high DPI. +- Fix warnings about bitwise operations with MSVC in C++20 mode. + +wxOSX: + +- Fix disappearing dialogs when using Spaces. +- Suppress menu items automatically added by macOS 12. +- Allow user input in wxPopupTransientWindow. +- Don't touch existing libraries in make install (Lauri Nurmi). +- Generate events for 4th and 5th mouse buttons (Lauri Nurmi). + +wxUniv: + +- Fix client data memory leak in wxListBox (Kvaz1r). + + +3.1.6: (released 2022-04-04) +---------------------------- + +All: + +- Add wxUILocale: CompareStrings(), GetLocalizedName() etc. +- Add convenient wxFileName::GetAbsolutePath() helper. +- Add support for std::string_view to wxPrintf() etc. +- Add wxString::ToInt() and ToUInt() (Gerhard Gruber). +- Add wxGetNativeCpuArchitectureName() (Tobias Taschner) +- Add wxSecureZeroMemory() (Lauri Nurmi). +- Add wxThread::SetName() (Lauri Nurmi). +- Recognize Windows 11 and macOS 12 in wxGetOsDescription() (Tobias Taschner). +- Significantly speed up wxMBConv iconv-based implementation (rlbxku1r). +- Support searching from end in wxArrayString in STL build (Pavel Tyunin). +- Update and extend list of known locales (Ulrich Telle). +- Several improvements to parsing dates in wxDateTime (Lauri Nurmi). +- Fix new compilation warnings with clang 13. +- Fix warnings when building with gcc 11 and clang 12 -std=c++20. +- Replace deprecated AC_HELP_STRING in wxwin.m4 (Alexander Bisono). + +All (GUI): + +- Add wxBitmapBundle and use it throughout the entire API and in XRC. +- Add support for using native spell checking in wxTextCtrl (iwbnwif). +- Add support for style to wxWizard XRC handler (ousnius). +- Add WXSUPPRESS_SIZER_FLAGS_CHECK and improve assert messages. +- Add sort indicators support to wxListCtrl (Maarten Bent). +- Add support for extra menu item accelerators (Alexander Koshelev) +- Add wxDPIChangedEvent::Scale(). +- Add wxEVT_SPLITTER_SASH_POS_RESIZE (Gerhard Gruber). +- Add wxImage::Change{Saturation,Brightness,HSV,Lightness}() (Tomay). +- Add wxIntegerValidator ctor taking range (Simon Stone). +- Add wxKeyEvent::IsAutoRepeat() (MArk Jessome). +- Add wxMC_NO_AUTORESIZE wxMediaCtrl style (Scott Talbert). +- Add wxSpinCtrl::GetTextValue(). +- Add wxSpinCtrl::SetIncrement() (Igor Korot). +- Add wxStyledTextCtrl XRC handler (Alexander Koshelev) +- Add wxTopLevelWindow::SetContentProtection() (Tobias Taschner). +- Add wxWebView::RunScriptAsync() (Tobias Taschner). +- Add wxXmlResource::LoadDocument(). +- Allow dropping multiple formats on wxDVC (Konstantin S. Matveyev) +- Allow using any window for the visible part of wxComboCtrl. +- Fix and tags handling in wxHTML (bakcsizs). +- Fix DPI change handling in wxGrid with hidden row/column labels. +- Fix handling of floating and resizable AUI toolbar panes (Kvaz1r). +- Fix loading BMP files using RLE (David Costanzo). +- Fix loading BMP files with malformed biClrUsed field (David Costanzo). +- Implement drawing splines in wxSVGFileDC +- Improve wxSpinCtrlDouble significant digits handling. +- Optimize wrapping long lines in wxRichTextCtrl (Mehmet Soyturk). + +wxGTK: + +- Many bug fixes for Wayland-specific problem. +- Fix missing mouse events after enabling touch events (Thierry Bultel). +- Allow suppressing GTK diagnostics (Marco DeFreitas). +- Fix getting key events from wxDataViewCtrl. +- Fix getting wxPrintData from the print dialog. +- Fix wxMediaCtrl support when using Wayland (Dominique Martinet). +- Generate wxKeyEvents for GDK_KEY_LaunchX keys (Dominique Martinet). + +wxMSW: + +- Add MSVS 2022 support. +- Use Winsock 2 by default. +- Make all native modal dialogs app modal. +- Fix setting focus to wxWebViewEdge (PB). +- Fix handling of ampersands in wxCheckListBox items. +- Fix crash in wxWebViewIE::Find() (PB). +- Fix size of the buttons when not using a manifest. +- Fix spurious assertions when using unknown Win32 locales. +- Fix wxDC::Blit() when using RTL layout (Dimitri Schoolwerth). +- Fix wxDataViewModel::ItemAdded() for closed nodes (Ilya Sinitsin). +- Fix wxStaticBox repainting in RTL (AliKet). +- Implement getting/releasing HDC in Cairo wxGraphicsContext +- Implement getting/releasing HDC in Direct2D wxGraphicsContext +- Improve dark mode detection (QuentinC) +- Use correct default printer settings (Stefan Ziegler). + +wxOSX: + +- Implement undo/redo for (multiline) wxTextCtrl (Dan Korn). +- Implement wxCmpNatural() using the same order as Finder does. +- Implement wxEVT_CHAR generation for wxDataViewCtrl. +- Implement wxFSVolume for macOS (Tobias Taschner). +- Allow having multiple lines in single line wxTextCtrl (Tobias Fleischer). +- Allow setting full screen view options (Tobias Taschner). +- Fix crash when clearing wxDataViewModel (Konstantin S. Matveyev). +- Fix handling of drag-and-drop in native controls. +- Fix right click event generation for wxComboBox (Daniel Kulp). +- Fix symlinks support in wxFileSystemWatcher (Richard Gibson). +- Fix task bar icon size in high DPI (Dominic Letz). +- Significantly speed up creating standard system fonts. + +wxUniv: + +- Many fixes to event generations, scrolling etc (Kvaz1r). +- Fix refresh problems when scrolling with mouse wheel (Kvaz1r). +- Many improvements and bug fixes in wxTextCtrl (Kvaz1r). +- Fix handling mouse capture in menus (Kvaz1r). + + +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
in wxHTML. +- Support strike-through in wxDataViewItem attributes (approach, Igor Korot). +- Allow distinguishing between user- and script-opened windows in wxWebView. +- Allow binding to events generated by their items in submenus too. +- Add wxGrid::SetCornerLabelValue() (Pavel Kalugin). +- Add strikethrough support for fonts defined in XRC. +- Add wxDisplay::GetPPI(). +- Add wxJoystickEvent::GetButtonOrdinal() (Mick Phillips). +- Add wxGraphicsContext::GetWindow() and implement wxGraphicsContext::GetDPI(). +- Add wxToolbook::EnablePage() (Stefan Ziegler). +- Adapt AUI colours to system colour changes (Daniel Kulp). +- Fix removing and inserting pages in wxToolbook (Stefan Ziegler). +- Fix bug in template selection in docview framework (jwiesemann). +- Implement wxAuiNotebook::HitTest() (Sebastian Walderich). + +wxGTK: + +- Implement wxTextCtrl::HitTest() for single line controls. +- Fix bug with wxTextCtrl::ChangeValue("") sending an unwanted event. +- Implement wxDataViewColumn::UnsetAsSortKey(). +- Fix not showing wxInfoBar with GTK+ 3 < 3.22.29. +- Fix the build with glib < 2.32 (e.g. CentOS 6). +- Fix field widths in wxStatusBar showing a size grip. +- Fill column value in wxEVT_DATAVIEW_ITEM_ACTIVATED events. +- Implement wxDataViewCtrl::GetItemRect() (MrMeesek). + +wxMSW: + +- Add experimental support for Windows 10/ARM64 platform (Simon Rozman). +- Fix hang after clearing wxTAB_TRAVERSAL style on a window with children. +- Fix handling of AUX2 mouse button events (Timon Rozmanrylz). +- Implement support for more than 4 joystick buttons (Mick Phillips). +- Fix saving/restoring window position for maximized windows. +- Fix stack corruption when using wxStackWalker (srfisk). +- Fix positioning windows at positions >= SHORT_MAX (Cătălin Răceanu). +- Honour alignment flags for multiline buttons using custom colours too. +- Support MSVC auto-linking when using monolithic build too (PB). +- Implement wxFontDialog::SetTitle() (Vitaly Stakhovsky). +- Fix build in ANSI (non-Unicode) mode. +- Improve wxNotebook themed background drawing (Arrigo Marchiori). +- Send wxEVT_WEBVIEW_NAVIGATING when redirecting (Josue Andrade Gomes). +- Fix build with MSVS 2005 broken in 3.1.1. +- Add wxwidgets.props property sheet file for MSVS users. +- Fix jumping to the given position in wxMediaCtrl (ashishmore). + +wxOSX: + +- Fix dispatching pending events (and CallAfter()) in console applications. +- Implement wxDataViewColumn::UnsetAsSortKey() (Daniel Kulp). +- Change wxBitmap to use native image format like NSImage and UIImage. +- Implement wxStaticBitmap natively for correct rendering of template images. +- Fill column value in wxEVT_DATAVIEW_ITEM_ACTIVATED events (Igor Korot). +- Make wxFrame::EnableFullScreenView() work under macOS 10.11+ (Andy Robinson). + +wxQt: + +- Fix menu bar background colour (Naser Buhamad). +- Add support for bitmaps in menu items (Igor Korot). + + +3.1.1: (released 2018-02-19) +---------------------------- + +INCOMPATIBLE CHANGES SINCE 3.1.0: + +- wxListCtrl::HasCheckboxes() and EnableCheckboxes(), which were added in + 3.1.0, have been renamed to HasCheckBoxes and EnableCheckBoxes respectively + for consistency with wxCheckBox naming. + +- The enum value wxTASKBAR_JUMP_LIST_DESTIONATION, which was added in 3.1.0, + contains a typo and has been renamed to wxTASKBAR_JUMP_LIST_DESTINATION. + +- wxZipOutputStream will now automatically convert filenames to UTF-8, if the + wxMBConv used when calling the constructor supports UTF-8 encoding. + + +All: + +- Add CMake-based build system (Tobias Taschner). +- Add wxSecretStore for storing passwords using the OS-provided facilities. +- Add support for compiling application code with wxNO_UNSAFE_WXSTRING_CONV. +- Add support for translating strings in different contexts (RickS). +- Add wxDateTime::GetFirstWeekDay() (Lauri Nurmi). +- Add support for the micro version (third component) to OS and toolkit version + functions. See wxGetOsVersion(), wxPlatformInfo, and wxAppTraits. +- wxLogInfo() now logs messages if the log level is high enough, even without + wxLog::SetVerbose() which now only affects wxLogVerbose(). +- Add wxFileType::GetExpandedCommand() (troelsk). +- Make it easier to convert to/from UTF-8-encoded std::string (ARATA Mizuki). +- Support custom conversions in wxLogStream and wxLogStderr (Lauri Nurmi). +- Add support for loading dynamic lexer in wxStyledTextCtrl (New Pagodi). +- Handle strings with embedded NULs in wxDataStream (Nitch). +- Don't crash in wxTextFile::GetLastLine() if the file is empty (crohr). +- Add wxString::cbegin() and cend() method (Lauri Nurmi). +- Allow using Bind() with event handlers non-publicly deriving from + wxEvtHandler and/or wxTrackable in C++11 code (Raul Tambre, mmarsan). +- Update bundled expat to 2.2.0 (Catalin Raceanu). +- Add wxCMD_LINE_HIDDEN wxCmdLineParser flag (Lauri Nurmi). +- Fix wxRmdir() with non-ASCII paths (trivia21). +- Don't crash in wxFFile::Eof() or Error() on closed file (jprotopopov). +- Add UTF-8 support to wxZipOutputStream (Tobias Taschner). +- Update all bundled 3rd party libraries to their latest versions. +- Use unique prefix for all zlib symbols to avoid link conflicts. +- Make wxFile::ReadAll() work for unseekable files too. +- Correct UTF-8 encoding of U+FFFF (axiom). + +All (GUI): + +- Allow wxWebView::RunScript() return values (Jose Lorenzo, GSoC 2017). +- Allow using fractional pen widths with wxGraphicsContext (Adrien Tétar). +- Add support for loading fonts from external files (Arthur Norman). +- Add support for using arbitrary windows as wxStaticBox labels. +- Improve wxSVGFileDC to support more of wxDC API (Maarten Bent). +- Add support for wxAuiManager and wxAuiPaneInfo to XRC (Andrea Zanellato). +- Add XRC handler for wxSpinCtrlDouble (Trylz). +- Add support for wxSL_MIN_MAX_LABELS and wxSL_VALUE_LABEL to XRC (ousnius). +- Update Scintilla to v3.7.2 (NewPagodi, Paul Kulchenko). +- Update bundled libpng to 1.6.28 (Catalin Raceanu). +- Automatically determine first day of the week in wxCalendarCtrl (Lauri Nurmi). +- Fix vertical scrollbar visibility in wxStyledTextCtrl (yenwu, NewPagodi). +- Fix bug with not being able to select AUI tab after dragging. +- Make wxDataViewCtrl::Expand() expand ancestors in native ports too. +- Add wxDataViewTextRenderer::EnableMarkup(). +- Add wxDataViewCtrl::SetHeaderAttr(). +- Add wxDataViewCtrl::GetTopItem() and GetCountPerPage() (Andreas Falkenhahn). +- Add wxListCtrl::SetHeaderAttr(). +- Add support for using markup in wxDataViewCtrl text items. +- Implement auto complete in generic wxSearchCtrl (Eric Jensen). +- Fix preserving selection when changing selection mode in wxGrid (jonkraber). +- Fix wxTextEntry::SetHint() with wxTE_PASSWORD in generic implementation. +- Many fixes and improvements in Direct2D, Cairo, and GDI+ graphics renderers. +- Fix and unify clipping region support for MSW and GTK+. +- Fix rescaling of wxImage. +- Fix displaying edited value of wxUIntProperty (wxPropertyGrid). +- Fix displaying validation errors for numeric wxPropertyGrid properties. +- Add wxSYS_CARET_{ON,OFF,TIMEOUT}_MSEC system settings (brawer). +- Add wxGraphicsContext::GetClipBox(). +- Fix wxGCDC::Clear() for rotated graphics context. +- Fix wxGCDC::GetClippingBox() for transformed wxDC. +- Add support for affine transformation matrix in wxGCDC. +- Add wxGraphicsContext::Flush() for Cairo renderer. +- Add wxStyledTextEvent::GetListCompletionMethod() (NewPagodi). +- Add wxEVT_STC_AUTOCOMP_COMPLETED event (NewPagodi). +- Fix retrieving bounding box for wxDC with transformed coordinates. +- Fix wxGraphicsMatrixData::Concat() for Direct2D and Cairo renderers. +- Fix calculating point position in wxDataViewCtrl::HitTest(). +- Fix position of the rectangle returned by wxDataViewCtrl::GetItemRect(). +- Add wxDataViewRenderer::GetAccessibleDescription(). +- Add wxDataViewCheckIconTextRenderer class. +- Implement persistence support for wxDataViewCtrl (iwbnwif). +- Improve wxImage::Scale() handling of pixels with alpha channel (Tim Kosse). +- Fix parsing of RGBA strings in wxColour (Laurent Poujoulat). +- Refactor code in wxQuantize() for MSVC to avoid crash. +- Fix drawing rotated and/or underlined text on wxPostScriptDC. +- Support multiline strings in wxPostScriptDC::DrawText(), DrawRotatedText(). +- Deprecate wxEVT_STC_KEY and wxEVT_STC_URIDROPPED events (NewPagodi). +- Optimize font registration in PostScript code emitted by wxPostScriptDC. +- Fix drawing filled arc with wxPostScriptDC::DrawArc(). +- Optimize PostScript code emitted by wxPostScriptDC to draw elliptic arcs. +- Add wxStyledTextCtrl::AutoCompGetCurrentText() (NewPagodi). +- Extend wxStyledTextCtrl::FindText() to return end position of matched + text (NewPagodi). +- Fix adding/removing items to/from wxRearrangeList. +- Handle wxST_ELLIPSIZE_XXX styles in wxStaticText XRC handler (tm). +- Add support for bitmaps to wxToggleButton XRC handler (tm). +- Fix wxGCDC::SetDeviceClippingRegion(). +- Never restore size smaller than the best one in wxPersistentTLW. +- Fix escaping/unescaping characters in wxLongStringProperty in wxPG (mikek). +- Ensure that navigation order reflects layout of wxStdDialogButtonSizer. +- Add Scintilla FineTicker methods to wxSTC (NewPagodi). +- Add wxFontPickerCtrl::SetMinPointSize() (Andreas Falkenhahn). +- Add Set/GetFooter/Text/Icon() to wxRichMessageDialog (Tobias Taschner) +- Add wxFloatingPointValidator::SetFactor(). +- Add "hint" property to wxSearchCtrl XRC handler. +- Add wxEVT_SEARCH[_CANCEL] synonyms for wxSearchCtrl events. +- Generate wxEVT_SEARCH on Enter under all platforms. +- Extend wxRendererNative::DrawGauge() to work for vertical gauges too. +- Add wxHD_BITMAP_ON_RIGHT style to wxHeaderCtrl. +- Send wxEVT_DATAVIEW_ITEM_EDITING_DONE when editing was cancelled too. +- Add wxIMAGE_OPTION_GIF_TRANSPARENCY (Hugo Elias). + +wxGTK: + +- Make wxUIActionSimulator work with GTK+ 3 (Scott Talbert). +- Make wxBORDER_NONE work for wxTextCtrl with GTK+ 3 (Adrien Tétar). +- Handle wxTE_PROCESS_TAB, and its absence, correctly in multiline wxTextCtrl. +- Apply wxTextCtrl::SetDefaultStyle() to user-entered text (Andreas Falkenhahn). +- Implement dynamic auto-completion in wxTextEntry (AliKet). +- Fix wxTextCtrl::GetStyle() with GTK+ 3. +- Fix wxButton::SetBitmapPosition() with GTK+ 3 (Jake Nelson). +- Support background colour in wxDataViewCtrl attributes. +- Fix regression with showing custom wxDataViewCtrl editors. +- Improve wxSpinCtrl best size calculation. +- Implement support for icon locations in wxMimeTypesManager (Hanmac). +- Improve wxRadioBox appearance in high DPI (Arrigo Marchiori, Maarten Bent). +- Cosmetic fix for empty wxCheckBoxes display (Chuddah). +- Fix crashes in wxFileSystemWatcher implementation (David Hart). +- Fix wxBitmap ctor from XBM for non-square bitmaps. +- Fix wxDC::GetClippingBox() for transformed wxDC. +- Add support for affine transformation matrix in wxDC (GTK+ 3). +- Fix wxMemoryDC::Blit() with itself as source (GTK+ 3). +- Fix displaying labels of wxRadioBox items. +- Add a native implementation for clearing bitmap/window wxGraphicsContexts +- Implement XYToPosition() for single-line wxTextCtrl. +- Implement ShowPosition() for single-line wxTextCtrl. +- Improve wx{Client,Paint,Screen,Window}DC::GetPPI() (GTK+ 3). +- Suppress focus loss events for wxChoice and wxComboBox on opening popup. +- Make custom URI schemes work WebKit2-based wxWebView (Scott Talbert). + +wxMSW: + +- Add support for building with Microsoft Visual Studio 2017 (Tobias Taschner). +- Allow loading icons from resources in wxIconBundle (PB). +- Enable wxStackWalker in MinGW64 builds. +- Fix build under Cygwin in 64 bits. +- Fix crash when using wxCHMHelpController() in 64 bit builds (Xlord2). +- Fix wxSpinCtrl appearance: show arrows inside the control (Catalin Raceanu). +- Fix MDI menu display after failure to create a child frame (troelsk). +- Fix wxScreenDC::GetSize() with multiple monitors (iwbnwif). +- Fix background colour returned by wxTextCtrl::GetStyle() (Andreas Falkenhahn). +- Revert to using equally-sized buttons in wxToolBar by default. +- Fix default button highlighting. +- Restore dispatching wxThreadEvent while resizing the window broken in 3.1.0. +- Fix wxGraphicsMatrix::TransformDistance for Direct2D renderer. +- Fix wxDC::Clear() for rotated DC. +- Fix wxDC::GetClippingBox() for transformed wxDC. +- Fix wxMemoryDC::Blit() with itself as source (Tim Roberts). +- Return proper value from wxIAccessible::get_accSelection() if no children + are selected. +- Add wxAccStatus::wxACC_INVALID_ARG error code to indicate argument-related + errors in wxAccessible methods. +- Return DISP_E_MEMBERNOTFOUND error code from wxIAccessible if wxAccessible + methods return wxAccStatus::wxACC_NOT_SUPPORTED. +- Return null BSTR from wxIAccessible if string returned from wxAccesible + method is empty. +- Handle Ctrl-A in non-rich multiline text controls (Jens Göpfert). +- Use cairo_win32_surface_create_with_format() to create ARGB surface from + wxMemoryDC (Cairo >= 1.15.4). +- Fix updating bounding box in wxDC::DrawSpline(). +- Fix placing 0RGB wxBitmaps on the clipboard. +- Fix handling wxClipboard data when wxUSE_OLE == 0. +- Fix caching of wxFONTSTYLE_SLANT fonts in wxTheFontList. +- Fix wxTextCtrl::XYToPosition() and PositionToXY(). +- Fix updating radio groups when non-radio item is inserted to wxMenu. +- Fix autoselecting the contents of wxTextCtrl with wxWANTS_CHARS style. +- Implement SetIcon(), SetPosition(), GetPosition() for native wxProgressDialog. +- Fix focus-related problems when using native wxProgressDialog. +- Fix crash when reparenting the currently focused window to another TLW. +- Fix sending wxEVT_TEXT_ENTER when using auto-completion (Dubby). +- Fix missing selection event on click in multiselection wxDataViewCtrl (mikek). + +wxOSX: + +- Many fixes for tab navigation (ikamakj). +- Fix handling of non-BMP characters in GetPartialTextExtents() (ARATA Mizuki). +- Fix setting foreground colour for several controls (Steve Browne). +- Fix dialogs using wxFRAME_FLOAT_ON_PARENT frame as parent (Lauri Nurmi). +- Implement wxGetDisplaySizeMM() and fix printing DPI (David Vanderson). +- Remove extra borders around wxFilePickerCtrl (John Roberts). +- Set up extensions filter correctly in wxFileDialog (nick863). +- Implement wxDataViewChoiceByIndexRenderer (wanup). +- Fix unnecessary indentation in list-like wxDataViewCtrl (Andreas Falkenhahn). +- Recognize macOS 10.12 Sierra in wxGetOsDescription() (Tobias Taschner). +- Don't try to open command line arguments as files (Jeff Hostetler). +- Implement wxDataViewCtrl::SetRowHeight(). +- Add OSXEnableAutomaticQuoteSubstitution(), OSXEnableAutomaticDashSubstitution() + and OSXDisableAllSmartSubstitutions() to control wxTextCtrl smart behavior. +- Don't allow interacting with disabled wxSlider (Andreas Falkenhahn). +- Fix setting alignment in wxTextCtrl with wxTE_DONTWRAP (Andreas Falkenhahn). +- Allow pasting using Cmd+V in wxTextCtrl with wxTE_PASSWORD style. +- Update font code to use toll-free bridges from CTFontRef to NSFont or UIFont +- Add a native implementation for clearing bitmap/window wxGraphicsContexts +- wxiOS now needs a minimum of iOS 9 for deployment +- Fix handling CTM in wxGraphicsContext::SeTransform and GetTransform(). +- Allow turning on/off opacity selector in wxColourDialog. +- Implement wxTextCtrl::PositionToXY() and XYToPosition(). +- Implement wxTextCtrl::ShowPosition(). +- Add support for wxTE_NO_VSCROLL style to wxTextCtrl. +- Add support for wxTE_CHARWRAP style to wxTextCtrl. +- Fix selecting RGB bitmaps (with no alpha channel) into wxMemoryDC. +- Fix updating radio groups when menu item is inserted/removed from wxMenu. +- Allow changing alignment styles after wxTextCtrl creation (Andreas Falkenhahn). +- Fix wxDataViewColumn::SetSortOrder() (hartwigw). + +wxQt + +- Many changes and improvements by Sean D'Epagnier merged into trunk (with + help from R.J.V. Bertin). + +Unix: + +- Support new gstreamer API in 1.7.2+ in wxMediaCtrl (Sebastian Dröge). +- Add wxStandardPaths::SetFileLayout(FileLayout_XDG) (Martin Koegler). + + +3.1.0: (released 2016-02-29) +---------------------------- + +- Many improvements for high DPI monitors support, notably XRC now interprets + all pixel values as being in resolution-independent pixels. + +- wxQt branch implementing Qt5-based port of wxWidgets API was merged into + the trunk (Mariano Reingart, Google Summer of Code project). + +- Added wxNativeWindow allowing to embed native widgets in wxWidgets programs. + +- Improve wxGLCanvas to be more type safe and better support modern OpenGL. + +All: + +- Add UTF-8 and ZIP 64 support to wxZip{Input,Output}Stream (Tobias Taschner). +- Upgrade libpng to 1.6.21 fixing several security bugs (Paul Kulchenko). +- Support gstreamer 0.10 and 1.0 in wxMediaCtrl (Sebastian Dröge). +- Fix handling of Unicode file names in wxFileSystem::FindFirst(). +- Add wxStandardPaths::GetUserDir() (Tobias Taschner). +- Allow calling wxItemContainer::Add() and similar with std::vector<> argument. +- Add "%z" support to printf()-like functions like wxString::Format() (RIVDSL). +- Add DOCTYPE support to wxXmlDocument (Nick Matthews). +- Add wxPowerResourceBlocker (Tobias Taschner). +- Add wxApp::StoreCurrentException() and RethrowStoredException() and implement + their functionality by default when using C++11 compiler. +- Allow iterating over wxCmdLineParser arguments in order (Armel Asselin). +- Add wxScopedArray ctor taking the number of elements to allocate. +- Add wxDynamicLibrary::GetModuleFromAddress() (Luca Bacci). +- Implement wxThread::SetPriority() for pthreads (Luca Bacci). +- Add wxInt64 support to wxText{Input,Output}Stream (Alexander Bezzubikov). +- Define wxOVERRIDE as override for supporting compilers (Thomas Goyne). +- Allow specifying custom comparator for wxSortedArrayString (Catalin Raceanu). +- Add wxDateTime::GetWeekBasedYear(). +- Specialize std::hash<> for wxString when using C++11. +- Allow recursive calls to wxYield(). +- Add wxART_FULL_SCREEN standard bitmap (Igor Korot). +- Fix wxStringTokenizer copy ctor and assignment operator. +- Added wxASSERT_MSG_AT() and wxFAIL_MSG_AT() macros. +- Accept replacement character in wxString::ToAscii() (Stefano D. Mtangoo). + +Unix: + +- Fix bug in wxExecute() if child exited too quickly (Kevin B. McCarty). +- Add --disable-sys-libs configure option. +- Add --enable-cxx11 configure option. + +All (GUI): + +- Allow requesting modern (3.x+) OpenGL version in wxGLCanvas (Fabio Arnold). +- Add wxActivityIndicator. +- Add wxWindow::FromDIP() for simpler high DPI support. +- Allow initially hiding sizer items in XRC (Bogdan Iordanescu). +- Allow customizing window shown by wxBusyInfo. +- Add wxAddRemoveCtrl. +- Add wxAppProgressIndicator for MSW (Chaobin Zhang) and OS X (Tobias Taschner). +- Add support for using checkboxes to wxListCtrl (Maarten Bent). +- Add wxListBox::GetTopItem() and GetCountPerPage() (Andreas Falkenhahn). +- Add wxTextEntry::ForceUpper(). +- Add wxTextEntryDialog::ForceUpper(). +- Add wxEVT_MAGNIFY mouse event (Joost Nieuwenhuijse). +- Add wxProcess::Activate(). +- Fix setting colours of labels in wxSlider. +- Fix setting background colour of wxRadioBox buttons. +- Add wxTopLevelWindow::Enable{Maximize,Minimize}Button() (John Roberts). +- Make results of wxDC::DrawEllipticArc() consistent across all platforms. +- XRC handler for wxAuiToolBar added (Kinaou Hervé, David Hart). +- Improve wxLIST_AUTOSIZE_XXX support in generic wxListCtrl (Kinaou Hervé). +- Support "color", "size" and "font" CSS for fonts in wxHTML (Kinaou Hervé). +- Fix one pixel gaps between consecutive underlined words in wxHTML. +- Add wxCursor::GetHotSpot(). +- Add wxFD_NO_FOLLOW style for wxFileDialog (Luca Bacci). +- Add support for embedding bitmaps in generated SVG in wxSVGFileDC (iwbnwif). +- Add support for sorting wxDataViewCtrl by multiple columns (Trigve). +- Allow dropping data on wxDataViewCtrl background (Laurent Poujoulat). +- Add wxRendererNative::DrawGauge() (Tobias Taschner). +- Add wxRendererNative::DrawItemText() (Tobias Taschner). +- Add wxHtmlWindow::SetDefaultHTMLCursor() (Jeff A. Marr). +- Add default ctor and Create() to wxContextHelpButton (Hanmac). +- Send events when toggling wxPropertyGrid nodes from keyboard (Armel Asselin). +- Fix wxRearrangeList::Check() which asserted and misbehaved before. +- Optimized wxRTC insertion and deletion when floating objects are present. +- Added on-demand image loading option to wxRTC. +- Add wxFont::GetBaseFont() (Melroy Tellis). +- Update Scintilla to v3.5.5 (Christian Walther, Heyoupeng, ARATA Mizuki). +- Add wxStyledTextCtrl copy/paste text events (Christian Walther). +- Improve RTL support in wxStyledTextCtrl (Zane U. Ji). +- Add support for loading old V1 BMP files to wxImage (Artur Wieczorek). +- Improve auto sizing of wrapped cells in wxGrid (iwbnwif). +- Fix handling of rectangular selections in wxStyledTextCtrl (roberto). +- Fix characters outside of the BMP in wxStyledTextCtrl (Thomas Goyne). +- Allow access to the currently shown wxInfoBar buttons (Hanmac). +- Add wxGenericListCtrl::EndEditLabel() (Tim Kosse). +- Use native renderer for drawing check boxes in wxPropertyGrid (Eran Ifrah). +- Fix drawing custom colours of wxEnumProperty items in wxPG (Artur Wieczorek). +- Add wxBitmap ctor from wxCursor. +- Always disable wxWizard "Back" button on the starting page (pmgrace30). +- Add wxUIActionSimulator::Select(). +- Add wxOwnerDrawnComboBox::Is{List,Text}Empty() methods. +- Fix creating/removing mode buttons in wxPG manager (Artur Wieczorek). +- Harmonize wxMenuEvent handling between all major ports. +- Fix wxPGChoices copy ctor (Snoits). +- Show how to handle files on command line in docview sample (Neil Mayhew). +- Improve wxFileCtrl::SetFilename() and SetPath() (Kevin B. McCarty). +- Fix a crash when using animated GIFs in wxHtmlListBox. +- Use platform-specific stock icons for wxEditableListBox buttons. +- Add support for the events from multimedia keys (Jens Göpfert). +- Allow suppressing warnings from wxImage::LoadFile(). +- Allow customizing wxRibbon highlight colours (wxBen). +- Enable selecting opacity in generic wxColourPicker. +- Extend the support for font weights to a bigger range. +- Add support for fractional font sizes. + +wxGTK: + +- Support building wxGTK3 under Windows (Kolya Kosenko). +- Implement support for non-wxTextCtrl custom editors in wxDataViewCtrl. +- Fix vertical cell alignment in wxDataViewCtrl. +- Fix clearing of wxComboBox with wxCB_READONLY (Chuddah). +- Fix setting "pressed" bitmap for wxToggleButton (Kevin B. McCarty). +- Fix GTK+ warnings for wxFileDialog with wxFD_MULTIPLE style. +- Don't generate wxEVT_LIST_ITEM_RIGHT_CLICK outside of item area (Igor Korot). +- Implement wxDataViewCtrl::SetIndent(). + +wxMSW: + +- Make default wxSizer border DPI-aware. +- Implement native appearance for wxAUI tabs and toolbars (Tobias Taschner). +- Show more modern-looking wxNotificationMessages under 8+ (Tobias Taschner). +- Improve wxMimeTypesManager open command detection (Eric Jensen). +- Make wxFILTER_INCLUDE_LIST in wxTextValidator actually usable. +- Fix handling crashes in wxEVT_PAINT event handlers. +- Fix wxStackWalker to work with Unicode identifiers (Suzumizaki-kimitaka). +- Fix appearance of toggled wxToggleButtons with bitmap (tm). +- Fix setting menu item bitmaps after appending them (Artur Wieczorek). +- Fix setting label of submenu items (Artur Wieczorek). +- Fix handling of selected images in wxBitmapButton (Artur Wieczorek). +- Fix loading of bitmap with non-pre-multiplied alpha (Artur Wieczorek). +- Support multiline strings in wxDC::DrawRotatedText() (Artur Wieczorek). +- Fix stretchable spacers in vertical toolbars (Artur Wieczorek). +- Implement setting foreground colour for wxRadioButton (Artur Wieczorek). +- Add font colour support to wxFontPickerCtrl (Pana Alexandru). +- Add wxEnhMetaFile::Detach() (Luca Bacci). +- Add support for saving 256*256 32bpp ICOs in PNG format (Artur Wieczorek). +- Keep menu item icon after removing and adding it back (Artur Wieczorek). +- Add wxThread::MSWGetHandle() (troelsk). +- Allow using sizers for laying out wxMDIClientWindow (Artur Wieczorek). +- Fix updating wxSlider background when its parent background changes. +- Implement wxListBox::EnsureVisible() (RIVDSL). +- Drastically improve efficiency of selecting all items in wxDataViewCtrl. +- Fix spurious selection events generation in wxDataViewCtrl. +- Fix wxMenuEvent::GetMenu() for wxEVT_MENU_{OPEN,CLOSE} in MDI frames. +- Fix updating wxSpinCtrlDouble tooltip text (Laurent Poujoulat). +- Fix appearance of checked disabled wxToolBar tools with custom images. +- Fix reading of not NUL-terminated strings using wxRegKey (Steffen Olszewski). +- Fix unexpected change in MDI children order after showing a file dialog. +- Don't send events for already selected radio popup menu items (Kinaou Hervé). +- wxListCtrl::GetItemCount() in wxEVT_LIST_INSERT_ITEM is no longer off by 1. +- Don't send bogus root selection events when clicking wxTreeCtrl (sbrowne). +- Avoid bogus assert after calling wxDatePickerCtrl::SetRange(). +- Add solution file for building with MSVS 2014 (Peter Tissen). +- Correct wxGetOsDescription() for Windows 10 (Tobias Taschner). +- Make wxListCtrl &c appearance more native on modern systems (Tobias Taschner). +- Don't send wxActivateEvent for minimized windows (bzcdr). +- Return correct OS version under Windows 8.1 and later. +- Fix crash in wxD2DContext when using non-MSVC compiler (iwbnwif). +- Notify shell about the changes done by wxMimeTypesManager (Maarten Bent). +- Fix wxPrintf() and friends when using MinGW with ANSI stdio option. +- Fix strike-through support in wxFont with GDI+ (David Vanderson). +- Fix UTF-32 conversion for non-BMP characters (ARATA Mizuki). +- Use correct parent for the native modal dialogs (Andreas Falkenhahn). +- Fix layout of wxSlider with wxSL_VALUE_LABEL only (gafatoa). +- Fix flicker when resizing columns of report-mode wxListCtrl. +- Implement wxTreeCtrl::SetDoubleBuffered() (Steve Browne). + +wxOSX/Cocoa: + +- Make wxiOS (iPhone) port build and minimally work again (Tobias Taschner). +- Use more efficient FSEvents in wxFileSystemWatcher (Roberto Perpuly). +- Implement wxWindow::Disable() for non-native controls too (Steve Browne). +- Implement wxTopLevelWindow::EnableCloseButton() (John Roberts). +- Fix wxEVT_CHAR for non-BMP Unicode characters (ARATA Mizuki). +- Add wxTE_AUTO_URL support to wxTextCtrl (Igor Korot). +- Add support for wxEVT_COMBOBOX_{DROPDOWN, CLOSEUP} events (Igor Korot). +- Implement strike-through support in wxFont (Igor Korot, Daniel Kulp). +- Provide native implementation of wxStandardPaths (Tobias Taschner). +- Add wxTE_{RIGHT,CENTER} support for multiline wxTextCtrl (Andreas Falkenhahn). +- Don't leave wxSlider labels shown when the slider itself is hidden. +- Don't generate wxEVT_TEXT_ENTER for controls without wxTE_PROCESS_ENTER. +- Implement wxToolTip::SetDelay() (David Vanderson). +- Correct positioning of popup menus relative to mouse pointer (John Roberts). +- Add support for right-aligned checkboxes (John Roberts).