Releases: microsoft/vscode-python
Releases ยท microsoft/vscode-python
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
2023.6.1
What's Changed
Bug Fixes
- Don't show create env in diff editor by @karthiknadig in #20999
- Fix debugging when using "internalConsole" by @karrtikr in #21068
Full Changelog: 2023.6.0...2023.6.1
2023.6.0
What's Changed
Enhancements
- Add option to control if environment is selected after creation by @karthiknadig in #20738
- Add experiment to implicitly use environment variables for environment activation by @karrtikr in #20651
- Show prompt asking user to install formatter extension by @karthiknadig in #20861
- Ensure
resolveEnvironment
API resolves the latest details for conda envs without python by @karrtikr in #20862 - Finalize Python Environment API by @karrtikr in #20868
- Add create environment button to
requirements.txt
andpyproject.toml
files by @karthiknadig in #20879
Bug Fixes
- Ensure picker returns array only if multi-select is enabled by @karthiknadig in #20772
- Ensure both
python
andpythonPath
are not set when resolving config by @karthiknadig in #20781 - Do not use
-I
flag in case we're unable to findencodings
module when validating python by @karrtikr in #20803 - Set
clientOS
debug option by @paulacamargo25 in #20805 - Fix title and placeholder for python selection when using create env command by @karthiknadig in #20896
Code Health
- Increase timeout of running
interpreterInfo.py
script on CI by @karrtikr in #20780 - Update README.md for isort changes by @cwebster-99 in #20787
- Update description of
python.terminal.activateEnvironment
setting by @karrtikr in #20788 - Improve getting started experience when starting on a fresh macOS by @karrtikr in #20789
- Fix ability to recognize extensions which access environment API by @karrtikr in #20791
- Add logging which could help indicate why
Discovering Python Interpreters...
never finishes by @karrtikr in #20792 - Restart reason telemetry event for
pylance
by @karthiknadig in #20821 - Remove HTTP Client usage by @karthiknadig in #20922
Full Changelog: 2023.4.0...2023.6.0
2023.4.1
What's Changed
Bug Fixes
- Ensure both
python
andpythonPath
are not set when resolving config by @karthiknadig in #20801 - Set clientOS debug option by @karthiknadig in #20818
Full Changelog: 2023.4.0...2023.4.1