Releases: microsoft/vscode-python
Releases · microsoft/vscode-python
Release list
v2026.6.0
Changes:
Feature Requests:
- #772: Look into notifying users of new features when installing new versions
- #741: Bundle new version of PTVSD for the experimental debugger
- #733: Feature Request: Add Memory & Performance Profiling Integration
- #113: Feature Request: run django's unittest
- #110: Intellisense interrupting typing in strings
- #108: Symbols ordering requires improvements
- #107: Docstring format
- #103: Extract method is slow
- #101: about search for ctags symbles used Ctrl+Shift+T.
See More
- #1577: Look into using mypy's daemon
- #1000: Download platform-specific PTVS binaries on first run
- #1181: Add support to remote debugging of Python code on Azure
- #1283: Cache interpreter information for language server
- #886: Support debugging with interperter arguments (experimental debugger)
- #1612: Allow Disabling Pipenv Check
- #36: "Select interpreter" does not support direnv environments
- #2464: Document breakpoint() support
- #2462: Add support for debug console completions
- #2463: Support debugger return values
- #55: Please add support for Vagrant and remote interpreter setup
- #40: Path translation when using WSL bash in integrated terminal
- #554: Have a default set of linting rules
- #527: Install tools using
--userwhen not in an environment - #533: Exclude autocomplete paths
- #564: Doesn't recognize setup.cfg file
- #561: Conda install might require activation of environment
- #169: Send extra newline for 'Run Selection/Line in Python Terminal' to immediately execute
- #1161: Support templates for new files.
- #1168: Changes to how debug options are passed to PTVSD (experimental debugger)
- #1164: Provide help with common basic project operations.
- #1153: Support for formatting tool "black"
- #280: JSON schema for conda's environment.yml files
- #156: Run Isort when formatOnSave is on
- #144: Inline variable refactor feature
Bugs:
- #26012: Listen for added workspace folders to also testing.activateLegacyWorkspace() them
- #26026: Hide "Run Python File" button on .pyi stub files
- #771: Indentation level of
else:-type lines is not reduced - #769: Extension Host terminating unexpectedly
- #770: Bug in running selected code in terminal
- #767: Step out of a program being debugged results debugger going into the PTVSD library
- #766: Breaking on raised exceptions does not work in the experimental debugger
- #765: Breaking on uncaught exceptions not working in experimental debugger
- #25974: Improve performance of pytest discovery for large test suites
- #25982: Enhance test discovery payload handling with compact/expansion on paths in payload
- #25939: Support non-interactive Python environment configuration
- #26027: Fix pytest CI matrix compatibility and prevent hangs
- #109: Debugger not hitting breakpoint when using a virtual environment
- #105: Allow custom arguments for ctags
- #96: wrong docstring output encoding
- #2329: Debug task runner: check for powershell.exe and pwsh.exe to determine if "&&" can be used to chain commands
- #1072: IntelliSense stopped providing completions for inherited variables and methods since 2018.2.0
- #1096: The if statement is automatically formatted incorrectly after carriage return
- #1009: Debugging unit tests hangs indefinitely
- #1279: Custom arguments passed are no longer being passed to python file being debugged
- #1278: Debugging of modules using -m is broken again in VSC
- #1277: vscode-python repeatedly launching wmic
- #1272: Breakpoint not hit after re-attaching to remote debugger
- #1267: Experimental debugger is broken in master branch of PTVSD
- #887: Debugger breaks into PTVSD code if there are syntax errors in pythonfile
- #883: Running program to completion throws
Debug Adapter endederror - #926: Jedi language server does not recover under certain cirumstances
- #933: vscode error warning on Django development
- #1546: CI (Appveyor) tests are failing due to failures in Flask tests
- #1555: Python debugger fails in Insiders Build
- #1568: Refactor variable failing with Rope error 'Extracted piece should contain complete statements'
- #26019: Fast Pylance startup: don't block activation on environment enumeration
- #2459: Don't set ${workspaceFolder} in settings.json
- #2460: Go to definition doesn't work on some classes
- #2458: Completion server locks in-place built pyd files
- #2454: When using pytest with multiple python projects inside the workspaceFolder, you cannot configure pytest to only run one project's test suite without breaking the abilty to run a single test method.
- #25: Not working Ctrl+F5 for a second time
- #528: Unable to Rename Variables / Refactor
- #529: [FR or BUG] jump to symbols
- #543: can't goto a function after await keyword
- #558: Debug adapter crashes when restarting a debugged test
- #556: Linter installation not working
- #171: PythonVScode extension doesn`t seem to implement jedi properly - the extension cannot locate the correct symbol definition
- #166: Very long usage of vscode make suggestion to lag sometime
- #1176: Reattaching to a previously dettached remote debugging session does not work
- #25947: Fix duplicate command python.getRecommendedEnvironment
- #25949: Bug: Command 'python.getRecommendedEnvironment' already exists in multi-root workspace
- #25895: Refactor environment extension activation checks to use shouldEnvExtHandleActivation function
- #804: Warning about system python in MacOS but correctly uses virtualenv
- #700: Execute file in terminal requires double quotes around file named when run in bash terminals on Windows
- #126: Remote Debugger crash: TypeError: Cannot read property 'Threads' of undefined
- #128: Debugger stopping at breakpoints
- #124: Issue with autoFormatOnSave and yapf
- #89: Debugging unittest tests doesn't work
- #94: Symbol Refactoring is Broken
Others:
- #26168: release: Prevent virtualenv redirect from occupying .venv
- #26167: CI: prevent virtualenv redirect from occupying .venv
- #26164: release: Refresh 2026.6 candidate from current main
- #26066: release: Bump extension version to 2026.6.0
- #26011: Legacy discovery does not work for folders added to workspace after python extension activated
- #25732: Fix unittestadapter test warnings by using different import names for classes that begin with Test, so that pytest doesn't try use them as tests.
- #26058: Add pytest cancellation subprocess regression coverage
- #26029: Bump typing-extensions from 4.15.0 to 4.16.0
- #774: 🐛 resolve pythonPath in debug config
- #26028: Fix testing perf telemetry: send measurements via measures arg
- #25980: Add testing performance telemetry
- #26046: Bump actions/setup-python from 6 to 7
- #1338: Log the user's environment when the attempt to execute pipenv returns ENOENT
- #1337: Getting "import-error" for package that exists in pipenv
- #1336: pipenv doesn't appear in list of interpreters
- #1330: Create unit test for debugging of async coroutines
- #1332: Pass necessary flags to ptvsd during attach
- #1335: Add unit tests for remote debugging with docker
- #1333: Add news entry for debugging with source references
- #1328: Update documentation to indicate how PYTHONPATH env variable is used
- #25940: Environment tools block auto-approved agent calls on user input
- #26053: Add GDPR declaration for pyrefly.detection telemetry event
- #26052: Bump fast-uri from 3.1.2 to 3.1.4
- #26048: Bump actions/setup-python from 6 to 7 in /.github/actions/build-vsix
- #26049: Bump actions/setup-python from 6 to 7 in /.github/actions/lint
- #26047: Bump brettcannon/check-for-changed-files from 1.2.1 to 1.2.2
- #102: Extract method is slow
- #26031: Bump mheap/github-action-required-labels from 5.5.2 to 5.6.0
- #26043: Bump ws from 7.5.10 to 7.5.12
- #26041: Bump actions/setup-node from 6 to 7 in /.github/actions/lint
- #1574: Remove unused setting
disablePromptForFeatures - #1567: Create a new API to retrieve interpreter details with the ability to cache the details
- #1569: Create new API to retrieve interpreter details with the ability to cache it
- #1548: Python Terminal environment activation doesn't handle whitespaces in path correctly
- #1558: Consider switching off of Stack Overflow
- #26042: Bump actions/setup-node from 6 to 7 in /.github/actions/build-vsix
- #26040: Bump actions/setup-node from 6 to 7
- #26006: Bump markdown-it and @vscode/vsce
- #1185: E0401:Unable to import ... - pylint linting output
- #1155: Ensures file paths are properly encoded when passing them as arguments to linters.
- #1074: Updated npm dependencies in devDependencies and fix TypeScript compilation issues
- #1131: Add logging throughout the extension
- #996: Use single task for compilation and linting of the extension
- #1247: Split CI tests into seprate jobs (temporary work around for flaky tests)
- #26000: testing: refine compact discovery payload review feedback
- #26021: Bump uuid, nyc and @azure/identity
- #935: Breaking into Python code opens a duplicate editor window on Windows
- #934: Consider running CI on VSTS
- #925: Meta issue for common support issue enhancements
- #901: Fix unit tests causing AppVeyor CI to fail
- #879: Remove VSIX from repo
- #894: Add support for folding of docstrings and comments
- #889: Choosing Python3 interpreter gives no Intellisense
- #927: handle error conditions when checking memory usage of jedi language server process
- #932: Add some form of regression test to measure performance of load times
- #930: how to quickly add
import xxxto top - #915: Ensure experimental debug configurations are labeled correctly
- #1570: Look into how to ease translation support
- #1613: PTVS engine update + handling of the interpreter change
- #1572: Review upgrade to Travis.ci.com
- #1582: Add unit tests for log points in experimental debugger
- #1571: Release plan for 2018.5.0
- #26007: Bump @opentelemetry/core and @vscode/extension-telemetry and fix TelemetryReporter import
- #26...
v2026.4.0
What's Changed
Bug Fixes
- Prevent double/triple activation from two extensions by Anthony Kim (@anthonykim1) in #25849
Code Health
- Add environment discovery logging and messages when using Python Environments extension by Eleanor Boyd (@eleanorjboyd) in #25830
- Bump PET version to 2026.4 in stable release pipeline by @Copilot in #25847
Full Changelog: v2026.2.0...v2026.4.0
v2026.2.0
Changes:
Feature Requests:
Bugs:
- #25785: Refactor error handling to extract missing module names from error messages
- #25763: Fix native repl not using env extension
- #25736: remove method to update defaultInterpreterPath on env ext environment change
- #6039: Wrong indent when line break after a string with backslash
- #5968: Project-local venv used by default in unrelated folder.
- #25620: Leftover process
python_server.pywith 100% after closing VSCode
See More
- #25746: Fix python_server.py infinite loop on EOF (fixes #25620)
- #25677: Add conditional for Python agent tools
- #25717: enhance error handling and user notifications for Python Locator failures
- #524: If formatter not installed we do not always offer installation
- #521: Do not be sensitive to lacking a trailing slash for e.g. python.autoComplete.extraPaths
Others:
- #25801: Bump version to 2026.2.0 in package.json
- #25758: Fix env var warning description
- #25770: Add ai-artifacts to .gitignore to exclude generated files
- #25745: Bump lodash from 4.17.21 to 4.17.23
- #6088: Add unit tests for client/interpeter/configuration/pythonPathUpdaterServiceFactory.ts
- #6071: Add unit tests for client/language/textIteratorts
- #6062: Add unit tests for client/common/process/serviceRegistry.ts
- #6056: Add unit tests for client/common/configuration/service.ts
- #6053: Add unit tests for client/interpreter/configuration/services/globalUpdaterService.ts
- #6052: Delete client/jupyter provider.ts
- #6023: Lowercase drive letter on localhost path mappings on Windows
- #25612: bump Node.js version to 22.21.1 across multiple configuration files
- #25686: feat(tasks): add shell task for check-python with venv activation
- #25693: Bump importlib-metadata from 8.7.0 to 8.7.1
- #25716: update version to 2026.1.0-dev in package.json and package-lock.json
This list of changes was auto generated.
v2026.0.0
Changes:
Feature Requests:
- #40: Path translation when using WSL bash in integrated terminal
Bugs:
- #511: Fix markdown in documentation in 'Manually specifying an interpreter'
- #25521: Fix microsoft/vscode#232420: Python REPL cursor drifting
- #25683: fix(tests): enhance pytest-cov detection
- #25588: Don't re-run pytest when an exception in a test occurs
- #25: Not working Ctrl+F5 for a second time
- #25669: Switch to queue based execution for executing Python code
Others:
See More
- #25715: update version to 2026.0.0 release version
- #25714: update PET version to 2026.0
- #25705: Bump qs from 6.12.1 to 6.14.1
- #517: Improve interpreter selection on different platforms
- #506: Pylint - it appears pylint is linting the pylintrc file and throwing errors that affect every other module
- #25568: Add repr to custom PS1 class
- #25684: fix(execution): redirect error messages to stderr and clean up print statements
- #25654: Register test commands before first await to prevent activation race condition
- #25676: fix(reportIssue): duplication of data
- #25668: Bump actions/upload-artifact from 5 to 6 in /.github/actions/build-vsix
- #745: Add support for latest version of PTVSD as an experimental debugger
- #744: Limit Jedi RAM consumption
- #25667: Bump dessant/lock-threads from 5.0.1 to 6.0.0
- #25666: Bump actions/upload-artifact from 5 to 6
- #25673: Add telemetry
- #25665: Better log ensureTerminalLegacy
- #25658: Optimize pytest duplicate check from O(n) to O(1) using sets
- #25655: perf(pytest): cache path resolution to reduce discovery time for large test suites
- #25619: refactor test resultResolver
- #25627: Bump jws
- #25635: bump version to 2025.21.0-dev
This list of changes was auto generated.
v2025.20.1
Changes:
Bugs:
- #25669: Switch to queue based execution for executing Python code
Others:
- #25672: bump to point release v2025.20.1
- #25671: Switch to queue based execution for executing Python code (#25669)
This list of changes was auto generated.
v2025.20.0
What's Changed
Enhancements
- support new env kind from pet
venvUvby Eleanor Boyd (@eleanorjboyd) in #25532 - switch to uv for tag by Eleanor Boyd (@eleanorjboyd) in #25551
- Fix: Open file browser at workspace root when selecting interpreter path by @Copilot in #25520
- Add line number support for class nodes in pytest and unittest by Eleanor Boyd (@eleanorjboyd) in #25593
Bug Fixes
- Fix microsoft/vscode#232420: Python REPL cursor drifting by iBug in #25521
- support extra patching for doctest by Eleanor Boyd (@eleanorjboyd) in #25591
- Add NotRequired type from typing_extensions for type hinting by Eleanor Boyd (@eleanorjboyd) in #25613
- Fix KeyboardInterrupt in REPL by Anthony Kim (@anthonykim1) in #25625
- Improve resolveFilePath function to correctly handle URIs and file paths by Karthik Nadig (@karthiknadig) in #25632
Code Health
- Refactor test and discovery methods to remove overload by Eleanor Boyd (@eleanorjboyd) in #25572
- Move pytest test IDs file deletion to finally block by Itai Hay (@itaihay) in #25540
- docs: add periods to feature descriptions for consistency by Dhanika Botejue (@Dhanika-Botejue) in #25562
- separate out linked file check by Eleanor Boyd (@eleanorjboyd) in #25573
- Add telemetry for Python Environments extension use on activation by Eleanor Boyd (@eleanorjboyd) in #25578
- Enable proposed API for all launch configurations in tests by Eleanor Boyd (@eleanorjboyd) in #25582
- Update setting name by Luciana Abud (@luabud) in #25464
- fix flaky test by Eleanor Boyd (@eleanorjboyd) in #25583
- Refactor test processing and folder construction in vscode_pytest module by Eleanor Boyd (@eleanorjboyd) in #25478
- parsing mixed-value toml arrays by Eleanor Boyd (@eleanorjboyd) in #25585
- Bump js-yaml by Dependabot (@dependabot)[bot] in #25596
- Refactor pytest and unittest test discovery by Eleanor Boyd (@eleanorjboyd) in #25599
- Refactor test controller logic to improve clarity and maintainability by Eleanor Boyd (@eleanorjboyd) in #25615
- bump to use PET 2025.16 by Eleanor Boyd (@eleanorjboyd) in #25633
New Contributors
- iBug made their first contribution in #25521
- Itai Hay (@itaihay) made their first contribution in #25540
Full Changelog: v2025.16.0...v2025.20.0
v2025.18.0
Changes:
Feature Requests:
- #25551: switch to uv for tag
- #1362: Interpreter selection should show folder name instead of venv
- #25532: support new env kind from pet
venvUv
Bugs:
- #25521: Fix microsoft/vscode#232420: Python REPL cursor drifting
Others:
- #25576: bump to release v 2025.18.0
- #25527: Bump actions/setup-node from 5 to 6
- #1336: pipenv doesn't appear in list of interpreters
See More
- #1334: Add unit tests for debugging with source references
- #1374: Use
yarn install --frozen-lockfilefor CI - #25528: Bump actions/setup-node from 5 to 6 in /.github/actions/lint
- #25498: bump v2025.17.0-dev
This list of changes was auto generated.
v2025.16.0
What's Changed
Enhancements
- add "copy test id" to menu by Eleanor Boyd (@eleanorjboyd) in #25475
Bug Fixes
- Fix native REPL search path by fourdim in #25372
- Optimize test result processing in PythonResultResolver to improve performance and reduce complexity by Eleanor Boyd (@eleanorjboyd) in #25471
Code Health
- Upgrade jedi-language-server to 0.45.1 by Eric Masseran (@Morikko) in #25450
- Bump sha.js from 2.4.11 to 2.4.12 by Dependabot (@dependabot)[bot] in #25409
- Add meta-instruction files for learnings and testing feature area by Eleanor Boyd (@eleanorjboyd) in #25473
- Add implementation and usage instruction prompts for VS Code components by Eleanor Boyd (@eleanorjboyd) in #25477
New Contributors
- fourdim made their first contribution in #25372
- Eric Masseran (@Morikko) made their first contribution in #25450
Full Changelog: v2025.14.0...v2025.16.0
v2025.14.0
Changes:
Bugs:
- #25417: fix interpreter conversion to legacy api
- #25405: bug: use executeInFileDir and launchArgs settings with envs ext
- #2226: Killing an (integrated) terminal doesn't terminate the processes started therein (OSX)
Others:
- #25444: bump 2025.14.0, update pet
- #25403: Be explicit about the fact that Tools are specific to Python
- #25426: add additional msgs for python envs ext add
- #25404: chore: update tmp
- #25388: update readme to include python-envs ext
See More
- #25387: msg for doctest unsupported
- #25381: Bump actions/checkout from 4 to 5
- #2238: Use an enum for OS Types
This list of changes was auto generated.