* (macOS) At the end of analysis, verify the macOS SDK version reported
by binaries to be collected, and warn when the version is either invalid
(0.0.0) or too low (< 10.9.0). Such binaries will likely cause issues
with code-signing and hardened runtime. (:issue:`8043`)
* If the ``argcomplete`` Python module is installed, PyInstaller will use it
enable tab completion for its CLI tools. PyInstaller CLIs can still be used
without this optional dependency. To install ``argcomplete`` with
PyInstaller, you can put ``pyinstaller[completion]`` in your dependencies.
See also `the argcomplete documentation
<https://kislyuk.github.io/argcomplete/>`_. (:issue:`8008`)
Bugfix
* (macOS) Fix the bug in binary processing and caching that would update
the binary cache index before performing macOS-specific processing
(architecture validation, path rewriting). If, for example, architecture
validation failed during a build, subsequent build attempts with
enabled binary cache (i.e., without the :option:`--clean` option) would
pick up the partially-processed binary file from the cache, bypassing the
architecture validation. NOTE: the existing binary caches need to be
purged manually (using :option:`--clean` option once) for the fix to take
effect! (:issue:`8068`)
* (macOS) Prevent collection of ``.DS_Store`` files, which might be present
in build environment's package directories after user navigated them using
the Finder app. (:issue:`8042`)
* (Windows) Fix marshal error at the start of binary dependency analysis,
caused by inferred DLL search path ending up an instance of
:class:`pathlib.Path` instead of :class:`str`. (:issue:`8081`)
* Bump the required ``packaging`` version to 22.0, which is required for
proper handling of metadata that contains markers with ``extra``\ s.
(:issue:`8061`)
* Fix erroneous DLL parent path preservation when :data:`sys.base_prefix`
itself is a symbolic link. In such case, we need to exclude both
resolved and unresolved path variant for ``sys.base_prefix``, in order to
prevent either from ending up in the list of directories for which DLL
parent paths are preserved. Failing to do so, for example, caused
``_ctypes`` failing to load in an application build on Windows with
Python installed via ``scoop``, due to ``libffi-8.dll`` having spuriously
preserved the parent directory path instead of being collected to top-level
application directory. (:issue:`8023`)
* Fix matching of pre-release versions in
:func:`PyInstaller.utils.hooks.check_requirement` and
</tr></table>
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/pyinstaller/pyinstaller/commit/90c9ac4231640bb90be6a87514c77e2bf55b39b0"><code>90c9ac4</code></a> Release v6.2.0. [skip ci]</li>
<li><a href="https://github.com/pyinstaller/pyinstaller/commit/ae525ceffe09ca7d1c8d7e47850e71edab3e219a"><code>ae525ce</code></a> hookutils: fix pre-release matching in check_requirement / is_module_satisfies</li>
<li><a href="https://github.com/pyinstaller/pyinstaller/commit/13de1077d51cb71c78fcc5a5d9b3d7678a5374fb"><code>13de107</code></a> building: fix marshal error during DLL search path extension</li>
<li><a href="https://github.com/pyinstaller/pyinstaller/commit/04db9fdaeab2bb321a6ffd00eb5949ed7aea07ae"><code>04db9fd</code></a> rth_utils: add is_macos_app_bundle flag</li>
<li><a href="https://github.com/pyinstaller/pyinstaller/commit/1e0e551ea955ae19403424394cdb24e8d4506c2c"><code>1e0e551</code></a> rth_utils: remove relative import work-around</li>
<li><a href="https://github.com/pyinstaller/pyinstaller/commit/ecc218ceb5974590723c748f0c9ef6fb9a639476"><code>ecc218c</code></a> analysis: fix module exclusion for relative imports from submodules</li>
<li><a href="https://github.com/pyinstaller/pyinstaller/commit/03627c2b2b760832f23249cb8a89fdd13af42505"><code>03627c2</code></a> tests: add test for exclusion of relatively-imported modules</li>
<li><a href="https://github.com/pyinstaller/pyinstaller/commit/e157bb6c16311053d8b9dbeaa383fc76b137793c"><code>e157bb6</code></a> hooks: add a hook for our _pyi_rth_utils fake package</li>
<li><a href="https://github.com/pyinstaller/pyinstaller/commit/574a96191729ba49f4235184c0418c1ffc5e544c"><code>574a961</code></a> rth_utils: move secure_mkdtemp() implementation to a submodule</li>
<li><a href="https://github.com/pyinstaller/pyinstaller/commit/983bd59dc6201fff839506d5344b3c0efb5ec6bc"><code>983bd59</code></a> rthooks: pkg_resources: normalize path using os.path.normpath</li>
<li>Additional commits viewable in <a href="https://github.com/pyinstaller/pyinstaller/compare/v6.1.0...v6.2.0">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyinstaller&package-manager=pip&previous-version=6.1.0&new-version=6.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps pyinstaller from 6.1.0 to 6.2.0.
Release notes
Sourced from pyinstaller's releases.
Changelog
Sourced from pyinstaller's changelog.