INCOMPATIBLE CHANGES SINCE 2.6.x
================================
+Changes in behaviour not resulting in compilation errors, please read this!
+---------------------------------------------------------------------------
+
+- For all wxInputStreams, Eof() becomes true after an attempt has been made
+ to read _past_ the end of file.
+- wxFileName::DirExists() checks if the path of the file is a directory, not
+ if the whole name is a directory.
+- wxDialog::CreateButtonSizer() may return NULL now, please see the manual.
+- wxStaticBoxSizer now deletes the associated wxStaticBox when it is deleted.
+- wxArray::Alloc() now works as reserve() and does not clear the array any more
+- Windows calling CaptureMouse() are now required to handle the
+ wxEVT_MOUSE_CAPTURE_LOST event and not call ReleaseMouse() in this case.
+- wxInputStream::GetC() now returns an int in the range 0 - 255 on success
+ instead of a char the range -128 - 127.
+- A sequence returned by wxFileSystem::FindFirst()/FindNext() may now be
+ be scoped to a single instance of wxFileSystem.
+
+
+Changes in behaviour which may result in compilation errors
+-----------------------------------------------------------
+
+- Some classes (notably wxBitmap and wxImage) don't define operator==() as it
+ used to work in somewhat unexpected way as it compared only internal pointers
+ and not the object data. The code using it will have to be updated:
+ * If the object was compared with wxNullXXX, use IsOk() method instead
+ * If valid object need to be compared, use IsSameAs() to reproduce the old
+ behaviour or change the code to avoid comparing bitmaps &c.
- wxFontData::GetColour() now returns a const colour.
- wxDC objects can't be created directly now (this never worked, now it doesn't
even compile).
-- For all wxInputStreams, Eof() becomes true after an attempt has been made
- to read _past_ the end of file.
- wxCHECK family of macros now must be followed by a semicolon.
- wxMBConv::cMB2WC() and cWC2MB() take size of the input buffer and return
length of the converted string in all cases now.
override it.
- wxFontEnumerator::GetFacenames() and GetEncodings() now return arrays and
not pointers to arrays.
-- wxStaticBoxSizer now deletes the associated wxStaticBox when it is deleted.
-- Windows calling CaptureMouse() are now required to handle
- the wxEVT_MOUSE_CAPTURE_LOST event.
- SetDefaultItem() method was moved from wxPanel to wxTopLevelWindow
- wxDialog::OnOK/OnCancel() don't exist any more, use SetAffirmative/EscapeId()
- wxPathList doesn't derive from (deprecated) wxStringList any more
+- wxGLContext class has no 1:1 coupling to a wxGLCanvas class any more.
+ As a consequence, the class interface changed largely. Code updates, if
+ any are required at all, are easy to accomplish though.
Deprecated methods since 2.6.x and their replacements
-----------------------------------------------------
- wxGetWorkingDirectory() deprecated in favour of wxGetCwd().
-- wxDC::BeginDrawing() and wxDC::EndDrawing() deprecated, just don't use them.
+- wxDC::BeginDrawing() and wxDC::EndDrawing() deprecated, don't use them.
+- wxWindowBase::GetBestFittingSize --> wxWindowBase::GetEffectiveMinSize.
+- wxWindowBase::SetBestFittingSize --> wxWindowBase::SetInitialSize.
-Major changes in 2.7 release
-----------------------------
+Major new features in 2.8 release
+---------------------------------
-- New AUI library supporting docking windows and much more
+- New AUI library supporting docking windows and much more.
+- New rich text control library implementing a generic wxRichTextCtrl,
+ using only the wxWidgets API. Also includes formatting dialogs, conversion
+ to HTML, and printing classes.
+- New wxComboCtrl class giving the ability to create custom, graphical
+ comboboxes. Associated classes include wxOwnerDrawnComboBox, wxComboPopup
+ and wxBitmapComboBox.
+- Further functionality including wxAnimationCtrl (moved from contrib/src/anim
+ and enhanced), wxHtmlSimpleListBox, wxHyperlinkCtrl, wxColourPickerCtrl,
+ wxDirPickerCtrl, wxFilePickerCtrl, wxFontPickerCtrl, wxCollapsiblePane,
+ wxAboutBox, wxTreebook, tar streams.
+
+
+2.8.0
+-----
+
+All:
+
+- wxArrayString::Alloc() now works as reserve() and doesn't clear array contents
+- Fixed long standing bug in wxFileConfig groups renaming (Antti Koivisto).
+
+wxMSW:
+
+- Fixed version script problems when using configure with cygwin/mingw32.
+
+2.7.2
+-----
+
+All:
+
+- Added wxFFile overload to wxFileName::CreateTemporaryFileName().
+- Added GetTempDir() to wxFileName and wxStandardPaths.
+- Added wxTar streams.
+- Added wxFilterFSHandler and wxArchiveFSHandler.
+- Added wxString::ToLongLong() and ToULongLong().
+
+All (GUI):
+
+- wxMemoryDC constructor now optionally accepts a wxBitmap parameter,
+ calling SelectObject itself if a valid bitmap is passed.
+- Reverted wxBuffered[Paint]DC to pre 2.7.1 state, added
+ wxAutoBufferedPaintDC and wxAutoBufferedPaintDCFactory.
+- Renamed wxProgressDialog::UpdatePulse() to just Pulse().
+- Added wxCollapsiblePane (Francesco Montorsi).
+- Added wxSimpleHtmlListBox (Francesco Montorsi).
+- Printing framework fixes by Robert J. Lang. Bugs fixed,
+ wxPrinterDC::GetPaperRect() and other functions added to allow
+ easier printing implementation, and the documentation updated.
+- Many enhancements to wxRichTextCtrl including URL support,
+ formatting and symbol dialogs, print/preview, and better list
+ formatting.
+- Support for loading TGA files added (Seth Jackson).
+- Added wxTB_RIGHT style for right-aligned toolbars (Igor Korot).
+- wxHtmlWindow now generates events on link clicks (Francesco Montorsi).
+- wxHtmlWindow now also generates wxEVT_COMMAND_TEXT_COPY event.
+
+Unix Ports:
+
+- Added autopackage for wxGTK and an example of using autopackage for a wx
+ program (Francesco Montorsi).
+
+wxGTK:
+
+- More RTL work.
+- Support wxALWAYS_SHOW_SB.
+- Speed up MIME types loading. Only the GNOME database should be loaded under
+ GNOME etc. For this, the code queries the X11 session protocol.
+- wxCaret redraw problem during scrolling fixed.
2.7.1
All:
-- Added wxDir::FindFirst() (Francesco Montorsi)
-- Added wxPlatformInfo class (Francesco Montorsi)
+- Added wxDir::FindFirst() (Francesco Montorsi).
+- Added wxPlatformInfo class (Francesco Montorsi).
+- Added wxLocale::IsAvailable() (Creighton).
+- Added Malay translations (Mahrazi Mohd Kamal).
+- Added reference counting for wxVariant.
+- For consistency, all classes having Ok() method now also have IsOk() one, use
+ of the latter form is preferred although the former hasn't been deprecated yet.
+- Added wxFileName::Is(Dir|File)(Writ|Read|Execut)able() (Francesco Montorsi).
+- Added wxFileName::GetSize() and GetHumanReadableSize() (Francesco Montorsi).
+- Added wxSizer::Replace (Francesco Montorsi).
+- wxXmlDocument can now optionally preserve whitespace (Francesco Montorsi).
+- Added wxBookCtrl::ChangeSelection() and wxTextCtrl::ChangeValue() to provide
+ event-free alternatives to SetSelection() and SetValue() functions; see the
+ "Events generated by the user vs programmatically generated events" paragraph
+ in the "Event handling overview" topic for more info.
All (GUI):
-- Support for right-to-left text layout (Diaa Sami during Google Summer of Code)
-- Added wxID_PAGE_SETUP standard id
+- Support for right-to-left text layout (started by Diaa Sami during Google Summer of
+ Code, with a lot of help from Tim Kosse and others).
+- wxAnimationCtrl added (Francesco Montorsi).
+- Added wxAboutBox() function for displaying the standard about dialog.
+- Added wxID_PAGE_SETUP standard id.
+- Added wxSize::IncBy() and DecBy() methods.
+- Added wxTextCtrl::IsEmpty().
+- Added file type parameter to wxTextCtrl::LoadFile, wxTextCtrl::SaveFile for
+ consistency with wxRichTextCtrl.
+- wxRichTextCtrl: fixed range out-by-one bug to be consistent with wxTextCtrl API,
+ fixed some attribute bugs and added wxRichTextStyleComboCtrl.
+- Added wxWindow::IsDoubleBuffered().
+- Added wxHL_ALIGN_* flags to wxHyperlinkCtrl (Francesco Montorsi).
+- Added wxGauge::Pulse() and wxProgressDialog::UpdatePulse() (Francesco Montorsi).
+
+wxMSW:
+
+- Implemented wxComboBox::SetEditable().
+- wxSemaphore::Post() returns wxSEMA_OVERFLOW as documented (Christian Walther)
+- Fixed a bug whereby static controls didn't use the correct text colour if the
+ parent's background colour had been set (most noticeable when switching to a
+ high-contrast theme).
+- Respect wxBU_EXACTFIT style in wxToggleButton (Alexander Borovsky).
wxMac:
wxGTK:
-- Automatically use stock items for the menu items with standard ids
-- Setting cursor now works for all controls
+- Automatically use stock items for menu items with standard ids.
+- Setting cursor now works for all controls.
+- Implemented right-to-left support.
+- Implemented left indentation and tab stops support in wxTextCtrl (Tim Kosse).
+- Fixed wxHTML rendering of underlined text of multiple words (Mart Raudsepp).
+
+wxUniv:
+
+- Added wxTLW::UseNativeDecorations() and UseNativeDecorationsByDefault().
2.7.0
Previously, only the buffer would be returned, even if more data was requested.
- Added wxPowerEvent (currently MSW-only).
- Make wx-config compatible with Bourne shells.
-- Fixed wxDb::Open(wxDbConnectInf) when using connection string (Hellwolf Misty)
-- Fixed crash in wxDb::Open() in Unicode build (Massimiliano Marretta)
-- Fixed wxTimeSpan::Format() for negative time spans
-- Optionally count repeating wxLog messages instead of logging all (Lauri Nurmi)
+- Fixed wxDb::Open(wxDbConnectInf) when using connection string (Hellwolf Misty).
+- Fixed crash in wxDb::Open() in Unicode build (Massimiliano Marretta).
+- Fixed wxTimeSpan::Format() for negative time spans.
+- Optionally count repeating wxLog messages instead of logging all (Lauri Nurmi).
All (GUI):
-- New AUI (Advanced User Interface) library for docking windows and much more
+- New AUI (Advanced User Interface) library for docking windows and much more.
- Added wxComboCtrl and wxOwnerDrawnComboBox (Jaakko Salli).
- Added wxTreebook (uses a wxTreeCtrl to control pages).
- Added wxColour/Dir/File/Font/PickerCtrls (Francesco Montorsi).
- wxNB_HITTEST_* flags renamed to wxBK_HITTEST_* to serve all book controls.
- Added wxTopLevelWindow::SetTransparent and CanSetTransparent, with
implementations (so far) for wxMSW and wxMac.
-- Allow customizing individual grid lines appearance (Søren Lassen)
-- Fixed middle click events generation in generic wxTreeCtrl (Olly Betts)
+- Allow customizing individual grid lines appearance (Søren Lassen).
+- Fixed middle click events generation in generic wxTreeCtrl (Olly Betts).
- Added wxEVT_MOUSE_CAPTURE_LOST event that must be handled by all windows
that CaptureMouse() is called on.
- Switching page of a hidden notebook doesn't lose focus (Jamie Gadd).
- Removed wxImageList *GetImageList(int) const.
- Fixed MDI context menu problem.
-- Removed __WIN95__ define
+- Removed __WIN95__ define.
- Create msw/rcdefs.h in setup.h's directory, which can be included by
resource files. It containts platform/compiler specific defines (such as
target cpu) which can be used in #ifs in .rc files.