Skip to content

Commit

Permalink
Release v5.7.0. [skip ci]
Browse files Browse the repository at this point in the history
  • Loading branch information
bwoodsend committed Dec 4, 2022
1 parent 25b05b6 commit b8ba192
Show file tree
Hide file tree
Showing 48 changed files with 169 additions and 111 deletions.
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,8 @@ PyInstaller/bootloader/*
!PyInstaller/bootloader/Darwin-64bit
!PyInstaller/bootloader/Linux-32bit-intel/
!PyInstaller/bootloader/Linux-64bit-intel/
!PyInstaller/bootloader/Windows-32bit/
!PyInstaller/bootloader/Windows-64bit/
!PyInstaller/bootloader/Windows-32bit-intel/
!PyInstaller/bootloader/Windows-64bit-intel/
!PyInstaller/bootloader/images/

# Mac OS X
Expand Down
4 changes: 2 additions & 2 deletions MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ recursive-exclude PyInstaller/bootloader *
recursive-include PyInstaller/bootloader/images *
# Keep the Windows bootloaders so that MSYS2 users aren't required to build
# from source. (Wheels don't work on MSYS2.)
recursive-include PyInstaller/bootloader/Windows-32bit *
recursive-include PyInstaller/bootloader/Windows-64bit *
recursive-include PyInstaller/bootloader/Windows-32bit-intel *
recursive-include PyInstaller/bootloader/Windows-64bit-intel *
# Until pip 20.1.2 is considered old, keep the macOS bootloaders
# in here too so that older pips which don't recognise the universal2
# wheel tag can still use the sdist.
Expand Down
2 changes: 1 addition & 1 deletion PyInstaller/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
from PyInstaller.utils.git import get_repo_revision

# Note: Keep this variable as plain string so it could be updated automatically when doing a release.
__version__ = '5.6.2'
__version__ = '5.7.0'

# Absolute path of this package's directory. Save this early so all submodules can use the absolute path. This is
# required for example if the current directory changes prior to loading the hooks.
Expand Down
Binary file modified PyInstaller/bootloader/Darwin-64bit/run
100755 → 100644
Binary file not shown.
Binary file modified PyInstaller/bootloader/Darwin-64bit/run_d
100755 → 100644
Binary file not shown.
Binary file modified PyInstaller/bootloader/Darwin-64bit/runw
100755 → 100644
Binary file not shown.
Binary file modified PyInstaller/bootloader/Darwin-64bit/runw_d
100755 → 100644
Binary file not shown.
Binary file modified PyInstaller/bootloader/Linux-32bit-intel/run
Binary file not shown.
Binary file modified PyInstaller/bootloader/Linux-32bit-intel/run_d
Binary file not shown.
Binary file modified PyInstaller/bootloader/Linux-64bit-intel/run
Binary file not shown.
Binary file modified PyInstaller/bootloader/Linux-64bit-intel/run_d
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
6 changes: 3 additions & 3 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ either ``gcc`` or ``clang``) and zlib's development headers already installed.
Support
-------

- Official debugging guide: https://pyinstaller.org/en/v5.6.2/when-things-go-wrong.html
- Official debugging guide: https://pyinstaller.org/en/v5.7.0/when-things-go-wrong.html
- Assorted user contributed help topics: https://github.com/pyinstaller/pyinstaller/wiki
- Web based Q&A forums: https://github.com/pyinstaller/pyinstaller/discussions
- Email based Q&A forums: https://groups.google.com/g/pyinstaller
Expand All @@ -149,5 +149,5 @@ Changes in this Release
You can find a detailed list of changes in this release
in the `Changelog`_ section of the manual.

.. _`manual`: https://pyinstaller.org/en/v5.6.2/
.. _`Changelog`: https://pyinstaller.org/en/v5.6.2/CHANGES.html
.. _`manual`: https://pyinstaller.org/en/v5.7.0/
.. _`Changelog`: https://pyinstaller.org/en/v5.7.0/CHANGES.html
146 changes: 146 additions & 0 deletions doc/CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,152 @@ Changelog for PyInstaller

.. towncrier release notes start
5.7.0 (2022-12-04)
------------------

Features
~~~~~~~~

* Add the package's location and exact interpreter path to the error message
for
the check for obsolete and PyInstaller-incompatible standard library
back-port
packages (``enum34`` and ``typing``). (:issue:`7221`)
* Allow controlling the build log level (:option:`--log-level`) via a
``PYI_LOG_LEVEL`` environment variable. (:issue:`7235`)
* Support building native ARM applications for Windows. If PyInstaller is ran
on
an ARM machine with an ARM build of Python, it will prodice an ARM
application. (:issue:`7257`)


Bugfix
~~~~~~

* (Anaconda) Fix the ``PyInstaller.utils.hooks.conda.collect_dynamic_libs``
hook utility function to collect only dynamic libraries, by introducing
an additional type check (to exclude directories and symbolic links to
directories) and additional suffix check (to include only files whose
name matches the following patterns: ``*.dll``, ``*.dylib``, ``*.so``,
and ``*.so.*``). (:issue:`7248`)
* (Anaconda) Fix the problem with Anaconda python 3.10 on linux and macOS,
where all content of the environment's ``lib`` directory would end up
collected as data due to additional symbolic link pointing from
``python3.1``
to ``python3.10``. (:issue:`7248`)
* (GNU/Linux) Fixes an issue with gi shared libraries not being packaged if
they don't
have version suffix and are in a special location set by ``LD_LIBRARY_PATH``
instead of
a typical library path. (:issue:`7278`)
* (Windows) Fix the problem with ``windowed`` frozen application being unable
to spawn interactive command prompt console via ``subprocess`` module due
to interference of the ``subprocess`` runtime hook with stream handles.
(:issue:`7118`)
* (Windows) In ``windowed``/``noconsole`` mode, stop setting ``sys.stdout``
and ``sys.stderr`` to custom ``NullWriter`` object, and instead leave
them at ``None``. This matches the behavior of windowed python interpreter
(``pythonw.exe``) and prevents interoperability issues with code that
(rightfully) expects the streams to be either ``None`` or objects that
are fully compatible with ``io.IOBase``. (:issue:`3503`)
* Ensure that ``PySide6.support.deprecated`` module is collected for
``PySide6`` 6.4.0 and later in order to enable continued support for
``|`` and ``&`` operators between Qt key and key modifier enum values
(e.g., ``QtCore.Qt.Key_D`` and ``QtCore.Qt.AltModifier``). (:issue:`7249`)
* Fix potential duplication of python extension modules in ``onefile``
builds, which happened when an extension was collected both as an
``EXTENSION`` and as a ``DATA`` (or a ``BINARY``) TOC type. This
resulted in run-time warnings about files already existing; the
most notorious example being ``WARNING: file already exists but
should not:
C:\Users\user\AppData\Local\Temp\MEI1234567\torch\_C.cp39-win_amd64.pyd``
when building ``onefile`` applications that use ``torch``. (:issue:`7273`)
* Fix spurious attempt at reading the ``top_level.txt`` metadata from
packages installed in egg form. (:issue:`7086`)
* Fix the log level (provided via :option:`--log-level`) being ignored by some
build steps. (:issue:`7235`)
* Fix the problem with ``MERGE`` not properly cleaning up passed
``Analysis.binaries`` and ``Analysis.datas`` TOCs due to changes made to
``TOC`` class in PyInstaller 5.0. This effectively broke the supposed
de-duplication functionality of ``MERGE`` and multi-package bundles,
which should be restored now. (:issue:`7273`)
* Prevent ``$pythonprefix/bin`` from being added to :data:`sys.path` when
PyInstaller is invoked using ``pyinstaller your-code.py`` but not using
``python -m PyInstaller your-code.py``. This prevents collection mismatch
when
a library has the same name as console script. (:issue:`7120`)
* Prevent isolated-subprocess calls from indefinitely blocking in their
clean-up codepath when the subprocess fails to exit. After the grace
period of 5 seconds, we now attempt to terminate such subprocess in
order to prevent hanging of the build process. (:issue:`7290`)


Incompatible Changes
~~~~~~~~~~~~~~~~~~~~

* (Windows) In ``windowed``/``noconsole`` mode, PyInstaller does not set
``sys.stdout`` and ``sys.stderr`` to custom ``NullWriter`` object anymore,
but leaves them at ``None``. The new behavior matches that of the windowed
python interpreter (``pythonw.exe``), but may break the code that uses
``sys.stdout`` or ``sys.stderr`` without first checking that they are
available. The code intended to be run frozen in ``windowed``/``noconsole``
mode should be therefore be validated using the windowed python interpreter
to catch errors related to console being unavailable. (:issue:`7216`)


Deprecations
~~~~~~~~~~~~

* Deprecate bytecode encryption (the ``--key`` option), to be removed in
PyInstaller v6.0. (:issue:`6999`)


Hooks
~~~~~

* (Windows) Remove the ``subprocess`` runtime hook. The problem with invalid
standard stream handles, which caused the ``subprocess`` module raise an
``OSError: [WinError 6] The handle is invalid`` error in a ``windowed``
``onefile`` frozen application when trying to spawn a subprocess without
redirecting all standard streams, has been fixed in the bootloader.
(:issue:`7182`)
* Ensure that each ``Qt*`` submodule of the ``PySide2``, ``PyQt5``,
``PySide6``,
and ``PyQt6`` bindings has a corresponding hook, and can therefore been
imported in a frozen application on its own. Applicable to the latest
versions of packages at the time of writing: ``PySide2 == 5.15.2.1``,
``PyQt5 == 5.15.7``, ``PySide6 == 6.4.0``, and ``PyQt6 == 6.4.0``.
(:issue:`7284`)
* Improve compatibility with contemporary ``Django`` 4.x version by removing
the override of ``django.core.management.get_commands`` from the ``Django``
run-time hook. The static command list override is both outdated (based on
``Django`` 1.8) and unnecessary due to dynamic command list being properly
populated under contemporary versions of ``PyInstaller`` and ``Django``.
(:issue:`7259`)
* Introduce additional log messages to ``matplotlib.backend`` hook to
provide better insight into what backends are selected and why when the
detection of ``matplotlib.use`` calls comes into effect. (:issue:`7300`)


Bootloader
~~~~~~~~~~

* (Windows) In a ``onefile`` application, avoid passing invalid stream handles
(the ``INVALID_HANDLE_VALUE`` constant with value ``-1``) to the launched
application child process when the standard streams are unavailable (for
example, in a windowed/no-console application). (:issue:`7182`)


Bootloader build
~~~~~~~~~~~~~~~~

* Support building ARM native binaries using MSVC using the command
``python waf --target-arch=64bit-arm all``. If built on an ARM machine,
``--target-arch=64bit-arm`` is the default. (:issue:`7257`)
* Windows ARM64 bootloaders may now be built using an ARM build of clang with
``python waf --target-arch=64bit-arm --clang all``. (:issue:`7257`)


5.6.2 (2022-10-31)
-------------------

Expand Down
9 changes: 9 additions & 0 deletions doc/CREDITS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,15 @@ Thanks goes to all the kind PyInstaller contributors who have contributed
new code, bug reports, fixes, comments and ideas. A brief list follows,
please let us know if your name is omitted by accident:

Contributions to PyInstaller 5.7.0
----------------------------------

* Rok Mandeljc
* Brénainn Woodsend
* Dan Yeaw
* Rumbelows
* Shoshana Berleant

Contributions to PyInstaller 5.6.2
----------------------------------

Expand Down
8 changes: 3 additions & 5 deletions doc/pyi-makespec.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "PYI-MAKESPEC" "1" "2022-10-31" "5.6.2" "PyInstaller"
.TH "PYI-MAKESPEC" "1" "2022-12-04" "5.7.0" "PyInstaller"
.SH NAME
pyi-makespec \- Create a spec file for your PyInstaller project
.
Expand Down Expand Up @@ -72,7 +72,8 @@ show this help message and exit
.TP
.BI \-\-log\-level \ LEVEL
Amount of detail in build\-time console messages. LEVEL may be one of TRACE,
DEBUG, INFO, WARN, ERROR, CRITICAL (default: INFO).
DEBUG, INFO, WARN, DEPRECATION, ERROR, CRITICAL (default: INFO). Also
settable via and overrides the PYI_LOG_LEVEL environment variable.
.UNINDENT
.SS What To Generate
.INDENT 0.0
Expand Down Expand Up @@ -152,9 +153,6 @@ Optional module or package (the Python name, not the path name) that will
be ignored (as though it was not found). This option can be used multiple
times.
.TP
.BI \-\-key \ KEY
The key used to encrypt Python bytecode.
.TP
.BI \-\-splash \ IMAGE_FILE
(EXPERIMENTAL) Add an splash screen with the image IMAGE_FILE to the
application. The splash screen can display progress updates while
Expand Down
8 changes: 3 additions & 5 deletions doc/pyinstaller.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "PYINSTALLER" "1" "2022-10-31" "5.6.2" "PyInstaller"
.TH "PYINSTALLER" "1" "2022-12-04" "5.7.0" "PyInstaller"
.SH NAME
pyinstaller \- Configure and build a PyInstaller project in one run
.
Expand Down Expand Up @@ -95,7 +95,8 @@ Clean PyInstaller cache and remove temporary files before building.
.TP
.BI \-\-log\-level \ LEVEL
Amount of detail in build\-time console messages. LEVEL may be one of TRACE,
DEBUG, INFO, WARN, ERROR, CRITICAL (default: INFO).
DEBUG, INFO, WARN, DEPRECATION, ERROR, CRITICAL (default: INFO). Also
settable via and overrides the PYI_LOG_LEVEL environment variable.
.UNINDENT
.SS What To Generate
.INDENT 0.0
Expand Down Expand Up @@ -175,9 +176,6 @@ Optional module or package (the Python name, not the path name) that will
be ignored (as though it was not found). This option can be used multiple
times.
.TP
.BI \-\-key \ KEY
The key used to encrypt Python bytecode.
.TP
.BI \-\-splash \ IMAGE_FILE
(EXPERIMENTAL) Add an splash screen with the image IMAGE_FILE to the
application. The splash screen can display progress updates while
Expand Down
6 changes: 0 additions & 6 deletions news/3503.bugfix.rst

This file was deleted.

1 change: 0 additions & 1 deletion news/6999.deprecation.rst

This file was deleted.

2 changes: 0 additions & 2 deletions news/7086.bugfix.rst

This file was deleted.

3 changes: 0 additions & 3 deletions news/7118.bugfix.rst

This file was deleted.

4 changes: 0 additions & 4 deletions news/7120.bugfix.rst

This file was deleted.

4 changes: 0 additions & 4 deletions news/7182.bootloader.rst

This file was deleted.

5 changes: 0 additions & 5 deletions news/7182.hooks.rst

This file was deleted.

8 changes: 0 additions & 8 deletions news/7216.breaking.rst

This file was deleted.

3 changes: 0 additions & 3 deletions news/7221.feature.rst

This file was deleted.

2 changes: 0 additions & 2 deletions news/7235.bugfix.rst

This file was deleted.

2 changes: 0 additions & 2 deletions news/7235.feature.rst

This file was deleted.

4 changes: 0 additions & 4 deletions news/7248.bugfix.1.rst

This file was deleted.

6 changes: 0 additions & 6 deletions news/7248.bugfix.rst

This file was deleted.

4 changes: 0 additions & 4 deletions news/7249.bugfix.rst

This file was deleted.

3 changes: 0 additions & 3 deletions news/7257.build.1.rst

This file was deleted.

2 changes: 0 additions & 2 deletions news/7257.build.rst

This file was deleted.

2 changes: 0 additions & 2 deletions news/7257.feature.rst

This file was deleted.

5 changes: 0 additions & 5 deletions news/7259.hooks.rst

This file was deleted.

5 changes: 0 additions & 5 deletions news/7273.bugfix.1.rst

This file was deleted.

7 changes: 0 additions & 7 deletions news/7273.bugfix.rst

This file was deleted.

3 changes: 0 additions & 3 deletions news/7278.bugfix.rst

This file was deleted.

5 changes: 0 additions & 5 deletions news/7284.hooks.rst

This file was deleted.

4 changes: 0 additions & 4 deletions news/7290.bugfix.rst

This file was deleted.

3 changes: 0 additions & 3 deletions news/7300.hooks.rst

This file was deleted.

0 comments on commit b8ba192

Please sign in to comment.