Build(deps-dev): bump virtualenv from 21.7.3 to 21.7.13
Bumps virtualenv from 21.7.3 to 21.7.13.
Release notes
Sourced from virtualenv's releases.
21.7.13
What's Changed
- 👷 ci: correct a stale checkout pin comment by
@gaborbernatin pypa/virtualenv#3254- 🔧 chore: drop misc as a changelog fragment type by
@gaborbernatin pypa/virtualenv#3255- 👷 ci: scope the nushell apt key to its own repo by
@gaborbernatin pypa/virtualenv#3253- 🐛 fix(activation): stop path command injection in bash and fish by
@gaborbernatin pypa/virtualenv#3252Full Changelog: https://github.com/pypa/virtualenv/compare/21.7.12...21.7.13
21.7.12
What's Changed
- 🔧 chore(changelog): drop dead CVE-2026-24049 fragment by
@gaborbernatin pypa/virtualenv#3249- 🐛 fix(activation): escape batch quote() against injection by
@gaborbernatin pypa/virtualenv#3250- 🐛 fix(seed): verify downloaded wheel digests by
@gaborbernatin pypa/virtualenv#3251Full Changelog: https://github.com/pypa/virtualenv/compare/21.7.11...21.7.12
21.7.11
What's Changed
- Add OpenSSF Scorecard workflow by
@gaborbernatin pypa/virtualenv#3238- Document AI-assisted contributions and licensing policy by
@gaborbernatin pypa/virtualenv#3239- 👷 ci(release): attest and sign release provenance by
@gaborbernatin pypa/virtualenv#3242- 👷 ci: harden Scorecard-scored checks in CI by
@gaborbernatin pypa/virtualenv#3241- 🐛 fix(ci): parallelize graalpy tests, recover crashed workers by
@gaborbernatin pypa/virtualenv#3240- 🐛 fix(ci): mark real-shell activation tests as slow by
@gaborbernatin pypa/virtualenv#3243- 👷 ci: run macOS jobs on macos-26 by
@gaborbernatin pypa/virtualenv#3244- 🐛 fix(activation): undo a live activation before activate.bat saves values by
@darrenhuaiin pypa/virtualenv#3245- 🐛 fix(create): keep pyvenv.cfg values on a single line by
@gaborbernatin pypa/virtualenv#3247- 🔧 chore(test): add opt-in Atheris fuzz harness by
@gaborbernatin pypa/virtualenv#3246- 📝 docs(readme): add OpenSSF Best Practices badge by
@gaborbernatin pypa/virtualenv#3248Full Changelog: https://github.com/pypa/virtualenv/compare/21.7.10...21.7.11
21.7.10
What's Changed
- 🔧 chore: check spelling with typos in pre-commit by
@even-evenin pypa/virtualenv#3235- 🐛 fix(activation): keep and restore the user's TCL_LIBRARY and TK_LIBRARY by
@darrenhuaiin pypa/virtualenv#3234- 🐛 fix(create): skip blank and comment lines in pyvenv.cfg by
@r3wretrhyin pypa/virtualenv#3232- 🐛 fix(activation): restore PKG_CONFIG_PATH that was not set before by
@darrenhuaiin pypa/virtualenv#3233
... (truncated)
Changelog
Sourced from virtualenv's changelog.
Bugfixes - 21.7.13
- Fix
activateandactivate.fishrunning commands embedded in the virtual environment path or in the interpreter's Tcl/Tk library paths. (:issue:3252)
v21.7.12 (2026-09-18)
Bugfixes - 21.7.12
- Fix
activate.batrunning arbitrary commands from a crafted--prompt,VIRTUALENV_PROMPT, or config file value. (:issue:3250)- Verify a downloaded seed wheel's sha256 against PyPI before seeding it into a virtual environment, skipped when a custom pip index is configured. (:issue:
3251)
v21.7.11 (2026-09-17)
Bugfixes - 21.7.11
- Running
activate.batagain beforedeactivateno longer makesdeactivateleave the environment'sPKG_CONFIG_PATH,TCL_LIBRARYandTK_LIBRARYbehind, or lose values the user had set before the first activation - by :user:darrenhuai. (:issue:3245)- Write
pyvenv.cfgvalues on a single line, so a prompt carrying a line boundary can no longer inject configuration.--prompt, theVIRTUALENV_PROMPTenvironment variable and the config file all set the prompt, andpyvenv.cfghas no escape syntax, so a newline, a carriage return, or any other boundarystr.splitlinesrecognizes, such asU+2028, started a new configuration line. Reading the file back picked up those lines as keys, and since the last value for a key wins, they replaced anything written earlier, includinghome. (:issue:3247)Improved Documentation - 21.7.11
- Document the policy for AI-assisted contributions and the licensing rules for dependencies. (:issue:
3239)Misc - 21.7.11
- :issue:
3238, :issue:3240, :issue:3241, :issue:3242, :issue:3243, :issue:3244, :issue:3246
v21.7.10 (2026-09-15)
Bugfixes - 21.7.10
... (truncated)
Commits
0c295ffrelease 21.7.134d5a105🐛 fix(activation): stop path command injection in bash and fish (#3252)0525dce👷 ci: scope the nushell apt key to its own repo (#3253)aa8323a🔧 chore: drop misc as a changelog fragment type (#3255)a435477👷 ci: correct a stale checkout pin comment (#3254)9666b42release 21.7.12a01ed3e🐛 fix(seed): verify downloaded wheel digests (#3251)d721ff1🐛 fix(activation): escape batch quote() against injection (#3250)087a2ef🔧 chore(changelog): drop dead CVE-2026-24049 fragment (#3249)73e352arelease 21.7.11- 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.
Summary by cubic
Updates virtualenv from 21.7.3 to 21.7.13 in poetry.lock. This includes fixes for command injection in bash, fish, and batch activation scripts, and adds SHA256 verification of downloaded seed wheels against PyPI. Regenerating the lockfile with Poetry 2.5.1 also updates python-discovery to 1.6.1 and adjusts the numpy markers, consolidating to a single numpy version.