diff --git a/buildtools/version.py b/buildtools/version.py index 2a01c213..cac84314 100644 --- a/buildtools/version.py +++ b/buildtools/version.py @@ -2,7 +2,7 @@ # Name: buildtools.version # Purpose: wxPython project name and version numbers used in the # build. This can be considered the master copy of the -# version digits. +# version digits and project name. # # Author: Robin Dunn # @@ -11,12 +11,20 @@ # License: wxWindows License #---------------------------------------------------------------------- -PROJECT_NAME = 'wxPython_Phoenix' +# Master copy of the project name +PROJECT_NAME = 'wxPython' -VER_MAJOR = 3 # Matches wxWidgets MAJOR version number -VER_MINOR = 0 # Matches wxWidgets MINOR version number -VER_RELEASE = 4 # wxPython RELEASE number for the given wxWidgets - # MAJOR.MINOR version. + +# The version numbers for wxPython are no longer kept in sync with the +# wxWidgets version number. In the past the common version number was used to +# indicate which version of wxWidgets should be used for the wxPython build. +# Now wxWidgets is a git submodule, and the linked version is included in the +# wxPython source tarball. That said, we should still bump up the MAJOR and +# MINOR numbers each time there is a corresponding bump in the wxWidgets +# version numbers. +VER_MAJOR = 4 +VER_MINOR = 0 +VER_RELEASE = 0 VER_FLAGS = "a1" # wxPython release flags diff --git a/demo/version.py b/demo/version.py index af8d65bf..c274123d 100644 --- a/demo/version.py +++ b/demo/version.py @@ -1,3 +1,3 @@ # This file was generated by Phoenix's wscript. -VERSION_STRING = '3.0.4a1' +VERSION_STRING = '4.0.0a1' diff --git a/docs/MigrationGuide.rst b/docs/MigrationGuide.rst index e1aa3fb5..0c2bf7f5 100644 --- a/docs/MigrationGuide.rst +++ b/docs/MigrationGuide.rst @@ -22,21 +22,20 @@ should then be able to work out the details for themselves. Version Numbers --------------- -Classic wxPython used version numbers with 4 components, in order to be able -to specify the exact version of wxWidgets used (3 version number components) -and an additional component to allow for multiple wxPython releases for each -wxWidgets release. While this version numbering works okay and solves a -specific need that wxPython had, it does not follow the common version -numbering pattern that probably 99% of other software packages use and so it -is non-intuitive for most users. +The version numbers for wxPython are no longer kept in sync with the wxWidgets +version number. In the past the common version number was used to indicate +exactly which version of wxWidgets should be used for the wxPython build. Now +wxWidgets is a git submodule, and the linked version is included in the +wxPython source tarball there is no longer any need to use the matching +version numbers to implicitly specify the version of the wxWidgets source to +use. -So Phoenix will be moving to a 3 component version number, where the first 2 -components match the MAJOR.MINOR version of wxWidgets being used, and the 3rd -component of the version number is used to indicate the release of wxPython -Phoenix using that version of wxWidgets. It is felt that matching the 3rd -component of the wxWidgets is no longer as important as it was in the past, -because the wxWidgets source is being included with the Phoenix source, so -matching exact versions of the two packages by hand is no longer needed. +This means that wxPython can go back to a 3-component version number and follow +the common conventions used by 99% of the other software projects out there. +The 3 components are commonly called MAJOR, MINOR and RELEASE. Since wxPython +Phoenix is a major upgrade over wxPython Classic then we will start out with a +new MAJOR version number to help communicate that this isn't just a little +update from previous releases. Additional flags will be appended to the version number in a manner that is compliant with Python's PEP-440_. This includes syntax for alpha, beta, diff --git a/src/core_ex.py b/src/core_ex.py index 9d1f09a5..494c9dfe 100644 --- a/src/core_ex.py +++ b/src/core_ex.py @@ -1,13 +1,10 @@ import sys as _sys -# Load version numbers from __version__... Ensure that major and minor -# versions are the same for both wxPython and wxWidgets. +# Load version numbers from __version__ and some other initialization tasks... if 'wxEVT_NULL' in dir(): from wx.__version__ import * import wx._core __version__ = VERSION_STRING - assert MAJOR_VERSION == wx._core.MAJOR_VERSION, "wxPython/wxWidgets version mismatch" - assert MINOR_VERSION == wx._core.MINOR_VERSION, "wxPython/wxWidgets version mismatch" # Register a function to be called when Python terminates that will clean # up and release all system resources that wxWidgets allocated.