Native REPL should use interpreter from env extension#1878
Closed
anthonykim1 wants to merge 476 commits intoDonJayamanne:mainfrom
Closed
Native REPL should use interpreter from env extension#1878anthonykim1 wants to merge 476 commits intoDonJayamanne:mainfrom
anthonykim1 wants to merge 476 commits intoDonJayamanne:mainfrom
Conversation
The script isn't working and seems to not be worth the effort
mistakenly committed and needs to be removed
Closes #24627 --------- Co-authored-by: Eleanor Boyd <eleanorboyd@microsoft.com>
update 2025 release schedule
Add telemetry for the computable pth experiment
Resolves: #24270 Perhaps further improve via #24270 (comment) ?
Resolves: #24738 See explanation there.
…24765) Resolves: #24674 (comment) Use sendText to send Python code to Terminal REPL for Python >= 3.13 to prevent keyboard interrupt. Relevant file context from VS Code: https://github.com/microsoft/vscode/blob/f9c927cf7a29a59b896b6cdac2d8b5d2d43afea5/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts#L906 It seems like we are on this edge scenario where generic terminal shell integration is enabled (so executeCommand can be used), but we have temporarily disabled Python shell integration for Python >= 3.13 (and of course sending the relevant escape sequences such as the commandLine itself to VS Code). Why? * python/cpython#126131 placing user's mouse cursor position at odd place. Why and where I think the keyboard interrupt is happening: Python extension tries to executeCommand when sending commands to terminal REPL >= Python3.13, where we are not sending shell integration escape sequences from the Python side. * I think this is why it is attaching the keyboard interrupt all the sudden, because VS Code see that Python extension is requesting executeCommand but is not sending the commandLine escape sequence to them. For every other versions < 3.13 (where we send all the shell integration escape sequences including the commandLine), this does not happen.
See microsoft/vscode-jupyter#15987 Should also fix microsoft/vscode-jupyter#16112 Should also avoid Pylance having to monitor notebook changes and then trying to figure out the Environment for a Notebook. previous discussion here #24358
Resolves: #22469 Need one more extra line to "execute" on behalf of user when returning dictionary.
Aligning more with command palette option we have: `Python: Start Native Python REPL` and taking feedback from #24443 (reply in thread)
will help provide clarity for #24585
…24807) Attempt at fixing #24585 There are many edge scenarious where refering to the name of the environment rather than the path can cause breaks in the extension. Some examples 1 -**If we have two anonymous environments with the same name in different folders** /path1/my-env /path2/my-env (where my active vscode python interpreter is) by using conda -n my-env it'll always use the first env. 2 - **Some times people avoid actually activating their conda envs when using conda-pack** https://github.com/conda/conda-pack This is because the activation scripts are known to be flaky and not very reliable 3 - **The environment may have been created by a conda-compliant replacement** Therefore conda itself is not aware of it by name but can work with it properly using the path. This is the case of [hawk](https://community.palantir.com/t/introducing-hawk-for-python-package-management-in-code-repositories/500) or frankly anyone building their own conda package manager on top of [rattler](https://github.com/conda/rattler). Some of these points are also hinted at #24627 (comment) , and supported by a conda maintainer in #24585 (comment) This PR has a minimal attempt at changing that by always forcing -p usage
Closes #24817 ## What this change does Introduce `autoTestDiscoverOnSavePattern` configuration option to control `autoTestDiscoverOnSaveEnabled` behavior to only attempt test discovery refresh when files matching the specified glob pattern are saved. ## Why this change In a Python project we have with over 40K tests, developers definitely notice issues when pytest discovery is running whenever any file in the workspace is saved, despite all tests matching a very consistent pattern (`./tests/**/test_*.py`). ## Other alternatives I considered I did consider trying to match only the specific patterns used by unittest/pytest here. Given that would require parsing underlying configuration files / raw args in the test configuration for the workspace for both unittest and pytest (plus any other test runners supported in future) - I don't think that's going to be easy to maintain. Plus the addition / deletion of `__init__.py` files play a significant part in test discovery despite not being covered by the test configuration pattern - so this solution would be incomplete. Another alternative would be to accept a parent directory and only include python files from that directory + subdirectories (using workspace directory as default value). This avoids introducing a glob configuration value, but feels very limiting. --------- Co-authored-by: Eleanor Boyd <26030610+eleanorjboyd@users.noreply.github.com>
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.6.0 to 6.6.1. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/indutny/elliptic/commit/9b77436a59cc35eccf4ffb848259c8762a492ee7"><code>9b77436</code></a> 6.6.1</li> <li><a href="https://github.com/indutny/elliptic/commit/04cb6f54ce552b3ebde6be06d6050419e1c7333e"><code>04cb6f5</code></a> Merge commit from fork</li> <li>See full diff in <a href="https://github.com/indutny/elliptic/compare/v6.6.0...v6.6.1">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/microsoft/vscode-python/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [serialize-javascript](https://github.com/yahoo/serialize-javascript) to 6.0.2 and updates ancestor dependency [mocha](https://github.com/mochajs/mocha). These dependencies need to be updated together. Updates `serialize-javascript` from 6.0.0 to 6.0.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/yahoo/serialize-javascript/releases">serialize-javascript's releases</a>.</em></p> <blockquote> <h2>v6.0.2</h2> <ul> <li>fix: serialize URL string contents to prevent XSS (<a href="https://redirect.github.com/yahoo/serialize-javascript/issues/173">#173</a>) f27d65d</li> <li>Bump <code>@babel/traverse</code> from 7.10.1 to 7.23.7 (<a href="https://redirect.github.com/yahoo/serialize-javascript/issues/171">#171</a>) 02499c0</li> <li>docs: update readme with URL support (<a href="https://redirect.github.com/yahoo/serialize-javascript/issues/146">#146</a>) 0d88527</li> <li>chore: update node version and lock file e2a3a91</li> <li>fix typo (<a href="https://redirect.github.com/yahoo/serialize-javascript/issues/164">#164</a>) 5a1fa64</li> </ul> <p><a href="https://github.com/yahoo/serialize-javascript/compare/v6.0.1...v6.0.2">https://github.com/yahoo/serialize-javascript/compare/v6.0.1...v6.0.2</a></p> <h2>v6.0.1</h2> <h2>What's Changed</h2> <ul> <li>Bump mocha from 9.0.1 to 9.0.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/126">yahoo/serialize-javascript#126</a></li> <li>Bump mocha from 9.0.2 to 9.0.3 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/127">yahoo/serialize-javascript#127</a></li> <li>Bump path-parse from 1.0.6 to 1.0.7 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/129">yahoo/serialize-javascript#129</a></li> <li>Bump mocha from 9.0.3 to 9.1.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/130">yahoo/serialize-javascript#130</a></li> <li>Bump mocha from 9.1.0 to 9.1.1 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/131">yahoo/serialize-javascript#131</a></li> <li>Bump mocha from 9.1.1 to 9.1.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/132">yahoo/serialize-javascript#132</a></li> <li>Bump mocha from 9.1.2 to 9.1.3 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/133">yahoo/serialize-javascript#133</a></li> <li>Bump mocha from 9.1.3 to 9.1.4 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/137">yahoo/serialize-javascript#137</a></li> <li>Bump mocha from 9.1.4 to 9.2.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/138">yahoo/serialize-javascript#138</a></li> <li>Bump chai from 4.3.4 to 4.3.6 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/140">yahoo/serialize-javascript#140</a></li> <li>Bump ansi-regex from 5.0.0 to 5.0.1 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/141">yahoo/serialize-javascript#141</a></li> <li>Bump mocha from 9.2.0 to 9.2.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/143">yahoo/serialize-javascript#143</a></li> <li>Bump minimist from 1.2.5 to 1.2.6 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/144">yahoo/serialize-javascript#144</a></li> <li>Bump mocha from 9.2.2 to 10.0.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/145">yahoo/serialize-javascript#145</a></li> <li>Bump mocha from 10.0.0 to 10.1.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/149">yahoo/serialize-javascript#149</a></li> <li>Bump chai from 4.3.6 to 4.3.7 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/150">yahoo/serialize-javascript#150</a></li> <li>ci: test.yml - actions bump by <a href="https://github.com/piwysocki"><code>@piwysocki</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/151">yahoo/serialize-javascript#151</a></li> <li>Bump minimatch from 3.0.4 to 3.1.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/152">yahoo/serialize-javascript#152</a></li> <li>Bump mocha from 10.1.0 to 10.2.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/153">yahoo/serialize-javascript#153</a></li> <li>Bump json5 from 2.1.3 to 2.2.3 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/155">yahoo/serialize-javascript#155</a></li> <li>Fix serialization issue for 0n. by <a href="https://github.com/momocow"><code>@momocow</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/156">yahoo/serialize-javascript#156</a></li> <li>Release v6.0.1 by <a href="https://github.com/okuryu"><code>@okuryu</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/157">yahoo/serialize-javascript#157</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/piwysocki"><code>@piwysocki</code></a> made their first contribution in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/151">yahoo/serialize-javascript#151</a></li> <li><a href="https://github.com/momocow"><code>@momocow</code></a> made their first contribution in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/156">yahoo/serialize-javascript#156</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/yahoo/serialize-javascript/compare/v6.0.0...v6.0.1">https://github.com/yahoo/serialize-javascript/compare/v6.0.0...v6.0.1</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/yahoo/serialize-javascript/commit/b71ec23841d7cf30847d3071d9da38ee0b397fc8"><code>b71ec23</code></a> 6.0.2</li> <li><a href="https://github.com/yahoo/serialize-javascript/commit/f27d65d3de42affe2aac14607066c293891cec4e"><code>f27d65d</code></a> fix: serialize URL string contents to prevent XSS (<a href="https://redirect.github.com/yahoo/serialize-javascript/issues/173">#173</a>)</li> <li><a href="https://github.com/yahoo/serialize-javascript/commit/02499c0adfb40f48e1ebdcbe6fffc83b162b95e9"><code>02499c0</code></a> Bump <code>@babel/traverse</code> from 7.10.1 to 7.23.7 (<a href="https://redirect.github.com/yahoo/serialize-javascript/issues/171">#171</a>)</li> <li><a href="https://github.com/yahoo/serialize-javascript/commit/0d885272f45069b1207189ae18a6f2726b4abaa9"><code>0d88527</code></a> docs: update readme with URL support (<a href="https://redirect.github.com/yahoo/serialize-javascript/issues/146">#146</a>)</li> <li><a href="https://github.com/yahoo/serialize-javascript/commit/e2a3a9173e6770ee92e02d95d6a8e7958dfb419d"><code>e2a3a91</code></a> chore: update node version and lock file</li> <li><a href="https://github.com/yahoo/serialize-javascript/commit/5a1fa646d9cbbe0b4f13c07f01c249fb2493e20f"><code>5a1fa64</code></a> fix typo (<a href="https://redirect.github.com/yahoo/serialize-javascript/issues/164">#164</a>)</li> <li><a href="https://github.com/yahoo/serialize-javascript/commit/7139f9251b4cad52136513cf3360869e1e645d6c"><code>7139f92</code></a> Release v6.0.1 (<a href="https://redirect.github.com/yahoo/serialize-javascript/issues/157">#157</a>)</li> <li><a href="https://github.com/yahoo/serialize-javascript/commit/7e23ae89e4b65ebf8836fcbaab637d49fb32ecb2"><code>7e23ae8</code></a> Fix serialization issue for 0n. (<a href="https://redirect.github.com/yahoo/serialize-javascript/issues/156">#156</a>)</li> <li><a href="https://github.com/yahoo/serialize-javascript/commit/343abd98ff0a3f88f61fca35100762fdd6cb1963"><code>343abd9</code></a> Bump json5 from 2.1.3 to 2.2.3 (<a href="https://redirect.github.com/yahoo/serialize-javascript/issues/155">#155</a>)</li> <li><a href="https://github.com/yahoo/serialize-javascript/commit/38d0e70e2d82662b2ec4fa2f7f3e1289db745db1"><code>38d0e70</code></a> Bump mocha from 10.1.0 to 10.2.0 (<a href="https://redirect.github.com/yahoo/serialize-javascript/issues/153">#153</a>)</li> <li>Additional commits viewable in <a href="https://github.com/yahoo/serialize-javascript/compare/v6.0.0...v6.0.2">compare view</a></li> </ul> </details> <br /> Updates `mocha` from 9.2.2 to 11.1.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/mochajs/mocha/releases">mocha's releases</a>.</em></p> <blockquote> <h2>v11.1.0</h2> <h2><a href="https://github.com/mochajs/mocha/compare/v11.0.2...v11.1.0">11.1.0</a> (2025-01-02)</h2> <h3>🌟 Features</h3> <ul> <li>bump yargs to 17 (<a href="https://redirect.github.com/mochajs/mocha/issues/5165">#5165</a>) (<a href="https://github.com/mochajs/mocha/commit/8f1c8d888b0104afcd95ca55a517320399755749">8f1c8d8</a>)</li> </ul> <h2>v11.0.2</h2> <h2><a href="https://github.com/mochajs/mocha/compare/v11.0.1...v11.0.2">11.0.2</a> (2024-12-09)</h2> <h3>🩹 Fixes</h3> <ul> <li>catch exceptions setting Error.stackTraceLimit (<a href="https://redirect.github.com/mochajs/mocha/issues/5254">#5254</a>) (<a href="https://github.com/mochajs/mocha/commit/259f8f8ba5709b5d84fa66e17cd10560a11f45c9">259f8f8</a>)</li> <li>error handling for unexpected numeric arguments passed to cli (<a href="https://redirect.github.com/mochajs/mocha/issues/5263">#5263</a>) (<a href="https://github.com/mochajs/mocha/commit/210d658678a2ec3b6f85c59d4b300b4722671099">210d658</a>)</li> </ul> <h3>📚 Documentation</h3> <ul> <li>correct outdated <code>status: accepting prs</code> link (<a href="https://redirect.github.com/mochajs/mocha/issues/5268">#5268</a>) (<a href="https://github.com/mochajs/mocha/commit/f729cd09b61bb598409f19b3c76b9e9536812237">f729cd0</a>)</li> <li>replace "New in" with "Since" in version annotations (<a href="https://redirect.github.com/mochajs/mocha/issues/5262">#5262</a>) (<a href="https://github.com/mochajs/mocha/commit/6f10d12c6c6dfa4df7d5221a3ce688f687aaf320">6f10d12</a>)</li> </ul> <h2>v11.0.1</h2> <h2><a href="https://github.com/mochajs/mocha/compare/v11.0.0...v11.0.1">11.0.1</a> (2024-12-02)</h2> <h3>🌟 Features</h3> <ul> <li>bumped glob dependency from 8 to 10 (<a href="https://redirect.github.com/mochajs/mocha/issues/5250">#5250</a>) (<a href="https://github.com/mochajs/mocha/commit/43c3157c6ef4f2d4bfecf3ad3a42479fd64187b8">43c3157</a>)</li> </ul> <h3>📚 Documentation</h3> <ul> <li>fix examples for <code>linkPartialObjects</code> methods (<a href="https://redirect.github.com/mochajs/mocha/issues/5255">#5255</a>) (<a href="https://github.com/mochajs/mocha/commit/34e0e52e047a9119aeae9cb5b660a8438656a1e0">34e0e52</a>)</li> </ul> <h2>v11.0.0 Prerelease</h2> <h2><a href="https://github.com/mochajs/mocha/compare/v10.8.2...v11.0.0">11.0.0</a> (2024-11-11)</h2> <h3>⚠ BREAKING CHANGES</h3> <ul> <li>adapt new engine range for Mocha 11 (<a href="https://redirect.github.com/mochajs/mocha/issues/5216">#5216</a>)</li> </ul> <h3>🌟 Features</h3> <ul> <li>allow calling hook methods (<a href="https://redirect.github.com/mochajs/mocha/issues/5231">#5231</a>) (<a href="https://github.com/mochajs/mocha/commit/e3da641b08bed20f12df524fc64cb9579f980c1e">e3da641</a>)</li> </ul> <h3>🩹 Fixes</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/mochajs/mocha/blob/main/CHANGELOG.md">mocha's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/mochajs/mocha/compare/v11.0.2...v11.1.0">11.1.0</a> (2025-01-02)</h2> <h3>🌟 Features</h3> <ul> <li>bump yargs to 17 (<a href="https://redirect.github.com/mochajs/mocha/issues/5165">#5165</a>) (<a href="https://github.com/mochajs/mocha/commit/8f1c8d888b0104afcd95ca55a517320399755749">8f1c8d8</a>)</li> <li>replace <code>strip-ansi</code> with <code>util.stripVTControlCharacters</code> (<a href="https://redirect.github.com/mochajs/mocha/issues/5267">#5267</a>) (<a href="https://github.com/mochajs/mocha/commit/3c191c05d9db1e99aec9b600edac2ce10a6b6d71">3c191c0</a>), closes <a href="https://redirect.github.com/mochajs/mocha/issues/5265">#5265</a></li> </ul> <h2><a href="https://github.com/mochajs/mocha/compare/v11.0.1...v11.0.2">11.0.2</a> (2024-12-09)</h2> <h3>🩹 Fixes</h3> <ul> <li>catch exceptions setting Error.stackTraceLimit (<a href="https://redirect.github.com/mochajs/mocha/issues/5254">#5254</a>) (<a href="https://github.com/mochajs/mocha/commit/259f8f8ba5709b5d84fa66e17cd10560a11f45c9">259f8f8</a>)</li> <li>error handling for unexpected numeric arguments passed to cli (<a href="https://redirect.github.com/mochajs/mocha/issues/5263">#5263</a>) (<a href="https://github.com/mochajs/mocha/commit/210d658678a2ec3b6f85c59d4b300b4722671099">210d658</a>)</li> </ul> <h3>📚 Documentation</h3> <ul> <li>correct outdated <code>status: accepting prs</code> link (<a href="https://redirect.github.com/mochajs/mocha/issues/5268">#5268</a>) (<a href="https://github.com/mochajs/mocha/commit/f729cd09b61bb598409f19b3c76b9e9536812237">f729cd0</a>)</li> <li>replace "New in" with "Since" in version annotations (<a href="https://redirect.github.com/mochajs/mocha/issues/5262">#5262</a>) (<a href="https://github.com/mochajs/mocha/commit/6f10d12c6c6dfa4df7d5221a3ce688f687aaf320">6f10d12</a>)</li> </ul> <h2><a href="https://github.com/mochajs/mocha/compare/v11.0.0...v11.0.1">11.0.1</a> (2024-12-02)</h2> <h3>🌟 Features</h3> <ul> <li>bumped glob dependency from 8 to 10 (<a href="https://redirect.github.com/mochajs/mocha/issues/5250">#5250</a>) (<a href="https://github.com/mochajs/mocha/commit/43c3157c6ef4f2d4bfecf3ad3a42479fd64187b8">43c3157</a>)</li> </ul> <h3>📚 Documentation</h3> <ul> <li>fix examples for <code>linkPartialObjects</code> methods (<a href="https://redirect.github.com/mochajs/mocha/issues/5255">#5255</a>) (<a href="https://github.com/mochajs/mocha/commit/34e0e52e047a9119aeae9cb5b660a8438656a1e0">34e0e52</a>)</li> </ul> <h2><a href="https://github.com/mochajs/mocha/compare/v10.8.2...v11.0.0">11.0.0</a> (2024-11-11)</h2> <h3>⚠ BREAKING CHANGES</h3> <ul> <li>adapt new engine range for Mocha 11 (<a href="https://redirect.github.com/mochajs/mocha/issues/5216">#5216</a>)</li> </ul> <h3>🌟 Features</h3> <ul> <li>allow calling hook methods (<a href="https://redirect.github.com/mochajs/mocha/issues/5231">#5231</a>) (<a href="https://github.com/mochajs/mocha/commit/e3da641b08bed20f12df524fc64cb9579f980c1e">e3da641</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li>adapt new engine range for Mocha 11 (<a href="https://redirect.github.com/mochajs/mocha/issues/5216">#5216</a>) (<a href="https://github.com/mochajs/mocha/commit/80da25a4132ca50d3ad35087cb62c9b0f8fc946a">80da25a</a>)</li> </ul> <h3>📚 Documentation</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/mochajs/mocha/commit/a87fb1130a877649e564e144a73b1716b6296cbd"><code>a87fb11</code></a> chore(main): release 11.1.0 (<a href="https://redirect.github.com/mochajs/mocha/issues/5277">#5277</a>)</li> <li><a href="https://github.com/mochajs/mocha/commit/3c191c05d9db1e99aec9b600edac2ce10a6b6d71"><code>3c191c0</code></a> feat: replace <code>strip-ansi</code> with <code>util.stripVTControlCharacters</code> (<a href="https://redirect.github.com/mochajs/mocha/issues/5267">#5267</a>)</li> <li><a href="https://github.com/mochajs/mocha/commit/8f1c8d888b0104afcd95ca55a517320399755749"><code>8f1c8d8</code></a> feat: bump yargs to 17 (<a href="https://redirect.github.com/mochajs/mocha/issues/5165">#5165</a>)</li> <li><a href="https://github.com/mochajs/mocha/commit/6caa9026eb120b136dc8210614b31310f8bff83b"><code>6caa902</code></a> chore(main): release 11.0.2 (<a href="https://redirect.github.com/mochajs/mocha/issues/5269">#5269</a>)</li> <li><a href="https://github.com/mochajs/mocha/commit/259f8f8ba5709b5d84fa66e17cd10560a11f45c9"><code>259f8f8</code></a> fix: catch exceptions setting Error.stackTraceLimit (<a href="https://redirect.github.com/mochajs/mocha/issues/5254">#5254</a>)</li> <li><a href="https://github.com/mochajs/mocha/commit/210d658678a2ec3b6f85c59d4b300b4722671099"><code>210d658</code></a> fix: error handling for unexpected numeric arguments passed to cli (<a href="https://redirect.github.com/mochajs/mocha/issues/5263">#5263</a>)</li> <li><a href="https://github.com/mochajs/mocha/commit/6f10d12c6c6dfa4df7d5221a3ce688f687aaf320"><code>6f10d12</code></a> docs: replace "New in" with "Since" in version annotations (<a href="https://redirect.github.com/mochajs/mocha/issues/5262">#5262</a>)</li> <li><a href="https://github.com/mochajs/mocha/commit/f729cd09b61bb598409f19b3c76b9e9536812237"><code>f729cd0</code></a> docs: correct outdated <code>status: accepting prs</code> link (<a href="https://redirect.github.com/mochajs/mocha/issues/5268">#5268</a>)</li> <li><a href="https://github.com/mochajs/mocha/commit/4c558fb83ca5d7e260961b1ebfddcd377017a608"><code>4c558fb</code></a> chore(main): release 11.0.1 (<a href="https://redirect.github.com/mochajs/mocha/issues/5257">#5257</a>)</li> <li><a href="https://github.com/mochajs/mocha/commit/a5bd707301006a318f8fea205545d8779a1c94c5"><code>a5bd707</code></a> Release v11.0.1</li> <li>Additional commits viewable in <a href="https://github.com/mochajs/mocha/compare/v9.2.2...v11.1.0">compare view</a></li> </ul> </details> <details> <summary>Maintainer changes</summary> <p>This version was pushed to npm by <a href="https://www.npmjs.com/~voxpelli">voxpelli</a>, a new releaser for mocha since your current version.</p> </details> <br /> 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/microsoft/vscode-python/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps and [jws](https://github.com/brianloveswords/node-jws). These dependencies needed to be updated together. Updates `jws` from 3.2.2 to 3.2.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/brianloveswords/node-jws/releases">jws's releases</a>.</em></p> <blockquote> <h2>v3.2.3</h2> <h3>Changed</h3> <ul> <li>Fix advisory GHSA-869p-cjfg-cm3x: createSign and createVerify now require that a non empty secret is provided (via opts.secret, opts.privateKey or opts.key) when using HMAC algorithms.</li> <li>Upgrading JWA version to 1.4.2, addressing a compatibility issue for Node >= 25.</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/auth0/node-jws/blob/master/CHANGELOG.md">jws's changelog</a>.</em></p> <blockquote> <h2>[3.2.3]</h2> <h3>Changed</h3> <ul> <li>Fix advisory GHSA-869p-cjfg-cm3x: createSign and createVerify now require that a non empty secret is provided (via opts.secret, opts.privateKey or opts.key) when using HMAC algorithms.</li> <li>Upgrading JWA version to 1.4.2, adressing a compatibility issue for Node >= 25.</li> </ul> <h2>[3.0.0]</h2> <h3>Changed</h3> <ul> <li><strong>BREAKING</strong>: <code>jwt.verify</code> now requires an <code>algorithm</code> parameter, and <code>jws.createVerify</code> requires an <code>algorithm</code> option. The <code>"alg"</code> field signature headers is ignored. This mitigates a critical security flaw in the library which would allow an attacker to generate signatures with arbitrary contents that would be accepted by <code>jwt.verify</code>. See <a href="https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/">https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/</a> for details.</li> </ul> <h2><a href="https://github.com/brianloveswords/node-jws/compare/v1.0.1...v2.0.0">2.0.0</a> - 2015-01-30</h2> <h3>Changed</h3> <ul> <li> <p><strong>BREAKING</strong>: Default payload encoding changed from <code>binary</code> to <code>utf8</code>. <code>utf8</code> is a is a more sensible default than <code>binary</code> because many payloads, as far as I can tell, will contain user-facing strings that could be in any language. (<!-- raw HTML omitted --><a href="https://github.com/brianloveswords/node-jws/commit/6b6de48">6b6de48</a><!-- raw HTML omitted -->)</p> </li> <li> <p>Code reorganization, thanks <a href="https://github.com/fearphage"><code>@fearphage</code></a>! (<!-- raw HTML omitted --><a href="https://github.com/brianloveswords/node-jws/commit/7880050">7880050</a><!-- raw HTML omitted -->)</p> </li> </ul> <h3>Added</h3> <ul> <li>Option in all relevant methods for <code>encoding</code>. For those few users that might be depending on a <code>binary</code> encoding of the messages, this is for them. (<!-- raw HTML omitted --><a href="https://github.com/brianloveswords/node-jws/commit/6b6de48">6b6de48</a><!-- raw HTML omitted -->)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/auth0/node-jws/commit/4f6e73f24df42f07d632dec6431ade8eda8d11a6"><code>4f6e73f</code></a> Merge commit from fork</li> <li><a href="https://github.com/auth0/node-jws/commit/bd0fea57f35a97b6749a632b19ae5100d6d35729"><code>bd0fea5</code></a> version 3.2.3</li> <li><a href="https://github.com/auth0/node-jws/commit/7c3b4b411004c206af8901fa3f8e644127bbf8d9"><code>7c3b4b4</code></a> Enhance tests for HMAC streaming sign and verify</li> <li><a href="https://github.com/auth0/node-jws/commit/a9b8ed999de8f8fff486ac9167514577a0fae323"><code>a9b8ed9</code></a> Improve secretOrKey initialization in VerifyStream</li> <li><a href="https://github.com/auth0/node-jws/commit/6707fde62cbae465a7f11e52760fb994dbc0e0dc"><code>6707fde</code></a> Improve secret handling in SignStream</li> <li>See full diff in <a href="https://github.com/brianloveswords/node-jws/compare/v3.2.2...v3.2.3">compare view</a></li> </ul> </details> <details> <summary>Maintainer changes</summary> <p>This version was pushed to npm by <a href="https://www.npmjs.com/~julien.wollscheid">julien.wollscheid</a>, a new releaser for jws since your current version.</p> </details> <br /> Updates `jws` from 4.0.0 to 4.0.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/brianloveswords/node-jws/releases">jws's releases</a>.</em></p> <blockquote> <h2>v3.2.3</h2> <h3>Changed</h3> <ul> <li>Fix advisory GHSA-869p-cjfg-cm3x: createSign and createVerify now require that a non empty secret is provided (via opts.secret, opts.privateKey or opts.key) when using HMAC algorithms.</li> <li>Upgrading JWA version to 1.4.2, addressing a compatibility issue for Node >= 25.</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/auth0/node-jws/blob/master/CHANGELOG.md">jws's changelog</a>.</em></p> <blockquote> <h2>[3.2.3]</h2> <h3>Changed</h3> <ul> <li>Fix advisory GHSA-869p-cjfg-cm3x: createSign and createVerify now require that a non empty secret is provided (via opts.secret, opts.privateKey or opts.key) when using HMAC algorithms.</li> <li>Upgrading JWA version to 1.4.2, adressing a compatibility issue for Node >= 25.</li> </ul> <h2>[3.0.0]</h2> <h3>Changed</h3> <ul> <li><strong>BREAKING</strong>: <code>jwt.verify</code> now requires an <code>algorithm</code> parameter, and <code>jws.createVerify</code> requires an <code>algorithm</code> option. The <code>"alg"</code> field signature headers is ignored. This mitigates a critical security flaw in the library which would allow an attacker to generate signatures with arbitrary contents that would be accepted by <code>jwt.verify</code>. See <a href="https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/">https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/</a> for details.</li> </ul> <h2><a href="https://github.com/brianloveswords/node-jws/compare/v1.0.1...v2.0.0">2.0.0</a> - 2015-01-30</h2> <h3>Changed</h3> <ul> <li> <p><strong>BREAKING</strong>: Default payload encoding changed from <code>binary</code> to <code>utf8</code>. <code>utf8</code> is a is a more sensible default than <code>binary</code> because many payloads, as far as I can tell, will contain user-facing strings that could be in any language. (<!-- raw HTML omitted --><a href="https://github.com/brianloveswords/node-jws/commit/6b6de48">6b6de48</a><!-- raw HTML omitted -->)</p> </li> <li> <p>Code reorganization, thanks <a href="https://github.com/fearphage"><code>@fearphage</code></a>! (<!-- raw HTML omitted --><a href="https://github.com/brianloveswords/node-jws/commit/7880050">7880050</a><!-- raw HTML omitted -->)</p> </li> </ul> <h3>Added</h3> <ul> <li>Option in all relevant methods for <code>encoding</code>. For those few users that might be depending on a <code>binary</code> encoding of the messages, this is for them. (<!-- raw HTML omitted --><a href="https://github.com/brianloveswords/node-jws/commit/6b6de48">6b6de48</a><!-- raw HTML omitted -->)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/auth0/node-jws/commit/4f6e73f24df42f07d632dec6431ade8eda8d11a6"><code>4f6e73f</code></a> Merge commit from fork</li> <li><a href="https://github.com/auth0/node-jws/commit/bd0fea57f35a97b6749a632b19ae5100d6d35729"><code>bd0fea5</code></a> version 3.2.3</li> <li><a href="https://github.com/auth0/node-jws/commit/7c3b4b411004c206af8901fa3f8e644127bbf8d9"><code>7c3b4b4</code></a> Enhance tests for HMAC streaming sign and verify</li> <li><a href="https://github.com/auth0/node-jws/commit/a9b8ed999de8f8fff486ac9167514577a0fae323"><code>a9b8ed9</code></a> Improve secretOrKey initialization in VerifyStream</li> <li><a href="https://github.com/auth0/node-jws/commit/6707fde62cbae465a7f11e52760fb994dbc0e0dc"><code>6707fde</code></a> Improve secret handling in SignStream</li> <li>See full diff in <a href="https://github.com/brianloveswords/node-jws/compare/v3.2.2...v3.2.3">compare view</a></li> </ul> </details> <details> <summary>Maintainer changes</summary> <p>This version was pushed to npm by <a href="https://www.npmjs.com/~julien.wollscheid">julien.wollscheid</a>, a new releaser for jws since your current version.</p> </details> <br /> 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/microsoft/vscode-python/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…e test suites (#25655) fixes: #25348 Test discovery for large suites (~150k tests) shows 10x slowdown vs native pytest due to redundant path operations in `pytest_sessionfinish` hook. Profiling indicates repeated `pathlib.Path.cwd()` calls, `os.fspath()` conversions, and exception-based dictionary lookups dominate execution time. ## Changes **Caching infrastructure** - Module-level caches: `_path_cache` (node paths by id), `_path_to_str_cache` (string conversions), `_CACHED_CWD` (working directory) - `cached_fsdecode()`: memoized `os.fspath()` wrapper used for dictionary keys throughout tree building **Modified `get_node_path()`** - Object id-based cache lookup before path resolution - Lazy initialization of cached cwd, eliminates 150k+ redundant syscalls - Store result before return **Control flow optimization** - Replace `try/except KeyError` with `dict.get()` in 5 hotpath locations: `process_parameterized_test()`, `build_test_tree()`, `build_nested_folders()` - 3-5x faster for cache-hit case --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
switched from list to set for better preformance was first done by copilot but ported over related to #25348 but about execution instead of discovery --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Better logs when we use environment extension when available for creating terminal.
Resolves: microsoft/vscode-python-environments#958 Challenge is that sendText would get called when terminal is not ready. And doing `undefined.show()` is the problem. Switching to queue based execution for running REPL commands, which would prevent from us losing the first command as well.
added new pylance specific telemetry
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 5 to 6. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/upload-artifact/releases">actions/upload-artifact's releases</a>.</em></p> <blockquote> <h2>v6.0.0</h2> <h2>v6 - What's new</h2> <blockquote> <p>[!IMPORTANT] actions/upload-artifact@v6 now runs on Node.js 24 (<code>runs.using: node24</code>) and requires a minimum Actions Runner version of 2.327.1. If you are using self-hosted runners, ensure they are updated before upgrading.</p> </blockquote> <h3>Node.js 24</h3> <p>This release updates the runtime to Node.js 24. v5 had preliminary support for Node.js 24, however this action was by default still running on Node.js 20. Now this action by default will run on Node.js 24.</p> <h2>What's Changed</h2> <ul> <li>Upload Artifact Node 24 support by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/upload-artifact/pull/719">actions/upload-artifact#719</a></li> <li>fix: update <code>@actions/artifact</code> for Node.js 24 punycode deprecation by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/upload-artifact/pull/744">actions/upload-artifact#744</a></li> <li>prepare release v6.0.0 for Node.js 24 support by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/upload-artifact/pull/745">actions/upload-artifact#745</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/upload-artifact/compare/v5.0.0...v6.0.0">https://github.com/actions/upload-artifact/compare/v5.0.0...v6.0.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/upload-artifact/commit/b7c566a772e6b6bfb58ed0dc250532a479d7789f"><code>b7c566a</code></a> Merge pull request <a href="https://redirect.github.com/actions/upload-artifact/issues/745">#745</a> from actions/upload-artifact-v6-release</li> <li><a href="https://github.com/actions/upload-artifact/commit/e516bc8500aaf3d07d591fcd4ae6ab5f9c391d5b"><code>e516bc8</code></a> docs: correct description of Node.js 24 support in README</li> <li><a href="https://github.com/actions/upload-artifact/commit/ddc45ed9bca9b38dbd643978d88e3981cdc91415"><code>ddc45ed</code></a> docs: update README to correct action name for Node.js 24 support</li> <li><a href="https://github.com/actions/upload-artifact/commit/615b319bd27bb32c3d64dca6b6ed6974d5fbe653"><code>615b319</code></a> chore: release v6.0.0 for Node.js 24 support</li> <li><a href="https://github.com/actions/upload-artifact/commit/017748b48f8610ca8e6af1222f4a618e84a9c703"><code>017748b</code></a> Merge pull request <a href="https://redirect.github.com/actions/upload-artifact/issues/744">#744</a> from actions/fix-storage-blob</li> <li><a href="https://github.com/actions/upload-artifact/commit/38d4c7997f5510fcc41fc4aae2a6b97becdbe7fc"><code>38d4c79</code></a> chore: rebuild dist</li> <li><a href="https://github.com/actions/upload-artifact/commit/7d27270e0cfd253e666c44abac0711308d2d042f"><code>7d27270</code></a> chore: add missing license cache files for <code>@actions/core</code>, <code>@actions/io</code>, and mi...</li> <li><a href="https://github.com/actions/upload-artifact/commit/5f643d3c9475505ccaf26d686ffbfb71a8387261"><code>5f643d3</code></a> chore: update license files for <code>@actions/artifact</code><a href="https://github.com/5"><code>@5</code></a>.0.1 dependencies</li> <li><a href="https://github.com/actions/upload-artifact/commit/1df1684032c88614064493e1a0478fcb3583e1d0"><code>1df1684</code></a> chore: update package-lock.json with <code>@actions/artifact</code><a href="https://github.com/5"><code>@5</code></a>.0.1</li> <li><a href="https://github.com/actions/upload-artifact/commit/b5b1a918401ee270935b6b1d857ae66c85f3be6f"><code>b5b1a91</code></a> fix: update <code>@actions/artifact</code> to ^5.0.0 for Node.js 24 punycode fix</li> <li>Additional commits viewable in <a href="https://github.com/actions/upload-artifact/compare/v5...v6">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [dessant/lock-threads](https://github.com/dessant/lock-threads) from 5.0.1 to 6.0.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dessant/lock-threads/releases">dessant/lock-threads's releases</a>.</em></p> <blockquote> <h2>v6.0.0</h2> <p>Learn more about this release from the <a href="https://github.com/dessant/lock-threads/blob/main/CHANGELOG.md#changelog">changelog</a>.</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/dessant/lock-threads/blob/main/CHANGELOG.md">dessant/lock-threads's changelog</a>.</em></p> <blockquote> <h1>Changelog</h1> <p>All notable changes to this project will be documented in this file. See <a href="https://github.com/absolute-version/commit-and-tag-version">commit-and-tag-version</a> for commit guidelines.</p> <h2><a href="https://github.com/dessant/lock-threads/compare/v5.0.1...v6.0.0">6.0.0</a> (2025-12-12)</h2> <h3>⚠ BREAKING CHANGES</h3> <ul> <li>the action now requires Node.js 24</li> </ul> <h3>Bug Fixes</h3> <ul> <li>update dependencies (<a href="https://github.com/dessant/lock-threads/commit/6548363a2d763e3a4a3a0dc04ca4a10481d8e536">6548363</a>)</li> </ul> <h2><a href="https://github.com/dessant/lock-threads/compare/v5.0.0...v5.0.1">5.0.1</a> (2023-11-22)</h2> <h3>Bug Fixes</h3> <ul> <li>support filtering threads by labels with spaces (<a href="https://github.com/dessant/lock-threads/commit/0a6367823273242f373440ac6d682e4f368a347f">0a63678</a>), closes <a href="https://redirect.github.com/dessant/lock-threads/issues/40">#40</a></li> </ul> <h2><a href="https://github.com/dessant/lock-threads/compare/v4.0.1...v5.0.0">5.0.0</a> (2023-11-14)</h2> <h3>⚠ BREAKING CHANGES</h3> <ul> <li>Discussions are also processed by default, set the <code>process-only</code> input parameter to preserve the old behavior</li> </ul> <pre lang="yaml"><code> steps: - uses: dessant/lock-threads@v5 with: process-only: 'issues, prs' </code></pre> <ul> <li>the action now requires Node.js 20</li> </ul> <h3>Features</h3> <ul> <li>lock discussions (<a href="https://github.com/dessant/lock-threads/commit/0a0976f3ded51c88c6128dd96dd115c9f14fa764">0a0976f</a>), closes <a href="https://redirect.github.com/dessant/lock-threads/issues/25">#25</a></li> </ul> <h3>Bug Fixes</h3> <ul> <li>update dependencies (<a href="https://github.com/dessant/lock-threads/commit/5a25b54eae3e7a5580d09ef0f7cbc5b18376db67">5a25b54</a>)</li> </ul> <h3><a href="https://github.com/dessant/lock-threads/compare/v4.0.0...v4.0.1">4.0.1</a> (2023-06-12)</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/dessant/lock-threads/commit/7266a7ce5c1df01b1c6db85bf8cd86c737dadbe7"><code>7266a7c</code></a> chore(release): 6.0.0</li> <li><a href="https://github.com/dessant/lock-threads/commit/1b10b746bb9aa359bb8eb0f1666515a389929aa8"><code>1b10b74</code></a> chore: update package</li> <li><a href="https://github.com/dessant/lock-threads/commit/7d53f570b1a4ca8908c0fbcc1e5b124ac3903134"><code>7d53f57</code></a> chore: update workflows</li> <li><a href="https://github.com/dessant/lock-threads/commit/e15e78d779715a438a45a106efe0531932c02a71"><code>e15e78d</code></a> chore: update docs</li> <li><a href="https://github.com/dessant/lock-threads/commit/6548363a2d763e3a4a3a0dc04ca4a10481d8e536"><code>6548363</code></a> fix: update dependencies</li> <li>See full diff in <a href="https://github.com/dessant/lock-threads/compare/1bf7ec25051fe7c00bdd17e6a7cf3d7bfb7dc771...7266a7ce5c1df01b1c6db85bf8cd86c737dadbe7">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ix (#25668) Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 5 to 6. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/upload-artifact/releases">actions/upload-artifact's releases</a>.</em></p> <blockquote> <h2>v6.0.0</h2> <h2>v6 - What's new</h2> <blockquote> <p>[!IMPORTANT] actions/upload-artifact@v6 now runs on Node.js 24 (<code>runs.using: node24</code>) and requires a minimum Actions Runner version of 2.327.1. If you are using self-hosted runners, ensure they are updated before upgrading.</p> </blockquote> <h3>Node.js 24</h3> <p>This release updates the runtime to Node.js 24. v5 had preliminary support for Node.js 24, however this action was by default still running on Node.js 20. Now this action by default will run on Node.js 24.</p> <h2>What's Changed</h2> <ul> <li>Upload Artifact Node 24 support by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/upload-artifact/pull/719">actions/upload-artifact#719</a></li> <li>fix: update <code>@actions/artifact</code> for Node.js 24 punycode deprecation by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/upload-artifact/pull/744">actions/upload-artifact#744</a></li> <li>prepare release v6.0.0 for Node.js 24 support by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/upload-artifact/pull/745">actions/upload-artifact#745</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/upload-artifact/compare/v5.0.0...v6.0.0">https://github.com/actions/upload-artifact/compare/v5.0.0...v6.0.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/upload-artifact/commit/b7c566a772e6b6bfb58ed0dc250532a479d7789f"><code>b7c566a</code></a> Merge pull request <a href="https://redirect.github.com/actions/upload-artifact/issues/745">#745</a> from actions/upload-artifact-v6-release</li> <li><a href="https://github.com/actions/upload-artifact/commit/e516bc8500aaf3d07d591fcd4ae6ab5f9c391d5b"><code>e516bc8</code></a> docs: correct description of Node.js 24 support in README</li> <li><a href="https://github.com/actions/upload-artifact/commit/ddc45ed9bca9b38dbd643978d88e3981cdc91415"><code>ddc45ed</code></a> docs: update README to correct action name for Node.js 24 support</li> <li><a href="https://github.com/actions/upload-artifact/commit/615b319bd27bb32c3d64dca6b6ed6974d5fbe653"><code>615b319</code></a> chore: release v6.0.0 for Node.js 24 support</li> <li><a href="https://github.com/actions/upload-artifact/commit/017748b48f8610ca8e6af1222f4a618e84a9c703"><code>017748b</code></a> Merge pull request <a href="https://redirect.github.com/actions/upload-artifact/issues/744">#744</a> from actions/fix-storage-blob</li> <li><a href="https://github.com/actions/upload-artifact/commit/38d4c7997f5510fcc41fc4aae2a6b97becdbe7fc"><code>38d4c79</code></a> chore: rebuild dist</li> <li><a href="https://github.com/actions/upload-artifact/commit/7d27270e0cfd253e666c44abac0711308d2d042f"><code>7d27270</code></a> chore: add missing license cache files for <code>@actions/core</code>, <code>@actions/io</code>, and mi...</li> <li><a href="https://github.com/actions/upload-artifact/commit/5f643d3c9475505ccaf26d686ffbfb71a8387261"><code>5f643d3</code></a> chore: update license files for <code>@actions/artifact</code><a href="https://github.com/5"><code>@5</code></a>.0.1 dependencies</li> <li><a href="https://github.com/actions/upload-artifact/commit/1df1684032c88614064493e1a0478fcb3583e1d0"><code>1df1684</code></a> chore: update package-lock.json with <code>@actions/artifact</code><a href="https://github.com/5"><code>@5</code></a>.0.1</li> <li><a href="https://github.com/actions/upload-artifact/commit/b5b1a918401ee270935b6b1d857ae66c85f3be6f"><code>b5b1a91</code></a> fix: update <code>@actions/artifact</code> to ^5.0.0 for Node.js 24 punycode fix</li> <li>Additional commits viewable in <a href="https://github.com/actions/upload-artifact/compare/v5...v6">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
The general `except` around the pytest run was causing tests to run twice if the exception handling of pytest is disabled. From the comment in the code it seems the exception handling is only there for when reading the test IDs break, so it shouldn't be required around the pytest main call. Disabling the exception handling can be practical for debugging tests, as this starts up the python debugger within vscode. Currently however, this requires manually patching the run_pytest_script.py, which needs to be re-done every vscode update. fixes: #25656 Co-authored-by: Eleanor Boyd <26030610+eleanorjboyd@users.noreply.github.com>
…condition (#25654) fixes #22783 and #21865 The `python.configureTests` command was registered after multiple async operations during extension activation, creating a race condition where users could invoke the command before it was registered. ## Changes - **Extract command registration**: Created standalone `registerTestCommands()` function in `testing/main.ts` containing all test command handlers (`Tests_Configure`, `Tests_CopilotSetup`, `CopyTestId`) - **Register synchronously before first await**: Moved `unitTestsRegisterTypes()` and `registerTestCommands()` to `extension.ts` immediately after `initializeStandard()`, before `experimentService.activate()` - **Remove duplicate registrations**: Cleaned up original registration in `UnitTestManagementService.activate()` and `activateLegacy()` --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: eleanorjboyd <26030610+eleanorjboyd@users.noreply.github.com>
Bumps [qs](https://github.com/ljharb/qs) from 6.12.1 to 6.14.1. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/ljharb/qs/blob/main/CHANGELOG.md">qs's changelog</a>.</em></p> <blockquote> <h2><strong>6.14.1</strong></h2> <ul> <li>[Fix] ensure arrayLength applies to <code>[]</code> notation as well</li> <li>[Fix] <code>parse</code>: when a custom decoder returns <code>null</code> for a key, ignore that key</li> <li>[Refactor] <code>parse</code>: extract key segment splitting helper</li> <li>[meta] add threat model</li> <li>[actions] add workflow permissions</li> <li>[Tests] <code>stringify</code>: increase coverage</li> <li>[Dev Deps] update <code>eslint</code>, <code>@ljharb/eslint-config</code>, <code>npmignore</code>, <code>es-value-fixtures</code>, <code>for-each</code>, <code>object-inspect</code></li> </ul> <h2><strong>6.14.0</strong></h2> <ul> <li>[New] <code>parse</code>: add <code>throwOnParameterLimitExceeded</code> option (<a href="https://redirect.github.com/ljharb/qs/issues/517">#517</a>)</li> <li>[Refactor] <code>parse</code>: use <code>utils.combine</code> more</li> <li>[patch] <code>parse</code>: add explicit <code>throwOnLimitExceeded</code> default</li> <li>[actions] use shared action; re-add finishers</li> <li>[meta] Fix changelog formatting bug</li> <li>[Deps] update <code>side-channel</code></li> <li>[Dev Deps] update <code>es-value-fixtures</code>, <code>has-bigints</code>, <code>has-proto</code>, <code>has-symbols</code></li> <li>[Tests] increase coverage</li> </ul> <h2><strong>6.13.1</strong></h2> <ul> <li>[Fix] <code>stringify</code>: avoid a crash when a <code>filter</code> key is <code>null</code></li> <li>[Fix] <code>utils.merge</code>: functions should not be stringified into keys</li> <li>[Fix] <code>parse</code>: avoid a crash with interpretNumericEntities: true, comma: true, and iso charset</li> <li>[Fix] <code>stringify</code>: ensure a non-string <code>filter</code> does not crash</li> <li>[Refactor] use <code>__proto__</code> syntax instead of <code>Object.create</code> for null objects</li> <li>[Refactor] misc cleanup</li> <li>[Tests] <code>utils.merge</code>: add some coverage</li> <li>[Tests] fix a test case</li> <li>[actions] split out node 10-20, and 20+</li> <li>[Dev Deps] update <code>es-value-fixtures</code>, <code>mock-property</code>, <code>object-inspect</code>, <code>tape</code></li> </ul> <h2><strong>6.13.0</strong></h2> <ul> <li>[New] <code>parse</code>: add <code>strictDepth</code> option (<a href="https://redirect.github.com/ljharb/qs/issues/511">#511</a>)</li> <li>[Tests] use <code>npm audit</code> instead of <code>aud</code></li> </ul> <h2><strong>6.12.3</strong></h2> <ul> <li>[Fix] <code>parse</code>: properly account for <code>strictNullHandling</code> when <code>allowEmptyArrays</code></li> <li>[meta] fix changelog indentation</li> </ul> <h2><strong>6.12.2</strong></h2> <ul> <li>[Fix] <code>parse</code>: parse encoded square brackets (<a href="https://redirect.github.com/ljharb/qs/issues/506">#506</a>)</li> <li>[readme] add CII best practices badge</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ljharb/qs/commit/3fa11a5f643c76896387bd2d86904a2d0141fdf7"><code>3fa11a5</code></a> v6.14.1</li> <li><a href="https://github.com/ljharb/qs/commit/a62670423c1ccab0dd83c621bfb98c7c024e314d"><code>a626704</code></a> [Dev Deps] update <code>npmignore</code></li> <li><a href="https://github.com/ljharb/qs/commit/3086902ecf7f088d0d1803887643ac6c03d415b9"><code>3086902</code></a> [Fix] ensure arrayLength applies to <code>[]</code> notation as well</li> <li><a href="https://github.com/ljharb/qs/commit/fc7930e86c2264c1568c9f5606830e19b0bc2af2"><code>fc7930e</code></a> [Dev Deps] update <code>eslint</code>, <code>@ljharb/eslint-config</code></li> <li><a href="https://github.com/ljharb/qs/commit/0b06aac566abee45ef0327667a7cc89e7aed8b58"><code>0b06aac</code></a> [Dev Deps] update <code>@ljharb/eslint-config</code></li> <li><a href="https://github.com/ljharb/qs/commit/64951f6200a1fb72cc003c6e8226dde3d2ef591f"><code>64951f6</code></a> [Refactor] <code>parse</code>: extract key segment splitting helper</li> <li><a href="https://github.com/ljharb/qs/commit/e1bd2599cdff4c936ea52fb1f16f921cbe7aa88c"><code>e1bd259</code></a> [Dev Deps] update <code>@ljharb/eslint-config</code></li> <li><a href="https://github.com/ljharb/qs/commit/f4b3d39709fef6ddbd85128d1ba4c6b566c4902e"><code>f4b3d39</code></a> [eslint] add eslint 9 optional peer dep</li> <li><a href="https://github.com/ljharb/qs/commit/6e94d9596ca50dffafcef40a5f64eca89962cf34"><code>6e94d95</code></a> [Dev Deps] update <code>eslint</code>, <code>@ljharb/eslint-config</code>, <code>npmignore</code></li> <li><a href="https://github.com/ljharb/qs/commit/973dc3c51c86da9f4e30edeb4b1725158d439102"><code>973dc3c</code></a> [actions] add workflow permissions</li> <li>Additional commits viewable in <a href="https://github.com/ljharb/qs/compare/v6.12.1...v6.14.1">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/microsoft/vscode-python/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [importlib-metadata](https://github.com/python/importlib_metadata) from 8.7.0 to 8.7.1. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/python/importlib_metadata/blob/main/NEWS.rst">importlib-metadata's changelog</a>.</em></p> <blockquote> <h1>v8.7.1</h1> <h2>Bugfixes</h2> <ul> <li>Fixed errors in FastPath under fork-multiprocessing. (<a href="https://redirect.github.com/python/importlib_metadata/issues/520">#520</a>)</li> <li>Removed cruft from Python 3.8. (<a href="https://redirect.github.com/python/importlib_metadata/issues/524">#524</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/python/importlib_metadata/commit/84e9028d39062af975d0659c0e987c28bcc808a5"><code>84e9028</code></a> Finalize</li> <li><a href="https://github.com/python/importlib_metadata/commit/36ed6f69888bba8cbabd3963714630ead6bdb762"><code>36ed6f6</code></a> Merge pull request <a href="https://redirect.github.com/python/importlib_metadata/issues/521">#521</a> from 2xB/fix520</li> <li><a href="https://github.com/python/importlib_metadata/commit/f6eee5671a3e9e1cb56a6d3a6219145c19518713"><code>f6eee56</code></a> Rely on passthrough to designate a wrapper for its side effect.</li> <li><a href="https://github.com/python/importlib_metadata/commit/3c9510bf848fd4031e76028da0c9f60129047546"><code>3c9510b</code></a> Prefer noop for degenerate behavior.</li> <li><a href="https://github.com/python/importlib_metadata/commit/a36bab926643dcd67513851d5bebc285ef9ac681"><code>a36bab9</code></a> Avoid if block.</li> <li><a href="https://github.com/python/importlib_metadata/commit/8dd2937cf852eb0d9ad96d4e45ed3470e80c1463"><code>8dd2937</code></a> Decouple clear_after_fork from lru_cache and then compose.</li> <li><a href="https://github.com/python/importlib_metadata/commit/1da3f456ab53832fd6e1236f2338388d9ea0b0c6"><code>1da3f45</code></a> Add news fragment.</li> <li><a href="https://github.com/python/importlib_metadata/commit/a1c25d8f2dc50abec65e4cf6d733b15d73c2f3b1"><code>a1c25d8</code></a> 🧎♀️ Genuflect to the types.</li> <li><a href="https://github.com/python/importlib_metadata/commit/4e962a8498990ba82120e7a58ce71abedefa0003"><code>4e962a8</code></a> 👹 Feed the hobgoblins (delint).</li> <li><a href="https://github.com/python/importlib_metadata/commit/6a30ab96290b18c0b9805268a201ca5011c1feae"><code>6a30ab9</code></a> Allow initial currsize to be greater than one (as happens when running the te...</li> <li>Additional commits viewable in <a href="https://github.com/python/importlib_metadata/compare/v8.7.0...v8.7.1">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…25612) Co-authored-by: eleanorjboyd <26030610+eleanorjboyd@users.noreply.github.com>
## Summary Fixes #25620 - Leftover process `python_server.py` with 100% CPU after closing VS Code. ## The Problem When VS Code closes, the STDIN stream to `python_server.py` is closed. The `readline()` method returns empty bytes (`b''`) to signal EOF. However, the previous code incorrectly treated this as an empty line separator, causing: 1. `get_headers()` to return an empty headers dict 2. `content_length` to be 0 3. The main loop to continue immediately back to `get_headers()` 4. An infinite loop consuming 100% CPU ## The Fix This PR properly detects EOF by checking for `b''` (empty bytes) vs `b'\r\n'` or `b'\n'` (actual empty line with newline characters): **In `get_headers()`:** ```python raw = STDIN.buffer.readline() # Detect EOF: readline() returns empty bytes when input stream is closed if raw == b"": raise EOFError("EOF reached while reading headers") ``` **In all callers (main loop, `handle_response()`, `custom_input()`):** - Catch `EOFError` and exit gracefully with `sys.exit(0)` ## Key Insight ```python # EOF: readline() returns empty bytes io.BytesIO(b"").readline() # Returns b'' # Empty line: readline() returns newline bytes io.BytesIO(b"\r\n").readline() # Returns b'\r\n' ``` ## Testing Added comprehensive unit tests in `python_files/tests/test_python_server.py`: - `test_get_headers_normal` - verifies normal header parsing still works - `test_get_headers_eof_raises_error` - verifies EOF detection - `test_get_headers_eof_mid_headers_raises_error` - EOF during header reading - `test_get_headers_empty_line_terminates` - empty line still terminates headers - `test_custom_input_exits_on_eof` - graceful exit from `custom_input()` - `test_handle_response_exits_on_eof` - graceful exit from `handle_response()` - `test_main_loop_exits_on_eof` - simulates the main loop behavior - `test_readline_eof_vs_empty_line` - documents the EOF vs empty line distinction All 8 tests pass. ## How to Verify 1. Open a Python file in VS Code 2. Use Shift+Enter to start a Native REPL session and run some commands 3. Close VS Code 4. Check for leftover processes: `ps aux | grep python_server` 5. With this fix, no leftover processes should remain
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/lodash/lodash/commit/dec55b7a3b382da075e2eac90089b4cd00a26cbb"><code>dec55b7</code></a> Bump main to v4.17.23 (<a href="https://redirect.github.com/lodash/lodash/issues/6088">#6088</a>)</li> <li><a href="https://github.com/lodash/lodash/commit/19c9251b3631d7cf220b43bc757eb33f1084f117"><code>19c9251</code></a> fix: setCacheHas JSDoc return type should be boolean (<a href="https://redirect.github.com/lodash/lodash/issues/6071">#6071</a>)</li> <li><a href="https://github.com/lodash/lodash/commit/b5e672995ae26929d111a6e94589f8d03fb8e578"><code>b5e6729</code></a> jsdoc: Add -0 and BigInt zeros to _.compact falsey values list (<a href="https://redirect.github.com/lodash/lodash/issues/6062">#6062</a>)</li> <li><a href="https://github.com/lodash/lodash/commit/edadd452146f7e4bad4ea684e955708931d84d81"><code>edadd45</code></a> Prevent prototype pollution on baseUnset function</li> <li><a href="https://github.com/lodash/lodash/commit/4879a7a7d0a4494b0e83c7fa21bcc9fc6e7f1a6d"><code>4879a7a</code></a> doc: fix autoLink function, conversion of source links (<a href="https://redirect.github.com/lodash/lodash/issues/6056">#6056</a>)</li> <li><a href="https://github.com/lodash/lodash/commit/9648f692b0fc7c2f6a7a763d754377200126c2e8"><code>9648f69</code></a> chore: remove <code>yarn.lock</code> file (<a href="https://redirect.github.com/lodash/lodash/issues/6053">#6053</a>)</li> <li><a href="https://github.com/lodash/lodash/commit/dfa407db0bf5b200f2c7a9e4f06830ceaf074be9"><code>dfa407d</code></a> ci: remove legacy configuration files (<a href="https://redirect.github.com/lodash/lodash/issues/6052">#6052</a>)</li> <li><a href="https://github.com/lodash/lodash/commit/156e1965ae78b121a88f81178ab81632304e8d64"><code>156e196</code></a> feat: add renovate setup (<a href="https://redirect.github.com/lodash/lodash/issues/6039">#6039</a>)</li> <li><a href="https://github.com/lodash/lodash/commit/933e1061b8c344d3fc742cdc400175d5ffc99bce"><code>933e106</code></a> ci: add pipeline for Bun (<a href="https://redirect.github.com/lodash/lodash/issues/6023">#6023</a>)</li> <li><a href="https://github.com/lodash/lodash/commit/072a807ff7ad8ffc7c1d2c3097266e815d138e20"><code>072a807</code></a> docs: update links related to Open JS Foundation (<a href="https://redirect.github.com/lodash/lodash/issues/5968">#5968</a>)</li> <li>Additional commits viewable in <a href="https://github.com/lodash/lodash/compare/4.17.21...4.17.23">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/microsoft/vscode-python/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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.
Resolves: microsoft/vscode-python-environments#992