Skip to content

Conversation

@austin3dickey
Copy link
Contributor

@austin3dickey austin3dickey commented Sep 26, 2025

Addresses #9541 and #9419.

Merging in v2025.14.0 of the upstream python extension, plus monthly maintenance, plus adding support for Python 3.14.

Release Notes

New Features

Bug Fixes

  • N/A

QA Notes

@:web @:win

It might be good to manually test that everything works with Python 3.14. I recommend downloading from https://www.python.org/downloads/release/python-3140rc3/ instead of using uv because they don't have the latest release candidate as of this writing. Watch out for #9655 if you're testing.

@austin3dickey austin3dickey changed the title vscode-python changes from v2025.12.0 to v2025.14.0 python: upstream merge: v2025.14.0 Sep 26, 2025
@github-actions
Copy link

github-actions bot commented Sep 26, 2025

E2E Tests 🚀
This PR will run tests tagged with: @:critical @:web @:win

readme  valid tags

@austin3dickey austin3dickey force-pushed the vscode-python-v2025.14.0 branch from 1dedb0a to 2e62839 Compare September 29, 2025 18:40
@austin3dickey austin3dickey force-pushed the vscode-python-v2025.14.0 branch from 2e62839 to 3c198ce Compare September 29, 2025 19:27
@austin3dickey austin3dickey marked this pull request as ready for review September 29, 2025 20:04
os: [ubuntu-latest]
# Run the tests on the oldest and most recent versions of Python.
python: ['3.9', '3.13']
python: ['3.9', '3.13', '3.14']
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

adding this for now instead of replacing 3.13, until #9654

pytest
flask
fastapi
fastapi; python_version < '3.14'
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See #9654 for discussion on all these python_version < '3.14' and the skipped tests below!

import { CreateEnv } from '../../../common/utils/localize';

const SUPPORTED_UV_PYTHON_VERSIONS = ['3.13', '3.12', '3.11', '3.10', '3.9'];
const SUPPORTED_UV_PYTHON_VERSIONS = ['3.13', '3.12', '3.11', '3.10', '3.9', '3.14'];
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I put this at the bottom and added (preview) for now; see discussion in #9654

Image

// Upstream doesn't run on OSX but that seems to fail too.
// if (WINDOWS) {
if (WINDOWS || OSX) {
// --- End Positron ---
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was really weird to track down. After the upstream changes in microsoft/vscode-python#25404, some file system tests started failing on MacOS, which upstream does not run on. But they pass on ubuntu.

I noticed all the failing tests were gated by if (!SUPPORTS_SOCKETS) {skip()}, so I tried this, and it makes everything pass. I don't know if this is something we should worry about. Probably not, since they decided they can skip all these tests on Windows anyway.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for looking into this! Looks like all these are tests for .sock files, which from my google searches seems to be a UNIX domain socket, so I don't think this is too surprising. Although there are these docs that were last updated 2013-09-17 on how to use them on osx machines 😅 I feel fine skipping this.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. I vaguely recall that we have skipped tests on macos for this reason before

// We support versions where MINIMUM_PYTHON_VERSION <= version < MAXIMUM_PYTHON_VERSION_EXCLUSIVE.
export const MINIMUM_PYTHON_VERSION = { major: 3, minor: 9, patch: 0, raw: '3.9.0' } as PythonVersion;
export const MAXIMUM_PYTHON_VERSION_EXCLUSIVE = { major: 3, minor: 14, patch: 0, raw: '3.14.0' } as PythonVersion;
export const MAXIMUM_PYTHON_VERSION_EXCLUSIVE = { major: 3, minor: 15, patch: 0, raw: '3.15.0' } as PythonVersion;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

// Upstream doesn't run on OSX but that seems to fail too.
// if (WINDOWS) {
if (WINDOWS || OSX) {
// --- End Positron ---
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for looking into this! Looks like all these are tests for .sock files, which from my google searches seems to be a UNIX domain socket, so I don't think this is too surprising. Although there are these docs that were last updated 2013-09-17 on how to use them on osx machines 😅 I feel fine skipping this.

assert "this is a warning" in caplog.text


@pytest.mark.skipif(lightning is None, reason="lightning is not installed")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: on these skipifs, can you mention 3.14 so it's easier to search and remove all these later?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My only hesitation is that we might run into this same scenario for e.g. Python 3.15 in the future. If these skipifs are still there, it'll make it a lot easier to add preview support. They also shouldn't affect the tests if the modules are installed.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh true! That makes sense 💯

isabelizimm
isabelizimm previously approved these changes Sep 30, 2025
seeM
seeM previously approved these changes Sep 30, 2025
Copy link
Contributor

@seeM seeM left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Austin!

// Upstream doesn't run on OSX but that seems to fail too.
// if (WINDOWS) {
if (WINDOWS || OSX) {
// --- End Positron ---
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. I vaguely recall that we have skipped tests on macos for this reason before

@austin3dickey austin3dickey dismissed stale reviews from seeM and isabelizimm via 7a84a7a September 30, 2025 17:42
@austin3dickey austin3dickey merged commit 871903d into main Sep 30, 2025
68 of 75 checks passed
@austin3dickey austin3dickey deleted the vscode-python-v2025.14.0 branch September 30, 2025 18:56
@github-actions github-actions bot locked and limited conversation to collaborators Sep 30, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants