Update announcement text

This commit is contained in:
Robin Dunn
2022-08-06 12:36:22 -07:00
parent 66c3e0cdc5
commit a04261050a
2 changed files with 90 additions and 61 deletions

View File

@@ -9,87 +9,115 @@
Announcing wxPython 4.1.1
Announcing wxPython 4.2.0
=========================
PyPI: https://pypi.org/project/wxPython/4.1.1
PyPI: https://pypi.python.org/pypi/wxPython/4.2.0
Extras: https://extras.wxPython.org/wxPython4/extras/
Pip: ``pip install wxPython==4.1.1``
Pip: ``pip install wxPython==4.2.0``
New and improved in this release:
* Yes, it's been a VERY long time since the last release. I'm not
dead, just on an extended break. It took me a while to get up to
speed on a new day job, and then there was a seemingly perpetual
crunch-mode to get the product through a couple release cycles. I
can't say that things are fully back to normal yet, but at least I
now know what I'm doing. Mostly. <wink>
* This should have been mentioned in the notes for the last release,
but alas, it wandered away and got lost. wxWidgets is now validating
the flags passed when adding items to a sizer, to ensure that they
are the correct flags for the type of the sizer. If the given flags
do not make sense, for example using horizontal alignment flags in a
horizontal box sizer, then a wxAssertionError error is raised.
* This release is built using the wxWidgets' 3.2.0 release tag.
* Fixed missing binder for wxEVT_STC_AUTOCOMP_SELECTION_CHANGE. (#1613)
* Tweaked the build scripts a bit to ensure that on non-Windows
platforms that the compiler and flags used by default match those
used by wxWidgets, (with the flags needed by Python added on.) The
compiler commands can be overridden by setting CC and CXX in the
environment if needed. (#1247)
* DataViewModel.HasValue can be overridden and will inform the
DataViewCtrl whether or not an item and column has data. If HasValue
returns False, then GetValue for that item/col will not be called.
This allows a distinction between a truly empty cell, and one that
has a value even if it is an empty string. (#1600)
* On Windows the build code that locates and sets up the environment
for the MSVC compiler no longer relies on distutils code, but is now
using more modern code in setuptools instead. This enables much more
compiler flexibility and wxPython should now be buildable with
Visual Studio versions from 2015 through 2022+.
* Added flag that allows blocking of item dragging in the
UltimateListControl class. (PR#1620)
* Switched to SIP 6 for generating the wrapper code. Rather than a
standalone executable, SIP is now a Python package that needs to be
installed in the Python environment used for the build. A dependency
has been added to requirements/devel.txt to help ensure that the
correct version is installed. The wx.siplib module code is no
longer kept in the repository, but is generated during the build.
* Add the column index to notification events in UltimateListControl
(PR#1630)
* Changed wx.App.InitLocale to just do
`locale.setlocale(locale.LC_ALL, "C")` to undo what Python (3.8+ on
Windows) does. This lets wxWidgets start with an uninitialized
locale as it expects. (#1637)
* Added orientation parameter to UltimateListControl.GetScrollPos.
(PR#1632)
* Fixed issues related to `time_t` always being treated as a 32-bit
value on Windows. (#1910)
* wx.lib.agw.aui.AuiNotebook RemovePage() now hides the removed page,
so it needs to be shown again if it is reused in another place.
(PR#1668)
* Added wx.FullScreenEvent and wx.EVT_FULLSCREEN.
* Fixed issue that could modify `bytes` objects under Python. (PR#1680)
* The legacy, OSX-Only wx.webkit module has been removed.
* Added wx.lib.agw.aui.EVT_AUI_PANE_CLOSE event which is sent when a
AUI (the agw version) Pane has been closed (after it has been
closed, not when it is about to be closed, which is when
EVT_AUI_PANE_CLOSE is sent.) (PR#1628)
* Fix building wxPython with Python 3.10 on Windows (#2016)
* Exposed the wx.DC methods GetGraphicsContext and SetGraphicsContext.
Depending on the platform and the type of the DC, there may be a
wx.GraphicsContext used for the implementation of the DC. If so, the
GetGraphicsContext method enables access to it. Be sure to check
that the return value is not None before trying to use it.
* Fix PyProgress on Windows by avoiding invalid sizer flags (#1985)
* Simplified the implementation of the wx.App.InitLocale method. See the
MigrationGuide for more information.
* Fix 'More Grid Features' in demo
* Added wx.lib.agw.aui.AUI_DOCKART_HINT_WINDOW_BORDER_COLOUR constant
so the hint window border color can be themed as well.
* Many of the widgets which deal with bitmaps have been changed to use
a wx.BitmapBundle object instead of wx.Bitmap. This is the mechanism
which wxWidgets has implemented for adapting to things like Hi-DPI
displays. Essentially you can load a list of bitmaps of different
sizes (but similar or scaled content) into a wx.BitmapBundle, and
the widget can choose one based on the display density. Existing
code should be able to continue to pass a wx.Bitmap to the widget
constructor or to methods like SetBitmap, as wxPython will
automatically convert from a wx.Bitmap to a wx.BitmapBundle
containing the single image provided.
* The wx.lib.mixins.listCtrl.CheckListCtrlMixin is now obsolete
because wx.ListCtrl has new functionality which does pretty much the
same thing. In fact there is some overlap in method names which may
trip up some use cases. It is advised to drop the use of
CheckListCtrlMixin and just use the wx.ListBox functionality. You
will need to call EnableCheckBoxes to turn it on, and you may need
to change some event handlers or overloaded methods.
* Add support for new wx.grid event, EVT_GRID_ROW_MOVE
* wx.html2.WebView is now able to use Microsoft's Edge browser
component as its backend renderer. This should improve the
capabilities of the WebView widget on Windows, and be more
consistent with the WebViews on the other platforms, compared to the
original IE 11 backend. Using this backed requires that a new-ish
version of the Edge browser is installed on the end user's computer.
* Fix path issues in wx.lib.agw.multidirdialog (#2120)
* Added the wx.Image.ConvertToRegion method. This lets you create a
wx.Region from an image and a specified color or the mask if the
image has one. This was done to workaround a bug in wxMac, but it
seems worthwhile enough to keep it around even after the bug was
fixed.
* Fix eventwatcher checkAll(check=False) (#2139)
* Added the missing context manager methods for wx.LogNull. (#1842)
* Fix exception on grid labels click in 4.1.1a (#1841)
* Refactored ScrolledThumbnail out of agw.ThumbnailCtrl so as to be
usable outside of ThumbnailCtrl.
* Fix a large number of Python 3.10 issues. In Python 3.10, a change
was implemented where extension functions that take integer
arguments will no longer silently accept non-integer arguments
(e.g., floats) that can only be converted to integers with a loss of
precision. Fixed most of these issues in the pure-Python classes
and demos by explicitly converting the parameters to int before
passing them to wxWidgets. There is loss of precision, but this was
happening before (automatically) anyway as most wxWidgets
DeviceContext functions operate using integers.
* Fix PlotCanvas point label drawing on Linux
* Fix GetPopupMenu override for wx.adv.TaskbarIcon (#2067)
* Fix invisible text in lib.plot with dark theme
* Add new button type: ShowHideToggleButton. Like a ToggleButton, but
with an associated "menu", a Window or Sizer which is shown/hidden
when button is toggled. Includes methods for setting active and
inactive fore/background colours.
* Fix unbinding of events in FIFO order (#2027)
* Enable customization of layout of pdfviewer button panel
* Support newer PyMuPDF versions (#2205)
* IntCtrl: Change default colour to wx.NullColour so the default
color will be used. (#2215)
* Change PopupControl to respect all the parameters passed to its
init method (#2218)
* Fixes in flatmenu.py Remove and DestroyItem (#2219)
* Using the MinGW toolchain to build wxPython has been simplified
a bit. (#2211)