NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #809 most downloaded on PyPI
tox is a generic virtualenv management and test command line tool
Last release today
29 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
2 versions withdrawn
withdrawn after publishing
16 years old
315 releases · first in 2010
<!-- Release notes generated using configuration in .github/release.yml at 4.36.1 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.36.1 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.36.0...4.36.1
Report TOML parse errors during config discovery instead of silently ignoring them - by @rahuldevikar . ( #3030 )
Adopt CPython’s subprocess stream handling to fix deadlocks and improve performance when reading subprocess output ( #3715 )
One column per quarter.
<!-- Release notes generated using configuration in .github/release.yml at 4.36.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.36.0 -->
tox config when exceptions occur by @veeceey in https://github.com/tox-dev/tox/pull/3683Full Changelog: https://github.com/tox-dev/tox/compare/4.35.0...4.36.0
Allow skip_missing_interpreters to be set per environment, overriding the global setting. This enables marking specific environments as optional while keeping others required. ( #435 )
Add --fail-fast CLI flag and fail_fast per-environment config option to stop executing remaining environments when the first failure occurs - by @gaborbernat . ( #578 )
Add shell completion support for bash, zsh, and fish via argcomplete - by @gaborbernat ( #918 )
Validate that configured extras exist in package metadata, raising a clear error for unknown extras - by @gaborbernat ( #1113 )
Add glob pattern support in depends (e.g. depends = py3* ) to match environments by wildcard instead of listing them explicitly - by @gaborbernat ( #1152 )
Add disallow_pass_env configuration option to exclude specific environment variables after pass_env glob expansion - by @gaborbernat ( #1387 )
Support file: URIs in --installpkg (e.g. --installpkg file:///path/to/pkg.whl ), including proper handling of percent-encoded characters - by @rahuldevikar . ( #3498 )
Allow skip_missing_interpreters to be set per environment, overriding the global setting. This enables marking specific environments as optional while keeping others required. (435)
Add --fail-fast CLI flag and fail_fast per-environment config option to stop executing remaining environments when the first failure occurs - by gaborbernat. (578)
Add shell completion support for bash, zsh, and fish via argcomplete - by gaborbernat (918)
Validate that configured extras exist in package metadata, raising a clear error for unknown extras - by gaborbernat (1113)
Add glob pattern support in depends (e.g. depends = py3*) to match environments by wildcard instead of listing them explicitly - by gaborbernat (1152)
Add disallow_pass_env configuration option to exclude specific environment variables after pass_env glob expansion - by gaborbernat (1387)
Support file: URIs in --installpkg (e.g. --installpkg file:///path/to/pkg.whl), including proper handling of percent-encoded characters - by rahuldevikar. (3498)
<!-- Release notes generated using configuration in .github/release.yml at 4.35.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.35.0 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.34.1...4.35.0
Show toxfile.py inline plugins in tox --version output, including any tox_append_version_info() result - by @rahuldevikar . ( #3508 )
Show toxfile.py inline plugins in tox --version output, including any tox_append_version_info() result - by rahuldevikar. (3508)
<!-- Release notes generated using configuration in .github/release.yml at 4.34.1 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.34.1 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.34.0...4.34.1
Fix wheel corruption errors when the build backend updates the file in place - by @gaborbernat . ( #3667 )
Fix wheel corruption errors when the build backend updates the file in place - by gaborbernat. (3667)
<!-- Release notes generated using configuration in .github/release.yml at 4.34.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.34.0 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.33.0...4.34.0
Support installing extras from the current project in dependency groups. – by @czaki . ( #3561 )
Support installing extras from the current project in dependency groups. -- by czaki. (3561)
<!-- Release notes generated using configuration in .github/release.yml at 4.33.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.33.0 -->
py{39-314} by @ferdnyc in https://github.com/tox-dev/tox/pull/3652sphinx-issues extension by @webknjaz in https://github.com/tox-dev/tox/pull/3655Full Changelog: https://github.com/tox-dev/tox/compare/4.32.0...4.33.0
Add support for conditional set_env using PEP-496 environment markers. In INI format use VAR=value; marker syntax, in TOML format use set_env.VAR = { value = "...", marker = "..." } – by @gaborbernat . ( #3663 )
<!-- Release notes generated using configuration in .github/release.yml at 4.32.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.32.0 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.31.0...4.32.0
Expand braced range syntax in all internal sections of tox.ini (e.g. deps , testenv ). Syntax like py3{10-14} can be used in those sections now. - by @marcosboger ( #3571 )
<!-- Release notes generated using configuration in .github/release.yml at 4.31.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.31.0 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.30.3...4.31.0
<!-- Release notes generated using configuration in .github/release.yml at 4.30.3 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.30.3 -->
DEFAULT_CONFIG_FILE file by @kurtmckee in https://github.com/tox-dev/tox/pull/3612Full Changelog: https://github.com/tox-dev/tox/compare/4.30.2...4.30.3
Fix incorrect type annotation in PythonPathPackageWithDeps.init() where deps was annotated as Sequence[Package] but should be Sequence[Requirement] to match actual runtime usage - by @PreistlyPython ( #3607 )
Fix None appearing as the config filename in error output when the user’s default config file is corrupt. - by @kurtmckee ( #3611 )
Fix incorrect type annotation in PythonPathPackageWithDeps.__init__() where deps was annotated as Sequence[Package] but should be Sequence[Requirement] to match actual runtime usage - by PreistlyPython (3607)
Fix None appearing as the config filename in error output when the user's default config file is corrupt. - by kurtmckee (3611)
<!-- Release notes generated using configuration in .github/release.yml at 4.30.2 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.30.2 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.30.1...4.30.2
Previously, when tox ran in an automatically provisioned environment, it could hang waiting for a PEP 517 build backend if used in conjunction with the --installpkg option. This has been fixed by properly tearing down the automatically provisioned environment after the tests. - by @vytas7 ( #3600 )
<!-- Release notes generated using configuration in .github/release.yml at 4.30.1 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.30.1 -->
--installpkg sdist due to orphaned build backend by @vytas7 in https://github.com/tox-dev/tox/pull/3530Full Changelog: https://github.com/tox-dev/tox/compare/4.30.0...4.30.1
Prevent tox from hanging upon exit due to orphaned build threads and subprocesses when the --installpkg option is used with sdist . - by @vytas7 ( #3530 )
Prevent tox from hanging upon exit due to orphaned build threads and subprocesses when the --installpkg option is used with sdist. - by vytas7 (3530)
<!-- Release notes generated using configuration in .github/release.yml at 4.30.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.30.0 -->
CI as __TOX_ENVIRONMENT_VARIABLE_ORIGINAL_CI by @Liam-DeVoe in https://github.com/tox-dev/tox/pull/3592tox.toml by @webknjaz in https://github.com/tox-dev/tox/pull/3594tox_extend_envs by @webknjaz in https://github.com/tox-dev/tox/pull/3595tox_extend_envs list can be read twice by @webknjaz in https://github.com/tox-dev/tox/pull/3598Full Changelog: https://github.com/tox-dev/tox/compare/4.29.0...4.30.0
Add __TOX_ENVIRONMENT_VARIABLE_ORIGINAL_CI , which passes through the CI variable if present. This is intended for use by other libraries to detect if tox is running under CI. ( #3442 )
<!-- Release notes generated using configuration in .github/release.yml at 4.29.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.29.0 -->
tox_extend_envs hook in plugins API by @webknjaz in https://github.com/tox-dev/tox/pull/3591Full Changelog: https://github.com/tox-dev/tox/compare/4.28.4...4.29.0
A new tox life cycle event is now exposed for use via Plugins API – by @webknjaz .
The corresponding hook point is tox_extend_envs . It allows plugin authors to declare ephemeral environments that they can then populate through the in-memory configuration loader interface.
This patch was made possible thanks to pair programming with @gaborbernat at PyCon US 2025. ( #3510 , #3591 )
<!-- Release notes generated using configuration in .github/release.yml at 4.28.4 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.28.4 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.28.3...4.28.4
Pass ssh-agent variables SSH_AGENT_PID and SSH_AUTH_SOCK in pass_env by default. - by @daniilgankov ( #3572 )
No significant changes.
<!-- Release notes generated using configuration in .github/release.yml at 4.28.3 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.28.3 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.28.2...4.28.3
<!-- Release notes generated using configuration in .github/release.yml at 4.28.2 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.28.2 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.28.1...4.28.2
Don’t pass in the filter argument to tar.extractall on old Python versions - by @gaborbernat . ( #3568 )
Don't pass in the filter argument to tar.extractall on old Python versions - by gaborbernat. (3568)
<!-- Release notes generated using configuration in .github/release.yml at 4.28.1 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.28.1 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.28.0...4.28.1
Use tarfile.data_filter with extractall only on supported Python versions:
= 3.11.4
= 3.10.12 and < 3.11
= 3.9.17 and < 3.10
by @gaborbernat . ( #3565 )
<!-- Release notes generated using configuration in .github/release.yml at 4.28.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.28.0 -->
[testenv] constraints option by @stephenfin in https://github.com/tox-dev/tox/pull/3556Full Changelog: https://github.com/tox-dev/tox/compare/4.27.0...4.28.0
Added constraints to allow specifying constraints files for all dependencies. ( #3550 )
Allow disabling tox plugins via the TOX_DISABLED_EXTERNAL_PLUGINS environment variable - by @gaborbernat . ( #3468 )
<!-- Release notes generated using configuration in .github/release.yml at 4.27.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.27.0 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.26.0...4.27.0
Add free_threaded flag to to "python" entries in json output of --result-json . ( #3534 )
Fix using deprecated virtualenv option --wheel by @robsdedude in https://github.com/tox-dev/tox/pull/3528
<!-- Release notes generated using configuration in .github/release.yml at 4.26.0 -->
config.rst by @webknjaz in https://github.com/tox-dev/tox/pull/3509--wheel by @robsdedude in https://github.com/tox-dev/tox/pull/3528Full Changelog: https://github.com/tox-dev/tox/compare/4.25.0...4.26.0
Add support for free-threaded python builds. Factors like py313t will only pick builds with the GIL disabled while factors without trailing t will only pick builds without no-GIL support. ( #3391 )
Drop support for EOL Python 3.8. ( #3527 )
<!-- Release notes generated using configuration in .github/release.yml at 4.25.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.25.0 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.24.2...4.25.0
Add support for number ranges in generative environments, more details here . - by @mimre25 ( #3502 )
Add support for number ranges in generative environments, more details here. - by mimre25 (3502)
<!-- Release notes generated using configuration in .github/release.yml at 4.24.2 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.24.2 -->
--parallel N with --parallel-no-spinner by @tusharsadhwani in https://github.com/tox-dev/tox/pull/3495Full Changelog: https://github.com/tox-dev/tox/compare/4.24.1...4.24.2
multiple source_type supports for the same filename. Like pyproject.toml can be load by both TomlPyProject & LegacyToml ( #3117 )
Support set_env = { file = "conf{/}local.env"} for TOML format - by @juditnovak . ( #3474 )
fix example on the docs ( #3480 )
--parallel-no-spinner now respects max CPU set by --parallel N ( #3495 )
<!-- Release notes generated using configuration in .github/release.yml at 4.24.1 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.24.1 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.24.0...4.24.1
<!-- Release notes generated using configuration in .github/release.yml at 4.24.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.24.0 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.23.2...4.24.0
Add a schema command to produce a JSON Schema for tox and the current plugins.
by @henryiii ( #3446 )
Add a schema command to produce a JSON Schema for tox and the current plugins.
by henryiii (3446)
<!-- Release notes generated using configuration in .github/release.yml at 4.23.2 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.23.2 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.23.1...4.23.2
<!-- Release notes generated using configuration in .github/release.yml at 4.23.1 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.23.1 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.23.0...4.23.1
Fix bad example in documentation for dependency groups - by @gaborbernat . ( #3240 )
Fix bad example in documentation for dependency groups - by gaborbernat. (3240)
<!-- Release notes generated using configuration in .github/release.yml at 4.23.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.23.0 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.22.0...4.23.0
Add NETRC to the list of environment variables always passed through. ( #3410 )
<!-- Release notes generated using configuration in .github/release.yml at 4.22.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.22.0 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.21.2...4.22.0
Implement dependency group support as defined in PEP 735 - see dependency_groups - by @gaborbernat . ( #3408 )
Implement dependency group support as defined in PEP 735 - see dependency_groups - by gaborbernat. (3408)
<!-- Release notes generated using configuration in .github/release.yml at 4.21.2 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.21.2 -->
tox.toml (#3389) by @mgorny in https://github.com/tox-dev/tox/pull/3390Full Changelog: https://github.com/tox-dev/tox/compare/4.21.1...4.21.2
Include tox.toml in sdist archives to fix test failures resulting from its lack. - by @mgorny ( #3389 )
Include tox.toml in sdist archives to fix test failures resulting from its lack. - by mgorny (3389)
<!-- Release notes generated using configuration in .github/release.yml at 4.21.1 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.21.1 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.21.0...4.21.1
Fix error when using requires within a TOML configuration file - by @gaborbernat . ( #3386 )
Fix error when using deps within a TOML configuration file - by @gaborbernat . ( #3387 )
Multiple fixes for the TOML configuration by @gaborbernat .:
Do not fail when there is an empty command within commands .
Allow references for set_env by accepting list of dictionaries for it.
Do not try to be smart about reference unrolling, instead allow the user to control it via the extend flag, available both for posargs and ref replacements.
The ref replacements raw key has been renamed to of . ( #3388 )
<!-- Release notes generated using configuration in .github/release.yml at 4.21.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.21.0 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.20.0...4.21.0
<!-- Release notes generated using configuration in .github/release.yml at 4.20.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.20.0 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.19.0...4.20.0
Separate the list dependencies functionality to a separate abstract class allowing code reuse in plugins (such as tox-uv ) - by :gaborbernat`. ( #3347 )
<!-- Release notes generated using configuration in .github/release.yml at 4.19.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.19.0 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.18.1...4.19.0
Support pypy-<major>.<minor> environment names for PyPy environments - by @gaborbernat . ( #3346 )
Support pypy-<major>.<minor> environment names for PyPy environments - by gaborbernat. (3346)
<!-- Release notes generated using configuration in .github/release.yml at 4.18.1 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.18.1 -->
tox_env_teardown hook by @kemzeb in https://github.com/tox-dev/tox/pull/3333Full Changelog: https://github.com/tox-dev/tox/compare/4.18.0...4.18.1
Fix and test the string spec for the sys.executable interpreter (introduced in #3325 ) - by @hroncok ( #3327 )
Fix and test the string spec for the sys.executable interpreter (introduced in 3325) - by hroncok (3327)
<!-- Release notes generated using configuration in .github/release.yml at 4.18.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.18.0 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.17.1...4.18.0
<!-- Release notes generated using configuration in .github/release.yml at 4.17.1 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.17.1 -->
<major>.<minor> environment name support by @gaborbernat in https://github.com/tox-dev/tox/pull/3319Full Changelog: https://github.com/tox-dev/tox/compare/4.17.0...4.17.1
Support for running -e <major>.<minor> has been lost, fixing it - by @gaborbernat . ( #2849 )
base_python now accepts absolute paths to interpreter executable - by @paveldikov . ( #3191 )
Support for running -e <major>.<minor> has been lost, fixing it - by gaborbernat. (2849)
base_python now accepts absolute paths to interpreter executable - by paveldikov. (3191)
<!-- Release notes generated using configuration in .github/release.yml at 4.17.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.17.0 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.16.0...4.17.0
Add graalpy prefix as a supported base python ( #3312 )
Add on_platform core configuration holding the tox platform and do not install package when exec an environment
<!-- Release notes generated using configuration in .github/release.yml at 4.16.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.16.0 -->
windir to the default list of pass_env variables on Windows by @kurtmckee in https://github.com/tox-dev/tox/pull/3303Full Changelog: https://github.com/tox-dev/tox/compare/4.15.1...4.16.0
Add windir to the default list of Windows pass_env environment variables. - by @kurtmckee ( #3302 )
Add windir to the default list of Windows pass_env environment variables. - by kurtmckee (3302)
<!-- Release notes generated using configuration in .github/release.yml at 4.15.1 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.15.1 -->
ConfigSet.add_config to receive parameterized generics for of_type. by @ssbarnea in https://github.com/tox-dev/tox/pull/3288Full Changelog: https://github.com/tox-dev/tox/compare/4.15.0...4.15.1
Fix skip_missing_interpreters option for package = wheel ( #3269 )
<!-- Release notes generated using configuration in .github/release.yml at 4.15.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.15.0 -->
c from constraints' packages by @jugmac00 in https://github.com/tox-dev/tox/pull/3250Full Changelog: https://github.com/tox-dev/tox/compare/4.14.2...4.15.0
Add support for multiple appending override options (-x, –override) on command line - by @amitschang . ( #3261 )
Add support for inverting exit code success criteria using bang (!) ( #3271 )
Add support for multiple appending override options (-x, --override) on command line - by amitschang. (3261)
Add support for inverting exit code success criteria using bang (!) (3271)
<!-- Release notes generated using configuration in .github/release.yml at 4.14.2 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.14.2 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.14.1...4.14.2
Add provision arguments to ToxParser to fix crash when provisioning new tox environment without list-dependencies by @seyidaniels ( #3190 )
Add provision arguments to ToxParser to fix crash when provisioning new tox environment without list-dependencies by seyidaniels (3190)
<!-- Release notes generated using configuration in .github/release.yml at 4.14.1 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.14.1 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.14.0...4.14.1
Fix crash with fresh subprocess, if the build backend is setuptools automatically enable fresh subprocesses for build backend calls - by @gaborbernat . ( #3235 )
Fix crash with fresh subprocess, if the build backend is setuptools automatically enable fresh subprocesses for build backend calls - by gaborbernat. (3235)
<!-- Release notes generated using configuration in .github/release.yml at 4.14.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.14.0 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.13.0...4.14.0
Support enabling fresh subprocess for packaging build backends via fresh_subprocess - by @gaborbernat . ( #3227 )
Allow plugins attaching additional information to --version via tox_append_version_info method in the plugin module - by @gaborbernat . ( #3234 )
Support enabling fresh subprocess for packaging build backends via fresh_subprocess - by gaborbernat. (3227)
Allow plugins attaching additional information to --version via tox_append_version_info method in the plugin module - by gaborbernat. (3234)
<!-- Release notes generated using configuration in .github/release.yml at 4.13.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.13.0 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.12.1...4.13.0
Extract virtual environment packaging code to its own base class not tied to virtualenv - by @gaborbernat . ( #3221 )
Extract virtual environment packaging code to its own base class not tied to virtualenv - by gaborbernat. (3221)
<!-- Release notes generated using configuration in .github/release.yml at 4.12.1 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.12.1 -->
Full Changelog: https://github.com/tox-dev/tox/compare/4.12.0...4.12.1
Fixed bug where running with –installpkg and multiple envs could not clean up between tests ( #3165 )
<!-- Release notes generated using configuration in .github/release.yml at 4.12.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 4.12.0 -->
--parallel when --parallel-no-spinner is passed by @tusharsadhwani in https://github.com/tox-dev/tox/pull/3159Full Changelog: https://github.com/tox-dev/tox/compare/4.11.4...4.12.0
Always pass FORCE_COLOR and NO_COLOR to the environment ( #3172 )
[pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/tox-dev/tox/pull/3124
quickstart command from requiring root positional argument by @Tbruno25 in https://github.com/tox-dev/tox/pull/3123Full Changelog: https://github.com/tox-dev/tox/compare/4.11.3...4.11.4
Fix terminal size of tox subcommands (fixes ipython, ipdb, prompt_toolkit, …). ( #2999 )
Fix quickstart command from requiring root positional argument ( #3084 )
Added ‘AppData’ to the default passed environment variables on Windows. ( #3151 )
docs(plugin): explain plugin registration by @hashar in https://github.com/tox-dev/tox/pull/3116
base_python path by @Tbruno25 in https://github.com/tox-dev/tox/pull/3122Full Changelog: https://github.com/tox-dev/tox/compare/4.11.2...4.11.3
Handle FileNotFoundError when the base_python interpreter doesn’t exist ( #3105 )
Fix typos discovered by codespell by @cclauss in https://github.com/tox-dev/tox/pull/3113
config.rst left over from #3111 by @posita in https://github.com/tox-dev/tox/pull/3120Full Changelog: https://github.com/tox-dev/tox/compare/4.11.1...4.11.2
Fix bug in config.rst by removing stray colons left over from ( #3111 ) - by @posita . ( #3118 )
Provide example to make CLI help more helpful for -x / --override - by @posita . ( #3119 )
Fix bug in config.rst by removing stray colons left over from (3111) - by posita. (3118)
Provide example to make CLI help more helpful for -x/--override - by posita. (3119)
Tests: Don't assume Python 3.10 is always installed, use current Python version by @hroncok in https://github.com/tox-dev/tox/pull/3108
Full Changelog: https://github.com/tox-dev/tox/compare/4.11.0...4.11.1
Allow passing in multiple overrides using the ; character and fix , being used as splitting values - by @gaborbernat . ( #3112 )
Allow passing in multiple overrides using the ; character and fix , being used as splitting values - by gaborbernat. (3112)
[pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/tox-dev/tox/pull/3102
Full Changelog: https://github.com/tox-dev/tox/compare/4.10.0...4.11.0
Add support for setting build backend config_settings in the configuration file - by @gaborbernat . ( #3090 )
Add support for setting build backend config_settings in the configuration file - by gaborbernat. (3090)
Set basepython for docs env in alignment to Read the Docs default by @jugmac00 in https://github.com/tox-dev/tox/pull/3097
Full Changelog: https://github.com/tox-dev/tox/compare/4.9.0...4.10.0
Change accepted environment name rule: must be made up of factors defined in configuration or match regex (pypy|py|cython|)((\d(.\d+(.\d+)?)?)|\d+)? . If an environment name does not match this fail, and if a close match found suggest that to the user. ( #3099 )
Disallow command line environments which are not explicitly specified in the config file by @tjsmart in https://github.com/tox-dev/tox/pull/3089
Full Changelog: https://github.com/tox-dev/tox/compare/4.8.0...4.9.0
Disallow command line environments which are not explicitly specified in the config file - by @tjsmart . ( #2858 )
Disallow command line environments which are not explicitly specified in the config file - by tjsmart. (2858)
Correct "notset" typo in --hashseed's --help text. by @lamby in https://github.com/tox-dev/tox/pull/3082
Full Changelog: https://github.com/tox-dev/tox/compare/4.7.0...4.8.0
--override can now take options in the form of foo+=bar which will append bar to the end of an existing list/dict, rather than replacing it. ( #3087 )
Fix doc alignment and link check by @gaborbernat in https://github.com/tox-dev/tox/pull/3059
Full Changelog: https://github.com/tox-dev/tox/compare/4.6.4...4.7.0
Make --hashseed default to PYTHONHASHSEED , if defined - by @paravoid . The main motivation for this is to able to set the hash seed when building the documentation with tox -e docs , and thus avoid embedding a random value in the tox documentation for –help. This caused documentation builds to fail to build reproducibly. ( #2942 )
Ensure tox r -e docs generates the documentation by @gaborbernat in https://github.com/tox-dev/tox/pull/3047
Full Changelog: https://github.com/tox-dev/tox/compare/4.6.3...4.6.4
Fix hang and zombie process on interrupt (CTRL-C). ( #3056 )
Made issue template have less whitespace by @jamesbraza in https://github.com/tox-dev/tox/pull/3038
set_env by @jamesbraza in https://github.com/tox-dev/tox/pull/3039get_requires* hook is called before prepare_metadata* by @abravalheri in https://github.com/tox-dev/tox/pull/3044Full Changelog: https://github.com/tox-dev/tox/compare/4.6.2...4.6.3
Ensure that get_requires_for_build_wheel is called before prepare_metadata_for_build_wheel , and get_requires_for_build_editable is called before prepare_metadata_for_build_editable - by @abravalheri . ( #3043 )
Avoid cache collision between wheel and editable wheel builds by @f3flight in https://github.com/tox-dev/tox/pull/3035
Full Changelog: https://github.com/tox-dev/tox/compare/4.6.1...4.6.2
Avoid cache collision between editable wheel build and normal wheel build – by @f3flight . ( #3035 )
No significant changes.
Avoid cache collision between editable wheel build and normal wheel build -- by f3flight. (3035)
No significant changes.
Update usedevelop doc by referring to PEP-660. by @tibortakacs in https://github.com/tox-dev/tox/pull/3025
usedevelop doc by referring to PEP-660. by @tibortakacs in https://github.com/tox-dev/tox/pull/3025Full Changelog: https://github.com/tox-dev/tox/compare/4.6.0...4.6.1
Remove unnecessary Future usage by @living180 in https://github.com/tox-dev/tox/pull/3020
Full Changelog: https://github.com/tox-dev/tox/compare/4.5.2...4.6.0
Added --list-dependencies and --no-list-dependencies CLI parameters. If unspecified, defaults to listing when in CI, but not otherwise. ( #3024 )
Your coding agent can read these notes before it upgrades. Set up the MCP server →