GitHub
03/05/2026, 3:52 PM21.0.0
What's Changed
• ♻️ refactor(discovery): extract py_discovery as self-contained package by `@gaborbernat` in pypa/virtualenv#3070
• 📝 docs(changelog): add removal entry for python-discovery extraction by `@gaborbernat` in pypa/virtualenv#3074
Full Changelog: pypa/virtualenv@20.39.1...21.0.0
20.39.1
What's Changed
• Align dependency versions across projects by `@gaborbernat` in pypa/virtualenv#3069
• ✨ feat(create): add RustPython support by `@gaborbernat` in pypa/virtualenv#3071
• 🐛 fix(create): add pythonw3.exe to Windows venvs by `@gaborbernat` in pypa/virtualenv#3073
Full Changelog: pypa/virtualenv@20.39.0...20.39.1Changelog Sourced from virtualenv's changelog.
Deprecations and Removals - 21.0.0
• The Python discovery logic has been extracted into a standalonepackage on PyPI (`documentation https://python-discovery.readthedocs.io/`_) and is now consumed as a dependency. If you previously imported discovery internals directly (e.g.python-discovery), switch tofrom virtualenv.discovery.py_info import PythonInfo. Backward-compatibility re-export shims are provided at`virtualenv.discovery.py_info`,from python_discovery import PythonInfo, andvirtualenv.discovery.py_spec, however these are considered unsupported and may be removed in a future release - by user`gaborbernat`. (issue`3070`)virtualenv.discovery.cached_py_info
---
v20.39.1 (2026-02-25)
---
Features - 20.39.1
• Add support for creating virtual environments with RustPython - by user`elmjag`. (issue`3010`)
---
v20.39.0 (2026-02-23)
---Commits • `7687420` release 21.0.0 • `8ec3142` 📝 docs(changelog): add removal entry for python-discovery extraction (#3074) • `f89d46c` ♻️ refactor(discovery): extract py_discovery as self-contained package (#3070) • `0272c72` release 20.39.1 • `b1ca37f` 🐛 fix(create): add pythonw3.exe to Windows venvs (#3073) • `1d4a338` ✨ feat(create): add RustPython support (#3071) • `a10c5d4` Align dependency versions across projects (#3069) • `22a8860` [pre-commit.ci] pre-commit autoupdate (#3068) • See full diff in compare view Dependabot compatibility score 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 rebase will rebase this PR
• @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
• @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
• @dependabot ignore this major version will 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 version will 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 dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
meltano/meltanoGitHub
03/05/2026, 5:46 PM