Skip to content

Commit

Permalink
Release v6.5.0. [skip ci]
Browse files Browse the repository at this point in the history
  • Loading branch information
bwoodsend committed Mar 9, 2024
1 parent c335cb5 commit 5c8de5b
Show file tree
Hide file tree
Showing 41 changed files with 145 additions and 96 deletions.
2 changes: 1 addition & 1 deletion PyInstaller/__init__.py
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__ = '6.4.0'
__version__ = '6.5.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
Binary file not shown.
Binary file modified PyInstaller/bootloader/Darwin-64bit/run_d
Binary file not shown.
Binary file modified PyInstaller/bootloader/Darwin-64bit/runw
Binary file not shown.
Binary file modified PyInstaller/bootloader/Darwin-64bit/runw_d
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 modified PyInstaller/bootloader/Windows-32bit-intel/run.exe
Binary file not shown.
Binary file modified PyInstaller/bootloader/Windows-32bit-intel/run_d.exe
Binary file not shown.
Binary file modified PyInstaller/bootloader/Windows-32bit-intel/runw.exe
Binary file not shown.
Binary file modified PyInstaller/bootloader/Windows-32bit-intel/runw_d.exe
Binary file not shown.
Binary file modified PyInstaller/bootloader/Windows-64bit-intel/run.exe
Binary file not shown.
Binary file modified PyInstaller/bootloader/Windows-64bit-intel/run_d.exe
Binary file not shown.
Binary file modified PyInstaller/bootloader/Windows-64bit-intel/runw.exe
Binary file not shown.
Binary file modified PyInstaller/bootloader/Windows-64bit-intel/runw_d.exe
Binary file not shown.
6 changes: 3 additions & 3 deletions README.rst
Expand Up @@ -134,7 +134,7 @@ either ``gcc`` or ``clang``) and zlib's development headers already installed.
Support
-------

- Official debugging guide: https://pyinstaller.org/en/v6.4.0/when-things-go-wrong.html
- Official debugging guide: https://pyinstaller.org/en/v6.5.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 @@ -146,5 +146,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/v6.4.0/
.. _`Changelog`: https://pyinstaller.org/en/v6.4.0/CHANGES.html
.. _`manual`: https://pyinstaller.org/en/v6.5.0/
.. _`Changelog`: https://pyinstaller.org/en/v6.5.0/CHANGES.html
128 changes: 128 additions & 0 deletions doc/CHANGES.rst
Expand Up @@ -15,6 +15,134 @@ Changelog for PyInstaller

.. towncrier release notes start
6.5.0 (2024-03-09)
------------------

Features
~~~~~~~~

* (Linux) Extend the mechanism for collection of ``.hmac`` files from
:issue:`8288` to ``.chk`` files that are used by NSS libraries.
(:issue:`8315`)


Bugfix
~~~~~~

* (Linux) Fix collection of ``QtWebEngineProcess`` helper when collecting
Qt (and ``PySide``/``PyQt`` bindings) installed via Linux distribution
packages. In such scenarios, we now force collection of the helper
executable into ``libexec`` directory inside the Qt sub-directory of
the bindings' package directory, in order to match the PyPI wheel layout.
(:issue:`8315`)
* (Linux) Fix regression that caused :func:`locale.getlocale` in
frozen applications created with PyInstaller v6.x to return ``(None, None)``
instead of user-preferred locale. (:issue:`8306`)
* (Windows) Avoid trying to import ``pyqtgraph.canvas`` in the subprocess
that analyzes dynamic library search modifications made by packages prior
to the binary dependency analysis. Trying to import ``pyqtgraph.canvas``
causes python interpreter to crash under certain circumstances (the
issue is present in ``pyqtgraph`` <= 0.13.3). (:issue:`8322`)
* (Windows) Fix collection of ``QtWebEngineProcess`` helper when
collecting ``PySide2`` and Qt installed via Anaconda on Windows.
The helper executable is now collected into top-level ``PySide2``
package directory, in order to match the PyPI wheel layout. (:issue:`8315`)
* (Windows) Suppress warnings about unresolvable UCRT DLLs
(``api-ms-win-*.dll``) on Windows 11. (:issue:`8339`)
* Fix bootloaders not being found when running an Intel build of Python on
Windows ARM64. (:issue:`8219`)


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

* PyInstaller now explicitly disallows attempts to collect multiple Qt
bindings packages (``PySide2``, ``PySide6``, ``PyQt5``, ``PyQt6``) into
a frozen application. When hooks for more than one top-level Qt bindings
package are executed, the build process is aborted with error message.
This restriction applies across all instances of ``Analysis`` within
a single build (i.e., a single .spec file).

If you encounter build errors caused by this new restriction, either
clean up your build environment (remove the bindings that you are not
using), or explicitly exclude the extraneous bindings using
:option:`--exclude-module`
(or equivalent ``excludes`` list passed as argument to ``Analysis`` in
the .spec file).

The automatic exclusion of extraneous bindings needs to be done via hooks on
per-package basis, so please `report problematic packages
<https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues>`_ so that we
can write hooks for them. (:issue:`8329`)


Hooks
~~~~~

* (Linux) When searching for dynamically-loaded NSS libraries during
collection of ``QtWebEnginge``, account for the possibility of said
libraries being either in a separate ``nss`` directory or in the main
library directory. This fixes problems with missing NSS libraries on
contemporary Linux distributions that do not use separate ``nss``
directory (anymore). (:issue:`8315`)
* Add a hook for ``pandas.io.clipboard`` to exclude the conditional
import of ``PyQt5`` from this module; the module primarily uses ``qtpy``
as its Qt bindings abstraction, and the conditional import of ``PyQt5``
interferes with Qt bindings selection done by our ``qtpy`` hook.
(:issue:`8329`)
* Add hook for ``qtpy`` to prevent collection of multiple available Qt
bindings. The hook attempts to select a single Qt bindings package
and exclude all other Qt bindings packages with the help of the
``PyInstaller.utils.hooks.qt.exclude_extraneous_qt_bindings``
helper. (:issue:`8329`)
* Extend hooks for ``matplotlib`` to prevent collection of multiple
available Qt bindings. The new hook for ``matplotlib.backends.qt_compat``
attempts to select a single Qt bindings package via the following
logic implemented in the
``PyInstaller.utils.hooks.qt.exclude_extraneous_qt_bindings``
helper: first, we check if hooks for any Qt bindings package have already
been run; if they had, those bindings are selected. If not, we check for
user-specified bindings in the ``QT_API`` environment variable; if valid
bindings name is specified, those bindings are selected. Otherwise, we
select one of available bindings. Once a Qt bindings package is selected,
the imports of all other Qt bindings packages are excluded from the
hooked package. (:issue:`8329`)
* Have run-time hooks for Qt bindings (``PySide2``, ``PySide6``, ``PyQt5``,
and ``PyQt6``) check for presence of the embedded ``:/qt/etc/qt.conf``
resource, and if not present, inject their own version. This
aims to ensure that the bundled Qt is always relocatable, even if the
package does not perform injection of embedded ``qt.conf`` file (most
notably, this seems to be the case with ``PySide2`` collected from
Linux distribution packages, and ``PySide2`` collected from Anaconda
on Windows, Linux, and macOS). (:issue:`8315`)
* PyInstaller now explicitly disallows attempts to collect multiple Qt
bindings packages (``PySide2``, ``PySide6``, ``PyQt5``, ``PyQt6``) into
a frozen application. When hooks for more than one top-level Qt bindings
package are executed, the build process is aborted with error message
that informs user of the situation and what to do about it (i.e., exclusion
of extraneous packages). The limitation applies to all analyses within a
spec file. (:issue:`8329`)
* Remove run-time hook for ``win32com``, as per discussion in issue:`8309`.
(:issue:`8313`)
* Update hook for ``matplotlib.backends`` to include ``QtAgg`` and ``Gtk4Agg``
in the list of backend candidates. (:issue:`8334`)


Bootloader
~~~~~~~~~~

* Have bootloader set the ``configure_locale`` field in the interpreter
pre-config structure, so that user-preferred locale is set during
interpreter pre-initialization. (:issue:`8306`)


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

* The target architecture on Windows using MSVC now defaults to that of the
current Python environment – not the current OS. (:issue:`8219`)


6.4.0 (2024-02-10)
------------------

Expand Down
8 changes: 8 additions & 0 deletions doc/CREDITS.rst
Expand Up @@ -5,6 +5,14 @@ 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 6.5.0
----------------------------------

* Rok Mandeljc
* Brénainn Woodsend
* Amir Rossert
* Geo5

Contributions to PyInstaller 6.4.0
----------------------------------

Expand Down
4 changes: 2 additions & 2 deletions doc/pyi-makespec.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "PYI-MAKESPEC" "1" "2024-02-10" "6.4.0" "PyInstaller"
.TH "PYI-MAKESPEC" "1" "2024-03-09" "6.5.0" "PyInstaller"
.SH NAME
pyi-makespec \- Create a spec file for your PyInstaller project
.
Expand Down Expand Up @@ -230,7 +230,7 @@ option is automatically set if the first script is a \(aq.pyw\(aq file. This
option is ignored on *NIX systems.
.UNINDENT
.sp
\-\-hide\-console {hide\-late,hide\-early,minimize\-late,minimize\-early}
\-\-hide\-console {hide\-late,minimize\-early,hide\-early,minimize\-late}
.INDENT 0.0
.INDENT 3.5
Windows only: in console\-enabled executable, have bootloader automatically
Expand Down
4 changes: 2 additions & 2 deletions doc/pyinstaller.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "PYINSTALLER" "1" "2024-02-10" "6.4.0" "PyInstaller"
.TH "PYINSTALLER" "1" "2024-03-09" "6.5.0" "PyInstaller"
.SH NAME
pyinstaller \- Configure and build a PyInstaller project in one run
.
Expand Down Expand Up @@ -250,7 +250,7 @@ option is automatically set if the first script is a \(aq.pyw\(aq file. This
option is ignored on *NIX systems.
.UNINDENT
.sp
\-\-hide\-console {hide\-late,hide\-early,minimize\-late,minimize\-early}
\-\-hide\-console {hide\-late,minimize\-early,hide\-early,minimize\-late}
.INDENT 0.0
.INDENT 3.5
Windows only: in console\-enabled executable, have bootloader automatically
Expand Down
1 change: 0 additions & 1 deletion news/8219.bugfix.rst

This file was deleted.

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

This file was deleted.

3 changes: 0 additions & 3 deletions news/8306.bootloader.rst

This file was deleted.

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

This file was deleted.

1 change: 0 additions & 1 deletion news/8313.hooks.rst

This file was deleted.

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

This file was deleted.

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

This file was deleted.

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

This file was deleted.

6 changes: 0 additions & 6 deletions news/8315.hooks.1.rst

This file was deleted.

8 changes: 0 additions & 8 deletions news/8315.hooks.rst

This file was deleted.

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

This file was deleted.

16 changes: 0 additions & 16 deletions news/8329.breaking.rst

This file was deleted.

11 changes: 0 additions & 11 deletions news/8329.hooks.1.rst

This file was deleted.

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

This file was deleted.

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

This file was deleted.

7 changes: 0 additions & 7 deletions news/8329.hooks.rst

This file was deleted.

2 changes: 0 additions & 2 deletions news/8334.hooks.rst

This file was deleted.

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

This file was deleted.

2 changes: 1 addition & 1 deletion setup.cfg
Expand Up @@ -65,7 +65,7 @@ install_requires =
pefile >= 2022.5.30 ; sys_platform == 'win32'
pywin32-ctypes >= 0.2.1 ; sys_platform == 'win32'
macholib >= 1.8 ; sys_platform == 'darwin'
pyinstaller-hooks-contrib >= 2024.0
pyinstaller-hooks-contrib >= 2024.3
importlib_metadata >= 4.6 ; python_version < "3.10"
packaging >= 22.0

Expand Down

0 comments on commit 5c8de5b

Please sign in to comment.