Skip to content

Releases: py2exe/py2exe

py2exe 0.13.0.1

07 Oct 21:15
Compare
Choose a tag to compare

This release includes several fixes and it will be the last one that supports the deprecated setup API. Thanks to all the people that contributed to it.

Changelog:

  • improved the hook for pkg_resources to detect its vendored content automatically (issue #175 raised by @Athanasius).
  • the matplotlib hook now does not exclude wx automatically (issue #169 raised by @infinity77).
  • README: fix external link to freeze API (issue #162 raised by @novski).
  • adapted the hook for matplotlib to support their use of delvewheel (PR #182 by @zobac).
  • adapted the hooks for numpy and pandas to support the new .libs location,

py2exe 0.13.0.0

05 Nov 16:32
Compare
Choose a tag to compare

This major release introduces support for Python 3.11 and drops support for Python 3.7, following the official Python support schedule. This release also removes the already deprecated command line interface of py2exe (formerly accessible via build_exe or -m py2exe). In addition, this release deprecates win32 wheels, due to increasing difficulties in testing them properly (see #157 for further information).

Note: contrary to what was announced in 0.12.x, this release does not remove the setup.py py2exe interface, but keeps it as deprecated, because not enough time has passed since the deprecation. Removal is still scheduled to happen before the release of Python 3.12 (when distutils will be removed upstream).

Changelog:

  • Add support for Python 3.11
  • Drop support for Python 3.7
  • Drop support for win32 wheels:
    • win32 wheels are still built and shipped but are provided untested. Issues experienced when using these wheels will not be investigated. See #157 for further information.
  • Remove build_exe command line interface. Please use the py2exe.freeze API.
  • Migrated the frozen Python bootloader to the new PyConfig initialization API.
  • _memimporter: switch to sys.modules dict to check for reimports instead of _PyImport_FindExtensionObject
  • runtime.LOAD_FROM_DIR: remove deprecated call to imp.load_dynamic`

py2exe 0.12.0.2

26 Oct 21:45
Compare
Choose a tag to compare

Time for a patch release with a few minor fixes. Thanks to all the people that contributed to this release.

Changelog:

  • Update scipy hook to support version 1.9.2 and above.
  • freeze: update docstrings and documentation (issue #152 raised by @Athanasius).

py2exe 0.12.0.1

20 Sep 17:40
Compare
Choose a tag to compare

Time for an immediate patch release, as the just deprecated setup.py interface was immediately broken...

Changelog:

  • builds set with the deprecated setup.py API were crashing runtime since they do not contain or support version_info (issue #151 raised by @Athanasius)

py2exe 0.12.0.0

18 Sep 21:15
Compare
Choose a tag to compare

This new major release introduces a new API to use py2exe: the freeze function. Further information about how to use this function can be found in its documentation. A migration guide from the existing interfaces is also available here.

In addition, this release marks the existing setup.py py2exe and distutils.core.setup interfaces as deprecated. This was necessary due to the upstream deprecation of distutils and of the whole setup.py CLI. Both these interfaces will be completely removed in the next major release of py2exe. Further information about the rationale behind these changes can be found in #150 and #127. Special thanks to @Athanasius and @effigies for fruitful discussions during this migration.

As a result of this migration, some configuration options formerly available in setup were formally discontinued. Please refer to the py2exe.freeze documentation for a comprehensive list of all the supported options.

Changelog:

  • Introduce the new py2exe.freeze API. Documentation can be found here.
  • Use of the setup.py py2exe command and of distutils is deprecated Both these interfaces will be removed in the next major release.
  • Add two hooks to fix the bundling of winrt (issue #118 by @willf668) and passlib (issue #144 by @urishab).

py2exe 0.11.1.1

03 Jul 22:07
Compare
Choose a tag to compare

This patch release includes several minor fixes. Thanks to all the people that contributed to this release.

Changelog:

  • The Stderr.write method used for logs of windows apps now returns the number of written bytes, PR #134 by @manueljacob.
  • Change default path of the log file created for windows apps to %APPDATA%, issue #138 by @mharbison72.
  • Restore hook functionality for pkg_resources, issue #139 by @Athanasius.
  • Restore explicit ImportError message when a module is required but it is listed in the ModuleFinder.excludes list, mentioned in issue #132 by @mharbison72.

py2exe 0.11.1.0

13 Feb 10:35
Compare
Choose a tag to compare

Time for a new minor release. Package distribution metadata are now inserted in the bundle, to be fetched by importlib.metadata or pkg_resources. As usual, thanks to all the people that contributed to this release.

Changelog:

  • Drop support for Python 3.6
  • Include package metadata in the bundle archive (issue #126 by @Athanasius)
  • Fixed a bug that prevented to use the optimize option when six was in the bundle (issue #120 by @MaxBQb)
  • Fixed a bug that ignored the optimize flag for some packages (issue #125 by @nchidsey)
  • Add setup_requires keyword in the py2exe setup scripts (issue #124 by @HeavyTony2)
  • Support building py2exe with setuptools>=60

py2exe 0.11.0.1

16 Nov 21:26
Compare
Choose a tag to compare

This patch release includes a fix for issue #114, raised by @lukaszgo1.

Changelog:

  • vendor.modulefinder: pass m.__dest_file__ to compile to show relative paths in Tracebacks that occur from frozen applications (issue #114, regression from 0.10.x , original fix #12).

py2exe 0.11.0.0

14 Nov 11:05
Compare
Choose a tag to compare

Time for a new "major" release of this project. This version introduces a new implementation of ModuleFinder, the class in charge of tracking the modules used by your code, that directly wraps CPython modulefinder.ModuleFinder. This solves a lot of issues and cleans a lot the code devoted to this task. The new reimplementation is called mf310 and replaces the one used in 0.10, mf34. The code is now definitely more modern and hopefully allows for longer maintainability of this project.

As you can imagine, this is quite a breaking change in how py2exe operates internally. While the API and setup.py scripts are not affected, I expext issues might happen when packaging software with this release, hence the bump in the "major" version number. Please report in the issue tracker any error that happens when freezing code that could have been packaged correctly with version 0.10.4.1.

Additionally, this release introduces support for Python 3.10. Wheels are published on PyPI as usual. A small side note though: the wheels for Python 3.10 win32 are provided "as is", without functional tests, as a lot of other packages do not publish wheels for this platform anymore (e.g. scipy, pandas, matplotlib). Due to the lack of these dependencies, I am unable to test the py2exe wheels properly, hence I had to disable the functional tests for this platform entirely. For this reason, issues with the cp310-cp310-win32 wheels will not be investigated.

Changelog:

  • New module finder mf310 written as a wrapper around CPython modulefinder.ModuleFinder
    • allows to freeze packages with apparent AttributeError or similar in the code or their modules (issue #112 raised by @lukaszgo1)
      • a new functional test is added for this feature
    • a lot of other minor bugs fixed by the new module finder
    • a copy of the parent module is added as a vendor module under py2exe.vendor
  • Add support for Python 3.10
    • wheels for cp310-cp310-win32 are provided without support
  • New hook and functional test for scipy
  • zipextimporter can now be built as a standalone extension via its own setup script
    • Build wheels via python setup_zipextimporter.py bdist_wheel
    • Allows to use and debug zipextimporter separately as described in the original documentation
  • _memimporter: do not use importlib.reload for multi-phase initialization modules

py2exe 0.10.4.1

07 Sep 17:35
Compare
Choose a tag to compare

This patch release includes the fixes required for issue #88, raised by @Athanasius.

Changelog:

  • ModuleFinder: add support for the pkg_resources.extern.VendorImporter loader (see cb82823 for further information)
  • New hooks for pkg_resources and infi