Skip to content

Release v2022.11.0 #4266

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Nov 16, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion .vsts-ci/templates/ci-general.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,17 @@ steps:

- task: UseDotNet@2
condition: not(${{ parameters.usePipelineArtifact }})
displayName: Install .NET 6.0.x SDK
displayName: Install .NET 7.0.x SDK
inputs:
packageType: sdk
version: 7.0.x
performMultiLevelLookup: true

- task: UseDotNet@2
condition: not(${{ parameters.usePipelineArtifact }})
displayName: Install .NET 6.0.x runtime
inputs:
packageType: runtime
version: 6.0.x
performMultiLevelLookup: true

Expand Down
62 changes: 62 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,67 @@
# PowerShell Extension Release History

## v2022.11.0
### Wednesday, November 16, 2022

The November release represents a renewed focus on the client, that is, the TypeScript
extension for Visual Studio Code. We've paid back a significant amount of technical debt
by enabling both the TypeScript compiler's and ESLint linter's strict checks, helping us
ensure we are writing correct code. We've increased the client's logging, made the
walkthrough's installation instructions cross-platform, added a warning popup when custom
configured additional PowerShell executables aren't found, and fixed a couple debugger
configuration edge cases.

A regression for the `OnIdle` handler was fixed in the server, complete with regression
tests covering the registration and triggering of idle events registered both in a profile
and during a session. A workaround was implemented for a completion bug in PowerShell that
was causing the LSP session to disconnect when used with third-party clients. When
executing scripts, the path is now escaped with single quotes instead of double quotes,
addressing the edge case where a path contains a dollar sign, and is now inline with
PowerShell's semantics.

The build is now correctly published in release mode which should be more performant and
won't allow the user to accidentally enable the "wait for debugger" scenario (which can
appear as a hang, though it is a correctly working feature that is now hidden behind more
developer settings). Additionally, checks were added to both the server and client build
pipelines to assert that the bits are in release mode before packaging, as it was
unfortunately the act of running the tests that erroneously and silently overwrote release
bits with debug bits.

Finally, a long-standing bug that often prevented the server from starting with Windows
PowerShell was resolved. Known to users as the `DryIoc` error (which was a misleading
stacktrace that commonly popped up), we tracked down a broken dependency of OmniSharp that
when present and loaded into the GAC caused a type resolution error. While it took a year
for us to find the root cause, the fix was a single line dependency update for OmniSharp,
and then some work to incorporate the OmniSharp update into the server.

#### [vscode-powershell](https://github.com/PowerShell/vscode-powershell)

- ✨ 🚂 [vscode-powershell #3561](https://github.com/PowerShell/vscode-powershell/pull/4206) - Enable `strict` TypeScript mode .
- 🐛 🔍 [vscode-powershell #4201](https://github.com/PowerShell/vscode-powershell/pull/4203) - Fix automatic focus to temporary debug terminal (if it exists).
- 🐛 🚂 [vscode-powershell #4213](https://github.com/PowerShell/vscode-powershell/pull/4228) - Remove `FindModule.ts` since its long since been deprecated.
- 🐛 🔍 [vscode-powershell #4223](https://github.com/PowerShell/vscode-powershell/pull/4227) - Only check a script's extension if a script file was given.
- ✨ 👷 [vscode-powershell #4220](https://github.com/PowerShell/vscode-powershell/pull/4220) - Add assertion to build that PSES bits are built in release configuration.
- ✨ 🚂 [vscode-powershell #3561](https://github.com/PowerShell/vscode-powershell/pull/4206) - Enable `strict` TypeScript mode .
- 🐛 🔍 [vscode-powershell #4201](https://github.com/PowerShell/vscode-powershell/pull/4203) - Fix automatic focus to temporary debug terminal (if it exists).
- ✨ 👷 [vscode-powershell #2882](https://github.com/PowerShell/vscode-powershell/pull/3331) - Replace TSLint with ESLint.
- ✨ 💭 [vscode-powershell #4242](https://github.com/PowerShell/vscode-powershell/pull/4242) - Show warning when additional PowerShell is not found.
- 🐛 🛫 [vscode-powershell #4241](https://github.com/PowerShell/vscode-powershell/pull/4241) - Guard `-WaitForDebugger` flag client-side too.
- ✨ 💭 [vscode-powershell #4240](https://github.com/PowerShell/vscode-powershell/pull/4240) - Capture more logs.
- ✨ 💭 [vscode-powershell #4235](https://github.com/PowerShell/vscode-powershell/pull/4235) - Refactor `settings.ts`.
- 🐛 📺 [vscode-powershell #4149](https://github.com/PowerShell/vscode-powershell/pull/4233) - Add cross-platform installation to walkthrough.
- 🐛 🔍 [vscode-powershell #4231](https://github.com/PowerShell/vscode-powershell/pull/4231) - Check script extension for current file only.

#### [PowerShellEditorServices](https://github.com/PowerShell/PowerShellEditorServices) v3.6.1

- 🐛 🚂 [vscode-powershell #4219](https://github.com/PowerShell/PowerShellEditorServices/pull/1936) - Fix regression around `OnIdle` handler.
- 🐛 🧠 [PowerShellEditorServices #1926](https://github.com/PowerShell/PowerShellEditorServices/pull/1935) - Catch exceptions within completion handler.
- 🐛 👷 [vscode-powershell #4218](https://github.com/PowerShell/PowerShellEditorServices/pull/1933) - Fix release build.
- ✨ 📖 [PowerShellEditorServices #1932](https://github.com/PowerShell/PowerShellEditorServices/pull/1932) - Add example of starting PSES in a script to readme. (Thanks @smartguy1196!)
- #️⃣ 🙏 [PowerShellEditorServices #1931](https://github.com/PowerShell/PowerShellEditorServices/pull/1931) - Fix broken links in readme. (Thanks @smartguy1196!)
- #️⃣ 🙏 [PowerShellEditorServices #1947](https://github.com/PowerShell/PowerShellEditorServices/pull/1947) - Manually update `Newtonsoft.Json`.
- 🐛 🚂 [vscode-powershell #4175](https://github.com/PowerShell/PowerShellEditorServices/pull/1946) - Bump OmniSharp to `v0.19.6`.
- 🐛 🔍 [vscode-powershell #4238](https://github.com/PowerShell/PowerShellEditorServices/pull/1940) - Wrap script paths with single instead of double quotes.

## v2022.11.0-preview
### Thursday, November 03, 2022

Expand Down
10 changes: 5 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"name": "powershell-preview",
"displayName": "PowerShell Preview",
"name": "powershell",
"displayName": "PowerShell",
"version": "2022.11.0",
"preview": true,
"preview": false,
"publisher": "ms-vscode",
"description": "(Preview) Develop PowerShell modules, commands and scripts in Visual Studio Code!",
"description": "Develop PowerShell modules, commands and scripts in Visual Studio Code!",
"engines": {
"vscode": "^1.65.0"
},
Expand All @@ -17,7 +17,7 @@
"Snippets",
"Linters"
],
"icon": "media/PowerShell_Preview_Icon.png",
"icon": "media/PowerShell_Icon.png",
"galleryBanner": {
"color": "#ACD1EC",
"theme": "light"
Expand Down