Comparing v2026.2.0...v2026.4.0 · microsoft/vscode-python
Commits on Mar 2, 2026
-
Bump webpack from 5.94.0 to 5.105.0 (#25766)
Bumps [webpack](https://github.com/webpack/webpack) from 5.94.0 to 5.105.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/webpack/webpack/releases">webpack's releases</a>.</em></p> <blockquote> <h2>v5.105.0</h2> <h3>Minor Changes</h3> <ul> <li> <p>Allow resolving worker module by export condition name when using <code>new Worker()</code> (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20353">#20353</a>)</p> </li> <li> <p>Detect conditional imports to avoid compile-time linking errors for non-existent exports. (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20320">#20320</a>)</p> </li> <li> <p>Added the <code>tsconfig</code> option for the <code>resolver</code> options (replacement for <code>tsconfig-paths-webpack-plugin</code>). Can be <code>false</code> (disabled), <code>true</code> (use the default <code>tsconfig.json</code> file to search for it), a string path to <code>tsconfig.json</code>, or an object with <code>configFile</code> and <code>references</code> options. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20400">#20400</a>)</p> </li> <li> <p>Support <code>import.defer()</code> for context modules. (by <a href="https://github.com/ahabhgk"><code>@ahabhgk</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20399">#20399</a>)</p> </li> <li> <p>Added support for array values to the <code>devtool</code> option. (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20191">#20191</a>)</p> </li> <li> <p>Improve rendering node built-in modules for ECMA module output. (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20255">#20255</a>)</p> </li> <li> <p>Unknown import.meta properties are now determined at runtime instead of being statically analyzed at compile time. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20312">#20312</a>)</p> </li> </ul> <h3>Patch Changes</h3> <ul> <li> <p>Fixed ESM default export handling for <code>.mjs</code> files in Module Federation (by <a href="https://github.com/y-okt"><code>@y-okt</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20189">#20189</a>)</p> </li> <li> <p>Optimized <code>import.meta.env</code> handling in destructuring assignments by using cached stringified environment definitions. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20313">#20313</a>)</p> </li> <li> <p>Respect the <code>stats.errorStack</code> option in stats output. (by <a href="https://github.com/samarthsinh2660"><code>@samarthsinh2660</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20258">#20258</a>)</p> </li> <li> <p>Fixed a bug where declaring a <code>module</code> variable in module scope would conflict with the default <code>moduleArgument</code>. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20265">#20265</a>)</p> </li> <li> <p>Fix VirtualUrlPlugin to set resourceData.context for proper module resolution. Previously, when context was not set, it would fallback to the virtual scheme path (e.g., <code>virtual:routes</code>), which is not a valid filesystem path, causing subsequent resolve operations to fail. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20390">#20390</a>)</p> </li> <li> <p>Fixed Worker self-import handling to support various URL patterns (e.g., <code>import.meta.url</code>, <code>new URL(import.meta.url)</code>, <code>new URL(import.meta.url, import.meta.url)</code>, <code>new URL("./index.js", import.meta.url)</code>). Workers that resolve to the same module are now properly deduplicated, regardless of the URL syntax used. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20381">#20381</a>)</p> </li> <li> <p>Reuse the same async entrypoint for the same Worker URL within a module to avoid circular dependency warnings when multiple Workers reference the same resource. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20345">#20345</a>)</p> </li> <li> <p>Fixed a bug where a self-referencing dependency would have an unused export name when imported inside a web worker. (by <a href="https://github.com/samarthsinh2660"><code>@samarthsinh2660</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20251">#20251</a>)</p> </li> <li> <p>Fix missing export generation when concatenated modules in different chunks share the same runtime in module library bundles. (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20346">#20346</a>)</p> </li> <li> <p>Fixed <code>import.meta.env.xxx</code> behavior: when accessing a non-existent property, it now returns empty object instead of full object at runtime. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20289">#20289</a>)</p> </li> <li> <p>Improved parsing error reporting by adding a link to the loader documentation. (by <a href="https://github.com/gaurav10gg"><code>@gaurav10gg</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20244">#20244</a>)</p> </li> <li> <p>Fix typescript types. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20305">#20305</a>)</p> </li> <li> <p>Add declaration for unused harmony import specifier. (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20286">#20286</a>)</p> </li> <li> <p>Fix compressibility of modules while retaining portability. (by <a href="https://github.com/dmichon-msft"><code>@dmichon-msft</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20287">#20287</a>)</p> </li> <li> <p>Optimize source map generation: only include <code>ignoreList</code> property when it has content, avoiding empty arrays in source maps. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20319">#20319</a>)</p> </li> <li> <p>Preserve star exports for dependencies in ECMA module output. (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20293">#20293</a>)</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/webpack/webpack/blob/main/CHANGELOG.md">webpack's changelog</a>.</em></p> <blockquote> <h2>5.105.0</h2> <h3>Minor Changes</h3> <ul> <li> <p>Allow resolving worker module by export condition name when using <code>new Worker()</code> (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20353">#20353</a>)</p> </li> <li> <p>Detect conditional imports to avoid compile-time linking errors for non-existent exports. (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20320">#20320</a>)</p> </li> <li> <p>Added the <code>tsconfig</code> option for the <code>resolver</code> options (replacement for <code>tsconfig-paths-webpack-plugin</code>). Can be <code>false</code> (disabled), <code>true</code> (use the default <code>tsconfig.json</code> file to search for it), a string path to <code>tsconfig.json</code>, or an object with <code>configFile</code> and <code>references</code> options. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20400">#20400</a>)</p> </li> <li> <p>Support <code>import.defer()</code> for context modules. (by <a href="https://github.com/ahabhgk"><code>@ahabhgk</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20399">#20399</a>)</p> </li> <li> <p>Added support for array values to the <code>devtool</code> option. (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20191">#20191</a>)</p> </li> <li> <p>Improve rendering node built-in modules for ECMA module output. (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20255">#20255</a>)</p> </li> <li> <p>Unknown import.meta properties are now determined at runtime instead of being statically analyzed at compile time. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20312">#20312</a>)</p> </li> </ul> <h3>Patch Changes</h3> <ul> <li> <p>Fixed ESM default export handling for <code>.mjs</code> files in Module Federation (by <a href="https://github.com/y-okt"><code>@y-okt</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20189">#20189</a>)</p> </li> <li> <p>Optimized <code>import.meta.env</code> handling in destructuring assignments by using cached stringified environment definitions. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20313">#20313</a>)</p> </li> <li> <p>Respect the <code>stats.errorStack</code> option in stats output. (by <a href="https://github.com/samarthsinh2660"><code>@samarthsinh2660</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20258">#20258</a>)</p> </li> <li> <p>Fixed a bug where declaring a <code>module</code> variable in module scope would conflict with the default <code>moduleArgument</code>. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20265">#20265</a>)</p> </li> <li> <p>Fix VirtualUrlPlugin to set resourceData.context for proper module resolution. Previously, when context was not set, it would fallback to the virtual scheme path (e.g., <code>virtual:routes</code>), which is not a valid filesystem path, causing subsequent resolve operations to fail. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20390">#20390</a>)</p> </li> <li> <p>Fixed Worker self-import handling to support various URL patterns (e.g., <code>import.meta.url</code>, <code>new URL(import.meta.url)</code>, <code>new URL(import.meta.url, import.meta.url)</code>, <code>new URL("./index.js", import.meta.url)</code>). Workers that resolve to the same module are now properly deduplicated, regardless of the URL syntax used. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20381">#20381</a>)</p> </li> <li> <p>Reuse the same async entrypoint for the same Worker URL within a module to avoid circular dependency warnings when multiple Workers reference the same resource. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20345">#20345</a>)</p> </li> <li> <p>Fixed a bug where a self-referencing dependency would have an unused export name when imported inside a web worker. (by <a href="https://github.com/samarthsinh2660"><code>@samarthsinh2660</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20251">#20251</a>)</p> </li> <li> <p>Fix missing export generation when concatenated modules in different chunks share the same runtime in module library bundles. (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20346">#20346</a>)</p> </li> <li> <p>Fixed <code>import.meta.env.xxx</code> behavior: when accessing a non-existent property, it now returns empty object instead of full object at runtime. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20289">#20289</a>)</p> </li> <li> <p>Improved parsing error reporting by adding a link to the loader documentation. (by <a href="https://github.com/gaurav10gg"><code>@gaurav10gg</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20244">#20244</a>)</p> </li> <li> <p>Fix typescript types. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20305">#20305</a>)</p> </li> <li> <p>Add declaration for unused harmony import specifier. (by <a href="https://github.com/hai-x"><code>@hai-x</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20286">#20286</a>)</p> </li> <li> <p>Fix compressibility of modules while retaining portability. (by <a href="https://github.com/dmichon-msft"><code>@dmichon-msft</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20287">#20287</a>)</p> </li> <li> <p>Optimize source map generation: only include <code>ignoreList</code> property when it has content, avoiding empty arrays in source maps. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20319">#20319</a>)</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/webpack/webpack/commit/1486f9aacca11d79dbb7ddbceed29b7e6df7a7ab"><code>1486f9a</code></a> chore(release): new release</li> <li><a href="https://github.com/webpack/webpack/commit/1a517f665aae7b4d3d29c8b408d09488a21fbf94"><code>1a517f6</code></a> feat: added the <code>tsconfig</code> option for the <code>resolver</code> options (<a href="https://redirect.github.com/webpack/webpack/issues/20400">#20400</a>)</li> <li><a href="https://github.com/webpack/webpack/commit/7b3b0f795df377a9d0073822a2d60c1390d03109"><code>7b3b0f7</code></a> feat: support <code>import.defer()</code> for context modules</li> <li><a href="https://github.com/webpack/webpack/commit/c4a6a922de4af37a92d05c0ddc975b5348cfa9a1"><code>c4a6a92</code></a> refactor: more types and increase types coverage</li> <li><a href="https://github.com/webpack/webpack/commit/5ecc58d722da7715ede7de59b97108dd715d1bfa"><code>5ecc58d</code></a> feat: consider asset module as side-effect-free (<a href="https://redirect.github.com/webpack/webpack/issues/20352">#20352</a>)</li> <li><a href="https://github.com/webpack/webpack/commit/cce0f6989888771ec279777ab8f8dce8e39198a0"><code>cce0f69</code></a> test: avoid comma operator in BinaryMiddleware test (<a href="https://redirect.github.com/webpack/webpack/issues/20398">#20398</a>)</li> <li><a href="https://github.com/webpack/webpack/commit/cd4793d50e8e1e519ecd07b76d9e5dc06357341e"><code>cd4793d</code></a> feat: support import specifier guard (<a href="https://redirect.github.com/webpack/webpack/issues/20320">#20320</a>)</li> <li><a href="https://github.com/webpack/webpack/commit/fe486552d060f6d2815a39a6bd0fb351d348658c"><code>fe48655</code></a> docs: update examples (<a href="https://redirect.github.com/webpack/webpack/issues/20397">#20397</a>)</li> <li><a href="https://github.com/webpack/webpack/commit/de107f8767a2a11759f8261ed1ac49bcddec34b6"><code>de107f8</code></a> fix(VirtualUrlPlugin): set resourceData.context to avoid invalid fallback (<a href="https://redirect.github.com/webpack/webpack/issues/2">#2</a>...</li> <li><a href="https://github.com/webpack/webpack/commit/a656ab1fd1064ef8dd3eef1a2f3071fc176b948f"><code>a656ab1</code></a> test: add self-import test case for dynamic import (<a href="https://redirect.github.com/webpack/webpack/issues/20389">#20389</a>)</li> <li>Additional commits viewable in <a href="https://github.com/webpack/webpack/compare/v5.94.0...v5.105.0">compare view</a></li> </ul> </details> <details> <summary>Maintainer changes</summary> <p>This version was pushed to npm by [GitHub Actions](<a href="https://www.npmjs.com/~GitHub">https://www.npmjs.com/~GitHub</a> Actions), a new releaser for webpack since your current version.</p> </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 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>
-
Bump packaging from 25.0 to 26.0 (#25747)
Bumps [packaging](https://github.com/pypa/packaging) from 25.0 to 26.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pypa/packaging/releases">packaging's releases</a>.</em></p> <blockquote> <h2>26.0</h2> <p>Read about the performance improvements here: <a href="https://iscinumpy.dev/post/packaging-faster">https://iscinumpy.dev/post/packaging-faster</a>.</p> <h2>What's Changed</h2> <p>Features:</p> <ul> <li>PEP 751: support pylock by <a href="https://github.com/sbidoul"><code>@sbidoul</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/900">pypa/packaging#900</a></li> <li>PEP 794: import name metadata by <a href="https://github.com/brettcannon"><code>@brettcannon</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/948">pypa/packaging#948</a></li> <li>Support writing metadata by <a href="https://github.com/henryiii"><code>@henryiii</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/846">pypa/packaging#846</a></li> <li>Support <code>__replace__</code> for <code>Version</code> by <a href="https://github.com/henryiii"><code>@henryiii</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/1003">pypa/packaging#1003</a></li> <li>Support positional pattern matching for <code>Version</code> and <code>Specifier</code> by <a href="https://github.com/henryiii"><code>@henryiii</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/1004">pypa/packaging#1004</a></li> </ul> <p>Behavior adaptations:</p> <ul> <li>PEP 440 handling of prereleases for <code>Specifier.contains</code>, <code>SpecifierSet.contains</code>, and <code>SpecifierSet.filter</code> by <a href="https://github.com/notatallshaw"><code>@notatallshaw</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/897">pypa/packaging#897</a></li> <li>Handle PEP 440 edge case in <code>SpecifierSet.filter</code> by <a href="https://github.com/notatallshaw"><code>@notatallshaw</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/942">pypa/packaging#942</a></li> <li>Adjust arbitrary equality intersection preservation in <code>SpecifierSet</code> by <a href="https://github.com/notatallshaw"><code>@notatallshaw</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/951">pypa/packaging#951</a></li> <li>Return <code>False</code> instead of raising for <code>.contains</code> with invalid version by <a href="https://github.com/Liam-DeVoe"><code>@Liam-DeVoe</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/932">pypa/packaging#932</a></li> <li>Support arbitrary equality on arbitrary strings for <code>Specifier</code> and <code>SpecifierSet</code>'s <code>filter</code> and <code>contains</code> method. by <a href="https://github.com/notatallshaw"><code>@notatallshaw</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/954">pypa/packaging#954</a></li> <li>Only try to parse as <code>Version</code> on certain marker keys, return <code>False</code> on unequal ordered comparsions by <a href="https://github.com/JP-Ellis"><code>@JP-Ellis</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/939">pypa/packaging#939</a></li> </ul> <p>Fixes:</p> <ul> <li>Update <code>_hash</code> when unpickling <code>Tag()</code> by <a href="https://github.com/dholth"><code>@dholth</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/860">pypa/packaging#860</a></li> <li>Correct comment and simplify implicit prerelease handling in <code>Specifier.prereleases</code> by <a href="https://github.com/notatallshaw"><code>@notatallshaw</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/896">pypa/packaging#896</a></li> <li>Use explicit <code>_GLibCVersion</code> <code>NamedTuple</code> in <code>_manylinux</code> by <a href="https://github.com/cthoyt"><code>@cthoyt</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/868">pypa/packaging#868</a></li> <li>Detect invalid license expressions containing <code>()</code> by <a href="https://github.com/bwoodsend"><code>@bwoodsend</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/879">pypa/packaging#879</a></li> <li>Correct regex for metadata <code>'name'</code> format by <a href="https://github.com/di"><code>@di</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/925">pypa/packaging#925</a></li> <li>Improve the message around expecting a semicolon by <a href="https://github.com/pradyunsg"><code>@pradyunsg</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/833">pypa/packaging#833</a></li> <li>Support nested parens in license expressions by <a href="https://github.com/Liam-DeVoe"><code>@Liam-DeVoe</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/931">pypa/packaging#931</a></li> <li>Add space before at symbol in <code>Requirements</code> string by <a href="https://github.com/henryiii"><code>@henryiii</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/953">pypa/packaging#953</a></li> <li>A root logger use found by ruff LOG, use <code>packaging</code> logger instead by <a href="https://github.com/henryiii"><code>@henryiii</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/965">pypa/packaging#965</a></li> <li>Better support for subclassing <code>Marker</code> and <code>Requirement</code> by <a href="https://github.com/henryiii"><code>@henryiii</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/1022">pypa/packaging#1022</a></li> <li>Normalize all extras, not just if it comes first by <a href="https://github.com/henryiii"><code>@henryiii</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/1024">pypa/packaging#1024</a></li> <li>Don't produce a broken repr if <code>Marker</code> fails to construct by <a href="https://github.com/henryiii"><code>@henryiii</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/1033">pypa/packaging#1033</a></li> </ul> <p>Performance:</p> <ul> <li>Avoid recompiling regexes in the tokenizer for a 3x speedup by <a href="https://github.com/hauntsaninja"><code>@hauntsaninja</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/1019">pypa/packaging#1019</a></li> <li>Improve performance in <code>_manylinux.py</code> by <a href="https://github.com/cthoyt"><code>@cthoyt</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/869">pypa/packaging#869</a></li> <li>Minor cleanups to <code>Version</code> by <a href="https://github.com/bearomorphism"><code>@bearomorphism</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/913">pypa/packaging#913</a></li> <li>Skip redundant creation of <code>Version</code>s in specifier comparison by <a href="https://github.com/notatallshaw"><code>@notatallshaw</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/986">pypa/packaging#986</a></li> <li>Cache <code>Specifier</code>'s Version by <a href="https://github.com/notatallshaw"><code>@notatallshaw</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/985">pypa/packaging#985</a></li> <li>Make <code>Version</code> a little faster by <a href="https://github.com/henryiii"><code>@henryiii</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/987">pypa/packaging#987</a></li> <li>Minor <code>Version</code> regex cleanup by <a href="https://github.com/henryiii"><code>@henryiii</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/990">pypa/packaging#990</a></li> <li>Faster regex on Python 3.11.5+ by <a href="https://github.com/henryiii"><code>@henryiii</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/988">pypa/packaging#988</a> and <a href="https://redirect.github.com/pypa/packaging/pull/1055">pypa/packaging#1055</a></li> <li>Lazily calculate <code>_key</code> in <code>Version</code> by <a href="https://github.com/notatallshaw"><code>@notatallshaw</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/989">pypa/packaging#989</a> and regression for <code>packaging_legacy</code> fixed by <a href="https://github.com/henryiii"><code>@henryiii</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/1048">pypa/packaging#1048</a></li> <li>Faster <code>canonicalize_version</code> by <a href="https://github.com/henryiii"><code>@henryiii</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/993">pypa/packaging#993</a></li> <li>Use <code>fullmatch</code> in a couple more places by <a href="https://github.com/henryiii"><code>@henryiii</code></a> in <a href="https://redirect.github.com/pypa/packaging/pull/992">pypa/packaging#992</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pypa/packaging/blob/main/CHANGELOG.rst">packaging's changelog</a>.</em></p> <blockquote> <p>26.0 - 2026-01-20</p> <pre><code> Features: <ul> <li>PEP 751: support pylock (:pull:<code>900</code>)</li> <li>PEP 794: import name metadata (:pull:<code>948</code>)</li> <li>Support for writing metadata to a file (:pull:<code>846</code>)</li> <li>Support <code>__replace__</code> on Version (:pull:<code>1003</code>)</li> <li>Support positional pattern matching for <code>Version</code> and <code>SpecifierSet</code> (:pull:<code>1004</code>)</li> </ul> <p>Behavior adaptations:</p> <ul> <li>PEP 440 handling of prereleases for <code>Specifier.contains</code>, <code>SpecifierSet.contains</code>, and <code>SpecifierSet.filter</code> (:pull:<code>897</code>)</li> <li>Handle PEP 440 edge case in <code>SpecifierSet.filter</code> (:pull:<code>942</code>)</li> <li>Adjust arbitrary equality intersection preservation in <code>SpecifierSet</code> (:pull:<code>951</code>)</li> <li>Return <code>False</code> instead of raising for <code>.contains</code> with invalid version (:pull:<code>932</code>)</li> <li>Support arbitrary equality on arbitrary strings for <code>Specifier</code> and <code>SpecifierSet</code>'s <code>filter</code> and <code>contains</code> method. (:pull:<code>954</code>)</li> <li>Only try to parse as <code>Version</code> on certain marker keys, return <code>False</code> on unequal ordered comparisons (:pull:<code>939</code>)</li> </ul> <p>Fixes:</p> <ul> <li>Update <code>_hash</code> when unpickling <code>Tag()</code> (:pull:<code>860</code>)</li> <li>Correct comment and simplify implicit prerelease handling in <code>Specifier.prereleases</code> (:pull:<code>896</code>)</li> <li>Use explicit <code>_GLibCVersion</code> <code>NamedTuple</code> in <code>_manylinux</code> (:pull:<code>868</code>)</li> <li>Detect invalid license expressions containing <code>()</code> (:pull:<code>879</code>)</li> <li>Correct regex for metadata <code>'name'</code> format (:pull:<code>925</code>)</li> <li>Improve the message around expecting a semicolon (:pull:<code>833</code>)</li> <li>Support nested parens in license expressions (:pull:<code>931</code>)</li> <li>Add space before at symbol in <code>Requirements</code> string (:pull:<code>953</code>)</li> <li>A root logger use found, use a <code>packaging</code> logger instead (:pull:<code>965</code>)</li> <li>Better support for subclassing <code>Marker</code> and <code>Requirement</code> (:pull:<code>1022</code>)</li> <li>Normalize all extras, not just if it comes first (:pull:<code>1024</code>)</li> <li>Don't produce a broken repr if <code>Marker</code> fails to construct (:pull:<code>1033</code>)</li> </ul> <p>Performance:</p> <ul> <li>Avoid recompiling regexes in the tokenizer for a 3x speedup (:pull:<code>1019</code>)</li> <li>Improve performance in <code>_manylinux.py</code> (:pull:<code>869</code>)</li> <li>Minor cleanups to <code>Version</code> (:pull:<code>913</code>)</li> <li>Skip redundant creation of <code>Version</code>'s in specifier comparison (:pull:<code>986</code>)</li> <li>Cache the <code>Specifier</code>'s <code>Version</code> (:pull:<code>985</code>)</li> <li>Make <code>Version</code> a little faster (:pull:<code>987</code>)</li> <li>Minor <code>Version</code> regex cleanup (:pull:<code>990</code>)</li> <li>Faster regex on Python 3.11.5+ for <code>Version</code> (:pull:<code>988</code>, :pull:<code>1055</code>)</li> <li>Lazily calculate <code>_key</code> in <code>Version</code> (:pull:<code>989</code>, :pull:<code>1048</code>)</li> <li>Faster <code>canonicalize_version</code> (:pull:<code>993</code>)</li> <li>Use <code>re.fullmatch</code> in a couple more places (:pull:<code>992</code>, :pull:<code>1029</code>)</li> <li>Use <code>map</code> instead of generator (:pull:<code>996</code>)</li> <li>Deprecate <code>._version</code> (<code>_Version</code>, a <code>NamedTuple</code>) (:pull:<code>995</code>, :pull:<code>1062</code>)<br /> </tr></table><br /> </code></pre></li> </ul> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pypa/packaging/commit/3b77a26f5a27473ad3b08194d773f325d018a2d0"><code>3b77a26</code></a> Bump for release</li> <li><a href="https://github.com/pypa/packaging/commit/31371cce593d2bde0dd8c436ecfb7d53cb91cfb6"><code>31371cc</code></a> docs: prepare for 26.0 final (<a href="https://redirect.github.com/pypa/packaging/issues/1063">#1063</a>)</li> <li><a href="https://github.com/pypa/packaging/commit/9627a8821f09e4c55cd6e9daadb617b67c4741c2"><code>9627a88</code></a> perf: dual replace (<a href="https://redirect.github.com/pypa/packaging/issues/1064">#1064</a>)</li> <li><a href="https://github.com/pypa/packaging/commit/d5398b8bc19f3fad7b035ceb83023caf06d6e2da"><code>d5398b8</code></a> fix: restore ._version as a compat shim (<a href="https://redirect.github.com/pypa/packaging/issues/1062">#1062</a>)</li> <li><a href="https://github.com/pypa/packaging/commit/3a7b600a126d237b2ad3cd7e25d2cb5c176276af"><code>3a7b600</code></a> Bump for development</li> <li><a href="https://github.com/pypa/packaging/commit/d4eefdccf992e963c48011875301d93df6a7f2cc"><code>d4eefdc</code></a> Bump for release</li> <li><a href="https://github.com/pypa/packaging/commit/46189124fb43d8989d370902c80ab156eb83a45d"><code>4618912</code></a> docs: prepare for 26.0rc3 (<a href="https://redirect.github.com/pypa/packaging/issues/1060">#1060</a>)</li> <li><a href="https://github.com/pypa/packaging/commit/0cf1b41b4b321ae08cad7d3e49cfaff5578fe813"><code>0cf1b41</code></a> ci: test on first public release of CPythons (<a href="https://redirect.github.com/pypa/packaging/issues/1056">#1056</a>)</li> <li><a href="https://github.com/pypa/packaging/commit/716beb1c0a5d7a398bf57fbd80bc2501811e616b"><code>716beb1</code></a> perf: 10% faster stripping zeros (<a href="https://redirect.github.com/pypa/packaging/issues/1058">#1058</a>)</li> <li><a href="https://github.com/pypa/packaging/commit/350a2306700b738f487f251efa278f532b263dee"><code>350a230</code></a> fix: support CPython 3.11.0-3.11.4 and older PyPy3.11 (<a href="https://redirect.github.com/pypa/packaging/issues/1055">#1055</a>)</li> <li>Additional commits viewable in <a href="https://github.com/pypa/packaging/compare/25.0...26.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) You can trigger a rebase of this PR 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> > **Note** > Automatic rebases have been disabled on this pull request as it has been open for over 30 days. Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Commits on Mar 3, 2026
-
Run npm audit fix (non-breaking) (#25832)
Applies `npm audit fix` (no `--force`) to resolve 5 of 26 reported vulnerabilities. Only `package-lock.json` is modified — semver ranges in `package.json` are unchanged. ## Packages updated | Package | Before | After | CVE/Advisory | |---|---|---|---| | `cipher-base` | 1.0.4 | 1.0.7 | [GHSA-cpq7-6gpm-g9rc](GHSA-cpq7-6gpm-g9rc) — **critical**, missing type checks | | `ajv` | 6.12.6 / 8.17.1 | 6.14.0 / 8.18.0 | [GHSA-2g4f-4pwh-qvx6](GHSA-2g4f-4pwh-qvx6) — ReDoS via `$data` | | `bn.js` | 4.11.8 / 5.2.1 | 4.12.3 / 5.2.3 | [GHSA-378v-28hj-76wf](GHSA-378v-28hj-76wf) — infinite loop | | `glob` | 10.4.5 | 10.5.0 | [GHSA-5j98-mcp5-4vw2](GHSA-5j98-mcp5-4vw2) — CLI command injection | | `minimatch` (3.x / 9.x) | 3.1.2 / 9.0.x | 3.1.5 / 9.0.9 | [GHSA-3ppc-4f35-3m26](GHSA-3ppc-4f35-3m26) — ReDoS | ## Remaining vulnerabilities (21) All require `--force` and involve breaking changes (e.g. mocha downgrade, `copy-webpack-plugin` major bump, `node-polyfill-webpack-plugin` major bump). Not addressed here per the constraint of no forced updates. <!-- START COPILOT ORIGINAL PROMPT --> <details> <summary>Original prompt</summary> > Run npm audit fix. Do not use force flag. </details> <!-- START COPILOT CODING AGENT SUFFIX --> Created from [VS Code](https://code.visualstudio.com/docs/copilot/copilot-coding-agent). <!-- START COPILOT CODING AGENT TIPS --> --- 💬 We'd love your input! Share your thoughts on Copilot coding agent in our [2 minute survey](https://gh.io/copilot-coding-agent-survey). --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: rzhao271 <7199958+rzhao271@users.noreply.github.com>
Commits on Mar 11, 2026
-
Prevent double/triple activation from two extensions (#25849)
Resolves: microsoft/vscode-python-environments#1325 Cause: The Python extension only backed off if the user explicitly opted into the envs extension (useEnvironmentsExtension: true). But the envs extension activates by default whenever it's installed — it only backs off if the setting is explicitly false. So in this case, (extension installed, setting not touched), both fired. Added shouldEnvExtHandleActivation() — a function that mirrors the envs extension's own logic: "am I installed and not explicitly disabled?" Used it in all 3 places the Python extension triggers terminal activation to bail out when the envs extension will handle it. This covers global, workspace, and folder-level settings. We want exactly one extension activates the terminal, never both, never neither.
-
Bump PET version to 2026.4 in stable release pipeline (#25847)
Updates the Python Environment Tools (PET) artifact source branch in the stable release pipeline. - Changed `branchName` from `refs/heads/release/2026.0` to `refs/heads/release/2026.4` in `build/azure-pipeline.stable.yml` <!-- START COPILOT CODING AGENT TIPS --> --- 💬 We'd love your input! Share your thoughts on Copilot coding agent in our [2 minute survey](https://gh.io/copilot-coding-agent-survey). --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: eleanorjboyd <26030610+eleanorjboyd@users.noreply.github.com>