Announcing wxPython 4.0.2
=========================

PyPI:   https://pypi.org/project/wxPython/4.0.2
Extras: https://extras.wxPython.org/wxPython4/extras/
Pip:    ``pip install wxPython==4.0.2``

Changes in this release include the following:

* Fixed wx.html2.EVT_WEBVIEW_NAVIGATING event not being sent on some
  versions of Linux. (#741)

* wx.Sizers can now be used as an iterator to iterate over the items
  within the sizer. (#738)

* Fix Python3 division in ThumbnailCtrl. (#746)

* Fix leaking image list in CheckListCtrlMixin (#752)

* All items marked as deprecated in the wxWidgets interface
  (documentation) files will now throw a DeprecationWarning when used
  from wxPython. Many of these items are disappearing in 4.1 so it's
  important to ensure they are deprecated at runtime too instead of
  just in the docs. (#749)

* Ensure that the attribute list given to the GLCanvas constructor is
  zero-terminated like it was in Classic. (#770)

* Updated to the wxWidgets 3.0.4 release version.

* Added the wxWidgets version number to the tail end of the string
  returned by wx.version().

* Bind EVT_WINDOW_DESTROY event only to the tree windows in
  CustomTreeCtrl, since otherwise it would be caught when child
  windows are destroyed too, which causes problems in this
  case. (#778)

* Fixed a problem where wx.TreeCtrl.OnCompareItems was not being
  called in derived classes on Windows. This was due to an
  optimization that wasn't compatible with how the classes are
  wrapped. (#774)

* Added wrappers for wx.ClassInfo and exposed
  wx.Object.GetClassInfo. This class is part of wxWidgets' internal
  type information system and although it is not very useful for
  Python applications it is useful for debugging some internal
  wxPython issues.

* Removed the wx.lib.pubsub package, and replaced it with code that
  imports the standalone PyPubSub in order remain compatible with
  older code that still uses wx.lib.pubsub. (#782, #792)

* Fixed bug in wx.lib.intctrl (#790)

* Fixed subclassing of wx.TextCompleter and wx.TextCompleterSimple
  (#827)

* Fixes for Python3 compatibility in PyCrust. (#823)

* Fix wxGet to be able to use pip v10. (#817)

* Change winid parameter in wx.ScrolledWindow to id, for
  consistency. (#816)

* Ensure that the page exists in book controls GetPage and RemovePage
  methods.  At least one of the wx ports do not do this. (#830)

* Added missing wx.NumberEntryDialog

* Change wx.TextCompleterSimple.GetCompletions to send the list of
  strings as a return value, rather than a parameter that gets
  filled. (#836)

* Enabled the wx.GraphicsContext.Create(metaFileDC) wrapper (#811)

* Metafile support is also available on OSX, so wx.msw.Metafile and
  wx.msw.MetafileDC have been moved to the core wx module. So they can
  now be accessed as wx.Metafile and wx.MetafileDC.

* Updated the waf tool used by the build to version 2.0.7. This fixes
  problems with building for Python 3.7.

* Fixed alignment in buttons on MSW which have had foreground or
  background colors set. (#815)

* Fix for unexpected assertion inside wx.aui.AuiMDIChildFrame.Close.

* Fix a bug in setting AuiDockingGuide size. (#727)

* Remove unnecessary AUI notebook updating, and use wx.BufferedDC in
  Repaint() to mitigate flicker. (wx.lib.agw.aui). (#851, #686)

* Fixed crashing bug when using client data with items in
  wx.dataview.DataViewTreeCtrl. (#856)

* Detach wx.Control in AuiToolbar from current sizer before attach to
  a new one. (#843)

* Fixed a problem in wx.lib.mixins.listctrl.TextEditMixin where the
  height of the editor widget could be set to zero. (See discussion in
  #849)

* Fix a bug in calculating whether a tool fits into the
  AuiToolBar. (#863)

* Override SetForegroundColour and SetBackgroundColour in
  MaskedEditMixin (#808)

* Add an explicit wx.GraphicsContext.Create overload for
  wx.AutoBufferedPaintDC. (#783)

* Return original AGW window style in
  AuiToolBar.GetAGWWindowStyleFlag. (#870)

* Fix a bug in group management on wx.lib.masked.numctrl; the previous
  code used truediv ('/') to calculate _groupSpace, but in python 3.x
  this leads to a float result, instead of an integer as was
  expected. Using floordiv ('//') instead to solve the problem. (#865)

* Hide the window when the tool does not fit into AuiToolBar. (#872)

* Fixed the virtual dispatch code for the PGEditor.GetValueFromControl
  method to properly pass the parameters to the Python implementation,
  and also fixed how the return value is handled. (#742)

* Fixed all implementations of the PGProperty.StringToValue and
  IntToValue methods to treat the value parameter as a return
  value. (#742)

* Add missing wx.adv.EVT_CALENDAR_WEEK_CLICKED (#875)

* Fixed the stock labels to conform to Windows design
  guidelines. (#787)

* Always reset floating size and style when floating a toolbar in
  agw.aui. (#880)





What is wxPython?
-----------------

wxPython is a cross-platform GUI toolkit for the Python programming
language.  It allows Python programmers to create programs with a
robust, highly functional graphical user interface, simply and
easily. It is implemented as a set of Python extension modules that
wrap the GUI components of the popular wxWidgets cross platform
library, which is written in C++. Supported platforms are Microsoft
Windows, Mac OS X and macOS, and Linux or other unix-like systems with
GTK2 or GTK3 libraries. In most cases the native widgets are used on
each platform to provide a 100% native look and feel for the
application.


What is wxPython Phoenix?
-------------------------

wxPython's Project Phoenix is a new from-the-ground-up implementation
of wxPython, created with the intent of making wxPython “better,
stronger, faster than he was before.” In other words, this new
implementation is focused on improving speed, maintainability and
extensibility of wxPython, as well as removing most of the cruft that
had accumulated over the long life of Classic wxPython.

The project has been in development off and on, mostly behind the
scenes, for many years. For the past few years automated snapshot
builds have been available for those adventurous enough to try it, and
many people eventually started using the snapshots in their projects,
even for production releases.  While there are still some things on
the periphery that need to be completed, the core of the new wxPython
extension modules which wrap the wxWidgets code has been stable for a
long time now.

Due to some things being cleaned up, reorganized, simplified and
dehackified wxPython Phoenix is not completely backwards compatible
with wxPython Classic.  This is intended. In general, however, the API
differences tend to be minor and some applications can use Phoenix
with slight, or even with no modifications.  In some other cases the
correct way to do things was also available in Classic and it's only
the wrong way that has been removed from Phoenix.  For more
information there is a Migration Guide document available at:
https://docs.wxpython.org/MigrationGuide.html

The new wxPython API reference documentation, including all
Python-specific additions and customizations, and docs for the wx.lib
package, is located at: https://docs.wxpython.org/



--
Robin Dunn
Software Craftsman
http://wxPython.org
--
https://mail.python.org/mailman/listinfo/python-announce-list

       Support the Python Software Foundation:
       http://www.python.org/psf/donations/

Reply via email to