From 7f2e86a72c7698f346c83f1f5c7adc606583ddde Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Wed, 23 Oct 2019 18:34:41 -0700 Subject: [PATCH 1/7] Show and Destroy the test dialogs on Macs, yield after update, and more test fixes --- unittests/test_dialog.py | 4 ++++ unittests/test_sizer.py | 4 +++- unittests/wtc.py | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/unittests/test_dialog.py b/unittests/test_dialog.py index 911e4484..6b36cf33 100644 --- a/unittests/test_dialog.py +++ b/unittests/test_dialog.py @@ -20,6 +20,10 @@ class dialog_Tests(wtc.WidgetTestCase): dlg.Destroy() self.assertTrue(val == wx.ID_OK) self.myYield() + else: + dlg.Show() + dlg.Destroy() + self.myYield() def test_dialogDefaultCtor(self): diff --git a/unittests/test_sizer.py b/unittests/test_sizer.py index 7703c972..af432fe5 100644 --- a/unittests/test_sizer.py +++ b/unittests/test_sizer.py @@ -74,12 +74,14 @@ class sizer_Tests(wtc.WidgetTestCase): def test_iter(self): bs = wx.BoxSizer() widgetlist = [wx.Panel(self.frame) for _ in range(5)] + for w in widgetlist: + bs.Add(w) sizeritems = [x for x in bs] for item in sizeritems: self.assertTrue(isinstance(item, wx.SizerItem)) - self.assertTrue([x.GetWidget() for x in bs] == widgetlist) + self.assertEqual([x.GetWindow() for x in bs], widgetlist) def test_sizerSpacers1(self): bs = wx.BoxSizer() diff --git a/unittests/wtc.py b/unittests/wtc.py index 53408674..c9cfa41e 100644 --- a/unittests/wtc.py +++ b/unittests/wtc.py @@ -57,6 +57,7 @@ class WidgetTestCase(unittest.TestCase): if 'wxOSX' in wx.PlatformInfo: wx.MilliSleep(40) # a little more than 1/30, just in case window.Update() + self.myYield() def closeDialogs(self): From d3fc050f6052826b5377d1bb6cf47d8980c59cf1 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Wed, 23 Oct 2019 19:01:18 -0700 Subject: [PATCH 2/7] Drop the alpha tag, update change log --- CHANGES.rst | 14 ++++++++++---- buildtools/version.py | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index 44d0115a..41bda903 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -8,15 +8,21 @@ wxPython Changelog ================== -4.0.7 "" ------------------- -* [not yet released] +4.0.7 "one more, for the road" +------------------------------ +* 25-Oct-2019 PyPI: https://pypi.org/project/wxPython/4.0.7 Extras: https://extras.wxPython.org/wxPython4/extras/ Pip: ``pip install wxPython==4.0.7`` -This release provides the following fixes: +This release is comprised mostly of fixes and minor features which have been +back-ported from the master branch. This release is likely the last release of +the 4.0.x release series, and is certainly the last 4.0.x release that will +support Python 2.7. It may still continue to build for Python 2.7 for some time, +but no extra effort will be expended to keep it compatible. + +This release provides the following changes: * Bug fixes in wx.lib.calendar: key navigation across month boundaries is now possible; key navigation now sets the date and fires the EVT_CALENDAR event; diff --git a/buildtools/version.py b/buildtools/version.py index dfcfef3f..07944d37 100644 --- a/buildtools/version.py +++ b/buildtools/version.py @@ -26,7 +26,7 @@ VER_MAJOR = 4 VER_MINOR = 0 VER_RELEASE = 7 -VER_FLAGS = "a1" # wxPython release flags +VER_FLAGS = "" # wxPython release flags # The VER_FLAGS value is appended to the version number constructed from the # first 3 components and should be set according to the following patterns. From 67f99ad2c00e70b1e9c676f0708a6c0a55b0a3ba Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Thu, 24 Oct 2019 10:34:53 -0700 Subject: [PATCH 3/7] Set the permissions for the docs and demo tarballs too (cherry picked from commit 941d3c1ad20d555dffbf882458509d4dea8ca990) --- build.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.py b/build.py index e3a2b4b1..58cb8061 100755 --- a/build.py +++ b/build.py @@ -1182,7 +1182,7 @@ def cmd_bdist_docs(options, args): with tarfile.open(name=tarfilename, mode="w:gz") as tarball: tarball.add('docs/html', os.path.join(rootname, 'docs/html'), - filter=lambda info: None if '.svn' in info.name else info) + filter=_setTarItemPerms) if options.upload: uploadPackage(tarfilename, options, keep=5, @@ -2096,7 +2096,7 @@ def cmd_sdist_demo(options, args): tarball = tarfile.open(name=tarfilename, mode="w:gz") pwd = pushDir(PDEST) for name in glob.glob('*'): - tarball.add(name, os.path.join(rootname, name)) + tarball.add(name, os.path.join(rootname, name), filter=_setTarItemPerms) tarball.close() msg('Cleaning up...') del pwd From 2c926493b46184d0c16c852b660a59317f6f87f2 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Thu, 24 Oct 2019 10:41:56 -0700 Subject: [PATCH 4/7] Pillow is now available for Py38, restore the dependency. (cherry picked from commit 581f61ea58f749b570da147af4d064df6815a9ce) --- requirements/install.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/requirements/install.txt b/requirements/install.txt index 159b7094..eeb7cd86 100644 --- a/requirements/install.txt +++ b/requirements/install.txt @@ -1,6 +1,5 @@ # Runtime dependencies needed when using wxPython Phoenix numpy==1.16.1 ; python_version <= '2.7' numpy ; python_version >= '3.0' -# pillow ; sys_platform == 'win32' and python_version < '3.8' -# pillow ; sys_platform != 'win32' +pillow six From 51b99a57c3016fdc7ae9949896a9726c66696ce4 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Fri, 25 Oct 2019 12:19:14 -0700 Subject: [PATCH 5/7] Drop remaining Py3.4 builds --- vagrant/centos-7/bootstrap.sh | 2 -- vagrant/debian-8/bootstrap.sh | 4 ++-- vagrant/ubuntu-14.04/bootstrap.sh | 2 -- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/vagrant/centos-7/bootstrap.sh b/vagrant/centos-7/bootstrap.sh index 729e588e..1e640256 100644 --- a/vagrant/centos-7/bootstrap.sh +++ b/vagrant/centos-7/bootstrap.sh @@ -18,7 +18,6 @@ yum -y install gtk2 gtk2-devel gtk3 gtk3-devel \ # Install all available Python packages and their dev packages yum -y install python python-tools python-devel python-virtualenv -yum -y install python34u python34u-tools python34u-devel yum -y install python35u python35u-tools python35u-devel yum -y install python36u python36u-tools python36u-devel @@ -27,7 +26,6 @@ yum -y install python36u python36u-tools python36u-devel # done. Set them to the vagrant user so the venvs can be updated by pip later. mkdir venvs virtualenv --python=python2.7 venvs/Py27 -pyvenv-3.4 venvs/Py34 pyvenv-3.5 venvs/Py35 python3.6 -m venv venvs/Py36 chown -R vagrant:vagrant venvs diff --git a/vagrant/debian-8/bootstrap.sh b/vagrant/debian-8/bootstrap.sh index 1ceb3f71..08d72426 100644 --- a/vagrant/debian-8/bootstrap.sh +++ b/vagrant/debian-8/bootstrap.sh @@ -15,14 +15,14 @@ apt-get install -y libjpeg-dev libtiff-dev \ # Install all available Python packages and their dev packages apt-get install -y python2.7 python2.7-dev libpython2.7-dev python-virtualenv -apt-get install -y python3.4 python3.4-dev libpython3.4-dev python3.4-venv +#apt-get install -y python3.4 python3.4-dev libpython3.4-dev python3.4-venv #apt-get install -y python3.5 python3.5-dev libpython3.5-dev python3.5-venv # Set up virtual environments for each Python where the Phoenix builds will be # done. set them to the vagrant user so the venv's can be updated by pip later. mkdir venvs virtualenv --python=python2.7 venvs/Py27 -pyvenv-3.4 venvs/Py34 +#pyvenv-3.4 venvs/Py34 #pyvenv-3.5 venvs/Py35 chown -R vagrant:vagrant venvs diff --git a/vagrant/ubuntu-14.04/bootstrap.sh b/vagrant/ubuntu-14.04/bootstrap.sh index 75430f3d..ff1f76a4 100644 --- a/vagrant/ubuntu-14.04/bootstrap.sh +++ b/vagrant/ubuntu-14.04/bootstrap.sh @@ -16,7 +16,6 @@ apt-get install -y libjpeg-dev libtiff-dev \ # Install all available Python packages and their dev packages apt-get install -y python2.7 python2.7-dev libpython2.7-dev python-virtualenv -apt-get install -y python3.4 python3.4-dev libpython3.4-dev python3.4-venv apt-get install -y python3.5 python3.5-dev libpython3.5-dev python3.5-venv apt-get install -y python3.6 python3.6-dev libpython3.6-dev python3.6-venv @@ -24,7 +23,6 @@ apt-get install -y python3.6 python3.6-dev libpython3.6-dev python3.6-venv # done. set them to the vagrant user so the venv's can be updated by pip later. mkdir venvs virtualenv --python=python2.7 venvs/Py27 -python3.4 -m venv venvs/Py34 python3.5 -m venv venvs/Py35 python3.6 -m venv venvs/Py36 chown -R vagrant:vagrant venvs From 89b383fdda815b08bd94669a5d04f062e4d05da6 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Fri, 25 Oct 2019 12:19:41 -0700 Subject: [PATCH 6/7] Update announcement --- packaging/ANNOUNCE.txt | 46 ++++++++++++++++++++++++++++++++---------- 1 file changed, 35 insertions(+), 11 deletions(-) diff --git a/packaging/ANNOUNCE.txt b/packaging/ANNOUNCE.txt index eb4adf0d..896c62a3 100644 --- a/packaging/ANNOUNCE.txt +++ b/packaging/ANNOUNCE.txt @@ -9,25 +9,49 @@ -Announcing wxPython 4.0.6 +Announcing wxPython 4.0.7 ========================= -PyPI: https://pypi.org/project/wxPython/4.0.6 +PyPI: https://pypi.org/project/wxPython/4.0.7 Extras: https://extras.wxPython.org/wxPython4/extras/ -Pip: ``pip install wxPython==4.0.6`` +Pip: ``pip install wxPython==4.0.7`` -This is a quick-fix release to take care of the following issues: +This release is comprised mostly of fixes and minor features which have been +back-ported from the master branch. This release is likely the last release of +the 4.0.x release series, and is certainly the last 4.0.x release that will +support Python 2.7. It may still continue to build for Python 2.7 for some time, +but no extra effort will be expended to keep it compatible. -* Fixed a probably rare, but fatal bug on OSX when calling certain - overloaded virtual methods with implementations in Python. +Support for building for Python 3.8 has been added, as well as 3.8 binaries on +PyPI for Windows and MacOS. -* Fixed char pointers in generated stub code to have a valid - pointer value. +This release provides the following changes: -* Reverted the change that loads up install_requires from the - contents of requirements.txt. Split the requirements.txt file - into one for install and one for development. +* Bug fixes in wx.lib.calendar: key navigation across month boundaries is now + possible; key navigation now sets the date and fires the EVT_CALENDAR event; + setter APIs now set the date correctly (#1230). + +* Switch to using a wx.Overlay in the Widget Inspection Tool to highlight + widgets when running on a GTK3 port. + +* Fixed issue in wx.lib.agw.customtreectrl where label editor could remain + stuck forever (#1235). + +* Fix a sometimes crash when using a wx.Overlay by letting the wx.DCOverlay hold + a reference to the DC, to ensure that the DCOverlay is destroyed first. + (PR#1301) +* Ported the embedding sample from Classic, which shows how to use wxPython from + a C++ wxWidgets application that embeds Python. (PR #1353) + +* Fixed wx.GetApp() to use wxWidgets' global wxApp instance instead of + maintaining its own pointer. This way, if the wxApp is created by C++ code + wxPython will still be able to get access to it. (#1126) + +* Several other PRs have been backported from the master branch (which will + become wxPython 4.1.0), the full list can be seen here: + https://github.com/wxWidgets/Phoenix/pull/1357 + What is wxPython? From 1a0f23395224b511a4b471c394f010187c24b482 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Fri, 25 Oct 2019 12:22:30 -0700 Subject: [PATCH 7/7] Bump version number in case there will be a 4.0.8 --- buildtools/version.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/buildtools/version.py b/buildtools/version.py index 07944d37..c1491100 100644 --- a/buildtools/version.py +++ b/buildtools/version.py @@ -24,9 +24,9 @@ PROJECT_NAME = 'wxPython' # version numbers. VER_MAJOR = 4 VER_MINOR = 0 -VER_RELEASE = 7 +VER_RELEASE = 8 -VER_FLAGS = "" # wxPython release flags +VER_FLAGS = "a1" # wxPython release flags # The VER_FLAGS value is appended to the version number constructed from the # first 3 components and should be set according to the following patterns.