Repository navigation
build(deps): bump virtualenv from 21.7.13 to 21.14.9 - #474
Closed
dependabot[bot] wants to merge 1 commit into
Closed
dependabot[bot] wants to merge 1 commit into
dependabot[bot] wants to merge 1 commit into
Conversation
Bumps [virtualenv](https://github.com/pypa/virtualenv) from 21.7.13 to 21.14.9. - [Release notes](https://github.com/pypa/virtualenv/releases) - [Changelog](https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst) - [Commits](pypa/virtualenv@21.7.13...21.14.9) --- updated-dependencies: - dependency-name: virtualenv dependency-version: 21.14.9 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
This was referenced Oct 25, 2026
hellices
added a commit
that referenced
this pull request
Oct 25, 2026
virtualenv 21.14.9, the version Dependabot proposed in #474, introduced GHSA-cx6f-vjhg-g3cc / CVE-2026-115586 (high): the Bash activator leaves the --prompt value unescaped in PS1 when promptvars is off, so prompt expansion later executes it. The advisory was published on 2026-10-23, after #474 passed its checks, and this branch's dependency-review check failed on it. It is fixed in 21.14.13, which still allows filelock<5 and needs packaging>=26.3, both already locked here. These are the bytes the Relock workflow produced and verified on this branch: run 40158406513, package=virtualenv, base cd253a2. Its relock job resolved on a runner with direct PyPI access, confirmed every url, registry and index names PyPI, and ran uv sync --locked, ruff, the format check, mypy, tach and the test suite (13,753 passed). Its propose job hit #481 again, so the relocked-lock artifact was committed by hand after matching its SHA-256 to the digest the relock job recorded (1de17a61...95da) and re-checking it with main's scripts/check_lock_hosts.py. Only the virtualenv block changes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
hellices
added a commit
that referenced
this pull request
Oct 25, 2026
…ecurity bumps (#482) * test: drop the relay child-watcher race from stdio stderr checks test_stdout_noise_is_diverted_and_wire_is_restored[True] failed on 3.12 because the stdio server's stderr carried "child process pid 3098 exit status already read: will report returncode 255" (#472). relay=True forces the Windows-only relays onto POSIX. When the stdin relay exits on its own as the test closes stdin, and _relay_stdin's cleanup runs before the event loop has processed that exit, process.kill() goes through Popen.send_signal, which polls first (bpo-38630). That waitpid reaps the relay, and asyncio's child watcher then finds it gone, reports 255 and logs the warning. On Windows, where the relays run in production, nothing reaps. The three forced-relay tests that compare the server's stderr exactly now read it through _server_stderr, which drops whole lines matching either watcher's warning (pidfd: "exit status already read", threaded: "Unknown child process pid") and keeps everything else. Two tests pin both directions: both warnings are dropped with the surrounding lines intact, and a line that only contains one is kept. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test: emit the relay watcher race in every forced-relay run The race is rare on its own, so the first fix only covered the three exact stderr checks it was seen against. Under four xdist workers on korvid-runners it hit a fourth on 3.12, twice: test_stdio_delivers_large_utf8_output_without_truncation[True] expected an empty stderr log and got "child process pid ... exit status already read: will report returncode 255". The forced-relay entrypoint now logs that exact asyncio warning at startup, so every relay=True test that reads the server's stderr has to filter it on every run instead of passing on a lucky one. With the line emitted, exactly that test failed; it now reads its stderr log through _server_stderr, which accepts text as well as bytes, and test_stdio.py passes in full. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: drop agent events that arrive while the app shuts down Textual's App._shutdown clears _running, removes every screen and widget, and only then sends the App its Unmount, which is where KorvidApp marks the agent session down. A turn the user interrupted just before quitting can settle in between. _finish_interrupted_turn then still sees _shutting_down as False and hands its TurnInterrupted to the panel port, which looks the panel up on a pruned screen. The resulting NoMatches fails the turn task and escapes app shutdown through wait_for_turn (#476). On #471's CI it surfaced as "No nodes match '#agent-status' on AgentPanel()". AppAgentPanel.apply_event, the one place agent events reach the panel, now drops an event once the app is no longer running. The new test reproduces the ordering deterministically: the interrupted turn's cleanup waits for the panel's Unmount, so it settles after Textual pruned the panel and before the App's Unmount. Without the guard it fails with NoMatches every run. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test: wait for an approval dialog to compose before reading it The operation-journey driver read `.confirm-title` as soon as app.screen was a ConfirmScreen. Textual makes a pushed screen current before it composes the screen's widgets, so on a loaded runner the poll landed in between and the read raised "No nodes match '.confirm-title' on ConfirmScreen()". That failed two journeys on main's 3.11 (#478); the second NoMatches in that log came from the journey tearing down after the first. handle() now first waits, through _await_dialog_composed, until the current dialog has its title or is no longer current; a dialog that closes first falls through to the existing closed-before-a-decision path. The new test delays ConfirmScreen's compose by 0.3 seconds and still expects one matched dialog_observed and no hard failures; without the wait it fails every run with CI's exact pair of errors. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * build(deps-dev): bump gitpython from 3.1.62 to 3.2.1 Bumps [gitpython](https://github.com/gitpython-developers/GitPython) from 3.1.62 to 3.2.1. - [Release notes](https://github.com/gitpython-developers/GitPython/releases) - [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/doc/source/changes.rst) - [Commits](gitpython-developers/GitPython@3.1.62...3.2.1) --- updated-dependencies: - dependency-name: gitpython dependency-version: 3.2.1 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> (cherry picked from commit 3861683) * build(deps): bump virtualenv from 21.7.13 to 21.14.9 Bumps [virtualenv](https://github.com/pypa/virtualenv) from 21.7.13 to 21.14.9. - [Release notes](https://github.com/pypa/virtualenv/releases) - [Changelog](https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst) - [Commits](pypa/virtualenv@21.7.13...21.14.9) --- updated-dependencies: - dependency-name: virtualenv dependency-version: 21.14.9 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> (cherry picked from commit 5e10f14) * build: relock filelock Since 2026-10-23 pip-audit fails every branch on filelock 3.32.0: GHSA-v4x8-3wr5-3wq8 (high), GHSA-9vhv-jxww-xfm5 and GHSA-567q-5qvw-pf92, all fixed in 4.2.1 (#480). The locked virtualenv 21.7.13 required filelock<4; the virtualenv 21.14.9 bump in this branch allows <5, so filelock can now move to 4.2.4. These are the bytes the Relock workflow produced and verified on this branch: run 40155755520, package=filelock, base 293d7a8. Its relock job resolved the lock on a runner with direct PyPI access, confirmed every url, registry and index names PyPI, and ran uv sync --locked, ruff, the format check, mypy, tach and the test suite (13,753 passed). Its propose job then could not open a branch, because the base's uv.lock differs from main's (#481), so the relocked-lock artifact was committed by hand after matching its SHA-256 to the digest the relock job recorded before any resolved code ran (493ce1c4...4f96) and re-checking it with main's scripts/check_lock_hosts.py. uv 0.10.9, which the workflow pins, writes lock revision 3 and keeps the httpcore2 and secretstorage markers, so this also returns those lines to main's form: the branch's net lock change is the four version bumps. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * build: relock virtualenv virtualenv 21.14.9, the version Dependabot proposed in #474, introduced GHSA-cx6f-vjhg-g3cc / CVE-2026-115586 (high): the Bash activator leaves the --prompt value unescaped in PS1 when promptvars is off, so prompt expansion later executes it. The advisory was published on 2026-10-23, after #474 passed its checks, and this branch's dependency-review check failed on it. It is fixed in 21.14.13, which still allows filelock<5 and needs packaging>=26.3, both already locked here. These are the bytes the Relock workflow produced and verified on this branch: run 40158406513, package=virtualenv, base cd253a2. Its relock job resolved on a runner with direct PyPI access, confirmed every url, registry and index names PyPI, and ran uv sync --locked, ruff, the format check, mypy, tach and the test suite (13,753 passed). Its propose job hit #481 again, so the relocked-lock artifact was committed by hand after matching its SHA-256 to the digest the relock job recorded (1de17a61...95da) and re-checking it with main's scripts/check_lock_hosts.py. Only the virtualenv block changes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Contributor
Author
|
Looks like virtualenv is up-to-date now, so this is no longer needed. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps virtualenv from 21.7.13 to 21.14.9.
Release notes
Sourced from virtualenv's releases.
... (truncated)
Changelog
Sourced from virtualenv's changelog.
... (truncated)
Commits
e53e30brelease 21.14.92519941🐛 fix(seed): preserve interpreter paths in console scripts (#3417)70a0102🐛 fix(seed): preserve shared cache when reseeding with pip (#3423)554d9f9🐛 fix(create): replace linked output directories (#3429)7babec6🐛 fix(seed): verify wheels before caching (#3430)2dc8bd8🐛 fix(subprocess): omit implicit helper import paths (#3416)d25f286🐛 fix(create): replace generated file links (#3431)e3cea6f🐛 fix(seed): contain metadata cleanup (#3428)2bfdc02🐛 fix(path): preserve link targets on delete errors (#3427)6196d35🐛 fix(seed): retain the parent installation for updates (#3420)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.