Added web installer support to mxSetup, the distutils extension module which drives all our product installations.
Uploaded web installer package to PyPI which simplifies installation.
In addition to the usual ways of installing eGenix mx Base, we have uploaded a
web installer to PyPI, so that it is now also possible to use one of
these installation methods on all supported platforms (Windows, Linux,
FreeBSD, Mac OS X):
easy_install egenix-mx-base via PyPI
pip install egenix-mx-base via PyPI
egenix-mx-base egg reference in zc.buildout via PyPI
running "python setup.py install" in the unzipped web installer archive directory
The web installer will automatically detect the platform and choose
the right binary download package for you. All downloads are verified
mxDateTime: Protected delta.strftime() against segfaults on Windows, which only
allows day values <= 31 and segfaults for higher values. Thanks to
Frank Boje for reporting this problem.
mxTextTools: Fixed a double decref in the tagging engine that surfaced when using
custom tag objects and appending the results to them. Thanks to Richard
Moseley for the report.
Prepared eGenix mx Base for two digit Python patch level numbers such as Python 2.7.10
mxBeeBase: Fixed a problem with using larger BeeDict keysizes on 64-bit platforms.
These now work for keysizes between 25 and 659 characters as well. Also
extended the possible keysizes for 32-bit platform to 670 characters. Thanks to Andrey Rzhetsky for pointing us to the problem.
mx.Misc.FileLock: Fixed a typo in a FileLock class name.
mxURL: Added a work-around to resolve a segfault
when exiting the Python 2.7.4 interpreter. This is a Python bug which
was introduced in Python 2.7.4 and will get fixed again in Python
2.7.5 - see http://bugs.python.org/issue17703.
mxURL: Added sections on URL join operations and interaction with strings to mxURL documentation.
mxDateTime: Added notice to documentation that .gmtoffset() can give wrong results during DST switching time.
Filled the tp_methods slot of all extension types to improve Python 2.7 compatibility.
Added download URL registered with PyPI is now a static page and includes an MD5 hash tag to allow verification of the page.
All distribution files are GPG signed with our release key. We also provide MD5 and SHA1 hash values for all files to easily verify the downloads.
Fixed a compatibility problem with Python 2.7.3 on Mac OS X 10.6 and later:
Removed mx_customize_compiler() in favor of the standard distutils
customize_compiler(). It now installs fine again with pip on more recent
Mac OS X versions. Thanks to Leonardo Santagada for bringing this
problem to our attention.
mxDateTime: Fixed a possible segfault in mxDateTime that was caused by the lazy datetime module
import mechanism not catching all cases where the C API was used in
mxDateTime. Thanks to Joel Rosdahl for bringing this to our attention.
Fixed a bug in the mx.Misc.CSV.Reader.objects() method, which triggered a TypeError.
Fixed a problem with mxBeeBase on BSD-based platforms such as
FreeBSD and Mac OS X: file system synchronization problems between read
and writes could cause data corruption. Thanks to Ernesto Picardi for
bringing this to our attention.
Updated mxSetup to our latest version with platform mismatch detection for prebuilt archives.
Changes from 3.1.1 to 3.1.2
Changed the way pre-built state is restored during
installation to handle situations where the distutils platform string
is different between the build platform and the installation platform
(e.g. for Mac OS X fat builds).
Changes from 3.1.0 to 3.1.1
Fixed a problem with the pre-built packages not installing on Mac OS X and older Linux distributions.
Verified and tested all packages with Python 2.6.
Changes from 3.0.0 to 3.1.0
mxSetup bdist_wininst will now always include the Python
version number if you build pure Python distributions that don't
include the Python source
mxSetup clean command will now also remove the build pickle used for e.g. bdist_prebuilt.
mxSetup bdist_prebuilt will now create platform independent archives for packages that don't include any C extensions.
mxSetup prebuilt archives no longer need to use "... build --skip ..."
to skip the build process. The build command is now smart enough to
detect, check and automatically use a build pickle and the prebuilt
Added setuptools support, ie. mxSetup can run with an installed setuptools to e.g. create eggs. Running python setup.py --use-setuptools bdist_egg will create an .egg file in the dist/ directory. If you want to convert a prebuilt archive to an egg, run the command with bdist_egg --skip-build.
a problem in mxSetup that caused the uninstall command not to work with
prebuilt packages. Thanks to Wouter van Atteveldt for pointing out the
Added new mx.Misc.CSV module for reading and writing CSV files.
Changes from 2.0.5 to 3.0.0
Fixed the distutils setup to now allow defining compiler
options on the command line using 'python setup.py mx_autoconf
Lots of changes in the various sub-packages. See the sub-package documentation for a full list of new features.
Added source code encoding markers to those files that need it.
Moved mxURL and mxUID from the Experimental Distribution to the Base Distribution.
Added better support for Python DEBUG builds. The total reference
counting should now also work in case object constructors raise
Added Python 2.4 and 2.5 support.
Changes from 2.0.4 to 2.0.5
Added Python 2.3 support.
Changes from 2.0.3 to 2.0.4
RPMs now install to /usr/ instead of /usr/local/. This change was necessary to resynch to the standard Python RPMs.
The mx distutils build system was updated to the latest version.
Changes from 2.0.2 to 2.0.3
Some cleanup of assignments to __debug__ which cause warnings in Python 2.1.
Added some missing header files. These are needed by third party tools in case they rely on the provided C interfaces.
Changed the error class object fullnames to properly include the complete package path.
Corrected a bug in the free list management of the various types which showed up when using pymalloc.
Prepared the tools for Python 2.2.
Changes from 2.0.1 to 2.0.2
Added compiler support for Cygwin. Thanks to Mark Hadfield for pointing out the necessary changes.
Reworked the RPM packaging for different Python versions: you
can now install the RPMs for different Python versions side-by-side.
Updated a few packages, e.g. the mxDateTime package.
Changes from 2.0.0 to 2.0.1
Added back .h header files to the mx-subdirectories.
Third-party software was relying on these files, but the distutils
process did not include them per default.