Skip to content

Update min version (3.10) and requirements#643

Merged
edvilme merged 9 commits into
microsoft:mainfrom
edvilme:requirements-upgrade
Feb 5, 2026
Merged

Update min version (3.10) and requirements#643
edvilme merged 9 commits into
microsoft:mainfrom
edvilme:requirements-upgrade

Conversation

@edvilme
Copy link
Copy Markdown
Contributor

@edvilme edvilme commented Feb 3, 2026

This pull request updates the minimum supported Python version across the development environment, CI workflows, and pipelines from 3.9 to 3.10, and ensures all tooling and documentation reflect this change. It also updates several development dependencies to their latest versions.

Upgraded packages versions and requirements.txt running

uv pip compile --generate-hashes -o ./requirements.txt ./requirements.in

Closes #628

@edvilme edvilme changed the title Update requirements Update min version (3.10) and requirements Feb 4, 2026
@edvilme edvilme force-pushed the requirements-upgrade branch from 369a5a6 to 9f658a1 Compare February 4, 2026 00:20
@edvilme edvilme added the no-changelog don't include this item in release notes. label Feb 4, 2026
@edvilme edvilme requested a review from Copilot February 4, 2026 00:48
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the project’s minimum supported Python version from 3.9 to 3.10 across development tooling, CI workflows, and deployment pipelines, and refreshes pinned Python dependencies (including pylint) via uv pip compile.

Changes:

  • Raise the minimum Python version to 3.10 in devcontainer, nox sessions, runtime configuration, GitHub Actions workflows, and Azure DevOps pipelines, and add shared variables/inputs for that version where appropriate.
  • Regenerate and update requirements*.txt and dev-requirements*.txt with newer versions of pylint (4.0.4) and related toolchain libraries, using uv pip compile --generate-hashes.
  • Update documentation comments around environment creation to reference Python 3.10 and the Python devguide for “oldest supported version”.

Reviewed changes

Copilot reviewed 15 out of 17 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/test/python_tests/requirements.txt New, fully pinned and hashed test requirements file generated by uv, aligned with updated pytest and related tooling for Python 3.10+.
src/test/python_tests/requirements.in Updates commentary to state that uv should be run with Python 3.10 (or the oldest supported version) when generating test requirements.
runtime.txt Bumps the runtime Python version from 3.9.13 to 3.10.19 to match the new minimum supported version.
requirements.txt Regenerates pinned runtime/language-server dependencies (including upgrading pylint to 4.0.4 and its transitive deps) with uv and an explicit compile command comment.
requirements.in Updates environment-creation comment to reference Python 3.10 (or oldest supported version) when generating the main requirements.txt.
noxfile.py Switches nox sessions install_bundled_libs and setup to run under Python 3.10 instead of 3.9.
dev-requirements.txt Regenerates and upgrades development tooling dependencies (black, nox, pip, pip-tools, flake8, etc.) and their hashes for Python 3.10+.
dev-requirements.in Updates guidance to use Python 3.10 (or oldest supported version) when generating dev-requirements.txt.
build/azure-pipeline.stable.yml Introduces a PythonVersion variable set to 3.10 and uses it for the UsePythonVersion task in the stable pipeline.
build/azure-pipeline.pre-release.yml Same as stable pipeline: defines PythonVersion (3.10) and wires it into the UsePythonVersion task for pre-release builds.
build/azure-devdiv-pipeline.stable.yml Adds a PythonVersion variable (3.10) and updates the UsePythonVersion task to use that variable instead of the literal 3.9.
build/azure-devdiv-pipeline.pre-release.yml Mirrors the stable DevDiv pipeline by introducing PythonVersion (3.10) and using it in the UsePythonVersion task.
.github/workflows/push-check.yml Sets PYTHON_VERSION env to 3.10, updates test matrix to 3.10–3.14, and ensures bundled libs are installed using the minimum supported Python version.
.github/workflows/pr-check.yml Same as push-check: adds PYTHON_VERSION env, moves the matrix baseline from 3.9 to 3.10, and uses the minimum supported version to install bundled libs.
.github/actions/lint/action.yml Adds a python_version input (default 3.10) so the lint composite action installs the configured Python version instead of a hard-coded 3.9.
.github/actions/build-vsix/action.yml Adds a python_version input (default 3.10) and uses it to select Python for building the VSIX and running nox in the composite action.
.devcontainer/Dockerfile Updates the devcontainer base image from Python 3.9 to Python 3.10 to align local dev environments with the new minimum version.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

rchiodo
rchiodo previously approved these changes Feb 4, 2026
heejaechang
heejaechang previously approved these changes Feb 4, 2026
@edvilme
Copy link
Copy Markdown
Contributor Author

edvilme commented Feb 4, 2026

Tests failing because of #645, will rebase once merged

@edvilme edvilme force-pushed the requirements-upgrade branch from d9ff38c to 7a686c8 Compare February 4, 2026 23:35
@edvilme edvilme enabled auto-merge (squash) February 4, 2026 23:53
@edvilme edvilme merged commit 79b4100 into microsoft:main Feb 5, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-changelog don't include this item in release notes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Keep this wrapper up-to-date v4.0.4 is the current release

4 participants