From a04261050af6b455f39b27b7d5856cf6cada465d Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Sat, 6 Aug 2022 12:36:22 -0700 Subject: [PATCH] Update announcement text --- CHANGES.rst | 3 +- packaging/ANNOUNCE.txt | 148 ++++++++++++++++++++++++----------------- 2 files changed, 90 insertions(+), 61 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index 9e9f6309..8f7ef082 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -108,7 +108,8 @@ New and improved in this release: * IntCtrl: Change default colour to wx.NullColour so the default color will be used. (#2215) -* Change PopupControl to respect all the parameters passed to it's init (#2218) +* Change PopupControl to respect all the parameters passed to its init method. + (#2218) * Fixes in flatmenu.py Remove and DestroyItem (#2219) diff --git a/packaging/ANNOUNCE.txt b/packaging/ANNOUNCE.txt index 9a563b3a..86a36278 100644 --- a/packaging/ANNOUNCE.txt +++ b/packaging/ANNOUNCE.txt @@ -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. -* 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)