Releases: microsoft/vscode-python
Releases Β· microsoft/vscode-python
v2024.2.1
2024.2.0
What's Changed
Enhancements
- Use terminal data write event to figure out whether shell integration is working by @karrtikr in #22872
Bug Fixes
- Do not run commands to check whether shell integration is working by @karrtikr in #22850
- Fix venv activation for cshell by @karrtikr in #22852
- Improve time taken to trigger language server startup once extension activation is triggered by @karrtikr in #22514
- Fix Run Recent Command Caching Issue by @anthonykim1 in #22867
- update tree comparison for tests to be order independent for children by @eleanorjboyd in #22832
- Add UnicodeDecodeError catching by @aydar-kamaltdinov in #22873
- Prepend
PATH
both at shell integration and process creation by @karrtikr in #22905 - Do not activate microvenv if terminal.activateEnvironment is set to false and when not in terminal experiment by @karrtikr in #22909
- Use python debugger in testing by @paulacamargo25 in #22903
- Prevent first Python command being lost by @anthonykim1 in #22902
- Fix Bug with Pytest when using symlinked workspaces by @eleanorjboyd in #22885
- Fix bug with symlink for pytest execution by @eleanorjboyd in #22952
Code Health
- Remove experimental flag for create env prompt by @cwebster-99 in #22892
- Log options being passed when using environment collection APIs by @karrtikr in #22907
- Add "isMeasurement" for LANGUAGE_SERVER_TRIGGER_DURATION by @karrtikr in #22912
- Updating installed extensions section of README.md by @cwebster-99 in #22893
- Update vscode-tas-client version by @luabud in #22876
- Adding GDPR tag for isFirstSession by @cwebster-99 in #22955
New Contributors
- @aydar-kamaltdinov made their first contribution in #22873
Full Changelog: v2024.0.1...2024.2.0
v2024.0.1
v2024.0.0
What's Changed
Enhancements
- Add create environment to select interpreter by @karthiknadig in #22746
- Allow run recent command for REPL using shell integration by @anthonykim1 in #22720
Bug Fixes
- Revert "Remove old code for folder support in interpreter path setting" by @karrtikr in #22638
- support multi-level nested classes pytest by @eleanorjboyd in #22681
- unittest: switch to using top dir since test ids are relative to it by @eleanorjboyd in #22609
- Bring back REPL shell integration decoration for Mac and Linux by @anthonykim1 in #22714
- Fix for issue with environment path and Jedi by @karthiknadig in #22713
- use abspath for top_level_dir for build_test_tree by @eleanorjboyd in #22740
- Remove star from recommended by @karthiknadig in #22759
- Rename
utils
topvsc_utils
to prevent shadowing by @karthiknadig in #22760 - Show name for conda environments created in the workspace by @PopoDev in #22701
- Remove unsupported proposed APIs enablement from
package.json
by @karthiknadig in #22787 - changes to support pytest 8 by @eleanorjboyd in #22799
Code Health
- Fix localization failure for pre-release by @karrtikr in #22639
- Remove experimental tag from createEnvironment.contentButton setting by @luabud in #22629
- Add localization check to CI by @karrtikr in #22646
- add logging for when testing is already running and causes new runs to be canceled by @eleanorjboyd in #22653
- Add permissions to triage-info-needed.yml by @karthiknadig in #22663
- Remove debugger by @paulacamargo25 in #22502
- Set debug as deprecated by @paulacamargo25 in #22738
New Contributors
Full Changelog: v2023.22.1...v2024.0.0
v2023.22.1
v2023.22.0
What's Changed
Enhancements
- Reliably detect whether shell integration is working by @karrtikr in #22440
- Add consoleTitle to launch.json properties schema by @trysten in #22406
- Support deactivating virtual environments without user intervention by @karrtikr in #22405
- Use worker threads for fetching Windows Registry interpreters by @karrtikr in #22479
- Show warning and allow user to turn off smart send for deprecated Python code by @anthonykim1 in #22353
- Use worker threads for fetching conda environments and interpreter related info by @karrtikr in #22481
- Use shell integration to denote success/failure by @anthonykim1 in #22487
Bug Fixes
- Do not prefer Microsoft store interpreter over other global interpreters when auto-selecting by @karrtikr in #22380
- Ensure Python environment defined in
python.defaultInterpreterPath
is returned via discovery API by @karrtikr in #22389 - Refactor get_node_path function to handle fspath greedy access by @eleanorjboyd in #22384
- Do not attempt to kill the process if it has already exited by @karrtikr in #22424
- Improve shell identifier on case-insensitive system by @JamzumSum in #22391
- Adding
Locked
comments to walkthrough commands by @cwebster-99 in #22432 - If active editor opened is outside the editor, activate the first workspace by @karrtikr in #22450
- Install requirements before toml by @karthiknadig in #22468
- Use
WorkspaceFolder.name
in addition to workspace folder's basename when resolving${workspaceFolder:name}
syntax in settings by @karrtikr in #22471 - Bump
vscode-tas-client
and fix tests by @karthiknadig in #22493 - Resolve test suite discovery import errors due to path ordering by @shanesaravia in #22454
- switch to conditional error message on check for UUID and port during pytest config by @eleanorjboyd in #22534
- Improvement: Pass along python interpreter to jedi-language-server by @johnhany97 in #22466
- White space after REPL prompt by @anthonykim1 in #22549
- Fix shell integration decoration for windows pwsh by @anthonykim1 in #22560
- fix no test id provided for pytest run by @eleanorjboyd in #22569
- Fix shell integration decoration bug for Windows pwsh by @anthonykim1 in #22572
- Revert unsuccessful REPL decoration fix and disable for windows by @anthonykim1 in #22578
Code Health
- Remove deprecated settings by @karthiknadig in #22377
- Use python test runner for extension python tests by @karthiknadig in #22385
- Use nox to install packages by @karthiknadig in #22381
- Remove unused packages from
package.json
by @karthiknadig in #22386 - Add cwd to error logs by @eleanorjboyd in #22387
- remove new line chars from error text messages in testing rewrite by @eleanorjboyd in #22402
- Remove old code for folder support in interpreter path setting by @karrtikr in #22413
- Add 3.12 to conda version list by @karthiknadig in #22470
New Contributors
- @JamzumSum made their first contribution in #22391
- @trysten made their first contribution in #22406
- @shanesaravia made their first contribution in #22454
- @johnhany97 made their first contribution in #22466
Full Changelog: v2023.20.0...v2023.22.0
2023.20.0
What's Changed
Enhancements
- Bump Jedi to 0.19.1 for Python 3.12 support by @PeterJCLaw in #22132
- Remove
isort
support by @karthiknadig in #22187 - REPL Smart Shift+Enter and Dynamic Smart Cursor by @anthonykim1 in #21779
- add clickable show logs on discovery error by @eleanorjboyd in #22199
- Remove formatting support by @karthiknadig in #22196
- switch testing output to test result panel by @eleanorjboyd in #22039
- Remove formatting settings by @karthiknadig in #22202
- Handle white spaces for list along with dictionary by @anthonykim1 in #22209
- Guide users to install workaround when deactivate command is run by @karrtikr in #22223
- Support powershell activation even if Powershell execution is disabled on the system by @karrtikr in #22273
- Only show terminal notification for basic terminals created using '+' icon by @karrtikr in #22275
- Improve notification texts for terminal activation by @karrtikr in #22323
Bug Fixes
- handle key error pytest by @eleanorjboyd in #22151
- fix to get user defined env and use it to set up testing subprocess by @eleanorjboyd in #22165
- fix bug with unittest debug not having args by @eleanorjboyd in #22169
- fix unittest output to remove print of only object reference by @eleanorjboyd in #22180
- Skip setting
PYTHONUTF8
when activating terminals by @karrtikr in #22213 - remove node deletion for error tolerant discovery by @eleanorjboyd in #22207
- add hookwrappers to pytest plugin to ensure run by @eleanorjboyd in #22240
- add wrapper hook for pytest_runtest_protocol by @eleanorjboyd in #22243
- add correct retrieval of workspace adapter for test discovery in multiroot context by @eleanorjboyd in #22246
- Remove unmatched parenthesis from error message by @BoltonBailey in #22254
- Fix for stack overflow on dispose by @karthiknadig in #22263
- add envFile's pythonpath before running tests by @eleanorjboyd in #22269
- Use taskkill to kill processes on Windows by @karrtikr in #22286
- Update linter and formatter warning notifications by @karthiknadig in #22292
- Update warning for the deprecated settings in python by @karthiknadig in #22345
- Save env vars at first pytest hook to ensure theyre unedited by @eleanorjboyd in #22344
- Trim ends before add lines to logs from create env output by @karthiknadig in #22358
- allow -v, -f, -q, --local in unittest args by @eleanorjboyd in #22357
Code Health
- switch end to end tests to randomized substring by @eleanorjboyd in #22114
- Migrate extension to node 18 by @karrtikr in #22135
- switch to using envvars for port and uuid in unittest by @eleanorjboyd in #22131
- Use python 3.12-dev by @karthiknadig in #22043
- Move tensorboard support into a separate extension by @DonJayamanne in #22197
- Add logging for failure to retrieve environment variables, testing rewrite by @eleanorjboyd in #22203
- remove asserts from catchable code for testing by @eleanorjboyd in #22210
- Enable experiments for all tests by @anthonykim1 in #22194
- Add support for a tensorboard experiment by @DonJayamanne in #22215
- Deprecate the log directory setting by @DonJayamanne in #22236
- Fix experiment telemetry related to optInto/optOutFrom settings by @karrtikr in #22241
- Remove unused text edit code by @karthiknadig in #22244
- Add extra logging to PythonTestServer data received before parsed as json by @eleanorjboyd in #22265
- Remove linting support by @karthiknadig in #22266
- Log commands when using raw process APIs directly by @karrtikr in #22326
- fix small logging issues for testing deprecation & duplicate log by @eleanorjboyd in #22349
New Contributors
- @BoltonBailey made their first contribution in #22254
Full Changelog: v2023.18.0...v2023.20.0
2023.18.0
What's Changed
Enhancements
- Add support to delete and re-create .conda environments by @karthiknadig in #21977
- Open requirement files by @karthiknadig in #21917
- Changed order of options in Create Environment flow when .venv exist by @annaburlyaeva in #22055
- Show a prompt asking users if they want to create environment by @karthiknadig in #22071
Bug Fixes
- Fix unittest subtest names that have spaces by @eleanorjboyd in #21947
- Incorrect print included for absolute path calculations by @eleanorjboyd in #21932
- Handle subprocess segfaults for testAdapters by @eleanorjboyd in #21963
- Fix
${command:python.interpreterPath}
in tasks.json in multiroot workspaces by @karrtikr in #21980 - Use stdin if workspace has large number of requirements by @karthiknadig in #21988
- Do not upper case custom env variables by @karrtikr in #22004
- pytest complicated parameterize test parsing by @eleanorjboyd in #22001
- Support EOT for testing by @eleanorjboyd in #21876
- switch | to unions to be 3.8 compatible by @eleanorjboyd in #22025
- Add python 3.8 and 3x specific runs by @karthiknadig in #22023
- Fix duplicate environments showing up on macOS by @karrtikr in #22030
- Handle exceptions during test discovery by @eleanorjboyd in #22026
- Update language to encourage reading "Migration to Python Tools Extensions" by @Spitfire1900 in #22019
- Make sure
PATH
ends with a separator before prepending by @karrtikr in #22046 - Fix bugs related to discovery blocking other features by @karrtikr in #22041
- Respect
VIRTUAL_ENV_DISABLE_PROMPT
when activating virtual envs by @karrtikr in #22053 - Respect conda changeps1 config when setting PS1 by @karrtikr in #22054
- Add await for stdout by @eleanorjboyd in #22049
- Explicitly continue execution after timeout on launching conda binary is reached by @karrtikr in #22072
- Calculate PS1 instead of using PS1 returned by shell by @karrtikr in #22078
- Fix progress indicator when reactivating terminals by @karrtikr in #22082
- Ensure we don't show version selection when user selects useExisting by @karthiknadig in #22099
- Fix regex split for subtest names by @eleanorjboyd in #22107
- Ignore payload key-value if value is empty by @eleanorjboyd in #22105
- Fire active environment change event if active environment is deleted by @karrtikr in #22113
Code Health
- Remove old linter and formatter prompts and commands by @karthiknadig in #21979
- Remove activation triggers that are handled automatically by @karthiknadig in #21918
- Update telemetry package by @luabud in #21914
- Catch errors when looking up python binaries in a PATH by @karrtikr in #21948
- Update Python extension API version by @karrtikr in #21953
- Added git settings for branch name suggestion, protection, pull, and mergeEditor by @anthonykim1 in #21954
- Do not assume casing of activated environment variables Python returns by @karrtikr in #21970
- Drop Python 3.7 support by @anthonykim1 in #21962
- Clear environment collection only after all async operations are done by @karrtikr in #21975
- Remove envShellEvent proposal usage by @Tyriar in #21997
- Remove repo labels corresponding to removing unrecognized label workflow by @karrtikr in #22022
- Remove sort imports from command palette and context menu by @ludizhan in #22058
- Pytest to pytest by @himi11 in #22062
- Bump jedi-language-server and jedi by @PeterJCLaw in #22069
- Switch to verbose for raw data logs by @eleanorjboyd in #22110
- Align env type capitalization with tool recommendation by @Tyriar in #22103
- Check existence of value in header before trim process json rpc by @eleanorjboyd in #22116
New Contributors
- @Spitfire1900 made their first contribution in #22019
- @annaburlyaeva made their first contribution in #22055
- @ludizhan made their first contribution in #22058
- @himi11 made their first contribution in #22062
Full Changelog: v2023.16.0...v2023.18.0
2023.16.0
What's Changed
Enhancements
- Add setting to control severity of missing package diagnostic by @karthiknadig in #21794
- Support for Create Env command to re-create env for venv by @karthiknadig in #21829
- Apply custom env variables to terminal when in
pythonTerminalEnvVarActivation
experiment by @karrtikr in #21879 - Also show interpreter in status bar when a Python related output channel is opened by @karrtikr in #21894
Bug Fixes
- Make test_ids relative to workspace path not root dir by @eleanorjboyd in #21682
- Fix UUID and disposing by @eleanorjboyd in #21667
- add cwd for debugging by @eleanorjboyd in #21668
- update tests only on save with more files excluded by @eleanorjboyd in #21741
- revert absolute test-ids by @eleanorjboyd in #21742
- Improvements to
pythonTerminalEnvVarActivation
experiment by @karrtikr in #21751 - revert due to buffer overflow on subprocess by @eleanorjboyd in #21762
- Feature branch testing overflow bug fix by @eleanorjboyd in #21812
- fixing failing tests on CI by @eleanorjboyd in #21814
- fix data to string from buffer for output channel by @eleanorjboyd in #21821
- Set workspaceFolder in debug config before substituting command variables by @karrtikr in #21835
- Wrap env collection workspace proposed APIs in
try...catch
block by @karrtikr in #21846 - remove usage of pytest CollectReport in rewrite by @eleanorjboyd in #21859
- Do not filter using scheme when filtering environments by @karrtikr in #21862
- Activate environment when not using integrated terminal for debugging by @karrtikr in #21880
- Fixes for issues from test plans by @karthiknadig in #21896
- Always prepend to PATH instead of replacing it by @karrtikr in #21906
Code Health
- Remove unwanted Jupyter API by @DonJayamanne in #21702
- Removing Jupyter Notebooks mentions from package.json by @cwebster-99 in #21708
- add area-repl to issue label by @anthonykim1 in #21718
- Update packages for Jedi and core python by @karthiknadig in #21710
- unittest discovery errors not displaying in test explorer by @eleanorjboyd in #21726
- Remove old and unused API for Jupyter Ext by @DonJayamanne in #21731
- Clean up smoke test requirement by @anthonykim1 in #21729
- Remove vscode types dependency from API npm package and document to install it separately by @karrtikr in #21764
- Add Ruff to CI by @anthonykim1 in #21739
- Use updated API to fetch scoped env collection by @karrtikr in #21788
- Fix
service.test.ts
to stop disposing of all services by @eleanorjboyd in #21811 - Show notification reaffirming Python extension still handles activation when in
pythonTerminalEnvVarActivation
experiment by @karrtikr in #21802 - Apply API recommendations for Create Env API by @karthiknadig in #21804
- Show
Python: Clear Workspace interpreter
command regardless of whether a Python file is opened by @karrtikr in #21858 - Remove finalized API proposals from package.json by @Tyriar in #21900
Full Changelog: v2023.14.0...v2023.16.0
2023.14.0
What's Changed
Enhancements
- Display errors and tests on discovery by @eleanorjboyd in #21629
- Add npm project for Python API by @karrtikr in #21631
- Added Dev Container Using MCR by @anthonykim1 in #21675
Bug Fixes
- Correct PATH env var name for non-Windows when applying env var collection for microvenv by @karrtikr in #21564
- Fix duplicate class names processed as single node in build test tree pytest by @eleanorjboyd in #21601
- Return exceptions & skips correctly pytest by @eleanorjboyd in #21603
- Handle skipped marker on class level by @eleanorjboyd in #21612
- Fix for CodeQL errors by @karthiknadig in #21613
- Handle error tests as a different test icon by @eleanorjboyd in #21630
- Compare global storage data using only
key
by @msujew in #21636 - Correct discovery on unittest skip at file level by @eleanorjboyd in #21665
- Ensure
Run Python in dedicated terminal
usespython.executeInFirDir
setting by @karrtikr in #21681 - Handle skip unittest at file without error by @eleanorjboyd in #21678
Code Health
- Disable creating gh tags for pre-releases by @karthiknadig in #21563
- Remove needs labels by @eleanorjboyd in #21572
- Info needed closer by @eleanorjboyd in #21575
- Move lock issues by @eleanorjboyd in #21580
- Move more workflows to python by @eleanorjboyd in #21581
- Update list of repo labels by @karrtikr in #21597
- Add pythonwelcome2 walkthrough to activation reason by @luabud in #21588
- Download
get-pip.py
during build by @karthiknadig in #21589 - Bump semver by @rzhao271 in #21618
- Delete run messages by @eleanorjboyd in #21620
- Add deprecation warning for linting and formatting settings by @luabud in #21585
- Update writing style based on recommendation by @karthiknadig in #21525
- Add extra logging regarding interpreter discovery by @karrtikr in #21639
- Bring back feature to Run Python file in dedicated terminal by @karrtikr in #21656
- Prevent posix paths locator from crashing by @karrtikr in #21657
- Do not resolve symbolic links in posix locator if they exceed the count limit by @karrtikr in #21658
- Add new telemetry property to GPDR by @rchiodo in #21683
- Do not show "Select at workspace level" option if only one workspace folder is opened by @karrtikr in #21689
- Remove unwanted Jupyter API by @DonJayamanne in #21702
- Removing Jupyter Notebooks mentions from package.json by @cwebster-99 in #21708
- Add area-repl to issue label by @anthonykim1 in #21718
- Update packages for Jedi and core python by @karthiknadig in #21710
New Contributors
Full Changelog: v2023.12.0...v2023.14.0