Sourced from virtualenv's releases.
21.7.3
What's Changed
- 🐛 fix(config): return a real list from ListType.split_values by
@darrenhuaiin pypa/virtualenv#3207New Contributors
@darrenhuaimade their first contribution in pypa/virtualenv#3207Full Changelog: https://github.com/pypa/virtualenv/compare/21.7.2...21.7.3
Sourced from virtualenv's changelog.
Bugfixes - 21.7.3
ListType.split_valuesnow returns alistyou can iterate more than once, and acceptsbytesinput instead of raisingTypeError- by :user:darrenhuai. (:issue:3207)
v21.7.2 (2026-08-07)
2c52ec0
release 21.7.38873d5e
🐛 fix(config): return a real list from ListType.split_values (#3207)Sourced from setuptools's changelog.
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)Bugfixes
- The MSVC linker now passes its arguments through a response file when the command line would exceed the Windows maximum length, fixing failures when linking a large number of objects. (#4177)
- The Cygwin and MinGW compilers now pass
-O1instead of a bare-O. The two are equivalent to GCC, butcc1rejected the bare form when building 32-bit extensions with-m32. -- by :user:dchaudhari7177(#4873)copy_filepypa/distutils#379#5079)- Setuptools wheels no longer bundled the project's own test modules. -- by :user:
itscloud0(#5212)build_extno longer fails when cross-compiling with a compiler other than MSVC (such as MinGW).Compilernow provides a no-opinitialize()pypa/distutils#399Improved Documentation
- Clarified what "correspond exactly to the directory structure" means in the
packagessection of the Package Discovery user guide. (#4109)- Documented how
bdist_wheel'spy_limited_apioption controlsabi3wheel tagging for extension modules -- by :user:Himanshuagrawal4(#4741)Deprecations and Removals
Compiler.spawnis deprecated in favor of the newCompiler.call.callraises nativesubprocessexceptions;spawnremains as a shim that emits aDeprecationWarningand translates them toDistutilsExecError. The MSVCspawncompatibility shim for third-party monkeypatches predating theenvargument (numpy.distutils before 1.19, per pypa/distutils#15) has been removed.distutils.spawn.spawnis likewise reduced to a thin wrapper aroundsubprocess.check_call: it no longer resolvescmd[0]viashutil.which(subprocesssearchesPATHitself) nor injectsMACOSX_DEPLOYMENT_TARGET(that now lives with the compilers, the only callers to which it applied). (#5267)- Building an extension with a
MACOSX_DEPLOYMENT_TARGETlower than the interpreter's configured value now raisescompilers.errors.PlatformErrorinstead ofdistutils.errors.DistutilsPlatformError(the macOS deployment-target check moved into the compilers package).CygwinCCompiler.gcc_versionreturns apackaging.version.Versionrather than the removeddistutils.version.LooseVersion. Completing the transition begun in pypa/distutils#246,UnixCCompiler.runtime_library_dir_optionnow returns the["-Wl,--enable-new-dtags", "-Wl,-rpath,<dir>"]list directly for GNU ld rather than collapsing it into a single string, and the temporarydistutils.compat.consolidate_linker_argsshim has been removed. (#5268)- The compilers now define their own exception vocabulary instead of borrowing distutils' framework errors. Language-agnostic exceptions (
Error,UnknownFileType, and a newPlatformError) live atdistutils.compilers.errors, leaving room for futurecompilers.<language>siblings; the C/C++-specificCompileError/LinkError/LibError/PreprocessErrorremain indistutils.compilers.C.errors. The compilers now raisecompilers.errors.PlatformErrorwhere they previously raiseddistutils.errors.DistutilsPlatformError/DistutilsModuleError, andcompilers._modified.newerraises the stdlibFileNotFoundError.distutils.errorskeeps its own framework exceptions and re-exports the compiler ones (CCompilerError,CompileError, etc.) for backward compatibility; becauseCCompilerErroriscompilers.errors.Error, code catching it (as distutils' top-level handlers do) still catches the newPlatformError. (#5270)customize_compilernow asserts that the compiler-related config variables (CC,CXX,CFLAGS, etc.) resolve to strings, raisingAssertionErrorif any are unexpectedlyNonepypa/distutils#363
72e919a
Merge pull request #5293
from pypa/bugfix/integration-pip-flit-backend1b29701
Select the top-level pyproject.toml when reading build requirementsbb1b381
Bump version: 83.0.0 → 84.0.0ee6fdd7
Sync with distutils @ e8eb87855 (#5292)2a4a9e4
Merge remote-tracking branch 'origin/main' into distutils-e8eb87855cbd1195
Merge https://github.com/jaraco/skeletonbd3594e
Merge pull request #5287
from Avasam/Configuring-lint.flake8-comprehensions.a...f02e90a
Configure C408 to allow dict(a=1) rather than disabling itc55f52b
Configuring
lint.flake8-comprehensions.allow-dict-calls-with-keyword-argument...e9904b0
Match the distutils sdist base type for the user_options override