wxWidgets/docs/changes.txt
Artur Wieczorek b308ff3746 Document bounding box fix in changelog
Document changes introduced in ae57d89df8.
2017-03-02 23:46:54 +01:00

384 lines
20 KiB
Plaintext

-------------------------------------------------------------------------------
wxWidgets Change Log
-------------------------------------------------------------------------------
Note: This file contains the list of changes since wxWidgets 3.x, please see
docs/changes_30.txt for the changes in the previous versions.
INCOMPATIBLE CHANGES SINCE 3.0.x:
=================================
Changes in behaviour not resulting in compilation errors
--------------------------------------------------------
- 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.
- 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.
Changes in behaviour which may result in build errors
-----------------------------------------------------
- "webview" library is not included in `wx-config --libs` output any more, you
need to request it explicitly, e.g. `wx-config --libs std,webview`.
- wxMSW now requires linking with shlwapi.lib and version.lib. This is done
automatically in most cases, but if you use a static build of the library
with a non-MSVC compiler such as MinGW and do not use wx-config, then you
will need to add these libraries to your make or project files yourself.
- WXWIN_OS_DESCRIPTION doesn't exist any longer, use wxGetOsDescription().
3.1.1: (not released yet)
----------------------------
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.
All:
- Add wxSecretStore for storing passwords using the OS-provided facilities.
- Add support for compiling application code with wxNO_UNSAFE_WXSTRING_CONV.
- 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).
- 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).
All (GUI):
- Improve wxSVGFileDC to support more of wxDC API (Maarten Bent).
- Add support for wxAuiManager and wxAuiPaneInfo to XRC (Andrea Zanellato).
- 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).
- 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 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 (MSW, GTK+).
- 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().
- 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.
wxGTK:
- Make wxUIActionSimulator work with GTK+ 3 (Scott Talbert).
- Apply wxTextCtrl::SetDefaultStyle() to user-entered text (Andreas Falkenhahn).
- Support background colour in wxDataViewCtrl attributes.
- Improve wxSpinCtrl best size calculation.
- Implement support for icon locations in wxMimeTypesManager (Hanmac).
- 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).
wxMSW:
- Add support for building with Microsoft Visual Studio 2017 (Tobias Taschner).
- Enable wxStackWalker in MinGW64 builds.
- 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.
- 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().
wxOSX:
- Fix handling of non-BMP characters in GetPartialTextExtents() (ARATA Mizuki).
- 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.
Unix:
- Support new gstreamer API in 1.7.2+ in wxMediaCtrl (Sebastian Dröge).
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).
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).
wxOSX/Cocoa:
- Make wxiOS (iPhone) port build and minimally work again (Tobias Taschner).
- Use more efficient FSEvents (10.7+) 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).