Releases: microsoft/vscode-python-environments
Releases · microsoft/vscode-python-environments
v1.22.0
Changes:
Feature Requests:
- #1317: Add @vscode/python-environments npm package
- #1292: feat: enhance telemetry with error classification and duration tracking for environment manager registration
Bugs:
- #1296: fix: create independence between manager registration
- #1295: feat: implement timeout handling for environment and package manager registration
- #1289: Noisy startup errors: workspaceSearchPaths warning spam and unresolved ${workspaceFolder} sent to PET
- #1290: fix: deduplicate workspaceSearchPaths error and skip PET resolve for unresolved variables (Fixes #1289)
- #1287: fix: remove intrusive error notification for unresolvable Python paths (Fixes #1283)
- #1274: PET configure timeout kills process, preventing recovery on large workspaces
See More
- #1275: fix: graduate PET configure timeout to avoid killing process prematurely (Fixes #1274)
- #1185: Pipenv: Missing support for WORKON_HOME and XDG_DATA_HOME environment variables
- #1249: feat: add WORKON_HOME and XDG_DATA_HOME support for pipenv (Fixes #1185)
- #1248: fix: use conda.sh for Git Bash activation on Windows (Fixes #1247)
- #1218: Add platform-specific default paths for Poetry cache and virtualenvs
- #1244: fix pipenv and poetry setting
- #529: Switch Poetry terminal activation to venv methodology for version > 2.0.0 support
- #1243: add support for
CONDA_PREFIXset already in vscode environment - #1231: fix bug: getDedicatedTerminal errors on string value for supported terminalKey
Others:
- #1342: bump PET on release branch
- #1331: bump v 1.22.0
- #1332: Revert npm package and pipeline commits from release/1.22
- #1328: Get rid of vscode-engineering template in the npm publish pipeline
- #1314: chore: run npm audit fix
- #1297: Implement tests for manager timeout handling
- #1298: chore(deps-dev): bump minimatch from 3.1.2 to 3.1.5 in /examples/sample1
- #1282: chore(deps): bump minimatch
- #1294: feat: enhance environment discovery logging and troubleshooting guidance
- #1272: Add
ENVIRONMENT_TOOL_USAGEtelemetry to track actual environment tool usage - #1283: Python Environments "Unable to handle /usr/share/jupyter/kernels/pythonEnv/helper"
- #1266: Extension breaks uv venv interpreter detection in dev containers
- #1265: feat: add ENVIRONMENT_DISCOVERY telemetry event and update related telemetry
- #1264: fix main CI errors
- #1247: Using the wrong activation script on Windows + gitbash + conda
- #1227: Add integration test
- #1245: Add Rust toolchain setup to push-check workflow
- #1239: Consolidate external dependency wrappers for improved testability
- #1240: chore: add execProcess wrapper and refactor poetryUtils (Fixes #1239)
- #1238: chore(deps-dev): bump qs from 6.14.1 to 6.15.0
- #425: Copilot insert command to terminal doesnt successfully activate terminal
- #122: Untildify conda path from settings
- #514: add command to add Python project given resource
- #546: remove poetry warning popup
- #545: add check for already set project environments and add documentation
- #418: Explore a Python Run Command Tool
- #543: fix: set env correctly on package creation
- #1242: bump: update version to 1.21.0 in package.json
This list of changes was auto generated.
v1.20.1
Changes:
Bugs:
- #1260: Revert VS Code engine to 1.106, hold task proposed api
Others:
- #1263: bump: update version to 1.20.1 in package.json and package-lock.json
This list of changes was auto generated.
v1.20.0
Changes:
Bugs:
- #1237: fix: CI test failure
- #1234: Fix defaultInterpreterPath variable expansion and stabilize interpreter selection tests
- #1220: Fix empty path handling in pythonProjects for workspace root projects
- #1222: Normalize file paths across environment managers
- #1211: Add POETRY_VIRTUALENVS_IN_PROJECT environment variable support
- #1183: Poetry: Missing support for POETRY_VIRTUALENVS_IN_PROJECT environment variable
Others:
- #1241: Bump version to 1.20.0 in package.json and package-lock.json
- #1232: Add analysis modules for code health and technical debt tracking
See More
- #1226: Fix smoke tests and enhance testing workflow with PET
- #1225: Add smoke tests for functional checks and registration verification
- #1223: initial scaffolding for e2e, smoke, integration tests
- #1221: Add verbose logging for environment resolution failures in utils
- #1216: bump version to 1.19 dev
This list of changes was auto generated.
v1.18.1
What's Changed
- chore(deps-dev): bump qs from 6.12.0 to 6.14.1 by @dependabot[bot] in #1076
- Bump version to 1.17.0 in package.json and package-lock.json by @eleanorjboyd in #1086
- Fix activation icon state when using
shellStartupby @renan-r-santos in #837 - Refactor: Replace direct child_process.spawn calls with spawnProcess for consistent environment handling and add PYTHONUTF8=1 for subprocesses by @eleanorjboyd in #1087
- createTerminal with command activation should return activated terminal by @anthonykim1 in #1088
- Remove polling to check shell integration by @anthonykim1 in #1090
- Remove redundant shell activation and deactivation for FISH in getShellActivationCommands by @eleanorjboyd in #1097
- Enhance validation in native Python finder for Json to TS object conversion by @eleanorjboyd in #1102
- Add deprecation notes to some settings by @StellaHuang95 in #1100
- add support for virtualEnv and virtualEnvWrapper to venv manager by @eleanorjboyd in #1103
- Update setting description for shell startup by @anthonykim1 in #1106
- Update dependencies: bump diff to 5.2.2 and sinon to 19.0.5 by @eleanorjboyd in #1112
- Fix
python.defaultInterpreterPath0. setting not being applied to new workspaces by @StellaHuang95 in #1110 - Enhance environment manager settings updates to avoid unnecessary write to settings.json by @eleanorjboyd in #1120
- Add telemetry for project structure metrics at extension startup by @eleanorjboyd in #1121
- Remove repo specific issue-label actions by @anthonykim1 in #1119
- Ensure to show terminal on run Python file with command activated terminal by @anthonykim1 in #1129
- Improve Settings Reference documentation and fix python-env.* naming inconsistency by @StellaHuang95 in #1114
- Correct shell startup setting wording by @anthonykim1 in #1133
- Refactor NativePythonFinderImpl for better disposable management by @karthiknadig in #1144
- chore(deps): bump lodash from 4.17.21 to 4.17.23 by @dependabot[bot] in #1117
- Enhance NativePythonFinderImpl with improved logging and configuration comparison by @karthiknadig in #1149
- Move zsh code out of bash folder by @Tyriar in #1150
- design doc addition by @eleanorjboyd in #386
- Fix: Use JSON package listing in conda environment by @karthiknadig in #1008
- fix: timeout handling for JSON-RPC requests in NativePythonFinder by @karthiknadig in #1154
- overhaul interpreter selection prioritization code to align with desired UX by @eleanorjboyd in #1155
- Auto-update project view on folder delete/rename by @eleanorjboyd in #1152
- Properly await promise in cleanupStartupScripts by @Tyriar in #1156
- Add leading space to shell activation commands to prevent history bloating by @Copilot in #1143
- Fix issue where terminal environment variables are not removed when they are commented out or deleted from .env files. by @StellaHuang95 in #1131
- fix: streamline environment retrieval in venvManager and pyenvManager by @karthiknadig in #1157
- fix: update pyenv binary name for Windows compatibility by @karthiknadig in #1161
- fix: enhance pyenv path resolution to include virtual environments by @karthiknadig in #1162
- Use XDG_CONFIG_HOME for fish config when available by @Tyriar in #1164
- Remove unused shell integration polling variable by @anthonykim1 in #1167
- Add more tests for .env file feature by @anthonykim1 in #1163
- feat: add documentation writer agent for Python Environments extension by @eleanorjboyd in #1171
- Add "Enter Interpreter Path" option for selecting Python interpreter by @karthiknadig in #1173
- Enhance Pipenv manager registration and configuration by @karthiknadig in #1170
- fix: improve extension ID caching and logging in getCallingExtension by @karthiknadig in #1169
- remove unneeded details by @eleanorjboyd in #1174
- bug: terminal triggered package refresh to use correct env by @eleanorjboyd in #1175
- Don't show activate button for task terminal by @anthonykim1 in #1168
- Fix incorrect terminal name by @anthonykim1 in #1188
- feat: add command to reveal environment in manager view by @eleanorjboyd in #1186
- Add error handling for broken Python environments by @karthiknadig in #1189
- feat: add progress indication for refreshing environment managers by @eleanorjboyd in #1194
- feat: add disambiguation suffixes for Python environments in env manager by @eleanorjboyd in #1197
- remove button for creating terminal in project view by @eleanorjboyd in #1199
- Introduce Settings Icon into Env Manager View by @eleanorjboyd in #1191
- refactor: streamline conda environment handling and activation commands by @karthiknadig in #1177
- bug: project initialization to load existing projects without overwriting user settings by @eleanorjboyd in #1202
- feat: fix bug with reveal icon with id assignments by @eleanorjboyd in #1204
- Progress indicator for refresh and create env by @anthonykim1 in #1205
- listen to change in python.terminal.useEnvFile by @anthonykim1 in #1208
- fix: environment initialization to ensure proper resolution by @karthiknadig in #1209
- chore(deps-dev): bump webpack from 5.97.1 to 5.105.0 in /examples/sample1 by @dependabot[bot] in #1190
- chore(deps-dev): bump webpack from 5.94.0 to 5.105.0 by @dependabot[bot] in #1212
- Add notification for active virtual environment selection by @karthiknadig in #1179
- Implement Python installation via uv by @karthiknadig in #1198
- Fix PyEnv Windows path calculation for environment grouping by @Copilot in #1210
- bump to release version 1.18 by @eleanorjboyd in #1215
New Contributors
Full Changelog: v1.16.0...v1.18.0
[note: due to build problems, there is no 1.18.0 release and this instead is the major release with all new changes]
v1.16.0
Changes:
Feature Requests:
- #1009: Implement temporary state management for environment actions
- #917: Add functionality to retrieve Poetry path from settings
Bugs:
- #1004: Fix: Validate existence of pipenv, poetry, and pyenv paths before usage
- #1070: Be less aggressive about removing Python hooks in shell profile
- #1054: Fix a bug with Quick Create not installing workspace dependencies
- #1051: Revert "Add functionality to retrieve Poetry path from settings (#917)"
Others:
- #1085: Bump version to 1.16.0 release
See More
- #1084: update to use PET 2026.0
- #1079: Add tests for shell startup
- #1066: Validate pyproject.toml before installing dependencies
- #1071: Dont tear down shell startup when switched to command
- #1046: Remove stale persistentState
- #1056: fix: update Python version from 3.8 to 3.9 in Azure pipeline configuration
- #1010: chore: update Node.js version to 22.21.1 across configuration files
- #1020: Add tests and update testing-flow learnings
- #1031: bump version to dev 1.15.0
This list of changes was auto generated.
v1.14.0
Changes:
Feature Requests:
- #917: Add functionality to retrieve Poetry path from settings
Bugs:
- #1051: Revert "Add functionality to retrieve Poetry path from settings (#917)"
- #1055: Revert "Add functionality to retrieve Poetry path from settings (#917)" (#1051)
- #1022: Support UvWorkspace envs too
- #1017: uv-managed workspaces don't appear in the extension yet
- #1021: fix: Create new main batch file if it doesn't exist during CMD startup
- #1000: Environment activation is not working reliably with "Command Prompt"
- #1018: Fix regression where shell startup auto activation does not work on cmd
See More
- #1006: Fix: Quote conda executable path to handle spaces
- #1005: Fix: Enhance virtual environment removal validation
- #1003: Fix: TypeError in conda discovery
- #993: Fix: Normalize executable path for Git Bash on Windows in runInTerminal
- #968: fix: missing
&when running PET command
Others:
- #1058: cherry-pick update Python version from 3.8 to 3.9 in Azure pipeline
- #1030: bump to 1.14 for release
- #1029: bump to use PET 2025.16
- #1019: Add tests for shell startup activation
- #1012: Add contributing guidelines to the Python Environments extension
- #999: chore(deps): bump glob from 10.4.5 to 10.5.0 in /examples/sample1
- #998: chore: update npm packages
- #995: chore(deps-dev): bump js-yaml from 4.1.0 to 4.1.1 in /examples/sample1
- #678: Initialize conda with incorrect address
- #618: update pet on release branch
- #985: Update vscode engine to 1.106.0
- #984: Update vscode engine
- #977: port learnings into testing workflow instructions
- #976: bump version to 1.13.0
This list of changes was auto generated.
v1.12.0
Changes:
Feature Requests:
- #940: Add VenvUv support and alwaysUseUv setting to control UV usage for virtual environments
- #933: Fix: Show error messages in UI when environment creation fails
- #945: update api documentation
- #943: Allow undefined uri in api.getEnvironmentVariables
- #917: Add functionality to retrieve Poetry path from settings
- #910: Fix missing dev-requirements.txt in workspace dependencies list
Bugs:
- #920: [Python Environments] No report of failure when environment is not created
- #952: Fix unexpected blocking for pwsh command activation
See More
- #928: Bug in create venv flow with selecting skipping package installation
- #914: add get pipenv from settings to getPipenv function
- #911: support pipenv path setting
- #900: fix: use ZDOTDIR when available
- #897: Fix bug with getAutoActivationType
- #905: Refactor quoteStringIfNecessary to fix handling of single shell operators
- #896: Fix wsl not activating properly.
- #890: Fix quoting logic to escape special characters in exec path
- #886: fix env var clearing
- #880: Fix where activation goes missing after user modifying rc scripts
Others:
- #975: bump version to 1.12.0
- #949: chore: pass through terminal creation options
- #946: fix linting and update eslint rule
- #873: Add comprehensive unit tests for execUtils.ts
- #921: Improve shell startup experience using setting value
- #915: Better handle terminal shell integration check
- #851: Add PowerShell version logging for activation debugging
- #706: Leave better logs for pwsh version for activation
- #877: add testing for runInBackground
- #506: Missing requirements file in workspace dependencies list
- #907: fix ts issue
- #856: feat: add back button to all necessary flows in UI
- #892: Revert "fix as-any linting warnings"
- #891: fix as-any linting warnings
- #879: bump to v1.11.0 dev version
This list of changes was auto generated.
v1.10.0
Changes:
Feature Requests:
- #863: implement MVP of workspace and global searchPaths
- #818: sort by version (desc) in conda create picker
Bugs:
- #860: fix: update run command for conda to use python instead of
conda run - #853: fix: normalize path for UI display when removing virtual environments
- #850: fix: improve environment display name for pipenv
- #849: fix quoting for runInBackground
- #823: make virtual environment search default to config not project folders
- #825: bug: fix default interpreter resolution with user configuration
See More
- #811: revert: remove unnecessary refresh call for environment managers on expansion
Others:
- #923: cherry-pick shell changes to release
- #916: cherry pick in changes for release
- #878: bump to v1.10.0
- #872: add tests for runAsTask
- #871: update testing instruction file
- #864: docs: add comprehensive testing guide for unit and extension tests
- #867: chore(deps-dev): bump tar-fs from 2.1.3 to 2.1.4
- #857: docs: add guidelines for creating effective GitHub issues
- #830: update version dev 1.9.0
- #827: update version to 1.8.0 in package.json and package-lock.json
- #819: update create api doc string to be more explicit
- #816: debt: add GitHub Actions workflow for automatic PR label management
- #815: debt: refactor environment info collection and add helper file
- #817: feat: enable random branch naming for Git
- #814: debt: prepend '[pet]' to log messages for better context in NativePythonFinder
- #751: fix conda env refresh not waiting for promises
- #764: Display activate button when a terminal is moved to the editor window
- #783: Refresh environment managers automatically when expanding tree node
- #782: Expanding
Pipenvshould refresh the children
This list of changes was auto generated.
v1.8.0
Changes:
Bugs:
- #804: remove not implemented create function
- #787: bug: surface warning for broken defaultEnvManager and resolve
Others:
- #829: Cherry pick release 1.8.0
- #828: bump v 1.8.0
- #803: switch to using inspect for setting to check for user explicit value
- #807: feat: add GitHub Actions workflow to label "triage-needed" on open
- #802: include venvFolders in search paths
- #788: Fix log message to correctly reference invalid venv environment not conda
See More
- #778: Bump version to 1.7.0 in package.json and package-lock.json
This list of changes was auto generated.
v1.6.0
Changes:
Bugs:
- #760: add in version selection for conda env creation
- #761: Improve default interpreter resolution logic to avoid unnecessary updates
Others:
- #777: Bump version to 1.6.0 in package.json and package-lock.json
- #758: update timing on info-needed workflow
- #769: Fix default interpreter path comparison for windows
- #756: Log spawning of processes
- #755: update readme for pipenv support
- #754: Add resolution for default interpreter and respect defaultInterpreterPath setting
See More
- #750: Adding pipenv support
- #753: update readme with env manager support
- #747: bump version to 1.5.0 for dev
This list of changes was auto generated.