NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #116 most downloaded on PyPI
Virtual Python Environment builder
Last release today
02 Oct 2026
Ships on a steady schedule
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
3 versions withdrawn
withdrawn after publishing
19 years old
301 releases · first in 2007
Fix backwards incompatible changes on PythonInfo by @gaborbernat in https://github.com/pypa/virtualenv/pull/2975
<!-- Release notes generated using configuration in .github/release.yml at 20.35.1 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.34.0...20.35.1
Patch get_interpreter to handle missing cache and app_data - by @esafak ( #2972 )
Fix backwards incompatible changes to PythonInfo - by @gaborbernat . ( #2975 )
One column per quarter.
Patch get_interpreter to handle missing cache and app_data - by esafak (2972)
Fix backwards incompatible changes to PythonInfo - by gaborbernat. (2975)
<!-- Release notes generated using configuration in .github/release.yml at 20.35.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.35.0 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.34.0...20.35.0
Add AppData and Cache protocols to discovery for decoupling - by @esafak . ( #2074 )
Ensure python3.exe and python3 on Windows for Python 3 - by @esafak . ( #2774 )
Add AppData and Cache protocols to discovery for decoupling - by esafak. (2074)
Ensure python3.exe and python3 on Windows for Python 3 - by esafak. (2774)
<!-- Release notes generated using configuration in .github/release.yml at 20.34.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.34.0 -->
FileCache from py_info by @esafak in https://github.com/pypa/virtualenv/pull/2947PATH takes precedence over uv-managed Pythons by @edgarrmondragon in https://github.com/pypa/virtualenv/pull/2952Full Changelog: https://github.com/pypa/virtualenv/compare/20.33.1...20.34.0
Abstract out caching in discovery - by @esafak . Decouple FileCache from py_info (discovery) - by @esafak . Remove references to py_info in FileCache - by @esafak . Decouple discovery from creator plugins
by @esafak . Decouple discovery by duplicating info utils - by @esafak . ( #2074 )
Add PyPy 3.11 support. Contributed by @esafak . ( #2932 )
Abstract out caching in discovery - by esafak. Decouple FileCache from py_info (discovery) - by esafak. Remove references to py_info in FileCache - by esafak. Decouple discovery from creator plugins - by esafak. Decouple discovery by duplicating info utils - by esafak. (2074)
Add PyPy 3.11 support. Contributed by esafak. (2932)
<!-- Release notes generated using configuration in .github/release.yml at 20.33.1 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.33.1 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.33.0...20.33.1
Correctly unpack _get_tcl_tk_libs() response in PythonInfo. Contributed by @esafak . ( #2930 )
Restore py_info.py timestamp in test_py_info_cache_invalidation_on_py_info_change Contributed by @esafak . ( #2933 )
Correctly unpack _get_tcl_tk_libs() response in PythonInfo. Contributed by esafak. (2930)
Restore py_info.py timestamp in test_py_info_cache_invalidation_on_py_info_change Contributed by esafak. (2933)
Fix nushell deprecation warnings by @gaborbernat in https://github.com/pypa/virtualenv/pull/2910
<!-- Release notes generated using configuration in .github/release.yml at 20.33.0 -->
@pytest.mark.flaky instead of @flaky.flaky by @mgorny in https://github.com/pypa/virtualenv/pull/2911--try-first-with was overriding an absolute --python path by @esafak in https://github.com/pypa/virtualenv/pull/2921Full Changelog: https://github.com/pypa/virtualenv/compare/20.32.0...20.33.0
Added support for Tcl and Tkinter. You’re welcome. Contributed by @esafak . ( #425 )
Added support for Tcl and Tkinter. You're welcome. Contributed by esafak. (425)
<!-- Release notes generated using configuration in .github/release.yml at 20.32.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.32.0 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.31.2...20.32.0
Warn on incorrect invocation of Nushell activation script - by @esafak . ( #nushell_activation )
Discover uv-managed Python installations ( #2901 )
Warn on incorrect invocation of Nushell activation script - by esafak. (nushell_activation)
Discover uv-managed Python installations (2901)
<!-- Release notes generated using configuration in .github/release.yml at 20.31.2 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.31.2 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.31.1...20.31.2
<!-- Release notes generated using configuration in .github/release.yml at 20.31.1 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.31.1 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.31.0...20.31.1
Upgrade embedded wheels:
pip to 25.1.1 from 25.1
setuptools to 80.3.1 from 78.1.0 ( #2880 )
<!-- Release notes generated using configuration in .github/release.yml at 20.31.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.31.0 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.30.0...20.31.0
No longer bundle wheel wheels (except on Python 3.8), setuptools includes native bdist_wheel support. Update pip to 25.1 . ( #2868 )
<!-- Release notes generated using configuration in .github/release.yml at 20.30.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.30.0 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.29.3...20.30.0
<!-- Release notes generated using configuration in .github/release.yml at 20.29.3 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.29.3 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.29.2...20.29.3
Ignore unreadable directories in PATH . ( #2794 )
<!-- Release notes generated using configuration in .github/release.yml at 20.29.2 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.29.2 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.29.1...20.29.2
Remove old virtualenv wheel from the source distribution - by @gaborbernat . ( #2841 )
Upgrade embedded wheel pip to 25.0.1 from 24.3.1 - by @gaborbernat . ( #2843 )
Remove old virtualenv wheel from the source distribution - by gaborbernat. (2841)
Upgrade embedded wheel pip to 25.0.1 from 24.3.1 - by gaborbernat. (2843)
<!-- Release notes generated using configuration in .github/release.yml at 20.29.1 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.29.1 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.29.0...20.29.1
Fix PyInfo cache incompatibility warnings - by @robsdedude . ( #2827 )
Fix PyInfo cache incompatibility warnings - by robsdedude. (2827)
<!-- Release notes generated using configuration in .github/release.yml at 20.29.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.29.0 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.28.1...20.29.0
Add support for selecting free-threaded Python interpreters, e.g., python3.13t . ( #2809 )
<!-- Release notes generated using configuration in .github/release.yml at 20.28.1 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.28.1 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.28.0...20.28.1
Skip tcsh tests on broken tcsh versions - by @gaborbernat . ( #2814 )
Skip tcsh tests on broken tcsh versions - by gaborbernat. (2814)
<!-- Release notes generated using configuration in .github/release.yml at 20.28.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.28.0 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.27.2...20.28.0
Write CACHEDIR.TAG file on creation - by “user: neilramsay . ( #2803 )
<!-- Release notes generated using configuration in .github/release.yml at 20.27.1 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.27.1 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.27.0...20.27.1
Upgrade embedded wheels:
pip to 24.3.1 from 24.2 ( #2789 )
<!-- Release notes generated using configuration in .github/release.yml at 20.27.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.27.0 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.26.5...20.27.0
Drop 3.7 support as the CI environments no longer allow it running - by @gaborbernat . ( #2758 )
Drop 3.7 support as the CI environments no longer allow it running - by gaborbernat. (2758)
<!-- Release notes generated using configuration in .github/release.yml at 20.26.6 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.26.6 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.26.5...20.26.6
Properly quote string placeholders in activation script templates to mitigate potential command injection - by @y5c4l3 . ( #2768 )
Properly quote string placeholders in activation script templates to mitigate potential command injection - by y5c4l3. (2768)
<!-- Release notes generated using configuration in .github/release.yml at 20.26.5 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.26.5 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.26.4...20.26.5
Upgrade embedded wheels: setuptools to 75.1.0 from 74.1.2 - by @gaborbernat . ( #2765 )
Upgrade embedded wheels: setuptools to 75.1.0 from 74.1.2 - by gaborbernat. (2765)
GitHub Actions: Replace deprecated macos-12 with macos-13 by @hugovk in https://github.com/pypa/virtualenv/pull/2756
<!-- Release notes generated using configuration in .github/release.yml at 20.26.4 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.26.3...20.26.4
no longer create () output in console during activation of a virtualenv by .bat file. ( #2728 )
Upgrade embedded wheels:
wheel to 0.44.0 from 0.43.0
pip to 24.2 from 24.1
setuptools to 74.1.2 from 70.1.0 ( #2760 )
<!-- Release notes generated using configuration in .github/release.yml at 20.26.3 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.26.3 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.26.2...20.26.3
Upgrade embedded wheels:
setuptools to 70.1.0 from 69.5.1
pip to 24.1 from 24.0 ( #2741 )
<!-- Release notes generated using configuration in .github/release.yml at 20.26.2 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.26.2 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.26.1...20.26.2
virtualenv.pyz no longer fails when zipapp path contains a symlink - by @HandSonic and @petamas . ( #1949 )
Fix bad return code from activate.sh if hashing is disabled - by :user:’fenkes-ibm’. ( #2717 )
virtualenv.pyz no longer fails when zipapp path contains a symlink - by HandSonic and petamas. (1949)
Fix bad return code from activate.sh if hashing is disabled - by :user:'fenkes-ibm'. (2717)
<!-- Release notes generated using configuration in .github/release.yml at 20.26.1 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.26.1 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.26.0...20.26.1
fix PATH-based Python discovery on Windows - by @ofek . ( #2712 )
fix PATH-based Python discovery on Windows - by ofek. (2712)
<!-- Release notes generated using configuration in .github/release.yml at 20.26.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.26.0 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.25.3...20.26.0
allow builtin discovery to discover specific interpreters (e.g. python3.12 ) given an unspecific spec (e.g. python3 ) - by @flying-sheep . ( #2709 )
allow builtin discovery to discover specific interpreters (e.g. python3.12) given an unspecific spec (e.g. python3) - by flying-sheep. (2709)
<!-- Release notes generated using configuration in .github/release.yml at 20.25.3 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.25.3 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.25.2...20.25.3
Python 3.13.0a6 renamed pathmod to parser. ( #2702 )
<!-- Release notes generated using configuration in .github/release.yml at 20.25.2 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.25.2 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.25.1...20.25.2
Upgrade embedded wheels:
setuptools of 69.1.0 to 69.5.1
wheel of 0.42.0 to 0.43.0 ( #2699 )
<!-- Release notes generated using configuration in .github/release.yml at 20.25.1 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.25.1 -->
_virtualenv by @hauntsaninja in https://github.com/pypa/virtualenv/pull/2688Full Changelog: https://github.com/pypa/virtualenv/compare/20.25.0...20.25.1
Upgrade embedded wheels:
setuptools to 69.0.3 from 69.0.2
pip to 23.3.2 from 23.3.1 ( #2681 )
Upgrade embedded wheels:
pip 23.3.2 to 24.0 ,
setuptools 69.0.3 to 69.1.0 . ( #2691 )
<!-- Release notes generated using configuration in .github/release.yml at 20.25.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.25.0 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.24.6...20.25.0
The tests now pass on the CI with Python 3.13.0a2 - by @hroncok . ( #2673 )
The tests now pass on the CI with Python 3.13.0a2 - by hroncok. (2673)
<!-- Release notes generated using configuration in .github/release.yml at 20.24.7 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.24.7 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.24.6...20.24.7
<!-- Release notes generated using configuration in .github/release.yml at 20.24.6 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.24.6 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.24.5...20.24.6
Use get_hookimpls method instead of the private attribute in tests. ( #2649 )
Upgrade embedded wheels:
setuptools to 68.2.2 from 68.2.0
pip to 23.3.1 from 23.2.1 ( #2656 )
<!-- Release notes generated using configuration in .github/release.yml at 20.24.5 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.24.5 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.24.4...20.24.5
Declare PyPy 3.10 support - by @cclauss . ( #2638 )
Brew on macOS no longer allows copy builds - disallow choosing this by @gaborbernat . ( #2640 )
Upgrade embedded wheels:
setuptools to 68.2.0 from 68.1.2 ( #2642 )
Declare PyPy 3.10 support - by cclauss. (2638)
Brew on macOS no longer allows copy builds - disallow choosing this by gaborbernat. (2640)
Upgrade embedded wheels:
setuptools to 68.2.0 from 68.1.2 (2642)
<!-- Release notes generated using configuration in .github/release.yml at 20.24.4 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.24.4 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.24.3...20.24.4
Upgrade embedded wheels:
setuptools to 68.1.2 from 68.1.0 on 3.8+
wheel to 0.41.2 from 0.41.1 on 3.7+ ( #2628 )
<!-- Release notes generated using configuration in .github/release.yml at 20.24.3 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.24.3 -->
tasks directory to sdist on build (#2610) by @sigma67 in https://github.com/pypa/virtualenv/pull/2620Full Changelog: https://github.com/pypa/virtualenv/compare/20.24.2...20.24.3
Fixed ResourceWarning on exit caused by periodic update subprocess ( #2472 )
Upgrade embedded wheels:
wheel to 0.41.1 from 0.41.0 ( #2622 )
<!-- Release notes generated using configuration in .github/release.yml at 20.24.2 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.24.2 -->
Full Changelog: https://github.com/pypa/virtualenv/compare/20.24.1...20.24.2
Upgrade embedded wheels:
pip to 23.2.1 from 23.2
wheel to 0.41.0 from 0.40.0 ( #2614 )
<!-- Release notes generated using configuration in .github/release.yml at 20.24.1 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.24.1 -->
pip by @arielkirkwood in https://github.com/pypa/virtualenv/pull/2611Full Changelog: https://github.com/pypa/virtualenv/compare/20.24.0...20.24.1
Upgrade embedded wheels:
pip to 23.2 from 23.1.2 - by @arielkirkwood ( #2611 )
Upgrade embedded wheels:
pip to 23.2 from 23.1.2 - by arielkirkwood (2611)
<!-- Release notes generated using configuration in .github/release.yml at 20.24.0 -->
<!-- Release notes generated using configuration in .github/release.yml at 20.24.0 -->
VIRTUAL_ENV_PROMPT in activation scripts (#2194) by @jimporter in https://github.com/pypa/virtualenv/pull/2606Full Changelog: https://github.com/pypa/virtualenv/compare/20.23.1...20.24.0
Export the prompt prefix as VIRTUAL_ENV_PROMPT when activating a virtual environment - by @jimporter . ( #2194 )
Export the prompt prefix as VIRTUAL_ENV_PROMPT when activating a virtual environment - by jimporter. (2194)
Fix deprecation warning by @jugmac00 in https://github.com/pypa/virtualenv/pull/2575
pytest-freezegun by @jugmac00 in https://github.com/pypa/virtualenv/pull/2576Full Changelog: https://github.com/pypa/virtualenv/compare/20.23.0...20.23.1
update and simplify nushell activation script, fixes an issue on Windows resulting in consecutive command not found - by @melMass . ( #2572 )
Upgrade embedded wheels:
setuptools to 67.8.0 from 67.7.2 ( #2588 )
release 20.22.0 by @gaborbernat in https://github.com/pypa/virtualenv/pull/2549
Full Changelog: https://github.com/pypa/virtualenv/compare/20.22.0...20.23.0
Do not install wheel and setuptools seed packages for Python 3.12+. To restore the old behavior use:
for wheel use VIRTUALENV_WHEEL=bundle environment variable or --wheel=bundle CLI flag,
for setuptools use VIRTUALENV_SETUPTOOLS=bundle environment variable or --setuptools=bundle CLI flag.
By @chrysle . ( #2487 )
3.12 support - by @gaborbernat . ( #2558 )
Do not install wheel and setuptools seed packages for Python 3.12+. To restore the old behavior use:
for wheel use VIRTUALENV_WHEEL=bundle environment variable or --wheel=bundle CLI flag,
for setuptools use VIRTUALENV_SETUPTOOLS=bundle environment variable or --setuptools=bundle CLI flag.
By chrysle. (2487)
3.12 support - by gaborbernat. (2558)
release 20.21.1 by @gaborbernat in https://github.com/pypa/virtualenv/pull/2547
Full Changelog: https://github.com/pypa/virtualenv/compare/20.21.1...20.22.0
Drop support for creating Python <=3.6 (including 2) interpreters. Removed pip of 20.3.4 , 21.3.1 ; wheel of 0.37.1 ; setuptools of 59.6.0 , 44.1.1 , 50.3.2 - by @gaborbernat . ( #2548 )
Bump pypa/gh-action-pypi-publish from 1.6.4 to 1.7.1 by @dependabot in https://github.com/pypa/virtualenv/pull/2521
Full Changelog: https://github.com/pypa/virtualenv/compare/20.21.0...20.21.1
Add tox.ini to sdist - by @mtelka . ( #2511 )
Move the use of ‘let’ in nushell to ensure compatibility with future releases of nushell, where ‘let’ no longer assumes that its initializer is a full expressions. ( #2527 )
The nushell command ‘str collect’ has been superseded by the ‘str join’ command. The activate.nu script has been updated to reflect this change. ( #2532 )
Upgrade embedded wheels:
wheel to 0.40.0 from 0.38.4
setuptools to 67.6.1 from 67.4.0
pip to 23.1 from 23.0.1 ( #2546 )
release 20.20.0 by @gaborbernat in https://github.com/pypa/virtualenv/pull/2510
ReentrantFileLock thread-safe and, thereby, fix race condition in virtualenv.cli_run by @radoering in https://github.com/pypa/virtualenv/pull/2517Full Changelog: https://github.com/pypa/virtualenv/compare/20.20.0...20.21.0
Make closure syntax explicitly starts with {||. ( #2512 )
release 20.19.0 by @gaborbernat in https://github.com/pypa/virtualenv/pull/2503
Full Changelog: https://github.com/pypa/virtualenv/compare/20.19.0...20.20.0
Change environment variable existence check in Nushell activation script to not use deprecated command. ( #2506 )
release 20.18.0 by @gaborbernat in https://github.com/pypa/virtualenv/pull/2497
Full Changelog: https://github.com/pypa/virtualenv/compare/20.18.0...20.19.0
Allow platformdirs version 3 - by @cdce8p . ( #2499 )
Allow platformdirs version 3 - by cdce8p. (2499)
release 20.17.1 by @gaborbernat in https://github.com/pypa/virtualenv/pull/2462
Full Changelog: https://github.com/pypa/virtualenv/compare/20.17.1...20.18.0
Drop 3.6 runtime support (can still create 2.7+ ) - by @gaborbernat . ( #2489 )
Drop 3.6 runtime support (can still create 2.7+) - by gaborbernat. (2489)
release 20.17.0 by @gaborbernat in https://github.com/pypa/virtualenv/pull/2452
VIRTUAL_ENV_DISABLE_PROMPT in nushell activation script by @m-lima in https://github.com/pypa/virtualenv/pull/2458Full Changelog: https://github.com/pypa/virtualenv/compare/20.17.0...20.17.1
A py or python spec means any Python rather than CPython - by @gaborbernat . ( #2460 )
Make activate.nu respect VIRTUAL_ENV_DISABLE_PROMPT and not set the prompt if requested - by @m-lima . ( #2461 )
A py or python spec means any Python rather than CPython - by gaborbernat. (#2460)
Make activate.nu respect VIRTUAL_ENV_DISABLE_PROMPT and not set the prompt if requested - by m-lima. (#2461)
Do not use deprecated API by @gaborbernat in https://github.com/pypa/virtualenv/pull/2448
Full Changelog: https://github.com/pypa/virtualenv/compare/20.16.7...20.17.0
Change Nushell activation script to be a module meant to be activated as an overlay. ( #2422 )
Update operator used in Nushell activation script to be compatible with future versions. ( #2450 )
release 20.16.6 by @gaborbernat in https://github.com/pypa/virtualenv/pull/2437
Full Changelog: https://github.com/pypa/virtualenv/compare/20.16.6...20.16.7
Use parent directory of python executable for pyvenv.cfg “home” value per PEP 405 - by @vfazio . ( #2440 )
In POSIX virtual environments, try alternate binary names if sys._base_executable does not exist - by @vfazio . ( #2442 )
Upgrade embedded wheel to 0.38.4 and pip to 22.3.1 from 22.3 and setuptools to 65.5.1 from 65.5.0 - by @gaborbernat . ( #2443 )
Use parent directory of python executable for pyvenv.cfg "home" value per PEP 405 - by vfazio. (#2440)
In POSIX virtual environments, try alternate binary names if sys._base_executable does not exist - by vfazio. (#2442)
Upgrade embedded wheel to 0.38.4 and pip to 22.3.1 from 22.3 and setuptools to 65.5.1 from 65.5.0 - by gaborbernat. (#2443)
release 20.16.5 by @gaborbernat in https://github.com/pypa/virtualenv/pull/2413
find_compatible_in_house by @schaap in https://github.com/pypa/virtualenv/pull/2430Full Changelog: https://github.com/pypa/virtualenv/compare/20.16.5...20.16.6
Drop unneeded shims for PyPy3 directory structure ( #2426 )
release 20.16.4 by @gaborbernat in https://github.com/pypa/virtualenv/pull/2407
Full Changelog: https://github.com/pypa/virtualenv/compare/20.16.4...20.16.5
Do not turn echo off for subsequent commands in batch activators ( activate.bat and deactivate.bat ) - by @pawelszramowski . ( #2411 )
Do not turn echo off for subsequent commands in batch activators (activate.bat and deactivate.bat) - by pawelszramowski. (#2411)
release 20.16.3 by @gaborbernat in https://github.com/pypa/virtualenv/pull/2396
Full Changelog: https://github.com/pypa/virtualenv/compare/20.16.3...20.16.4
Bump embed setuptools to 65.3 - by @gaborbernat . ( #2405 )
Bump embed setuptools to 65.3 - by gaborbernat. (#2405)
release 20.16.2 by @gaborbernat in https://github.com/pypa/virtualenv/pull/2392
Full Changelog: https://github.com/pypa/virtualenv/compare/20.16.2...20.16.3
Upgrade embedded pip to 22.2.2 from 22.2.1 and setuptools to 63.4.1 from 63.2.0 - by @gaborbernat . ( #2395 )
Upgrade embedded pip to 22.2.2 from 22.2.1 and setuptools to 63.4.1 from 63.2.0 - by gaborbernat. (#2395)
release 20.16.1 by @gaborbernat in https://github.com/pypa/virtualenv/pull/2390
Full Changelog: https://github.com/pypa/virtualenv/compare/20.16.1...20.16.2
Bump embedded pip from 22.2 to 22.2.1 - by @gaborbernat . ( #2391 )
Bump embedded pip from 22.2 to 22.2.1 - by gaborbernat. (#2391)
release 20.16.0 by @gaborbernat in https://github.com/pypa/virtualenv/pull/2384
Full Changelog: https://github.com/pypa/virtualenv/compare/20.16.0...20.16.1
Update Nushell activation scripts to version 0.67 - by @kubouch . ( #2386 )
Update Nushell activation scripts to version 0.67 - by kubouch. (#2386)
release 20.15.1 by @gaborbernat in https://github.com/pypa/virtualenv/pull/2370
site after rewrite by @YouJiacheng in https://github.com/pypa/virtualenv/pull/2379Full Changelog: https://github.com/pypa/virtualenv/compare/20.15.1...20.16.0
Drop support for running under Python 2 (still can generate Python 2 environments) - by @gaborbernat . ( #2382 )
Upgrade embedded pip to 22.2 from 22.1.2 and setuptools to 63.2.0 from 62.6.0 - by @gaborbernat . ( #2383 )
Drop support for running under Python 2 (still can generate Python 2 environments) - by gaborbernat. (#2382)
Upgrade embedded pip to 22.2 from 22.1.2 and setuptools to 63.2.0 from 62.6.0 - by gaborbernat. (#2383)
- Fix the incorrect operation when setuptools plugins output something into stdout .
Fix the incorrect operation when setuptools plugins output something into stdout . ( #2335 )
CPython3Windows creator ignores missing DLLs dir. ( #2368 )
release 20.14.1 by @gaborbernat in https://github.com/pypa/virtualenv/pull/2331
Full Changelog: https://github.com/pypa/virtualenv/compare/20.14.1...20.15.0
Support for Windows embeddable Python package: includes python<VERSION>.zip in the creator sources - by @reksarka . ( #1774 )
Support for Windows embeddable Python package: includes python<VERSION>.zip in the creator sources - by reksarka. (#1774)
- Support for creating a virtual environment from a Python 2.7 framework on macOS 12 - by @nickhutchinson .
Support for creating a virtual environment from a Python 2.7 framework on macOS 12 - by @nickhutchinson . ( #2284 )
Support for creating a virtual environment from a Python 2.7 framework on macOS 12 - by nickhutchinson. (#2284)
- Support Nushell activation scripts with nu version 0.60 - by @kubouch .
Support Nushell activation scripts with nu version 0.60 - by @kubouch . ( #2321 )
Support Nushell activation scripts with nu version 0.60 - by kubouch. (#2321)
- Improve performance of python startup inside created virtualenvs - by @asottile .
Improve performance of python startup inside created virtualenvs - by @asottile . ( #2317 )
Upgrade embedded setuptools to 60.10.0 from 60.9.3 - by @gaborbernat . ( #2320 )
Improve performance of python startup inside created virtualenvs - by asottile. (#2317)
Upgrade embedded setuptools to 60.10.0 from 60.9.3 - by gaborbernat. (#2320)
Your coding agent can read these notes before it upgrades. Set up the MCP server →