Sourced from pyinstaller's releases.
v6.0.0
Please see the v6.0.0 section of the changelog for a list of the changes since v5.13.2.
v5.13.2
Please see the v5.13.2 section of the changelog for a list of the changes since v5.13.1.
Sourced from pyinstaller's changelog.
6.0.0 (2023-09-22)
Features
* (macOS) PyInstaller now attempts to preserve the ``.framework`` bundles when collecting shared libraries from them. If a shared library is to be collected from a ``.framework`` bundle, the ``Info.plist`` is also automatically collected. The ``.framework`` bundle collection code also attempts to fix the bundles' structure to conform to code-signing requirements (i.e., creation of the ``Current`` symbolic link in the ``Versions`` directory, and top-level contents being symbolic links that point to counterparts in the ``Versions/Current`` directory). Note that other resources (for example from ``Resources`` or ``Helpers`` directories) still need to be explicitly collected by hooks. (:issue:`7619`) * (macOS) The file relocation mechanism in ``BUNDLE`` that generates macOS .app bundles has been completely redesigned. All data files are now placed into directory structure rooted in ``Contents/Resources``, all shared libraries (as well as nested .framework bundles) are placed into directory structure rooted in ``Contents/Frameworks``, and only the the program executable is placed into the ``Contents/MacOS`` directory. The contents of ``Contents/Resources`` and ``Contents/Frameworks`` directories are cross-linked via symlinks between the two directory trees in order to maintain illusion of mixed-content directories (in both directory trees). The cross-linking is done at either file level or (sub)directory level, depending on the content type of a (sub)directory. For directories in ``Contents/Frameworks`` that contain a dot in the name, a work-around is automatically applied: the directory is created with a modified name that does not include the dot, and next to it, a symbolic link is created under the original name and pointing to the directory with modified name. (:issue:`7619`) * (non-Windows) PyInstaller now attempts to preserve the parent directory structure for shared libraries discovered and collected by the binary dependency analysis, instead of automatically collecting them into the top-level application directory. Due to library search path assumptions made in various places, symbolic links to collected libraries are created in the top-level application directory. This complements earlier work (:issue:`7028`) that implemented DLL parent directory structure preservation on Windows. (:issue:`7619`) * (Windows) Add an option to hide or minimize the console window in console-enabled applications, but only if the program's process owns the console window (i.e., the program was not launched from an existing console window). (:issue:`7729`) * (Windows) The :option:`--add-data` and :option:`--add-binary` options accept the POSIX syntax of ``--add-data=source:dest`` rather than ``--add-data=source;dest``. The latter will continue to work on Windows to avoid breaking backwards compatibility but is discouraged in favour of the now cross platform format. (:issue:`6724`) * Add automatic binary vs. data file (re)classification step to the analysis process. PyInstaller now inspects all files passed to ``Analysis`` via </tr></table>
... (truncated)
7001def
Release v6.0.0. [skip ci]87cda61
building: fix executable-bit preservation for collected shell
scriptsd1adaed
tests: add a test with bundled shell script8bbc4f7
bootloader: onefile: set executable bit only on extracted binaries3bd5160
building: use shutil.copyfile when copying files into
onedir build3b4099b
Cherry pick v5 release commits into develop. [skip ci]962ac8f
hookutils: remove requirements_for_package984545a
hookutils: adjust behavior of collect_data_files with
include_py_filesdeb6613
hookutils: have collect_all look up the dist from package namee4e6ea3
hookutils: implement replacement for is_module_satisfies