Bump setuptools from 83.0.0 to 84.1.0
Bumps setuptools from 83.0.0 to 84.1.0.
Changelog
Sourced from setuptools's changelog.
v84.1.0
Features
setuptools.archive_utilnow raises the newUnsafeMemberexception 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'starfileextraction filters.Bugfixes
Wheel.install_as_eggno longer creates namespace package directories outside of the destination egg directory. Entries in a wheel'snamespace_packages.txtwere split on.and passed straight toos.path.join, so an entry that was absolute, drive-qualified, or UNC discarded the destination and placed an__init__.pyat a path chosen by the wheel. Namespace entries are now validated as dotted module names on every platform -- see GHSA-xmj3-9gf7-h52w.This code path is reached only by the deprecated
setup_requiresmechanism whensetup()is invoked outside a PEP 517 frontend; the setuptools build backend never reaches it.
setuptools.archive_utilno longer extracts archive members outside of the requested extraction directory. Both the tar and zip formats specify/as the only path separator, but the guard against..components split member names on/alone, so a name such as..\escaped.txtwas 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.v84.0.0
Features
- Newline-separated
keywordsandplatformspypa/setuptools#4887old specification <https://peps.python.org/pep-0345/>_ separated items with spaces and the current one uses commas. (#4887)Extensionpypa/distutils#373#5022)- The C compiler modules now emit log messages through their own
compilers.C.*loggers instead of the distutils root logger, part of decoupling the compilers package from distutils. The logger names are normalized to a stablecompilers.C.*prefix so they remain constant as the package migrates toward a standalonecompilers.Cdistribution. (#5266)- The C compilers gained a
Compiler.callmethod -- a thin wrapper oversubprocess.check_call(with macOS deployment-target env injection) that is the modern replacement forCompiler.spawn. The compilers no longer depend ondistutils.spawn,distutils.dir_util,distutils.file_util,distutils._modified, ordistutils.util.execute/split_quoted: the genericnewer/newer_groupandsplit_quotedhelpers are vendored into thecompilerspackage, andCompiler.mkpath/move_file/executeare implemented directly on the standard library (os.makedirs/shutil.move). The methods are retained for backward compatibility. (#5267)- The compilers no longer depend on
distutils.util,distutils.version,distutils.compat, ordistutils._macos_compat. The platform-identification helpers (get_platform/get_host_platform/is_mingw) now live indistutils.compilers.platform.detectand the macOS deployment-target logic andcompiler_fixupindistutils.compilers.platform.macos;CygwinCCompiler.gcc_versionreturns apackaging.version.Version.distutils.utilre-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.) (#5268)- The compilers now read their build configuration from the standard library's
sysconfiginstead ofdistutils.sysconfig. Per-compiler customization -- previouslydistutils.sysconfig.customize_compiler-- has moved intoCompiler.configure_system(): a no-op on the base class, withUnixCCompilerapplying the compiler/flag/archiver settings CPython recorded insysconfig(and the usualCC/CFLAGS/LDSHARED/… environment overrides).distutils.sysconfig.customize_compileris retained as a thin wrapper that callscompiler.configure_system(). (#5269)
... (truncated)
Commits
77b7aceBump version: 84.0.0 → 84.1.0e66004cMerge pull request #5329 from pypa/fix/wheel-namespace-path-escape54b5dcaCover the containment check with a symlink escape test6d07b8dValidate namespace package names during legacy wheel installation8419f00Merge pull request #5356 from pypa/skeleton-ruff-0.166dadc86Remove DTZ011 suppressions that Ruff 0.17 reports as unused.715ec38Merge https://github.com/jaraco/skeleton9695460jaraco/skeleton#2199e08129jaraco/skeleton#2164e612f9Ignore PyPy's deprecated check_home warning in tests- Additional commits viewable in compare view
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 commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the Security Alerts page.