release: Refresh 2026.6 candidate from current main - #26164
Merged
Eleanor Boyd (eleanorjboyd) merged 24 commits intoSep 24, 2026
Merged
Eleanor Boyd (eleanorjboyd) merged 24 commits into
Eleanor Boyd (eleanorjboyd) merged 24 commits into
Conversation
## Summary - bump the extension version from `2026.6.0` to `2026.7.0-dev` - refresh `package-lock.json` with `npm install` Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Updates `@vscode/test-electron` from `^2.3.8` to `^3.1.0`. ## Changes - `package.json`: version constraint updated to `^3.1.0` - `package-lock.json`: resolved to `3.1.0` --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: eleanorjboyd <26030610+eleanorjboyd@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4 to 4.37.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/github/codeql-action/releases">github/codeql-action's releases</a>.</em></p> <blockquote> <h2>v4.37.3</h2> <p>No user facing changes.</p> <h2>v4.37.2</h2> <ul> <li>The new address format for the <code>config-file</code> input that was introduced in CodeQL Action 4.37.0 is now enabled by default. In addition to the format described there, the <code>remote=</code> prefix can now be used to explicitly indicate that the input refers to a remote file. All previous input formats continue to be accepted as well. <a href="https://redirect.github.com/github/codeql-action/pull/4023">#4023</a></li> <li>The CodeQL Action can now make use of <a href="https://docs.github.com/en/code-security/how-tos/secure-at-scale/configure-organization-security/manage-usage-and-access/giving-org-access-private-registries">configured private registries</a> in Default Setup to retrieve CodeQL configuration files from remote repositories that require authentication. This will allow customers to store their CodeQL configuration in a single repository that can then be referenced by Default Setup workflows in other repositories. We expect to roll this and other, related changes out to everyone in July. <a href="https://redirect.github.com/github/codeql-action/pull/4007">#4007</a></li> </ul> <h2>v4.37.1</h2> <ul> <li><em>Upcoming breaking change</em>: Add a deprecation warning for customers using CodeQL version 2.20.6 and earlier. These versions of CodeQL were discontinued on 1 July 2026 alongside GitHub Enterprise Server 3.16, and will be unsupported by the next minor release of the CodeQL Action. <a href="https://redirect.github.com/github/codeql-action/pull/3956">#3956</a></li> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.1">2.26.1</a>. <a href="https://redirect.github.com/github/codeql-action/pull/4019">#4019</a></li> </ul> <h2>v4.37.0</h2> <ul> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.0">2.26.0</a>. <a href="https://redirect.github.com/github/codeql-action/pull/3995">#3995</a></li> <li>In addition to the existing input format, the <code>config-file</code> input for the <code>codeql-action/init</code> step will soon support a new <code>[owner/]repo[@ref][:path]</code> format. All components except the repository name are optional. If omitted, <code>owner</code> defaults to the same owner as the repository the analysis is running for, <code>ref</code> to <code>main</code>, and <code>path</code> to <code>.github/codeql-action.yaml</code>. Support for this format ships in this version of the CodeQL Action, but will only be enabled over the coming weeks. <a href="https://redirect.github.com/github/codeql-action/pull/3973">#3973</a></li> </ul> <h2>v4.36.3</h2> <p>No user facing changes.</p> <h2>v4.36.2</h2> <ul> <li>Cache CodeQL CLI version information across Actions steps. <a href="https://redirect.github.com/github/codeql-action/pull/3943">#3943</a></li> <li>Reduce requests while waiting for analysis processing by using exponential backoff when polling SARIF processing status. <a href="https://redirect.github.com/github/codeql-action/pull/3937">#3937</a></li> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.6">2.25.6</a>. <a href="https://redirect.github.com/github/codeql-action/pull/3948">#3948</a></li> </ul> <h2>v4.36.1</h2> <p>No user facing changes.</p> <h2>v4.36.0</h2> <ul> <li><em>Breaking change</em>: Bump the minimum required CodeQL bundle version to 2.19.4. <a href="https://redirect.github.com/github/codeql-action/pull/3894">#3894</a></li> <li>Add support for SHA-256 Git object IDs. <a href="https://redirect.github.com/github/codeql-action/pull/3893">#3893</a></li> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.5">2.25.5</a>. <a href="https://redirect.github.com/github/codeql-action/pull/3926">#3926</a></li> </ul> <h2>v4.35.5</h2> <ul> <li>We have improved how the JavaScript bundles for the CodeQL Action are generated to avoid duplication across bundles and reduce the size of the repository by around 70%. This should have no effect on the runtime behaviour of the CodeQL Action. <a href="https://redirect.github.com/github/codeql-action/pull/3899">#3899</a></li> <li>For performance and accuracy reasons, <a href="https://redirect.github.com/github/roadmap/issues/1158">improved incremental analysis</a> will now only be enabled on a pull request when diff-informed analysis is also enabled for that run. If diff-informed analysis is unavailable (for example, because the PR diff ranges could not be computed), the action will fall back to a full analysis. <a href="https://redirect.github.com/github/codeql-action/pull/3791">#3791</a></li> <li>If multiple inputs are provided for the GitHub-internal <code>analysis-kinds</code> input, only <code>code-scanning</code> will be enabled. The <code>analysis-kinds</code> input is experimental, for GitHub-internal use only, and may change without notice at any time. <a href="https://redirect.github.com/github/codeql-action/pull/3892">#3892</a></li> <li>Added an experimental change which, when running a Code Scanning analysis for a PR with <a href="https://redirect.github.com/github/roadmap/issues/1158">improved incremental analysis</a> enabled, prefers CodeQL CLI versions that have a cached overlay-base database for the configured languages. This speeds up analysis for a repository when there is not yet a cached overlay-base database for the latest CLI version. We expect to roll this change out to everyone in May. <a href="https://redirect.github.com/github/codeql-action/pull/3880">#3880</a></li> </ul> <h2>v4.35.4</h2> <ul> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.4">2.25.4</a>. <a href="https://redirect.github.com/github/codeql-action/pull/3881">#3881</a></li> </ul> <h2>v4.35.3</h2> <ul> <li><em>Upcoming breaking change</em>: Add a deprecation warning for customers using CodeQL version 2.19.3 and earlier. These versions of CodeQL were discontinued on 9 April 2026 alongside GitHub Enterprise Server 3.15, and will be unsupported by the next minor release of the CodeQL Action. <a href="https://redirect.github.com/github/codeql-action/pull/3837">#3837</a></li> <li>Configurations for private registries that use Cloudsmith or GCP OIDC are now accepted. <a href="https://redirect.github.com/github/codeql-action/pull/3850">#3850</a></li> <li>Best-effort connection tests for private registries now use <code>GET</code> requests instead of <code>HEAD</code> for better compatibility with various registry implementations. For NuGet feeds, the test is now always performed against the service index. <a href="https://redirect.github.com/github/codeql-action/pull/3853">#3853</a></li> <li>Fixed a bug where two diagnostics produced within the same millisecond could overwrite each other on disk, causing one of them to be lost. <a href="https://redirect.github.com/github/codeql-action/pull/3852">#3852</a></li> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.3">2.25.3</a>. <a href="https://redirect.github.com/github/codeql-action/pull/3865">#3865</a></li> </ul> <h2>v4.35.2</h2> <ul> <li>The undocumented TRAP cache cleanup feature that could be enabled using the <code>CODEQL_ACTION_CLEANUP_TRAP_CACHES</code> environment variable is deprecated and will be removed in May 2026. If you are affected by this, we recommend disabling TRAP caching by passing the <code>trap-caching: false</code> input to the <code>init</code> Action. <a href="https://redirect.github.com/github/codeql-action/pull/3795">#3795</a></li> <li>The Git version 2.36.0 requirement for improved incremental analysis now only applies to repositories that contain submodules. <a href="https://redirect.github.com/github/codeql-action/pull/3789">#3789</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/github/codeql-action/blob/main/CHANGELOG.md">github/codeql-action's changelog</a>.</em></p> <blockquote> <h2>4.37.3 - 22 Jul 2026</h2> <p>No user facing changes.</p> <h2>4.37.2 - 21 Jul 2026</h2> <ul> <li>The new address format for the <code>config-file</code> input that was introduced in CodeQL Action 4.37.0 is now enabled by default. In addition to the format described there, the <code>remote=</code> prefix can now be used to explicitly indicate that the input refers to a remote file. All previous input formats continue to be accepted as well. <a href="https://redirect.github.com/github/codeql-action/pull/4023">#4023</a></li> <li>The CodeQL Action can now make use of <a href="https://docs.github.com/en/code-security/how-tos/secure-at-scale/configure-organization-security/manage-usage-and-access/giving-org-access-private-registries">configured private registries</a> in Default Setup to retrieve CodeQL configuration files from remote repositories that require authentication. This will allow customers to store their CodeQL configuration in a single repository that can then be referenced by Default Setup workflows in other repositories. We expect to roll this and other, related changes out to everyone in July. <a href="https://redirect.github.com/github/codeql-action/pull/4007">#4007</a></li> </ul> <h2>4.37.1 - 16 Jul 2026</h2> <ul> <li><em>Upcoming breaking change</em>: Add a deprecation warning for customers using CodeQL version 2.20.6 and earlier. These versions of CodeQL were discontinued on 1 July 2026 alongside GitHub Enterprise Server 3.16, and will be unsupported by the next minor release of the CodeQL Action. <a href="https://redirect.github.com/github/codeql-action/pull/3956">#3956</a></li> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.1">2.26.1</a>. <a href="https://redirect.github.com/github/codeql-action/pull/4019">#4019</a></li> </ul> <h2>4.37.0 - 08 Jul 2026</h2> <ul> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.0">2.26.0</a>. <a href="https://redirect.github.com/github/codeql-action/pull/3995">#3995</a></li> <li>In addition to the existing input format, the <code>config-file</code> input for the <code>codeql-action/init</code> step will soon support a new <code>[owner/]repo[@ref][:path]</code> format. All components except the repository name are optional. If omitted, <code>owner</code> defaults to the same owner as the repository the analysis is running for, <code>ref</code> to <code>main</code>, and <code>path</code> to <code>.github/codeql-action.yaml</code>. Support for this format ships in this version of the CodeQL Action, but will only be enabled over the coming weeks. <a href="https://redirect.github.com/github/codeql-action/pull/3973">#3973</a></li> </ul> <h2>4.36.3 - 01 Jul 2026</h2> <p>No user facing changes.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/github/codeql-action/commit/e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81"><code>e4fba86</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/4031">#4031</a> from github/update-v4.37.3-72f6a9da0</li> <li><a href="https://github.com/github/codeql-action/commit/fb50ab5d62a274adf3ef3e22cfe750ae87a0ede7"><code>fb50ab5</code></a> Update changelog for v4.37.3</li> <li><a href="https://github.com/github/codeql-action/commit/72f6a9da0def52d9193d6a758f0378b65091f8d1"><code>72f6a9d</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/4030">#4030</a> from github/mbg/fix/no-proxy</li> <li><a href="https://github.com/github/codeql-action/commit/3b5ee58597653d9cc6785f3f1277f796d81f3646"><code>3b5ee58</code></a> Use default <code>request</code> options instead of <code>undefined</code></li> <li><a href="https://github.com/github/codeql-action/commit/bfb6be4b5ecd3650f02f530571453e8c64ef0778"><code>bfb6be4</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/4028">#4028</a> from github/mergeback/v4.37.2-to-main-e0647621</li> <li><a href="https://github.com/github/codeql-action/commit/526ab84f9858816d9cf5f7b9df4dd5e2235f0eba"><code>526ab84</code></a> Rebuild</li> <li><a href="https://github.com/github/codeql-action/commit/d6217b9b8c14166e4851db94c11155d03bd13c07"><code>d6217b9</code></a> Update changelog and version after v4.37.2</li> <li><a href="https://github.com/github/codeql-action/commit/e0647621c2984b5ed2f768cb892365bf2a616ad1"><code>e064762</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/4027">#4027</a> from github/update-v4.37.2-385bcdc5a</li> <li><a href="https://github.com/github/codeql-action/commit/e0faed839190caa67a5cd42f1cc16246028ca3df"><code>e0faed8</code></a> Add a couple of change notes</li> <li><a href="https://github.com/github/codeql-action/commit/73aad0eaa9df172668665a150d17b8bc5a650c20"><code>73aad0e</code></a> Update changelog for v4.37.2</li> <li>Additional commits viewable in <a href="https://github.com/github/codeql-action/compare/v4...v4.37.3">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 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 [fast-uri](https://github.com/fastify/fast-uri) from 3.1.4 to 3.1.5. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/fastify/fast-uri/releases">fast-uri's releases</a>.</em></p> <blockquote> <h2>v3.1.5</h2> <h2>⚠️ Security Warning</h2> <p>Fix for <a href="https://github.com/fastify/fast-uri/security/advisories/GHSA-7p8r-x3mc-p8w7">https://github.com/fastify/fast-uri/security/advisories/GHSA-7p8r-x3mc-p8w7</a></p> <p><strong>Full Changelog</strong>: <a href="https://github.com/fastify/fast-uri/compare/v3.1.4...v3.1.5">https://github.com/fastify/fast-uri/compare/v3.1.4...v3.1.5</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/fastify/fast-uri/commit/5e179cbb4636d5f773ed21126e5bd3068e87e94e"><code>5e179cb</code></a> Bumped v3.1.5</li> <li><a href="https://github.com/fastify/fast-uri/commit/2cad02d6ed428a720499bb7a3c3d6c3d41f10f5a"><code>2cad02d</code></a> Merge commit from fork</li> <li>See full diff in <a href="https://github.com/fastify/fast-uri/compare/v3.1.4...v3.1.5">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 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>
## Summary Adds GDPR classifications for the Pyrefly shadow telemetry introduced by microsoft/pyrx#9077. - Declares the paired-request, shadow lifecycle, child lifecycle, sampling, and type-server child lifecycle events. - Adds the Pyrefly shadow health properties to `language_server.crash`. - Adds `pyreflyextensioninstalled` to the existing `pyrefly.detection` declaration. All fields are closed-set system metadata used for feature insight or performance and health analysis. Duration and counter fields are marked as measurements. ## Testing Not run (GDPR metadata-only change). Copilot-Session: f79da128-47e2-4a55-854d-0cf09f4673ad
…#26112) ## Summary - skip Conda environment placeholders that do not contain a Python interpreter - isolate EnvExt conversion failures per item so one unsupported environment cannot discard later valid environments in the same update batch - harden active-interpreter conversion and use consistent executable identity when removing environments from the compatibility collection - add focused coverage for discovery, active-environment, removal, and refresh flows Fixes microsoft/vscode-python-environments#1681 Related to microsoft/vscode-python-environments#1671 ## Context The Python Environments extension can discover and manage Conda environments that do not currently have Python installed. It intentionally exposes those entries to its Environment Manager UI as placeholders: ```text name: empty-env version: no-python run executable: conda ``` That is useful in the management UI, but the entry is not a selectable Python interpreter. Users reported that PET and Environment Manager showed every Conda environment while both `Python: Select Interpreter` and Jupyter's Python-environment kernel picker showed only System Python and the current project environment. Both users confirmed that Python was delegating discovery to the Python Environments extension, ruling out the legacy discovery path. One user then performed a reversible A/B test: 1. with a no-Python Conda environment under `miniconda3/envs`, Python and Jupyter omitted the other valid Conda environments 2. moving that unchanged directory outside `envs` and reloading restored both pickers 3. moving it back and reloading reproduced the failure ## Root cause `src/client/envExt/envExtApi.ts` translates Python Environments API objects into the legacy `PythonEnvInfo` format consumed by Python and Jupyter. The adapter previously parsed every version unconditionally: ```ts parseVersion(pythonEnv.version) ``` `parseVersion('no-python')` throws `invalid version no-python`. Environment-list changes arrive as a batch and were processed by an unguarded `forEach`. When the no-Python placeholder appeared before valid Conda environments, its conversion exception aborted the callback, so every valid item later in that batch was lost: ```text no-python placeholder -> throws valid Conda A -> never processed valid Conda B -> never processed ``` System environments arrive through a separate valid batch, and individually resolved/current environments can use separate paths, explaining the restricted list users observed. Refresh did not self-heal because each Conda refresh sent another batch containing the same placeholder and failed at the same conversion point. ## Fix ### Safe version conversion A shared EnvExt conversion helper now: - treats the expected `no-python` sentinel as a non-interpreter and skips it at debug log level - catches and logs unexpected malformed version strings instead of throwing into callers Both discovery-list conversion and active-interpreter compatibility conversion use this boundary. ### Per-item fault isolation Every environment-list change is processed independently. A malformed runtime item is logged and skipped without preventing later valid items from reaching Python/Jupyter. Active-environment events are emitted only when every supplied side can be converted, avoiding synthetic partial clear/set transitions while preserving normal valid set, clear, and change behavior. ### Consistent removal identity Adds are keyed by the Python executable path. Removals now derive the same executable identity from the source environment. Previously Conda removals used the environment prefix, so they generally could not remove an entry stored by interpreter executable. ## Behavior and compatibility | Scenario | Result | | --- | --- | | Conda environment without Python | remains visible/manageable in Environment Manager; omitted from Python/Jupyter interpreter lists | | Valid Conda, venv, system, Poetry, Pipenv, Pyenv environments | same conversion and picker behavior as before | | No-Python item before valid items in a batch | placeholder skipped; all valid later items retained | | Unexpected malformed provider item | logged and isolated; later items continue | | Valid active environment set/change/clear | unchanged | | Invalid active environment | ignored instead of throwing | | Conda refresh remove/add batch | old executable entries removed and valid refreshed entries restored | The valid hot path adds only a helper call and the existing version parse. There are no new filesystem operations, environment discovery calls, or background tasks. ## Tests New adapter coverage includes: - `[no-python, valid, valid]` batch handling - malformed version in the middle of a batch - structurally malformed event followed by a valid item - no-Python and partially invalid active-environment events - valid active set/change/clear events - Conda removal by executable identity - refresh batches containing removals, a no-Python placeholder, and valid additions - the actual `triggerRefresh()` path - active-interpreter resolution for no-Python and malformed versions Validation performed: - `gulp compile` - full repository ESLint - focused EnvExt tests: **14 passing** - 24 downstream EnvExt/interpreter-selector/interpreter/environment-API test files: **345 passing, 1 expected pending** - full unit suite: **5,178 passing, 34 pending**; the remaining 10 failures are pre-existing/unrelated Windows PATH-casing assertions and native PET timeouts in untouched suites The complete diff also went through two code-review passes and a design-focused review; no production issues remained after addressing malformed-event and active set/clear coverage. ## Follow-up The EnvExt adapter currently relies on change events rather than hydrating an authoritative initial snapshot. That is a separate resilience concern; this PR intentionally targets the user-confirmed `no-python` batch-abort failure. --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 2f537bc5-b389-4ee2-aac2-e2b83be47f5c
Fixes microsoft#25577 <img width="1300" height="485" alt="image" src="https://github.com/user-attachments/assets/11faa8d3-d5ce-4057-acdf-3a70775dc784" /> This pull request makes a small change to the logic that configures the Python startup environment. The setting of the `PYTHON_BASIC_REPL` environment variable has been removed, so the extension will no longer explicitly disable PyREPL from CPython when shell integration is enabled. - Removed the line that set the `PYTHON_BASIC_REPL` environment variable in `applyPythonStartupSetting`, which previously disabled PyREPL when shell integration was enabled. --------- Copilot-Session: d598cbab-c8ac-496d-9757-ac98a8c9846f
Bumps and [brace-expansion](https://github.com/juliangruber/brace-expansion). These dependencies needed to be updated together. Updates `brace-expansion` from 1.1.13 to 1.1.18 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/juliangruber/brace-expansion/releases">brace-expansion's releases</a>.</em></p> <blockquote> <h2>v1.1.15</h2> <ul> <li>Backport v5.0.6 change to v1 (<a href="https://redirect.github.com/juliangruber/brace-expansion/issues/111">#111</a>) 0b09384</li> </ul> <hr /> <p><a href="https://github.com/juliangruber/brace-expansion/compare/v1.1.14...v1.1.15">https://github.com/juliangruber/brace-expansion/compare/v1.1.14...v1.1.15</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/juliangruber/brace-expansion/commit/758fcd6d188a95c2342818519c77b8c06794552b"><code>758fcd6</code></a> 1.1.18</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/27fbeed22b4fdf2c5f732f66bcf84d43f4a26c6e"><code>27fbeed</code></a> Merge commit from fork</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/5c57cc2519dfb067e188b7cb0733fffbd02946bf"><code>5c57cc2</code></a> 1.1.17</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/d757f1dde7808bcbcd7a4628ab913e5185ed3d57"><code>d757f1d</code></a> npm ignore <code>.claude</code></li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/cb4b9e47cc2ec777c14b2b4492fb431a56f6a031"><code>cb4b9e4</code></a> fix: backport GHSA-mh99-v99m-4gvg (<a href="https://redirect.github.com/juliangruber/brace-expansion/issues/129">#129</a>)</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/447763a91a613cfa67ac73096cbc1de9a2304f97"><code>447763a</code></a> 1.1.16</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/d74e63030c012e3b7ae81657b8d665619cd51b95"><code>d74e630</code></a> fix: v1 backport for CVE-2026-13149 (<a href="https://redirect.github.com/juliangruber/brace-expansion/issues/122">#122</a>)</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/2203f4f4895eba16c4d408b4219ce1b8e5f6ff24"><code>2203f4f</code></a> 1.1.15</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/0b0938410732370559704230724ca4a44d1b29fd"><code>0b09384</code></a> Backport v5.0.6 change to v1 (<a href="https://redirect.github.com/juliangruber/brace-expansion/issues/111">#111</a>)</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/10c05fcf3699b1a29ef5e611c011af3d3c97e6e3"><code>10c05fc</code></a> 1.1.14</li> <li>Additional commits viewable in <a href="https://github.com/juliangruber/brace-expansion/compare/v1.1.13...v1.1.18">compare view</a></li> </ul> </details> <br /> Updates `brace-expansion` from 2.0.3 to 2.1.4 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/juliangruber/brace-expansion/releases">brace-expansion's releases</a>.</em></p> <blockquote> <h2>v1.1.15</h2> <ul> <li>Backport v5.0.6 change to v1 (<a href="https://redirect.github.com/juliangruber/brace-expansion/issues/111">#111</a>) 0b09384</li> </ul> <hr /> <p><a href="https://github.com/juliangruber/brace-expansion/compare/v1.1.14...v1.1.15">https://github.com/juliangruber/brace-expansion/compare/v1.1.14...v1.1.15</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/juliangruber/brace-expansion/commit/758fcd6d188a95c2342818519c77b8c06794552b"><code>758fcd6</code></a> 1.1.18</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/27fbeed22b4fdf2c5f732f66bcf84d43f4a26c6e"><code>27fbeed</code></a> Merge commit from fork</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/5c57cc2519dfb067e188b7cb0733fffbd02946bf"><code>5c57cc2</code></a> 1.1.17</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/d757f1dde7808bcbcd7a4628ab913e5185ed3d57"><code>d757f1d</code></a> npm ignore <code>.claude</code></li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/cb4b9e47cc2ec777c14b2b4492fb431a56f6a031"><code>cb4b9e4</code></a> fix: backport GHSA-mh99-v99m-4gvg (<a href="https://redirect.github.com/juliangruber/brace-expansion/issues/129">#129</a>)</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/447763a91a613cfa67ac73096cbc1de9a2304f97"><code>447763a</code></a> 1.1.16</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/d74e63030c012e3b7ae81657b8d665619cd51b95"><code>d74e630</code></a> fix: v1 backport for CVE-2026-13149 (<a href="https://redirect.github.com/juliangruber/brace-expansion/issues/122">#122</a>)</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/2203f4f4895eba16c4d408b4219ce1b8e5f6ff24"><code>2203f4f</code></a> 1.1.15</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/0b0938410732370559704230724ca4a44d1b29fd"><code>0b09384</code></a> Backport v5.0.6 change to v1 (<a href="https://redirect.github.com/juliangruber/brace-expansion/issues/111">#111</a>)</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/10c05fcf3699b1a29ef5e611c011af3d3c97e6e3"><code>10c05fc</code></a> 1.1.14</li> <li>Additional commits viewable in <a href="https://github.com/juliangruber/brace-expansion/compare/v1.1.13...v1.1.18">compare view</a></li> </ul> </details> <br /> Updates `brace-expansion` from 5.0.6 to 5.0.9 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/juliangruber/brace-expansion/releases">brace-expansion's releases</a>.</em></p> <blockquote> <h2>v1.1.15</h2> <ul> <li>Backport v5.0.6 change to v1 (<a href="https://redirect.github.com/juliangruber/brace-expansion/issues/111">#111</a>) 0b09384</li> </ul> <hr /> <p><a href="https://github.com/juliangruber/brace-expansion/compare/v1.1.14...v1.1.15">https://github.com/juliangruber/brace-expansion/compare/v1.1.14...v1.1.15</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/juliangruber/brace-expansion/commit/758fcd6d188a95c2342818519c77b8c06794552b"><code>758fcd6</code></a> 1.1.18</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/27fbeed22b4fdf2c5f732f66bcf84d43f4a26c6e"><code>27fbeed</code></a> Merge commit from fork</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/5c57cc2519dfb067e188b7cb0733fffbd02946bf"><code>5c57cc2</code></a> 1.1.17</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/d757f1dde7808bcbcd7a4628ab913e5185ed3d57"><code>d757f1d</code></a> npm ignore <code>.claude</code></li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/cb4b9e47cc2ec777c14b2b4492fb431a56f6a031"><code>cb4b9e4</code></a> fix: backport GHSA-mh99-v99m-4gvg (<a href="https://redirect.github.com/juliangruber/brace-expansion/issues/129">#129</a>)</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/447763a91a613cfa67ac73096cbc1de9a2304f97"><code>447763a</code></a> 1.1.16</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/d74e63030c012e3b7ae81657b8d665619cd51b95"><code>d74e630</code></a> fix: v1 backport for CVE-2026-13149 (<a href="https://redirect.github.com/juliangruber/brace-expansion/issues/122">#122</a>)</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/2203f4f4895eba16c4d408b4219ce1b8e5f6ff24"><code>2203f4f</code></a> 1.1.15</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/0b0938410732370559704230724ca4a44d1b29fd"><code>0b09384</code></a> Backport v5.0.6 change to v1 (<a href="https://redirect.github.com/juliangruber/brace-expansion/issues/111">#111</a>)</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/10c05fcf3699b1a29ef5e611c011af3d3c97e6e3"><code>10c05fc</code></a> 1.1.14</li> <li>Additional commits viewable in <a href="https://github.com/juliangruber/brace-expansion/compare/v1.1.13...v1.1.18">compare view</a></li> </ul> </details> <br /> Updates `brace-expansion` from 5.0.7 to 5.0.9 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/juliangruber/brace-expansion/releases">brace-expansion's releases</a>.</em></p> <blockquote> <h2>v1.1.15</h2> <ul> <li>Backport v5.0.6 change to v1 (<a href="https://redirect.github.com/juliangruber/brace-expansion/issues/111">#111</a>) 0b09384</li> </ul> <hr /> <p><a href="https://github.com/juliangruber/brace-expansion/compare/v1.1.14...v1.1.15">https://github.com/juliangruber/brace-expansion/compare/v1.1.14...v1.1.15</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/juliangruber/brace-expansion/commit/758fcd6d188a95c2342818519c77b8c06794552b"><code>758fcd6</code></a> 1.1.18</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/27fbeed22b4fdf2c5f732f66bcf84d43f4a26c6e"><code>27fbeed</code></a> Merge commit from fork</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/5c57cc2519dfb067e188b7cb0733fffbd02946bf"><code>5c57cc2</code></a> 1.1.17</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/d757f1dde7808bcbcd7a4628ab913e5185ed3d57"><code>d757f1d</code></a> npm ignore <code>.claude</code></li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/cb4b9e47cc2ec777c14b2b4492fb431a56f6a031"><code>cb4b9e4</code></a> fix: backport GHSA-mh99-v99m-4gvg (<a href="https://redirect.github.com/juliangruber/brace-expansion/issues/129">#129</a>)</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/447763a91a613cfa67ac73096cbc1de9a2304f97"><code>447763a</code></a> 1.1.16</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/d74e63030c012e3b7ae81657b8d665619cd51b95"><code>d74e630</code></a> fix: v1 backport for CVE-2026-13149 (<a href="https://redirect.github.com/juliangruber/brace-expansion/issues/122">#122</a>)</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/2203f4f4895eba16c4d408b4219ce1b8e5f6ff24"><code>2203f4f</code></a> 1.1.15</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/0b0938410732370559704230724ca4a44d1b29fd"><code>0b09384</code></a> Backport v5.0.6 change to v1 (<a href="https://redirect.github.com/juliangruber/brace-expansion/issues/111">#111</a>)</li> <li><a href="https://github.com/juliangruber/brace-expansion/commit/10c05fcf3699b1a29ef5e611c011af3d3c97e6e3"><code>10c05fc</code></a> 1.1.14</li> <li>Additional commits viewable in <a href="https://github.com/juliangruber/brace-expansion/compare/v1.1.13...v1.1.18">compare view</a></li> </ul> </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 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> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: rzhao271 <7199958+rzhao271@users.noreply.github.com>
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.37.3 to 4.37.9. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/github/codeql-action/releases">github/codeql-action's releases</a>.</em></p> <blockquote> <h2>v4.37.9</h2> <ul> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.4">2.26.4</a>. <a href="https://redirect.github.com/github/codeql-action/pull/4106">#4106</a></li> </ul> <h2>v4.37.8</h2> <p>No user facing changes.</p> <h2>v4.37.7</h2> <ul> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.3">2.26.3</a>. <a href="https://redirect.github.com/github/codeql-action/pull/4085">#4085</a></li> </ul> <h2>v4.37.6</h2> <ul> <li>Changed the default filepath for the new remote file address format that was introduced in CodeQL Action 4.37.0 / 3.37.0 to <code>.github/codeql-config.yml</code> to align it with the suggested path that is used elsewhere. <a href="https://redirect.github.com/github/codeql-action/pull/4070">#4070</a></li> </ul> <h2>v4.37.5</h2> <ul> <li>Fixed a bug where a network error while streaming the download of the CodeQL bundle could terminate the <code>init</code> Action instead of falling back to downloading the bundle before extracting it. <a href="https://redirect.github.com/github/codeql-action/pull/4061">#4061</a></li> </ul> <h2>v4.37.4</h2> <ul> <li>This version of the CodeQL Action adds support for the <code>tools</code> input for the <code>codeql-action/init</code> step to be specified using a <code>github-codeql-tools</code> <a href="https://docs.github.com/en/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization">repository property</a>. This feature will gradually be rolled out following the release of this version. Once rolled out, this allows for the CodeQL CLI version that is used in GitHub-managed workflows, such as Default Setup, to be set to a custom value. For example, customers who run into issues with rate limits when a new CodeQL CLI version is released can set the value to <code>toolcache</code> to always use the CodeQL CLI version that is available in the runner toolcache. For Advanced Setup workflows, the value provided for <code>tools</code> in the workflow definition always takes precedence unless the value of the repository property starts with <code>!</code>. <a href="https://redirect.github.com/github/codeql-action/pull/4037">#4037</a></li> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.2">2.26.2</a>. <a href="https://redirect.github.com/github/codeql-action/pull/4051">#4051</a></li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/github/codeql-action/blob/main/CHANGELOG.md">github/codeql-action's changelog</a>.</em></p> <blockquote> <h2>4.37.9 - 26 Aug 2026</h2> <ul> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.4">2.26.4</a>. <a href="https://redirect.github.com/github/codeql-action/pull/4106">#4106</a></li> </ul> <h2>4.37.8 - 21 Aug 2026</h2> <p>No user facing changes.</p> <h2>4.37.7 - 13 Aug 2026</h2> <ul> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.3">2.26.3</a>. <a href="https://redirect.github.com/github/codeql-action/pull/4085">#4085</a></li> </ul> <h2>4.37.6 - 04 Aug 2026</h2> <ul> <li>Changed the default filepath for the new remote file address format that was introduced in CodeQL Action 4.37.0 / 3.37.0 to <code>.github/codeql-config.yml</code> to align it with the suggested path that is used elsewhere. <a href="https://redirect.github.com/github/codeql-action/pull/4070">#4070</a></li> </ul> <h2>4.37.5 - 03 Aug 2026</h2> <ul> <li>Fixed a bug where a network error while streaming the download of the CodeQL bundle could terminate the <code>init</code> Action instead of falling back to downloading the bundle before extracting it. <a href="https://redirect.github.com/github/codeql-action/pull/4061">#4061</a></li> </ul> <h2>4.37.4 - 29 Jul 2026</h2> <ul> <li>This version of the CodeQL Action adds support for the <code>tools</code> input for the <code>codeql-action/init</code> step to be specified using a <code>github-codeql-tools</code> <a href="https://docs.github.com/en/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization">repository property</a>. This feature will gradually be rolled out following the release of this version. Once rolled out, this allows for the CodeQL CLI version that is used in GitHub-managed workflows, such as Default Setup, to be set to a custom value. For example, customers who run into issues with rate limits when a new CodeQL CLI version is released can set the value to <code>toolcache</code> to always use the CodeQL CLI version that is available in the runner toolcache. For Advanced Setup workflows, the value provided for <code>tools</code> in the workflow definition always takes precedence unless the value of the repository property starts with <code>!</code>. <a href="https://redirect.github.com/github/codeql-action/pull/4037">#4037</a></li> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.2">2.26.2</a>. <a href="https://redirect.github.com/github/codeql-action/pull/4051">#4051</a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/github/codeql-action/commit/cdf488f595d80d6e07e03d4674febd5ab45fa938"><code>cdf488f</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/4107">#4107</a> from github/update-v4.37.9-920ba7cd1</li> <li><a href="https://github.com/github/codeql-action/commit/7243f38558d187dde99730d224bb47aa26a95306"><code>7243f38</code></a> Update changelog for v4.37.9</li> <li><a href="https://github.com/github/codeql-action/commit/920ba7cd1596037e042122c00381eb16b397d68e"><code>920ba7c</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/4106">#4106</a> from github/update-bundle/codeql-bundle-v2.26.4</li> <li><a href="https://github.com/github/codeql-action/commit/ecfa6e16817b8f490bc9a59baa391baf4fa3e3c2"><code>ecfa6e1</code></a> Add changelog note</li> <li><a href="https://github.com/github/codeql-action/commit/adcdf4a70d247343cf9c29e0f7a6658b51c3a2b1"><code>adcdf4a</code></a> Update default bundle to codeql-bundle-v2.26.4</li> <li><a href="https://github.com/github/codeql-action/commit/486fec2a3ea2626afcd8c7e9208b4f515078dd7e"><code>486fec2</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/4099">#4099</a> from github/update-supported-enterprise-server-versions</li> <li><a href="https://github.com/github/codeql-action/commit/134624c67b20869c2aaa36dafa726375b78a5d76"><code>134624c</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/4101">#4101</a> from github/dependabot/npm_and_yarn/npm-minor-457d82...</li> <li><a href="https://github.com/github/codeql-action/commit/ff43db8f982a368288f117354fb8d046e937124c"><code>ff43db8</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/4103">#4103</a> from github/mergeback/v4.37.8-to-main-db488dde</li> <li><a href="https://github.com/github/codeql-action/commit/4605e03a74cf891614c4d76f82384a16c1c11816"><code>4605e03</code></a> Rebuild</li> <li><a href="https://github.com/github/codeql-action/commit/099c869cad6bf3b88657154d4ae47ffed27e632d"><code>099c869</code></a> Update changelog and version after v4.37.8</li> <li>Additional commits viewable in <a href="https://github.com/github/codeql-action/compare/v4.37.3...v4.37.9">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 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>
…6133) Bumps [serialize-javascript](https://github.com/yahoo/serialize-javascript) to 7.1.1 and updates ancestor dependencies [serialize-javascript](https://github.com/yahoo/serialize-javascript), [copy-webpack-plugin](https://github.com/webpack/copy-webpack-plugin) and [mocha](https://github.com/mochajs/mocha). These dependencies need to be updated together. Updates `serialize-javascript` from 6.0.2 to 7.1.1 <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>v7.1.1</h2> <h2>What's Changed</h2> <ul> <li>fix: fix XSS bypass via split <code></script</code> payload across function bodies by <a href="https://github.com/okuryu"><code>@okuryu</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/226">yahoo/serialize-javascript#226</a></li> <li>release: v7.1.1 by <a href="https://github.com/okuryu"><code>@okuryu</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/227">yahoo/serialize-javascript#227</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/yahoo/serialize-javascript/compare/v7.1.0...v7.1.1">https://github.com/yahoo/serialize-javascript/compare/v7.1.0...v7.1.1</a></p> <h2>v7.1.0</h2> <h2>What's Changed</h2> <ul> <li>feat: add Node.js 26 to test matrix by <a href="https://github.com/okuryu"><code>@okuryu</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/224">yahoo/serialize-javascript#224</a></li> <li>release: v7.1.0 by <a href="https://github.com/okuryu"><code>@okuryu</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/225">yahoo/serialize-javascript#225</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/yahoo/serialize-javascript/compare/v7.0.7...v7.1.0">https://github.com/yahoo/serialize-javascript/compare/v7.0.7...v7.1.0</a></p> <h2>v7.0.7</h2> <h2>What's Changed</h2> <ul> <li>fix: reject spoofed RegExp objects with non-string source property by <a href="https://github.com/redonkulus"><code>@redonkulus</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/222">yahoo/serialize-javascript#222</a></li> <li>release: v7.0.7 by <a href="https://github.com/okuryu"><code>@okuryu</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/223">yahoo/serialize-javascript#223</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/yahoo/serialize-javascript/compare/v7.0.6...v7.0.7">https://github.com/yahoo/serialize-javascript/compare/v7.0.6...v7.0.7</a></p> <h2>v7.0.6</h2> <h2>What's Changed</h2> <ul> <li>build(deps-dev): bump lodash from 4.17.23 to 4.18.1 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/215">yahoo/serialize-javascript#215</a></li> <li>fix: reject spoofed URL objects with non-string toString() result by <a href="https://github.com/redonkulus"><code>@redonkulus</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/217">yahoo/serialize-javascript#217</a></li> <li>release: v7.0.6 by <a href="https://github.com/okuryu"><code>@okuryu</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/221">yahoo/serialize-javascript#221</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/yahoo/serialize-javascript/compare/v7.0.5...v7.0.6">https://github.com/yahoo/serialize-javascript/compare/v7.0.5...v7.0.6</a></p> <h2>v7.0.5</h2> <h3>Fixes</h3> <ul> <li>Improve robustness and validation for array-like object serialization.</li> <li>Fix an issue where certain object structures could lead to excessive CPU usage.</li> </ul> <p>For more details, please see GHSA-qj8w-gfj5-8c6v.</p> <h2>v7.0.4</h2> <h2>What's Changed</h2> <ul> <li>release: v7.0.4 by <a href="https://github.com/okuryu"><code>@okuryu</code></a> in <a href="https://redirect.github.com/yahoo/serialize-javascript/pull/211">yahoo/serialize-javascript#211</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/yahoo/serialize-javascript/compare/v7.0.3...v7.0.4">https://github.com/yahoo/serialize-javascript/compare/v7.0.3...v7.0.4</a></p> <h2>v7.0.3</h2> <ul> <li>fix(CVE-2020-7660): fix for RegExp.flags and Date.prototype.toISOString (<a href="https://redirect.github.com/yahoo/serialize-javascript/issues/207">#207</a>) 2e609d0</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/yahoo/serialize-javascript/commit/8c8caa7066a52106fa719c6abb5dc69858c9f799"><code>8c8caa7</code></a> release: v7.1.1</li> <li><a href="https://github.com/yahoo/serialize-javascript/commit/ffda9f11d946f2d161471340f92ac0b7a7208449"><code>ffda9f1</code></a> fix: fix XSS bypass via split <code></script</code> payload across function bodies</li> <li><a href="https://github.com/yahoo/serialize-javascript/commit/739145a671afd4b81a416e15888f8f5e637d08d6"><code>739145a</code></a> release: v7.1.0</li> <li><a href="https://github.com/yahoo/serialize-javascript/commit/57865edc0f3ae4fcc3c649bbb135122303519c11"><code>57865ed</code></a> feat: add Node.js 26 to test matrix</li> <li><a href="https://github.com/yahoo/serialize-javascript/commit/01bec60c108143e69f6b105e443d62a13b61cbbe"><code>01bec60</code></a> release: v7.0.7</li> <li><a href="https://github.com/yahoo/serialize-javascript/commit/500971592a433239011332b7f0217aa0cb011226"><code>5009715</code></a> fix: reject spoofed RegExp objects with non-string source property</li> <li><a href="https://github.com/yahoo/serialize-javascript/commit/153eb437d45310f34f4b8414a4ac1f8658a622dd"><code>153eb43</code></a> release: v7.0.6</li> <li><a href="https://github.com/yahoo/serialize-javascript/commit/a83d2cb9e04a85726827a23c941f03177018774b"><code>a83d2cb</code></a> fix: reject spoofed URL objects with non-string toString() result</li> <li><a href="https://github.com/yahoo/serialize-javascript/commit/451af655bcf055489f39a2629673ae8f67023b90"><code>451af65</code></a> build(deps-dev): bump lodash from 4.17.23 to 4.18.1 (<a href="https://redirect.github.com/yahoo/serialize-javascript/issues/215">#215</a>)</li> <li><a href="https://github.com/yahoo/serialize-javascript/commit/df3f1c1fa9ca16b050ae893cb63ac23c91deed55"><code>df3f1c1</code></a> release: v7.0.5</li> <li>Additional commits viewable in <a href="https://github.com/yahoo/serialize-javascript/compare/v6.0.2...v7.1.1">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/~GitHub%20Actions">GitHub Actions</a>, a new releaser for serialize-javascript since your current version.</p> </details> <br /> Updates `copy-webpack-plugin` from 9.1.0 to 14.0.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/webpack/copy-webpack-plugin/releases">copy-webpack-plugin's releases</a>.</em></p> <blockquote> <h2>v14.0.0</h2> <h2><a href="https://github.com/webpack/copy-webpack-plugin/compare/v13.0.1...v14.0.0">14.0.0</a> (2026-03-02)</h2> <h3>⚠ BREAKING CHANGES</h3> <ul> <li>minimum supported <code>Node.js</code> version is <code>20.9.0</code> (<a href="https://redirect.github.com/webpack/copy-webpack-plugin/issues/819">#819</a>) (<a href="https://github.com/webpack/copy-webpack-plugin/commit/28812036cea4aa3e76e75597b0cd72eec53fe70d">2881203</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li>update <code>serialize-javascript</code> to fix security problems</li> </ul> <h2>v13.0.1</h2> <h3><a href="https://github.com/webpack-contrib/copy-webpack-plugin/compare/v13.0.0...v13.0.1">13.0.1</a> (2025-08-12)</h3> <h3>Bug Fixes</h3> <ul> <li>better handling globs for watching (<a href="https://redirect.github.com/webpack-contrib/copy-webpack-plugin/issues/808">#808</a>) (<a href="https://github.com/webpack-contrib/copy-webpack-plugin/commit/a527c8985ab1fcd32b9a581df26653268e12ce2c">a527c89</a>)</li> </ul> <h2>v13.0.0</h2> <h2><a href="https://github.com/webpack-contrib/copy-webpack-plugin/compare/v12.0.2...v13.0.0">13.0.0</a> (2025-02-27)</h2> <h3>⚠ BREAKING CHANGES</h3> <ul> <li>switch from <code>globby</code> and <code>fast-glob</code> to <code>tinyglobby</code> (<a href="https://redirect.github.com/webpack-contrib/copy-webpack-plugin/issues/795">#795</a>) (<a href="https://github.com/webpack-contrib/copy-webpack-plugin/commit/19fd937705ccb2161619e1e919f0b37b47453368">19fd937</a>)</li> </ul> <p>For more information please visit <a href="https://github.com/SuperchupuDev/tinyglobby"><code>tinyglobby</code></a>.</p> <p>The breaking change only affects the developer who used these options - <a href="https://github.com/sindresorhus/globby#gitignore"><code>gitignore</code></a> and <a href="https://github.com/sindresorhus/globby#gitignore"><code>ignoreFiles</code></a> in the <code>globOptions</code> option.</p> <p>Please migrate to the <a href="https://github.com/SuperchupuDev/tinyglobby#options"><code>ignore</code></a> option.</p> <h3>Bug Fixes</h3> <ul> <li>concurrency option is limited to files now (<a href="https://redirect.github.com/webpack-contrib/copy-webpack-plugin/issues/796">#796</a>) (<a href="https://github.com/webpack-contrib/copy-webpack-plugin/commit/d42469cfdc99a81f0f0ba97f6561f0e0db143994">d42469c</a>)</li> <li>the order of patterns provided by the developer is respected</li> </ul> <h2>v12.0.2</h2> <h3><a href="https://github.com/webpack-contrib/copy-webpack-plugin/compare/v12.0.1...v12.0.2">12.0.2</a> (2024-01-17)</h3> <h3>Bug Fixes</h3> <ul> <li>improve perf (<a href="https://redirect.github.com/webpack-contrib/copy-webpack-plugin/issues/764">#764</a>) (<a href="https://github.com/webpack-contrib/copy-webpack-plugin/commit/a7379a9907b78e27b9fa44b474fd2a35671d806d">a7379a9</a>)</li> </ul> <h2>v12.0.1</h2> <h3><a href="https://github.com/webpack-contrib/copy-webpack-plugin/compare/v12.0.0...v12.0.1">12.0.1</a> (2024-01-11)</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/webpack/copy-webpack-plugin/blob/main/CHANGELOG.md">copy-webpack-plugin's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/webpack/copy-webpack-plugin/compare/v13.0.1...v14.0.0">14.0.0</a> (2026-03-02)</h2> <h3>⚠ BREAKING CHANGES</h3> <ul> <li>minimum supported <code>Node.js</code> version is <code>20.9.0</code> (<a href="https://redirect.github.com/webpack/copy-webpack-plugin/issues/819">#819</a>) (<a href="https://github.com/webpack/copy-webpack-plugin/commit/28812036cea4aa3e76e75597b0cd72eec53fe70d">2881203</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li>update <code>serialize-javascript</code> to fix security problems</li> </ul> <h3><a href="https://github.com/webpack-contrib/copy-webpack-plugin/compare/v13.0.0...v13.0.1">13.0.1</a> (2025-08-12)</h3> <h3>Bug Fixes</h3> <ul> <li>better handling globs for watching (<a href="https://redirect.github.com/webpack-contrib/copy-webpack-plugin/issues/808">#808</a>) (<a href="https://github.com/webpack-contrib/copy-webpack-plugin/commit/a527c8985ab1fcd32b9a581df26653268e12ce2c">a527c89</a>)</li> </ul> <h2><a href="https://github.com/webpack-contrib/copy-webpack-plugin/compare/v12.0.2...v13.0.0">13.0.0</a> (2025-02-27)</h2> <h3>⚠ BREAKING CHANGES</h3> <ul> <li>switch from <code>globby</code> and <code>fast-glob</code> to <code>tinyglobby</code> (<a href="https://redirect.github.com/webpack-contrib/copy-webpack-plugin/issues/795">#795</a>) (<a href="https://github.com/webpack-contrib/copy-webpack-plugin/commit/19fd937705ccb2161619e1e919f0b37b47453368">19fd937</a>)</li> </ul> <p>For more information please visit <a href="https://github.com/SuperchupuDev/tinyglobby"><code>tinyglobby</code></a>.</p> <p>The breaking change only affects the developer who used these options - <a href="https://github.com/sindresorhus/globby#gitignore"><code>gitignore</code></a> and <a href="https://github.com/sindresorhus/globby#gitignore"><code>ignoreFiles</code></a> in the <code>globOptions</code> option.</p> <p>Please migrate to the <a href="https://github.com/SuperchupuDev/tinyglobby#options"><code>ignore</code></a> option.</p> <h3>Bug Fixes</h3> <ul> <li>concurrency option is limited to files now (<a href="https://redirect.github.com/webpack-contrib/copy-webpack-plugin/issues/796">#796</a>) (<a href="https://github.com/webpack-contrib/copy-webpack-plugin/commit/d42469cfdc99a81f0f0ba97f6561f0e0db143994">d42469c</a>)</li> <li>the order of patterns provided by the developer is respected</li> </ul> <h3><a href="https://github.com/webpack-contrib/copy-webpack-plugin/compare/v12.0.1...v12.0.2">12.0.2</a> (2024-01-17)</h3> <h3>Bug Fixes</h3> <ul> <li>improve perf (<a href="https://redirect.github.com/webpack-contrib/copy-webpack-plugin/issues/764">#764</a>) (<a href="https://github.com/webpack-contrib/copy-webpack-plugin/commit/a7379a9907b78e27b9fa44b474fd2a35671d806d">a7379a9</a>)</li> </ul> <h3><a href="https://github.com/webpack-contrib/copy-webpack-plugin/compare/v12.0.0...v12.0.1">12.0.1</a> (2024-01-11)</h3> <h3>Bug Fixes</h3> <ul> <li>improve perf (<a href="https://redirect.github.com/webpack-contrib/copy-webpack-plugin/issues/760">#760</a>) (<a href="https://github.com/webpack-contrib/copy-webpack-plugin/commit/55036ab50357326dafdbeb7dc91c93b75796fadd">55036ab</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/webpack/copy-webpack-plugin/commit/18eb9d9fd4d01bfb886ae60ead7df184d75ba265"><code>18eb9d9</code></a> chore(release): 14.0.0</li> <li><a href="https://github.com/webpack/copy-webpack-plugin/commit/28812036cea4aa3e76e75597b0cd72eec53fe70d"><code>2881203</code></a> refactor!: minimum supported <code>Node.js</code> version is <code>20.9.0</code> (<a href="https://redirect.github.com/webpack/copy-webpack-plugin/issues/819">#819</a>)</li> <li><a href="https://github.com/webpack/copy-webpack-plugin/commit/9dc3d31182b6b240c14f38134f11960cdafda613"><code>9dc3d31</code></a> chore(deps-dev): bump ajv from 6.12.6 to 6.14.0 (<a href="https://redirect.github.com/webpack/copy-webpack-plugin/issues/815">#815</a>)</li> <li><a href="https://github.com/webpack/copy-webpack-plugin/commit/5cf5a1dc8f6d2c4c6d36825eb252109f1b763cd7"><code>5cf5a1d</code></a> chore(deps): update (<a href="https://redirect.github.com/webpack/copy-webpack-plugin/issues/814">#814</a>)</li> <li><a href="https://github.com/webpack/copy-webpack-plugin/commit/3dd5b6ee7be9ebd20c3bf12e7084e15a504ae3d8"><code>3dd5b6e</code></a> chore(deps): bump js-yaml (<a href="https://redirect.github.com/webpack/copy-webpack-plugin/issues/813">#813</a>)</li> <li><a href="https://github.com/webpack/copy-webpack-plugin/commit/9ac38bb37f6fba3592f383fe880cd448119099a6"><code>9ac38bb</code></a> chore(deps-dev): bump lodash from 4.17.21 to 4.17.23 (<a href="https://redirect.github.com/webpack/copy-webpack-plugin/issues/812">#812</a>)</li> <li><a href="https://github.com/webpack/copy-webpack-plugin/commit/6a16bac55dafc6eaad71d36d5bf6fcdd214a0f63"><code>6a16bac</code></a> Update link to contributing guidelines in README</li> <li><a href="https://github.com/webpack/copy-webpack-plugin/commit/a1625f9990f876753377cf4b90ea1aabce15f7c1"><code>a1625f9</code></a> chore: migrate from contrib (<a href="https://redirect.github.com/webpack/copy-webpack-plugin/issues/810">#810</a>)</li> <li><a href="https://github.com/webpack/copy-webpack-plugin/commit/9f6f20444bb25924d3eabcf92feaeadf728b5ab7"><code>9f6f204</code></a> chore: update github actions/checkout from v4 to v5 (<a href="https://redirect.github.com/webpack/copy-webpack-plugin/issues/809">#809</a>)</li> <li><a href="https://github.com/webpack/copy-webpack-plugin/commit/73a30bcabd31457674d818553aa64ebe54f4c064"><code>73a30bc</code></a> chore(release): 13.0.1</li> <li>Additional commits viewable in <a href="https://github.com/webpack/copy-webpack-plugin/compare/v9.1.0...v14.0.0">compare view</a></li> </ul> </details> <details> <summary>Install script changes</summary> <p>This version modifies <code>prepare</code> script that runs during installation. Review the package contents before updating.</p> </details> <br /> Updates `mocha` from 11.7.5 to 12.0.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>v12.0.0</h2> <h2><a href="https://github.com/mochajs/mocha/compare/v12.0.0-rc.6...v12.0.0">12.0.0</a> (2026-08-31)</h2> <h3>🩹 Fixes</h3> <ul> <li>fixup parsing negative numbers and quoted strings (<a href="https://redirect.github.com/mochajs/mocha/issues/6250">#6250</a>) (<a href="https://github.com/mochajs/mocha/commit/2962875f70df72ec5f0aaba45b3776167902894e">2962875</a>)</li> <li>preserve FIFO descriptors when respawning (<a href="https://redirect.github.com/mochajs/mocha/issues/6254">#6254</a>) (<a href="https://github.com/mochajs/mocha/commit/3bb317dbe7edc460f44328e630f607aa26773a4d">3bb317d</a>)</li> </ul> <h3>📚 Documentation</h3> <ul> <li>fix minor correctness issues (<a href="https://redirect.github.com/mochajs/mocha/issues/6215">#6215</a>) (<a href="https://github.com/mochajs/mocha/commit/e6b9ee773481fd739ae24caeb42f32ac0b010f95">e6b9ee7</a>)</li> <li>link to mochajs.org instead of the wiki (<a href="https://redirect.github.com/mochajs/mocha/issues/6216">#6216</a>) (<a href="https://github.com/mochajs/mocha/commit/8720225413002aeda0a8760e911374fddd6e7b24">8720225</a>)</li> </ul> <h3>🧹 Chores</h3> <ul> <li>setup Release Please for v12 stable (<a href="https://redirect.github.com/mochajs/mocha/issues/6084">#6084</a>) (<a href="https://github.com/mochajs/mocha/commit/219674fa5bfaf8fa740fab783344703a2991532d">219674f</a>)</li> </ul> <h2>v12.0.0-rc.6</h2> <h2><a href="https://github.com/mochajs/mocha/compare/v12.0.0-rc.5...v12.0.0-rc.6">12.0.0-rc.6</a> (2026-08-09)</h2> <h3>🩹 Fixes</h3> <ul> <li><strong>deps:</strong> update dependency starlight-blog to ^0.28.0 (<a href="https://redirect.github.com/mochajs/mocha/issues/6153">#6153</a>) (<a href="https://github.com/mochajs/mocha/commit/6b79044a260d096d8266585dfbd7daf173886937">6b79044</a>)</li> <li><strong>docs:</strong> restore homepage logo (<a href="https://redirect.github.com/mochajs/mocha/issues/6183">#6183</a>) (<a href="https://github.com/mochajs/mocha/commit/06e81a800356bb5ea42304e978919d833c8558b4">06e81a8</a>)</li> <li><strong>docs:</strong> restore spacing around footer links (<a href="https://redirect.github.com/mochajs/mocha/issues/6185">#6185</a>) (<a href="https://github.com/mochajs/mocha/commit/163d751ebb0a9587559ed24aae74564c09f10312">163d751</a>)</li> <li>use main instead of exports for the package entry point (<a href="https://redirect.github.com/mochajs/mocha/issues/6193">#6193</a>) (<a href="https://github.com/mochajs/mocha/commit/c32a696f0963737eedc9dde5a3e122a6fa1586b3">c32a696</a>)</li> </ul> <h3>📚 Documentation</h3> <ul> <li><strong>blog:</strong> add community contributions post (<a href="https://redirect.github.com/mochajs/mocha/issues/6172">#6172</a>) (<a href="https://github.com/mochajs/mocha/commit/5fcc0fe4e2bf7a260cd1cc7f312132e26abd1a05">5fcc0fe</a>)</li> <li><strong>blog:</strong> update community-contributions to 2026-community-sponsorships (<a href="https://github.com/mochajs/mocha/commit/5462d841264d28f0bd3c1fe90479b40af6ba03d3">5462d84</a>)</li> <li>fix blog/2026-community-sponsorships description (<a href="https://redirect.github.com/mochajs/mocha/issues/6177">#6177</a>) (<a href="https://github.com/mochajs/mocha/commit/98c47466fc7bdfb7e1ff7bdabad04739e892ff09">98c4746</a>)</li> <li>sync CLI docs with v12 options and defaults (<a href="https://redirect.github.com/mochajs/mocha/issues/6140">#6140</a>) (<a href="https://github.com/mochajs/mocha/commit/579fd1563822564d528d99e10303dd3a5e29116c">579fd15</a>)</li> </ul> <h3>🧹 Chores</h3> <ul> <li><strong>deps:</strong> update dependency <code>@playwright/test</code> to v1.62.1 (<a href="https://redirect.github.com/mochajs/mocha/issues/6197">#6197</a>) (<a href="https://github.com/mochajs/mocha/commit/dcc539ad05427c010136bd17f57e9d3148f3ebee">dcc539a</a>)</li> <li><strong>deps:</strong> update dependency eslint to v10.8.0 (<a href="https://redirect.github.com/mochajs/mocha/issues/6196">#6196</a>) (<a href="https://github.com/mochajs/mocha/commit/deeeec61f2f40fafa035dfd25dffa8fed672a877">deeeec6</a>)</li> <li><strong>deps:</strong> update dependency globals to v17.9.0 (<a href="https://redirect.github.com/mochajs/mocha/issues/6201">#6201</a>) (<a href="https://github.com/mochajs/mocha/commit/c2c6d63967a7def05452c9f2074ec092ef80e4c0">c2c6d63</a>)</li> <li><strong>deps:</strong> update dependency knip to v6.31.0 (<a href="https://redirect.github.com/mochajs/mocha/issues/6166">#6166</a>) (<a href="https://github.com/mochajs/mocha/commit/b7cd1bd9d75cef7d6f350dd038fdaaf553e27e82">b7cd1bd</a>)</li> <li><strong>deps:</strong> update dependency sinon to v22.1.0 (<a href="https://redirect.github.com/mochajs/mocha/issues/6188">#6188</a>) (<a href="https://github.com/mochajs/mocha/commit/284f0c23082e3e55106d61c3e69e29f6637b86bd">284f0c2</a>)</li> <li><strong>deps:</strong> update dependency webpack to v5.109.2 (<a href="https://redirect.github.com/mochajs/mocha/issues/6194">#6194</a>) (<a href="https://github.com/mochajs/mocha/commit/badf73375430c5352fcf0314417b2d87ce1f7c3d">badf733</a>)</li> <li>extract stripLeadingDashes helper + cover CLI arg-parsing edge cases (<a href="https://redirect.github.com/mochajs/mocha/issues/6171">#6171</a>) (<a href="https://github.com/mochajs/mocha/commit/867e17566beb8f7077e969e9c58e9383bcf6d657">867e175</a>)</li> <li>fix esm-utils tests when run without coverage (<a href="https://redirect.github.com/mochajs/mocha/issues/6160">#6160</a>) (<a href="https://github.com/mochajs/mocha/commit/c54539f570c005ea1a6b74b283664e0aee7972b1">c54539f</a>)</li> </ul> <!-- 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/v12.0.0-rc.6...v12.0.0">12.0.0</a> (2026-08-31)</h2> <h3>🩹 Fixes</h3> <ul> <li>fixup parsing negative numbers and quoted strings (<a href="https://redirect.github.com/mochajs/mocha/issues/6250">#6250</a>) (<a href="https://github.com/mochajs/mocha/commit/2962875f70df72ec5f0aaba45b3776167902894e">2962875</a>)</li> <li>preserve FIFO descriptors when respawning (<a href="https://redirect.github.com/mochajs/mocha/issues/6254">#6254</a>) (<a href="https://github.com/mochajs/mocha/commit/3bb317dbe7edc460f44328e630f607aa26773a4d">3bb317d</a>)</li> </ul> <h3>📚 Documentation</h3> <ul> <li>fix minor correctness issues (<a href="https://redirect.github.com/mochajs/mocha/issues/6215">#6215</a>) (<a href="https://github.com/mochajs/mocha/commit/e6b9ee773481fd739ae24caeb42f32ac0b010f95">e6b9ee7</a>)</li> <li>link to mochajs.org instead of the wiki (<a href="https://redirect.github.com/mochajs/mocha/issues/6216">#6216</a>) (<a href="https://github.com/mochajs/mocha/commit/8720225413002aeda0a8760e911374fddd6e7b24">8720225</a>)</li> </ul> <h3>🧹 Chores</h3> <ul> <li>setup Release Please for v12 stable (<a href="https://redirect.github.com/mochajs/mocha/issues/6084">#6084</a>) (<a href="https://github.com/mochajs/mocha/commit/219674fa5bfaf8fa740fab783344703a2991532d">219674f</a>)</li> </ul> <h2><a href="https://github.com/mochajs/mocha/compare/v12.0.0-rc.5...v12.0.0-rc.6">12.0.0-rc.6</a> (2026-08-09)</h2> <h3>🩹 Fixes</h3> <ul> <li><strong>deps:</strong> update dependency starlight-blog to ^0.28.0 (<a href="https://redirect.github.com/mochajs/mocha/issues/6153">#6153</a>) (<a href="https://github.com/mochajs/mocha/commit/6b79044a260d096d8266585dfbd7daf173886937">6b79044</a>)</li> <li><strong>docs:</strong> restore homepage logo (<a href="https://redirect.github.com/mochajs/mocha/issues/6183">#6183</a>) (<a href="https://github.com/mochajs/mocha/commit/06e81a800356bb5ea42304e978919d833c8558b4">06e81a8</a>)</li> <li><strong>docs:</strong> restore spacing around footer links (<a href="https://redirect.github.com/mochajs/mocha/issues/6185">#6185</a>) (<a href="https://github.com/mochajs/mocha/commit/163d751ebb0a9587559ed24aae74564c09f10312">163d751</a>)</li> <li>use main instead of exports for the package entry point (<a href="https://redirect.github.com/mochajs/mocha/issues/6193">#6193</a>) (<a href="https://github.com/mochajs/mocha/commit/c32a696f0963737eedc9dde5a3e122a6fa1586b3">c32a696</a>)</li> </ul> <h3>📚 Documentation</h3> <ul> <li><strong>blog:</strong> add community contributions post (<a href="https://redirect.github.com/mochajs/mocha/issues/6172">#6172</a>) (<a href="https://github.com/mochajs/mocha/commit/5fcc0fe4e2bf7a260cd1cc7f312132e26abd1a05">5fcc0fe</a>)</li> <li><strong>blog:</strong> update community-contributions to 2026-community-sponsorships (<a href="https://github.com/mochajs/mocha/commit/5462d841264d28f0bd3c1fe90479b40af6ba03d3">5462d84</a>)</li> <li>fix blog/2026-community-sponsorships description (<a href="https://redirect.github.com/mochajs/mocha/issues/6177">#6177</a>) (<a href="https://github.com/mochajs/mocha/commit/98c47466fc7bdfb7e1ff7bdabad04739e892ff09">98c4746</a>)</li> <li>sync CLI docs with v12 options and defaults (<a href="https://redirect.github.com/mochajs/mocha/issues/6140">#6140</a>) (<a href="https://github.com/mochajs/mocha/commit/579fd1563822564d528d99e10303dd3a5e29116c">579fd15</a>)</li> </ul> <h3>🧹 Chores</h3> <ul> <li><strong>deps:</strong> update dependency <code>@playwright/test</code> to v1.62.1 (<a href="https://redirect.github.com/mochajs/mocha/issues/6197">#6197</a>) (<a href="https://github.com/mochajs/mocha/commit/dcc539ad05427c010136bd17f57e9d3148f3ebee">dcc539a</a>)</li> <li><strong>deps:</strong> update dependency eslint to v10.8.0 (<a href="https://redirect.github.com/mochajs/mocha/issues/6196">#6196</a>) (<a href="https://github.com/mochajs/mocha/commit/deeeec61f2f40fafa035dfd25dffa8fed672a877">deeeec6</a>)</li> <li><strong>deps:</strong> update dependency globals to v17.9.0 (<a href="https://redirect.github.com/mochajs/mocha/issues/6201">#6201</a>) (<a href="https://github.com/mochajs/mocha/commit/c2c6d63967a7def05452c9f2074ec092ef80e4c0">c2c6d63</a>)</li> <li><strong>deps:</strong> update dependency knip to v6.31.0 (<a href="https://redirect.github.com/mochajs/mocha/issues/6166">#6166</a>) (<a href="https://github.com/mochajs/mocha/commit/b7cd1bd9d75cef7d6f350dd038fdaaf553e27e82">b7cd1bd</a>)</li> <li><strong>deps:</strong> update dependency sinon to v22.1.0 (<a href="https://redirect.github.com/mochajs/mocha/issues/6188">#6188</a>) (<a href="https://github.com/mochajs/mocha/commit/284f0c23082e3e55106d61c3e69e29f6637b86bd">284f0c2</a>)</li> <li><strong>deps:</strong> update dependency webpack to v5.109.2 (<a href="https://redirect.github.com/mochajs/mocha/issues/6194">#6194</a>) (<a href="https://github.com/mochajs/mocha/commit/badf73375430c5352fcf0314417b2d87ce1f7c3d">badf733</a>)</li> <li>extract stripLeadingDashes helper + cover CLI arg-parsing edge cases (<a href="https://redirect.github.com/mochajs/mocha/issues/6171">#6171</a>) (<a href="https://github.com/mochajs/mocha/commit/867e17566beb8f7077e969e9c58e9383bcf6d657">867e175</a>)</li> <li>fix esm-utils tests when run without coverage (<a href="https://redirect.github.com/mochajs/mocha/issues/6160">#6160</a>) (<a href="https://github.com/mochajs/mocha/commit/c54539f570c005ea1a6b74b283664e0aee7972b1">c54539f</a>)</li> <li>keep stderr out of the JSON parsed by the FIFO test (<a href="https://redirect.github.com/mochajs/mocha/issues/6187">#6187</a>) (<a href="https://github.com/mochajs/mocha/commit/ea6489e973fde53ef2a9e3455110befc064f5ed0">ea6489e</a>)</li> <li>limit token perms in protect-manifest workflow (<a href="https://redirect.github.com/mochajs/mocha/issues/6175">#6175</a>) (<a href="https://github.com/mochajs/mocha/commit/8cf003021a4184dfce85367c6622a08b0c8d0891">8cf0030</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/mochajs/mocha/commit/07c92f9f41e1152cde9d01a4f927892d8dd954bb"><code>07c92f9</code></a> chore(main): release 12.0.0 (<a href="https://redirect.github.com/mochajs/mocha/issues/6217">#6217</a>)</li> <li><a href="https://github.com/mochajs/mocha/commit/219674fa5bfaf8fa740fab783344703a2991532d"><code>219674f</code></a> chore: setup Release Please for v12 stable (<a href="https://redirect.github.com/mochajs/mocha/issues/6084">#6084</a>)</li> <li><a href="https://github.com/mochajs/mocha/commit/3bb317dbe7edc460f44328e630f607aa26773a4d"><code>3bb317d</code></a> fix: preserve FIFO descriptors when respawning (<a href="https://redirect.github.com/mochajs/mocha/issues/6254">#6254</a>)</li> <li><a href="https://github.com/mochajs/mocha/commit/2962875f70df72ec5f0aaba45b3776167902894e"><code>2962875</code></a> fix: fixup parsing negative numbers and quoted strings (<a href="https://redirect.github.com/mochajs/mocha/issues/6250">#6250</a>)</li> <li><a href="https://github.com/mochajs/mocha/commit/e6b9ee773481fd739ae24caeb42f32ac0b010f95"><code>e6b9ee7</code></a> docs: fix minor correctness issues (<a href="https://redirect.github.com/mochajs/mocha/issues/6215">#6215</a>)</li> <li><a href="https://github.com/mochajs/mocha/commit/8720225413002aeda0a8760e911374fddd6e7b24"><code>8720225</code></a> docs: link to mochajs.org instead of the wiki (<a href="https://redirect.github.com/mochajs/mocha/issues/6216">#6216</a>)</li> <li><a href="https://github.com/mochajs/mocha/commit/505b5e9cec2f0fcbb1e52457f9c638fbfaf87900"><code>505b5e9</code></a> chore(main): release 12.0.0-rc.6 (<a href="https://redirect.github.com/mochajs/mocha/issues/6173">#6173</a>)</li> <li><a href="https://github.com/mochajs/mocha/commit/c54539f570c005ea1a6b74b283664e0aee7972b1"><code>c54539f</code></a> chore: fix esm-utils tests when run without coverage (<a href="https://redirect.github.com/mochajs/mocha/issues/6160">#6160</a>)</li> <li><a href="https://github.com/mochajs/mocha/commit/dcc539ad05427c010136bd17f57e9d3148f3ebee"><code>dcc539a</code></a> chore(deps): update dependency <code>@playwright/test</code> to v1.62.1 (<a href="https://redirect.github.com/mochajs/mocha/issues/6197">#6197</a>)</li> <li><a href="https://github.com/mochajs/mocha/commit/c2c6d63967a7def05452c9f2074ec092ef80e4c0"><code>c2c6d63</code></a> chore(deps): update dependency globals to v17.9.0 (<a href="https://redirect.github.com/mochajs/mocha/issues/6201">#6201</a>)</li> <li>Additional commits viewable in <a href="https://github.com/mochajs/mocha/compare/v11.7.5...v12.0.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/~GitHub%20Actions">GitHub Actions</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 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> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: rzhao271 <7199958+rzhao271@users.noreply.github.com>
…rosoft#26129) > Part of [microsoft/vscode-python-environments#1602](microsoft/vscode-python-environments#1602). Design doc: [microsoft/vscode-python-environments#1601](microsoft/vscode-python-environments#1601). ### Roadmap context This is **cross-repository PR 19** in the PEP 723 roadmap. It closes the Python extension's per-file lookup gaps for debugging and Pylance configuration. | Cross-repository integration | PR | Status | |---|---|---| | | Environments PR 7: persisted script associations | merged ([microsoft#1697](microsoft/vscode-python-environments#1697)) | | | Environments PR 10: exact script projects | [microsoft/vscode-python-environments#1744](microsoft/vscode-python-environments#1744) | | | PR 17: Pylance per-file Python path lookup | [microsoft/pyrx#9265](microsoft/pyrx#9265) | | | **PR 19: exact Python-file lookup and debugger resolution** | **this PR** | ### Why this PR `IInterpreterService.getActiveInterpreter(resource)` normally shares in-flight, timeout, and last-known state by workspace folder. A file URI can therefore receive the workspace interpreter when a workspace lookup is already running or when exact environment resolution exceeds the timeout. That breaks two per-file consumers: - debugger launch resolution can select the workspace interpreter instead of the launch program's interpreter; - Pylance's file-scoped `workspace/configuration` request can receive a cached workspace interpreter. The exact lookup must also avoid publishing a file interpreter as a workspace-wide interpreter change. ### What this PR does - Adds an internal `exactResource` option to `IInterpreterService`. - Bypasses workspace-keyed in-flight, timeout, and last-known state for exact environment-extension lookups. - Suppresses workspace-level interpreter-change reporting for those silent exact reads. - Resolves debugger programs from: - absolute paths; - `${file}`; - `${workspaceFolder}`; - `${workspaceFolder:name}`. - Prefers the program interpreter and falls back to the normal workspace interpreter only when no exact environment is available. - Reuses the selected interpreter for both legacy `pythonPath` and command-valued `python`. - Applies activation variables when the program interpreter differs from the workspace interpreter. - Uses exact lookup only for `.py`-scoped Pylance configuration requests; workspace-level requests retain the existing cached fast path. ### Lookup semantics | Condition | Behavior | |---|---| | No concrete launch program | Preserve workspace lookup | | Exact program environment exists | Use it for debugger resolution | | Exact program lookup returns no environment | Fall back to workspace interpreter | | Program and workspace interpreters match | Preserve existing terminal activation behavior | | Program interpreter differs | Apply its activation variables | | Pylance requests `python` config for a `.py` URI | Resolve the exact file environment | | Pylance requests workspace-level config | Preserve normal workspace caching | | Exact lookup resolves an environment | Do not publish a false workspace interpreter-change event | ### Performance and safety - The existing fast workspace cache remains unchanged for normal consumers. - Exact lookup is opt-in and used only by debugger program selection and `.py` configuration scopes. - The environments extension's own URI-scoped timeout/last-known behavior remains in effect. - No public Python or environments API is changed. ### User impact Users without a per-file environment retain the same interpreter and debugger behavior. When a Python file has a distinct environment, Pylance configuration and debugger launch consistently use that file's interpreter rather than a workspace-cached value. ### Tests - Prettier check for all changed files - ESLint for all changed files - Focused middleware, resolver, launch, environment-adapter, and interpreter-service tests: **181 passing**, 3 pending - Repository-wide TypeScript compilation currently also reports two existing `TelemetryReporter` import errors in untouched files. - The full unit command was run; its failures were confined to untouched platform/path, terminal activation, activated-environment, and native-finder tests. ### Scope and follow-up This PR does not implement Pylance's open-file rerouting notification. Live movement and reanalysis after a per-file environment change remain in PR 18. --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Fixes microsoft#24754 <img width="1466" height="373" alt="image" src="https://github.com/user-attachments/assets/5b683332-c5ff-47fa-937e-60a097b1395c" /> This pull request refactors how shell integration sequences are managed in `python_files/pythonrc.py` by introducing a dedicated `ShellIntegrationSequence` enum, and updates related string formatting to use this enum. It also updates user-facing messages in both the Python startup script and the VS Code terminal link provider to include a documentation URL. These changes improve maintainability, clarity, and user guidance. **Shell integration refactoring:** * Introduced the `ShellIntegrationSequence` enum to centralize shell integration control sequences, replacing hard-coded string literals throughout the code. [[1]](diffhunk://#diff-8734bb7310870e747bbb82c387dc848241b398db31918a75ed6bee20bcc491eaR3) [[2]](diffhunk://#diff-8734bb7310870e747bbb82c387dc848241b398db31918a75ed6bee20bcc491eaR12-R22) * Refactored the `__str__` method in the prompt class to use the new enum values, improving readability and reducing duplication. **User guidance improvements:** * Updated the printed startup message in `pythonrc.py` to include a documentation URL, guiding users to more information about the VS Code Native REPL. * Updated the expected link text in `pythonStartupLinkProvider.ts` to match the new message format (excluding the URL), ensuring the link detection logic remains consistent with the Python script output.
Bumps [packaging](https://github.com/pypa/packaging) from 26.2 to 26.3. <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.3</h2> <!-- raw HTML omitted --> <h2>What's Changed</h2> <h3>Features</h3> <ul> <li>Add a public <code>VersionRange</code> API and <code>SpecifierSet.to_range()</code>, representing the versions a specifier set accepts as an interval set that supports intersection, union, difference, complement, set relations, membership tests, and filtering. <code>VersionRange.to_specifier_set()</code> converts a range back to a <code>SpecifierSet</code> where a PEP 440 form exists. (<a href="https://redirect.github.com/pypa/packaging/pull/1267">#1267</a>, <a href="https://redirect.github.com/pypa/packaging/pull/1270">#1270</a>, <a href="https://redirect.github.com/pypa/packaging/pull/1298">#1298</a>)</li> <li>PEP 808: accept <code>Metadata-Version: 2.6</code>. (<a href="https://redirect.github.com/pypa/packaging/pull/1194">#1194</a>)</li> <li>Add a <code>limit</code> argument to <code>parse_tag()</code> for compressed tag sets. (<a href="https://redirect.github.com/pypa/packaging/issues/1220">#1220</a>)</li> <li>Add a <code>prefer_sdist_predicate</code> argument to <code>Pylock.select()</code> to prefer source distributions over wheels for selected packages. (<a href="https://redirect.github.com/pypa/packaging/pull/1334">#1334</a>)</li> <li>Add <code>pure_python_tags()</code> to generate the pure-Python tags for a Python version without touching the running platform. (<a href="https://redirect.github.com/pypa/packaging/pull/1346">#1346</a>)</li> <li>Add <code>SpecifierSet.is_subset()</code>, <code>SpecifierSet.is_superset()</code>, and <code>SpecifierSet.is_disjoint()</code>, which compare the versions two specifier sets accept. (<a href="https://redirect.github.com/pypa/packaging/pull/1313">#1313</a>)</li> </ul> <h3>Behavior adaptations</h3> <ul> <li>Drop support for Python 3.8; packaging now requires Python 3.9 or later. (<a href="https://redirect.github.com/pypa/packaging/pull/1157">#1157</a>)</li> <li>Prefer native <code>linux_*</code> platform tags over <code>manylinux</code> and <code>musllinux</code> tags on Linux. (<a href="https://redirect.github.com/pypa/packaging/issues/160">#160</a>)</li> </ul> <h3>Fixes for versions and specifiers</h3> <ul> <li>Raise <code>InvalidVersion</code> instead of <code>TypeError</code> when <code>Version</code> is given a non-string. (<a href="https://redirect.github.com/pypa/packaging/pull/1319">#1319</a>)</li> <li>Raise <code>InvalidVersion</code> for non-string pre-release letters passed to <code>Version.from_parts</code>. (<a href="https://redirect.github.com/pypa/packaging/pull/1241">#1241</a>)</li> <li>Fix an <code>AttributeError</code> when hashing internally trimmed versions. (<a href="https://redirect.github.com/pypa/packaging/pull/1242">#1242</a>)</li> <li>Fix <code>SpecifierSet.is_unsatisfiable</code> for post-release boundary intersections. (<a href="https://redirect.github.com/pypa/packaging/pull/1257">#1257</a>)</li> </ul> <h3>Fixes for requirements and markers</h3> <ul> <li>Make <code>Requirement.__hash__</code> consistent with <code>__eq__</code> for trailing-zero-equivalent specifiers (e.g. <code>foo==1.0.0</code> and <code>foo==1.0.0.0</code>), so equal requirements hash equal and deduplicate in sets and dicts. (<a href="https://redirect.github.com/pypa/packaging/pull/1232">#1232</a>)</li> <li>Normalize requested extra names before comparing or hashing requirements. (<a href="https://redirect.github.com/pypa/packaging/issues/644">#644</a>)</li> <li>Preserve a <code>Requirement</code>'s specifier <code>prereleases</code> override across a pickle round trip. (<a href="https://redirect.github.com/pypa/packaging/issues/1204">#1204</a>)</li> <li>Raise <code>InvalidRequirement</code> instead of <code>InvalidSpecifier</code> when a requirement contains an invalid specifier. (<a href="https://redirect.github.com/pypa/packaging/pull/1332">#1332</a>)</li> <li>Clarify the error for post-release prefix wildcards like <code>==1.0.post1.*</code>. (<a href="https://redirect.github.com/pypa/packaging/pull/1299">#1299</a>)</li> <li>Preserve quoting semantics when serializing marker values, so round-tripped markers parse back to the same marker. (<a href="https://redirect.github.com/pypa/packaging/pull/1213">#1213</a>)</li> <li>Keep the parentheses of a nested group when serializing markers. (<a href="https://redirect.github.com/pypa/packaging/pull/1316">#1316</a>)</li> <li>Normalize <code>extra</code> and <code>dependency_groups</code> values in nested markers at parse time. (<a href="https://redirect.github.com/pypa/packaging/pull/1246">#1246</a>, <a href="https://redirect.github.com/pypa/packaging/pull/1310">#1310</a>)</li> <li>Raise <code>UndefinedComparison</code> when a set-valued variable like <code>extras</code> is used outside the membership form. (<a href="https://redirect.github.com/pypa/packaging/pull/1265">#1265</a>)</li> <li>Raise <code>UndefinedEnvironmentName</code> (a <code>KeyError</code> subclass) for missing environment keys during marker evaluation. (<a href="https://redirect.github.com/pypa/packaging/pull/1276">#1276</a>)</li> <li>Wrap malformed string literal errors in <code>InvalidMarker</code> / <code>InvalidRequirement</code> instead of leaking a low-level error. (<a href="https://redirect.github.com/pypa/packaging/pull/1249">#1249</a>)</li> <li>Reject requirements and markers with a trailing line break. (<a href="https://redirect.github.com/pypa/packaging/pull/1345">#1345</a>)</li> </ul> <h3>Fixes for metadata and licenses</h3> <ul> <li>Collect all <code>from_email</code> validation errors into one <code>ExceptionGroup</code> instead of raising the first. (<a href="https://redirect.github.com/pypa/packaging/pull/1268">#1268</a>)</li> <li>Accept the UTF-8 charset case-insensitively in email payloads. (<a href="https://redirect.github.com/pypa/packaging/pull/1330">#1330</a>)</li> <li>Reject malformed <code>Description-Content-Type</code> values. (<a href="https://redirect.github.com/pypa/packaging/pull/1329">#1329</a>)</li> <li>Don't rewrite user values that contain <code>{field}</code> placeholders in error messages. (<a href="https://redirect.github.com/pypa/packaging/pull/1327">#1327</a>)</li> <li>Route multipart email payloads to <code>unparsed</code> instead of asserting. (<a href="https://redirect.github.com/pypa/packaging/pull/1247">#1247</a>)</li> <li>Make <code>InvalidMetadata</code> and <code>CyclicDependencyGroup</code> picklable. (<a href="https://redirect.github.com/pypa/packaging/pull/1328">#1328</a>)</li> <li>Fold every line boundary <code>str.splitlines</code> recognizes when writing a header with <code>RFC822Message</code>. (<a href="https://redirect.github.com/pypa/packaging/pull/1356">#1356</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.3 - 2026-08-03</p> <pre><code> Features: <ul> <li>Add a public :class:<code>~packaging.ranges.VersionRange</code> API and<br /> :meth:<code>SpecifierSet.to_range() &lt;packaging.specifiers.SpecifierSet.to_range&gt;</code>,<br /> representing the versions a specifier set accepts as an interval set that<br /> supports intersection, union, difference, complement, set relations,<br /> membership tests, and filtering.<br /> :meth:<code>~packaging.ranges.VersionRange.to_specifier_set</code> converts a range back<br /> to a :class:<code>~packaging.specifiers.SpecifierSet</code> where a PEP 440 form exists.<br /> (:pull:<code>1267</code>, :pull:<code>1270</code>, :pull:<code>1298</code>)</li> <li>PEP 808: accept <code>Metadata-Version: 2.6</code>. (:pull:<code>1194</code>)</li> <li>Add a <code>limit</code> argument to <code>parse_tag()</code> for compressed tag sets.<br /> (:issue:<code>1220</code>)</li> <li>Add a <code>prefer_sdist_predicate</code> argument to <code>Pylock.select()</code> to prefer<br /> source distributions over wheels for selected packages. (:pull:<code>1334</code>)</li> <li>Add :func:<code>~packaging.tags.pure_python_tags</code> to generate the pure-Python<br /> tags for a Python version without touching the running platform.<br /> (:pull:<code>1346</code>)</li> <li>Add :meth:<code>SpecifierSet.is_subset() &lt;packaging.specifiers.SpecifierSet.is_subset&gt;</code>, :meth:<code>~packaging.specifiers.SpecifierSet.is_superset</code>,<br /> and :meth:<code>~packaging.specifiers.SpecifierSet.is_disjoint</code>, which compare the<br /> versions two specifier sets accept. (:pull:<code>1313</code>)</li> </ul> <p>Behavior adaptations:</p> <ul> <li>Drop support for Python 3.8; packaging now requires Python 3.9 or later.<br /> (:pull:<code>1157</code>)</li> <li>Prefer native <code>linux_*</code> platform tags over <code>manylinux</code> and <code>musllinux</code><br /> tags on Linux. (:issue:<code>160</code>)</li> </ul> <p>Fixes for versions and specifiers:</p> <ul> <li>Raise <code>InvalidVersion</code> instead of <code>TypeError</code> when <code>Version</code> is given a<br /> non-string. (:pull:<code>1319</code>)</li> <li>Raise <code>InvalidVersion</code> for non-string pre-release letters passed to<br /> <code>Version.from_parts</code>. (:pull:<code>1241</code>)</li> <li>Fix an <code>AttributeError</code> when hashing internally trimmed versions.<br /> (:pull:<code>1242</code>)</li> <li>Fix <code>SpecifierSet.is_unsatisfiable</code> for post-release boundary<br /> intersections. (:pull:<code>1257</code>)</li> </ul> <p>Fixes for requirements and markers:</p> <ul> <li>Make <code>Requirement.__hash__</code> consistent with <code>__eq__</code> for<br /> trailing-zero-equivalent specifiers (e.g. <code>foo==1.0.0</code> and<br /> <code>foo==1.0.0.0</code>), so equal requirements hash equal and deduplicate in<br /> sets and dicts. (:pull:<code>1232</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/929fd4b1410ac7ef61ef3f45b2f5d7e87711a9b5"><code>929fd4b</code></a> Bump for release</li> <li><a href="https://github.com/pypa/packaging/commit/f300ebf0c155e1f7ea6d62fba11dba4bac3d1944"><code>f300ebf</code></a> chore(deps): bump the pre-commit group with 5 updates (<a href="https://redirect.github.com/pypa/packaging/issues/1357">#1357</a>)</li> <li><a href="https://github.com/pypa/packaging/commit/f91d97566a966177ad7ea5a7c703b12a7273e3b1"><code>f91d975</code></a> ci(downstream): bump hatchling to 1.31.0 and fix its pytest rootdir (<a href="https://redirect.github.com/pypa/packaging/issues/1361">#1361</a>)</li> <li><a href="https://github.com/pypa/packaging/commit/b1a7124fe3d40c3302c029e9eb01ac3fc3496a54"><code>b1a7124</code></a> chore(deps): bump the github-actions group with 7 updates (<a href="https://redirect.github.com/pypa/packaging/issues/1358">#1358</a>)</li> <li><a href="https://github.com/pypa/packaging/commit/2d873eb6002021a8c007c933fbdab58b37a5079b"><code>2d873eb</code></a> fix(metadata): fold every line boundary when writing headers (<a href="https://redirect.github.com/pypa/packaging/issues/1356">#1356</a>)</li> <li><a href="https://github.com/pypa/packaging/commit/413d006fadf5b9b14d78ad444201d8189bff8c64"><code>413d006</code></a> docs: changelog for 26.3 (<a href="https://redirect.github.com/pypa/packaging/issues/1343">#1343</a>)</li> <li><a href="https://github.com/pypa/packaging/commit/4eb0753dba8fcaaac8eb75463374e448f0931558"><code>4eb0753</code></a> docs(metadata): explain selective field validation (<a href="https://redirect.github.com/pypa/packaging/issues/1342">#1342</a>)</li> <li><a href="https://github.com/pypa/packaging/commit/77e9ed42b6db9c5c011a5148047a356ebe42692a"><code>77e9ed4</code></a> feat(tags): add pure Python tag generator (<a href="https://redirect.github.com/pypa/packaging/issues/1346">#1346</a>)</li> <li><a href="https://github.com/pypa/packaging/commit/7cea5e88671ed14016e9ab3dd08eab064f596564"><code>7cea5e8</code></a> ci: drop 3.13t on Windows (3.13.14t may fail to build, run takes 9 minutes) (...</li> <li><a href="https://github.com/pypa/packaging/commit/45a8b3402db5ff82158f2d0eabaf8447aa7a50bf"><code>45a8b34</code></a> docs: add missing versionadded/versionchanged directives (<a href="https://redirect.github.com/pypa/packaging/issues/1344">#1344</a>)</li> <li>Additional commits viewable in <a href="https://github.com/pypa/packaging/compare/26.2...26.3">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 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>
…soft#26141) <img width="2113" height="494" alt="image" src="https://github.com/user-attachments/assets/7dc82d66-60ca-43e8-9cc1-9d3fa44e1a25" /> Fixes microsoft#21996 Terminal REPLs launched by the extension only set a title, so VS Code fell back to the default shell/profile icon. This threads an optional `iconPath` through the terminal creation pipeline and sets `ThemeIcon('snake')` for the REPL only. ### Changes - **`common/terminal/types.ts`**: `TerminalCreationOptions` gains `iconPath?: TerminalOptions['iconPath']`, keeping the internal type aligned with the VS Code API. - **`common/terminal/service.ts`**: `ensureTerminal` forwards `iconPath` on both creation paths — `ensureTerminalLegacy(...)` (env extension, whose options extend `TerminalOptions`) and `terminalManager.createTerminal(...)`. - **`terminals/codeExecution/terminalCodeExecution.ts`**: new `protected terminalIcon?: TerminalOptions['iconPath']`, passed to `terminalServiceFactory.getTerminalService(...)` alongside the title. - **`terminals/codeExecution/repl.ts`**: sets the icon, so plain Python terminals, Django shells, native REPL tabs, and user-typed `python` sessions are untouched. ```ts // repl.ts this.terminalTitle = 'REPL'; this.terminalIcon = new ThemeIcon('snake'); ``` ### Tests - `terminalCodeExec.unit.test.ts`: the title matcher now also asserts the expected icon id per suite — `snake` for `ReplProvider`, none for the Terminal and Django providers. - `service.unit.test.ts`: two tests assert `iconPath` reaches `terminalManager.createTerminal(...)` and, with `useEnvExtension()` stubbed on, `ensureTerminalLegacy(...)`. The env-extension test stubs `ensureTerminalLegacy` with a plain object rather than a TypeMoq mock: dynamic mocks answer any property access, so `await`ing one hangs on the phantom `then`. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: edvilme <5952839+edvilme@users.noreply.github.com>
This pull request refactors the naming and usage of exception and display hooks in the `pythonrc.py` file to better reflect their association with VS Code integration. It also simplifies the REPL launch message and updates related tests to use the new hook names. **Refactoring and renaming for clarity:** * Renamed `my_excepthook` and `my_displayhook` methods in `REPLHooks` to `vscode_excepthook` and `vscode_displayhook`, and updated all references and assignments accordingly in `pythonrc.py`. * Updated test cases in `test_shell_integration.py` to use the new hook method names (`vscode_displayhook` and `vscode_excepthook`). [[1]](diffhunk://#diff-f900183871669133df435002b57b4e9e7b8d57779718d41d65427fccc833172bL49-R49) [[2]](diffhunk://#diff-f900183871669133df435002b57b4e9e7b8d57779718d41d65427fccc833172bL62-R62) **Prompt message simplification:** * Simplified the REPL launch message to dynamically use "Cmd" or "Ctrl" based on the platform, reducing duplicated code. Fixes microsoft#26146
Fixes microsoft#26147 ## Before <img width="2173" height="996" alt="image" src="https://github.com/user-attachments/assets/91d35602-10f9-48a8-bca7-61fa549d5b76" /> ## After <img width="1740" height="930" alt="image" src="https://github.com/user-attachments/assets/dcce043b-662e-4928-9ee4-3246215a8b9a" /> This pull request refactors the initialization logic in `python_files/pythonrc.py` to avoid polluting the module's global namespace, and adds a corresponding test to ensure this behavior. The main change is wrapping the script's setup code in a private function and then deleting it after execution. Refactoring and namespace cleanliness: * Moved all initialization code in `pythonrc.py` into a private `_initialize()` function, and called and deleted it at the end of the file to prevent leftover names in the module's global namespace. [[1]](diffhunk://#diff-8734bb7310870e747bbb82c387dc848241b398db31918a75ed6bee20bcc491eaR1) [[2]](diffhunk://#diff-8734bb7310870e747bbb82c387dc848241b398db31918a75ed6bee20bcc491eaL95-R101) * Removed unnecessary blank lines and improved code organization for readability. [[1]](diffhunk://#diff-8734bb7310870e747bbb82c387dc848241b398db31918a75ed6bee20bcc491eaL11) [[2]](diffhunk://#diff-8734bb7310870e747bbb82c387dc848241b398db31918a75ed6bee20bcc491eaL25) [[3]](diffhunk://#diff-8734bb7310870e747bbb82c387dc848241b398db31918a75ed6bee20bcc491eaL45-L53) Testing: * Added `test_does_not_pollute_namespace` in `test_shell_integration.py` to verify that `pythonrc.py` does not leave any non-dunder (non-`__`) names in its global namespace after import.
## Summary - declare `pyreflyversion` for the user-facing type-server child lifecycle event - declare `pyreflyversion` for the four Pyrefly shadow telemetry events - keep the Python extension GDPR allow-list aligned with the Pylance telemetry producers ## Validation - `git diff --check` This is a GDPR declaration-only change; runtime behavior is unchanged. Copilot-Session: 18854bb1-a4b0-4127-be25-ee17cb78943b
…dowed under PYTHONSTARTUP (microsoft#26045) Fixes microsoft#26039 `PYTHONSTARTUP` executes `pythonrc.py`'s code directly inside the user's `__main__` namespace rather than importing it as a module. That means `PS1.__str__.__globals__` *is* the user's namespace — so shadowing any name it relies on at prompt-render time (`int`, `sys`, `str`, `bool`, `original_ps1`, `get_last_command`) breaks `str(sys.ps1)` and silently kills the prompt. This captures the real objects into private `_`-prefixed aliases right after they're defined, before any user code runs, so later reassignment of those names in `__main__` can't affect the prompt anymore. **How I tested:** - Reproduced by `exec`-ing `pythonrc.py`'s source into a synthetic `__main__` dict (mirroring the real `PYTHONSTARTUP` path) and shadowing `int`/`sys`/`str`/`bool`/`original_ps1`/`get_last_command` — confirmed it broke on the original file and is fixed on the patched one. - Added `test_prompt_survives_shadowed_builtins_under_pythonstartup`, which encodes that reproduction as a regression test. The existing tests `import pythonrc` as a normal module, which gives `PS1` its own module namespace instead of `__main__` — that's why they never caught this bug. - `npm run check-python` (ruff check, ruff format --check, pyright) — clean, 0 errors. - `python -m pytest python_files/tests/test_shell_integration.py -v` — 5/5 passed. **Notes for reviewers:** the fix is intentionally minimal (capture at definition time) rather than moving the class into a separate module, since `pythonStartup.ts` only ever copies the single `pythonrc.py` file to the PYTHONSTARTUP location — splitting into two files would require extension-side deployment changes. --------- Co-authored-by: Eduardo Villalpando Mello <eduardo.villalpando.mello@gmail.com>
…ft#26153) Fixes microsoft#26092 "Copy test ID" copied the raw `TestItem.id`, which since project scoping is `{projectId}@@vsc@@{testId}`, so users pasted `file:///path/to/workspace@@vsc@@/path/to/workspace/tests/unit/test_foo.py::test_bar` instead of the test ID. ### Changes - **`src/client/testing/utils.ts`**: `writeTestIdToClipboard` now normalizes the ID with the existing `parseVsId` helper before unittest detection/conversion, the pytest clipboard write, and logging. - `TestItem.id` is not mutated and discovery/execution scoping is untouched — only the clipboard-facing value is normalized. - `parseVsId` returns `[undefined, vsId]` for unscoped IDs, so legacy behavior and the `module.class.method` unittest formatting are preserved. ```diff - if (testItem.id.includes('\\') && testItem.id.indexOf('::') === -1) { + const [, testId] = parseVsId(testItem.id); + if (testId.includes('\\') && testId.indexOf('::') === -1) { ``` - **`src/test/testing/utils.unit.test.ts`**: this file was a top-level IIFE with `try/catch`-swallowed assertions that mocha never registered as tests (and its `idToModuleClassMethod` inputs had lost their backslash separators). Converted to a `suite`/`test` file asserting the real clipboard contents via the `MockClipboard` from `src/test/vscode-mock.ts`, with cases for project-scoped pytest IDs, parameterized IDs (`test_pipe_single[False]` preserved verbatim), Windows-style paths, legacy unscoped IDs, and project-scoped unittest IDs. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: edvilme <5952839+edvilme@users.noreply.github.com> Co-authored-by: Eduardo Villalpando Mello <eduardo.villalpando.mello@gmail.com>
…rms (microsoft#26157) # PR: Enable REPL launch print test for all non-Darwin platforms ## Related Issue Fixes microsoft#26156 ## Changes Proposed * **[Test Suite - Shell Integration]**: In `python_files/tests/test_shell_integration.py`, changed the conditional guard for `test_print_statement_non_darwin` from `if sys.platform == "win32":` to `if sys.platform != "darwin":` so that the REPL launch print banner is verified on Linux and other non-Darwin Unix environments in addition to Windows. * **[Platform Parity]**: Eliminates the test gap where non-Darwin Unix systems were missing test coverage for the Native REPL launch message. ## How Has This Been Tested? Please describe the tests that you ran to verify your changes. * [x] Test A: Pytest run on `python_files/tests/test_shell_integration.py` passed (7/7 tests passed). * [x] Test B: Pyright static analysis on `python_files/tests/test_shell_integration.py` completed with 0 errors and 0 warnings. * [x] Test C: Simulated platform check evaluation verifying `sys.platform != "darwin"` evaluates to `True` on both Linux and Windows. ## Checklist - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [x] My changes generate no new warnings
Keep the release version at 2026.6.0 after incorporating the changes shipped in 2026.7 Insiders. Leave the stable PET artifact pinned to 2026.4 pending a separate upgrade decision. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Logan Ramos (lramos15)
approved these changes
Sep 24, 2026
Eleanor Boyd (eleanorjboyd)
merged commit Sep 24, 2026
7a06e93
into
microsoft:release/2026.6
89 of 93 checks passed
Eleanor Boyd (eleanorjboyd)
added a commit
that referenced
this pull request
Sep 25, 2026
## Why The [virtualenv 21.12.0 update](https://github.com/pypa/virtualenv/releases/tag/21.12.0) introduced a [PEP 832 `.venv` redirect](pypa/virtualenv#3204): when a project has a `pyproject.toml`, creating `.virtualenv` can also write a `.venv` file pointing to it. Our CI workflow copies in a `pyproject.toml`, creates `.virtualenv` for virtualenv tests, then runs `python -m venv .venv` for separate stdlib venv tests. Once virtualenv started writing that file, the latter command could no longer create its `.venv` directory. The passing run installed virtualenv 21.11.1; the failing release-branch runs installed 21.12.1. ## Change Pass `--no-venv-redirect` when creating `.virtualenv`. This opts out of the newly added side effect while keeping the two existing test environments at their original paths: `.virtualenv` for virtualenv and `.venv` for stdlib venv. Stop immediately if stdlib venv creation fails rather than reporting the subsequent missing executable as the primary error. Related to #26164. The release branch still needs this fix and a passing Build workflow before release. --------- Co-authored-by: Copilot <223556219+Copilot@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.
Summary