type "const char *", you need to remove wxT() or _T() around the values used
to initialize them (which should normally always be ASCII).
+- wxIPC classes didn't work correctly in Unicode build before, this was fixed
+ but at a price of breaking backwards compatibility: many methods which used
+ to work with "wxChar *" before use "void *" now (some int parameters were
+ also changed to size_t). While wxIPC_TEXT can still be used to transfer 7
+ bit text, the new wxIPC_UTF8TEXT format is used for transferring wxStrings.
+
+
+wxODBC library removal
+----------------------
+
+wxODBC library was unmaintained since several years and we couldn't continue
+supporting it any longer so it was removed. Please use any of the other open
+source ODBC libraries in the future projects.
Changes in behaviour not resulting in compilation errors, please read this!
sizes of the sizer items to be in the same proportion as the items
proportions to return to the old behaviour.
+- wxWindow::Freeze/Thaw() are not virtual any more, if you overrode them in
+ your code you need to override DoFreeze/Thaw() instead now.
+
+
Changes in behaviour which may result in compilation errors
-----------------------------------------------------------
- WXWIN_COMPATIBILITY_2_4 doesn't exist any more, please update your code if
you still relied on features deprecated since version 2.4
+- wxDC classes hierarchy has changed, if you derived any classes from wxDC you
+ need to review them as wxDC doesn't have any virtual methods any longer and
+ uses delegation instead of inheritance to present different behaviours.
+
- Return type of wxString::operator[] and wxString::iterator::operator* is no
longer wxChar (i.e. char or wchar_t), but wxUniChar. This is not a problem
in vast majority of cases because of conversion operators, but it can break
- Removed global GetLine() function from wx/protocol/protocol.h, use
wxProtocol::ReadLine() instead.
-
+
- wxVariant no longer derives from wxObject. wxVariantData also no longer
derives from wxObject; instead of using wxDynamicCast with wxVariantData you
can use the macro wxDynamicCastVariantData with the same arguments.
+- wxWindow::Next/PrevControlId() don't exist any more as they can't be
+ implemented correctly any longer because automatically generated ids are not
+ necessarily allocated consecutively any more. Use GetChildren() to find the
+ next/previous control sibling instead.
+
Deprecated methods and their replacements
-----------------------------------------
- wxXmlProperty class was renamed to wxXmlAttribute in order to use standard
terminology. Corresponding wxXmlNode methods were renamed to use
"Attribute" instead of "Property" or "Prop" in their names.
+- wxConnection::OnExecute() is not formally deprecated yet but new code should
+ use simpler OnExec() version which is called with wxString argument
Major new features in this release
----------------------------------
+- wxWidgets is now always built with Unicode support but provides the same
+ simple (i.e. "char *"-tolerant) API as was available in ANSI build in the
+ past.
+
+- wxWidgets may now use either wchar_t (UTF-16/32) or UTF-8 internally,
+ depending on what is optimal for the target platform.
+
+- Events loops, timers and sockets can now be used in wxBase, without GUI.
+
2.9.0
-----
All:
+- Added (experimental) IPv6 support to wxSocket (Arcen)
+- Allow loading message catalogs from wxFileSystem (Axel Gembe)
+- Added wxMessageQueue class for inter-thread communications
+- Use UTF-8 for Unicode data in wxIPC classes (Anders Larsen)
- Added support for user-defined types to wxConfig (Marcin Wojdyr).
- Added wxJoin() and wxSplit() functions (Francesco Montorsi).
- Added wxMutex::LockTimeout() (Aleksandr Napylov).
Linnakangas).
- wxVariant::Unshare allows exclusive allocation of data that must be shared,
if the wxVariantData::Clone function is implemented.
+- Added wxWeakRef<T>, wxScopedPtr<T>, wxSharedPtr<T> class templates
+- Added wxVector<T> class templates
All (Unix):
All (GUI):
+- Added wxDataViewCtrl class and helper classes
+- Added {wxTextCtrl,wxComboBox}::AutoComplete() and AutoCompleteFileNames()
- Added wxH[V]ScrolledWindow (Brad Anderson, Bryan Petty).
+- Added wxNotificationMessage class for non-intrusive notifications
+- Added wxWindow::Show/HideWithEffect()
- Added wxDC::StretchBlit() for wxMac and wxMSW (Vince Harron).
- Added support for drop down toolbar buttons (Tim Kosse).
- Added support for labels for toolbar controls (Vince Harron).
- Added wxMessageDialog::SetMessage() and SetExtendedMessage().
+- Added wxListCtrl::Set/GetColumnsOrder() (Yury Voronov)
+- Added wxWindow::AlwaysShowScrollbars() (Julian Scheid)
+- Added wxMouseEvent::GetClickCount() (Julian Scheid)
+- Added wxBG_STYLE_TRANSPARENT background style (Julian Scheid)
- Added XRCSIZERITEM() macro for obtaining sizers from XRC (Brian Vanderburg II)
- New and improved wxFileCtrl (Diaa Sami and Marcin Wojdyr)
- Added wxEventBlocker class (Francesco Montorsi).
behaviour of GetNextSibling() consistent between wxMSW and generic versions.
- Merged wxRichTextAttr and wxTextAttrEx into wxTextAttr, and added a font table
to wxRichTextBuffer to reduce wxFont consumption and increase performance.
-- Optimize wxGenericTreeCtrl::Collapse/ExpandAllChildren() (Szczepan Holyszewski)
+- Optimize wxGenericTreeCtrl::Collapse/ExpandAllChildren(). (Szczepan Holyszewski)
+- Added <scrollrate> parameter to wxScrolledWindow XRC handler.
+- Added support for automatic dialog scrolling, via the new wxDialogLayoutAdapter
+ class and various new wxDialog functions. See the topic "Automatic Scrolling
+ Dialogs" in the manual for further details.
+- Added support for resizing wxWizard bitmaps to the current page height,
+ via SetBitmapPlacement, SetBitmapBackgroundColour and SetMinimumBitmapWidth.
+ Also made it easier to derive from wxWizard and override behaviour.
+- Added wxWrapSizer
+- Made wxSizer::Fit() set the client size of the target window
wxGTK:
- Added support for colour cursors (Pascal Monasse).
- Pass current control text to EVT_TEXT handler for wxSpinCtrl (John Ratliff).
- Added gtk.tlw.can-set-transparency system option.
+- Added support for GTK+ print backend
wxMac:
- Fix duplicate (empty) help menu in non-English programs (Andreas Jacobs).
- Allow accelerators to be used with buttons too (Ryan Wilcox).
- Support resource forks in wxCopyFile() (Hank Schultz).
+- Implement wxLocale::GetInfo() using CFLocale
+- Added native wxCollapsiblePane
wxMSW:
- Return the restored window size from GetSize() when window is minimized.
- wxCheckListBox now looks more native, especially under XP (Marcin Malich).
- Allow tooltips longer than 64 (up to 128) characters in wxTaskBarIcon
+- Fix centering wxFileDialog and allow positioning it
+- Allow centering wxMessageDialog on its parent window (troelsk)
wxX11:
- Make Enter key activate the default button (David Hart).
+2.8.8
+-----
+
+All:
+
+- Fixed bug with parsing some dates in wxDateTime (Bob Pesner)
+- Fixed bug with parsing negative time zones in wxDateTime::ParseRfc822Date()
+
+All (GUI):
+
+- Added wxWindow::GetNextSibling() and GetPrevSibling()
+- Improve wximage::ResampleBox() (Mihai Ciocarlie)
+- Implemented ScrollList() in generic wxListCtrl (Tim Kosse)
+
+wxMSW:
+
+- Fix rare bug with messages delivered to wrong wxSocket (Tim Kosse)
+- Fix setting icons when they have non-default (16*16 and 32*32) sizes
+
+wxGTK:
+
+- Return false from wxEventLoop::Dispatch() if gtk_main_quit() was called and
+ so the loop should exit (Rodolfo Schulz de Lima)
+
+
+2.8.7
+-----
+
+All:
+
+- Fixed bug with default proxy destruction in wxURL (Axel Gembe).
+
+wxMSW:
+
+- Correct (harmless) warnings given for forward-declared DLL-exported classes
+ by mingw32 4.2 (Tim Stahlhut).
+
+wxGTK:
+
+- Added gtk.window.force-background-colour wxSystemOptions option to work around
+ a background colour bug in the gtk-qt theme under KDE.
+- Implemented wxGetClientDisplayRect() correctly for wxGTK and X11-based ports.
+
+
2.8.6
-----