Releases: microsoft/vscode-python
Releases · microsoft/vscode-python
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
2023.12.0
What's Changed
Enhancements
- Add dynamic test result update by @eleanorjboyd in #21466
- Dev Container for VS Code Python Extension by @anthonykim1 in #21435
- Split subtest name to be unique second half by @eleanorjboyd in #21497
Bug Fixes
- Fix
pytest
run script to addcwd
to path by @eleanorjboyd in #21399 - Fix for showing button in merge result editor by @karthiknadig in #21408
- Revert: Run in dedicated terminal feature due to regressions by @karthiknadig in #21418
- Read launch config in workspace file by @paulacamargo25 in #21426
- Fix bug that errors on repeat folder name by @eleanorjboyd in #21433
- Use
cwd
in debug testing by @paulacamargo25 in #21437 - Fix error checking python version by @paulacamargo25 in #21464
- Adopt lifecycle managed by parent by @paulacamargo25 in #21467
- Add to payload to allow error parsing on TS by @eleanorjboyd in #21483
- Let
pylance
useSharedArrayBuffer
cancellation in the browser by @rchiodo in #21482 - Add
cwd
to python path duringunittest
sendCommand
by @eleanorjboyd in #21490 - Fix bug that caused dup in param test cases by @eleanorjboyd in #21498
- Fix filtering with
QuickPick
by @karthiknadig in #21524 - Rewrite should respect setting
python.testing.cwd
by @eleanorjboyd in #21539 - Fix bug which merges all parametrize test classes by @eleanorjboyd in #21542
- Fix bug where session path is undefined by @eleanorjboyd in #21544
- Fix
sys.path
in discoveryunittest
by @paulacamargo25 in #21546 - Fix path for
pytest
Nodes by @eleanorjboyd in #21548
Code Health
- Add function node for parameterized tests
pytest
by @eleanorjboyd in #21368 - Remove
jupyter
dependency from readme by @minsa110 in #21375 - Don't send telemetry in forks by @paulacamargo25 in #21377
- Python Walkthrough Updates by @cwebster-99 in #21411
- Add test for import
pytest
error by @eleanorjboyd in #21472 - Update to align with sys path appends by @eleanorjboyd in #21547
Full Changelog: v2023.10.1...v2023.12.0
2023.10.1
What's Changed
Bug Fixes
- Fix for showing Create Environment button in merge result editor by @karthiknadig in #21409
- Revert: Run in dedicated terminal feature due to regressions by @karthiknadig in #21427
Full Changelog: v2023.10.0...v2023.10.1
2023.10.0
What's Changed
Enhancements
- Disable "snippets" expansion in Jedi LSP by @PeterJCLaw in #21194
- Add
createEnvironment.contentButton
setting by @karthiknadig in #21212 - Added option to run multiple Python files in separate terminals by @karrtikr in #21223
- Add option for pyenv interpreters when creating environments with venv by @JonathanRayner in #21219
- Detect installed packages in the selected environment by @karthiknadig in #21231
- Set up testing rewrite experiment by @eleanorjboyd in #21258
- Apply environment variables after shell initialization scripts are run in
pythonTerminalEnvVarActivation
experiment by @karrtikr in #21290 - Add pythonTestAdapter to experiment enum by @eleanorjboyd in #21357
Bug Fixes
- Add reload flag on fastApi provider by @paulacamargo25 in #21241
- Don't show command for button trigger in command pallet by @karthiknadig in #21350
- Fix bug so canceling debug works in rewrite by @eleanorjboyd in #21361
Code Health
- Update extension to node 16 by @karthiknadig in #21161
- Fix typo in a type declaration of MultiStepInput module by @cpinamtz in #21156
- Insert debug configuration function on every quickpick item by @cpinamtz in #21165
- Add some more coverage to utils functions by @cpinamtz in #21026
- Use
saveEditor
proposed API for running untitled Python files by @karrtikr in #21183 - Remove hack to check the vscode version by @paulacamargo25 in #21180
- Use actions from
vscode-github-triage-actions
in all Python automations by @karrtikr in #21178 - Open separate Python terminals when running different Python files by @karrtikr in #21202
- Fix startup telemetry issue by @karrtikr in #21203
- Add logging when interpreter path changes by @karrtikr in #21210
- Remove IS_WINDOWS constant in favor of PlatformService by @cpinamtz in #21157
- Do not open "save as" window when running existing Python files by @karrtikr in #21232
- Revert "Remove hack to check the vscode version" by @karrtikr in #21294
- Update pyright version by @paulacamargo25 in #21296
- Check config type in the ChildProcessAttachEvents by @paulacamargo25 in #21272
- Allow pytest tests to handle multiple payloads by @eleanorjboyd in #21301
- Adding extra log messages for rewrite debugging by @eleanorjboyd in #21352
New Contributors
- @JonathanRayner made their first contribution in #21219
Full Changelog: 2023.8.0...2023.10.0
2023.8.0
What's Changed
Enhancements
- No longer install the Jupyter extension by default by @luabud in #20218
- Add nushell support to venv activation by @flying-sheep in #20842
- Add
microvenv
support for non-windows platforms by @karthiknadig in #20985 - Localize walkthroughs by @karthiknadig in #21045
- Direct users to the Jupyter extension when using Run in Interactive window by @karrtikr in #21072
- Add quick pick hover support to explain conda environment lacking a Python interpreter by @karrtikr in #21073
- Create environment proposed API by @karthiknadig in #21074
- Support
pythonTerminalEnvVarActivation
experiment in multiroot workspaces by @karrtikr in #21047 - Update to latest
debugpy
version 1.6.7 by @karthiknadig in #21001
Bug Fixes
- Fix telemetry when updating pip by @karthiknadig in #20903
- Fix running Untitled files with the play button by @karrtikr in #20955
- Don't show create env in diff editor by @karthiknadig in #20998
- Make fixes to
pythonTerminalEnvVarActivation
experiment by @karrtikr in #21036 - Fix workspaceFolderToken -> workspaceFolder by @pamelafox in #21095
- Fix telemetry event when using debug file configuration by @r3m0t in #21118
- Show formatter extension install prompt and not the old prompt by @karthiknadig in #21138
Code Health
- Add diagnostic to validate ComSpec by @karrtikr in #20927
- Fix linting in APIs by @paulacamargo25 in #20623
- Auto add community feedback comment by @karthiknadig in #20956
- Move 'Run in ...' commands to sub-menu by @karthiknadig in #20965
- Automatically add and remove the "info needed" label by @karrtikr in #20970
- Remove non-existent files from
.eslintignore
by @cpinamtz in #21011 - Add an automation to close issue with response if Python 2.7 was selected by @karrtikr in #21003
- fix typing to be 3.7 compatible by @eleanorjboyd in #21012
- add tests for unittest execution adapter by @eleanorjboyd in #21017
- Switch to lists for checking known UUIDs in Test Server by @eleanorjboyd in #21018
- Add Testing for PytestExecutionAdapter by @eleanorjboyd in #21019
- Add testing for unittest execution python logic by @eleanorjboyd in #21022
- Fix debugging when using "internalConsole" by @karrtikr in #21033
- Expand Testing for Unittest Run in PythonFiles by @eleanorjboyd in #21028
- Remove unused bits entries from package.json by @karthiknadig in #21046
- Use new logging API for python extension logger and LS logger by @karthiknadig in #21062
- Add black to
extensions.json
by @cpinamtz in #20912 - Deprecate python logging level setting by @karthiknadig in #21083
- Pytest fix execution args by @eleanorjboyd in #21094
New Contributors
- @flying-sheep made their first contribution in #20842
- @aidoskanapyanov made their first contribution in #21048
- @pamelafox made their first contribution in #21095
- @r3m0t made their first contribution in #21118
Full Changelog: 2023.6.1...2023.8.0