Skip to content

Commit 167bc16

Browse files
chore(deps): bump setuptools from 83.0.0 to 84.1.0 (#1385)
Bumps [setuptools](https://github.com/pypa/setuptools) from 83.0.0 to 84.1.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pypa/setuptools/blob/main/NEWS.rst">setuptools's changelog</a>.</em></p> <blockquote> <h1>v84.1.0</h1> <h2>Features</h2> <ul> <li><code>setuptools.archive_util</code> now raises the new <code>UnsafeMember</code> exception when an archive member would be extracted outside of the extraction directory, where previously such a member was silently skipped. Aborting makes a malicious or malformed archive visible to the caller instead of yielding a quietly incomplete extraction, and matches the behavior of the standard library's <code>tarfile</code> extraction filters.</li> </ul> <h2>Bugfixes</h2> <ul> <li> <p><code>Wheel.install_as_egg</code> no longer creates namespace package directories outside of the destination egg directory. Entries in a wheel's <code>namespace_packages.txt</code> were split on <code>.</code> and passed straight to <code>os.path.join</code>, so an entry that was absolute, drive-qualified, or UNC discarded the destination and placed an <code>__init__.py</code> at a path chosen by the wheel. Namespace entries are now validated as dotted module names on every platform -- see GHSA-xmj3-9gf7-h52w.</p> <p>This code path is reached only by the deprecated <code>setup_requires</code> mechanism when <code>setup()</code> is invoked outside a PEP 517 frontend; the setuptools build backend never reaches it.</p> </li> <li> <p><code>setuptools.archive_util</code> no longer extracts archive members outside of the requested extraction directory. Both the tar and zip formats specify <code>/</code> as the only path separator, but the guard against <code>..</code> components split member names on <code>/</code> alone, so a name such as <code>..\escaped.txt</code> was treated as a single component and then resolved as a traversal by the filesystem on Windows. Member names containing a backslash, a drive letter, or a UNC prefix are now rejected on every platform, as are members whose resolved destination falls outside the extraction directory -- see GHSA-grgh-hr87-3jpw.</p> </li> </ul> <h1>v84.0.0</h1> <h2>Features</h2> <ul> <li>Newline-separated <code>keywords</code> and <code>platforms</code><code>pypa/setuptools#4887</code><code>old specification &lt;https://peps.python.org/pep-0345/&gt;</code>_ separated items with spaces and the current one uses commas. (<a href="https://redirect.github.com/pypa/setuptools/issues/4887">#4887</a>)</li> <li><code>Extension</code><code>pypa/distutils#373</code><a href="https://redirect.github.com/pypa/setuptools/issues/5022">#5022</a>)</li> <li>The C compiler modules now emit log messages through their own <code>compilers.C.*</code> loggers instead of the distutils root logger, part of decoupling the compilers package from distutils. The logger names are normalized to a stable <code>compilers.C.*</code> prefix so they remain constant as the package migrates toward a standalone <code>compilers.C</code> distribution. (<a href="https://redirect.github.com/pypa/setuptools/issues/5266">#5266</a>)</li> <li>The C compilers gained a <code>Compiler.call</code> method -- a thin wrapper over <code>subprocess.check_call</code> (with macOS deployment-target env injection) that is the modern replacement for <code>Compiler.spawn</code>. The compilers no longer depend on <code>distutils.spawn</code>, <code>distutils.dir_util</code>, <code>distutils.file_util</code>, <code>distutils._modified</code>, or <code>distutils.util.execute</code>/<code>split_quoted</code>: the generic <code>newer</code>/<code>newer_group</code> and <code>split_quoted</code> helpers are vendored into the <code>compilers</code> package, and <code>Compiler.mkpath</code>/<code>move_file</code>/<code>execute</code> are implemented directly on the standard library (<code>os.makedirs</code>/<code>shutil.move</code>). The methods are retained for backward compatibility. (<a href="https://redirect.github.com/pypa/setuptools/issues/5267">#5267</a>)</li> <li>The compilers no longer depend on <code>distutils.util</code>, <code>distutils.version</code>, <code>distutils.compat</code>, or <code>distutils._macos_compat</code>. The platform-identification helpers (<code>get_platform</code>/<code>get_host_platform</code>/<code>is_mingw</code>) now live in <code>distutils.compilers.platform.detect</code> and the macOS deployment-target logic and <code>compiler_fixup</code> in <code>distutils.compilers.platform.macos</code>; <code>CygwinCCompiler.gcc_version</code> returns a <code>packaging.version.Version</code>. <code>distutils.util</code> re-exports the platform/macOS helpers from their new homes for backward compatibility rather than keeping duplicate copies. (sysconfig lookups still route through distutils pending its own decoupling.) (<a href="https://redirect.github.com/pypa/setuptools/issues/5268">#5268</a>)</li> <li>The compilers now read their build configuration from the standard library's <code>sysconfig</code> instead of <code>distutils.sysconfig</code>. Per-compiler customization -- previously <code>distutils.sysconfig.customize_compiler</code> -- has moved into <code>Compiler.configure_system()</code>: a no-op on the base class, with <code>UnixCCompiler</code> applying the compiler/flag/archiver settings CPython recorded in <code>sysconfig</code> (and the usual <code>CC</code>/<code>CFLAGS</code>/<code>LDSHARED</code>/… environment overrides). <code>distutils.sysconfig.customize_compiler</code> is retained as a thin wrapper that calls <code>compiler.configure_system()</code>. (<a href="https://redirect.github.com/pypa/setuptools/issues/5269">#5269</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pypa/setuptools/commit/77b7ace0aaf660beeb9b3f9da4aabf21cbcf3fa9"><code>77b7ace</code></a> Bump version: 84.0.0 → 84.1.0</li> <li><a href="https://github.com/pypa/setuptools/commit/e66004c64eaf6cf2f8c53ccdfac75cf7abce7ccf"><code>e66004c</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools/issues/5329">#5329</a> from pypa/fix/wheel-namespace-path-escape</li> <li><a href="https://github.com/pypa/setuptools/commit/54b5dcadc1bd938a5a66919e8ab7bcd59805e7fd"><code>54b5dca</code></a> Cover the containment check with a symlink escape test</li> <li><a href="https://github.com/pypa/setuptools/commit/6d07b8d17890dda58d944ac51e58f54af92d52af"><code>6d07b8d</code></a> Validate namespace package names during legacy wheel installation</li> <li><a href="https://github.com/pypa/setuptools/commit/8419f006d4e34c4ecfc7a0bd1bc6993855adc3cc"><code>8419f00</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools/issues/5356">#5356</a> from pypa/skeleton-ruff-0.16</li> <li><a href="https://github.com/pypa/setuptools/commit/6dadc86a3f7dbe1cf49c6301548ffde61d4e74e1"><code>6dadc86</code></a> Remove DTZ011 suppressions that Ruff 0.17 reports as unused.</li> <li><a href="https://github.com/pypa/setuptools/commit/715ec38b46424533806195a96983e3dd70fdf3b9"><code>715ec38</code></a> Merge <a href="https://github.com/jaraco/skeleton">https://github.com/jaraco/skeleton</a></li> <li><a href="https://github.com/pypa/setuptools/commit/9695460ebfa879ada16545d62b26b9a489a6d5ed"><code>9695460</code></a><code>jaraco/skeleton#219</code></li> <li><a href="https://github.com/pypa/setuptools/commit/9e0812976b1154a7aece47188814385c887bc6c9"><code>9e08129</code></a><code>jaraco/skeleton#216</code></li> <li><a href="https://github.com/pypa/setuptools/commit/4e612f9e44ecfad130d0b2a27a2dce0740599b4b"><code>4e612f9</code></a> Ignore PyPy's deprecated check_home warning in tests</li> <li>Additional commits viewable in <a href="https://github.com/pypa/setuptools/compare/v83.0.0...v84.1.0">compare view</a></li> </ul> </details> <br /> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: mykytanetipa <mykytanetipa@google.com>
1 parent 654774f commit 167bc16

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

‎uv.lock‎

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)