Releases: PowerShell/PowerShellEditorServices
v3.1.4
v3.1.4
Thursday, February 24, 2022
- 🐛 🛫 vscode-powershell #2658 - Avoid error when
exclude
entry is a clause. - 🐛 🚂 vscode-powershell #3691 - Fix editor commands to interrupt current prompt.
- ✨ 🔍 PowerShellEditorServices #1724 - Re-enable line breakpoints for untitled scripts.
- ✨ 🙏 PowerShellEditorServices #1709 - Update PSReadLine to 2.2.2.
- 🐛 📟 vscode-powershell #3807 - Reset progress messages at end of REPL.
- 🐛 🕵️ PowerShellEditorServices #1718 - Return a code action for each diagnostic record. (Thanks @bergmeister!)
v3.1.3
v3.1.3
Wednesday, February 16, 2022
- 🐛 🔍 vscode-powershell #3832 - Avoid stopping the debugger when canceling other tasks in a debug session.
- 🐛 📟 PowerShellEditorServices #1607 - Redirect
EditorServicesConsolePSHost.PrivateData
to_internalHost
. - 🐛 📟 PowerShellEditorServices #1699 - Handle edge case where
prompt
is undefined. - 🐛 🔍 PowerShellEditorServices #1704 - Avoid recording debugger commands in the history.
- ✨ 🔍 PowerShellEditorServices #1703 - Use
static readonly
for defaultExecutionOptions
. - 🐛 🔍 vscode-powershell #3655 - Fix running untitled scripts with arguments (but break line breakpoints) .
- ✨ 🙏 PowerShellEditorServices #1694 - Add
Thread.Sleep(100)
to throttle REPL when it's non-interactive. (Thanks @colinblaise!)
v3.1.2
v3.1.2
Wednesday, February 02, 2022
- 🐛 📟 vscode-powershell #3786 - Print prompt and command when
WriteInputToHost
is true. - 🐛 📟 vscode-powershell #3685 - Display prompt after
F8
finishes. - 🐛 🔍 vscode-powershell #3522 - Synchronize PowerShell debugger and DAP server state.
- ✨ 🔍 PowerShellEditorServices #1680 - Display
DictionaryEntry
as key/value pairs in debugger. (Thanks @JustinGrote!)
v3.1.1
v3.1.1
Monday, January 24, 2022
- #️⃣ 💎 PowerShellEditorServices #1676 - Use EditorConfig for dotnet build and suppress existing issues. (Thanks @JustinGrote!)
- 🐛 🔍 PowerShellEditorServices #1672 - Handle
debuggerResult
being null inProcessDebuggerResult
. - 🐛 🙏 PowerShellEditorServices #1663 - Fix off-by-one error in validation within
GetOffsetAtPosition
. - 🐛 📟 PowerShellEditorServices #1667 - Fix
Write-Host -NoNewLine
and-*Color
. (Thanks @SeeminglyScience!) - 🐛 🔍 PowerShellEditorServices #1661 - Fix
DebuggerSetsVariablesWithConversion
test. - ✨ 🙏 vscode-powershell #2800 - Enable resolution of an alias to its function definition.
- ✨ 🔍 PowerShellEditorServices #1633 - Display
IEnumerables
andIDictionaries
in debugger prettily (with "Raw View" available). (Thanks @JustinGrote!)
v3.1.0
v3.1.0
Monday, January 10, 2022
So many more tests have been turned back on!
- ✨ 🙏 PowerShellEditorServices #1658 - Bump PSReadLine module to 2.2.0-beta5.
- 🐛 🚨 PowerShellEditorServices #1444 - Re-enable
ExtensionCommandTests.cs
. - 🐛 🙏 PowerShellEditorServices #1656 - Resurrect support to resolve aliased references.
- 🐛 🚨 PowerShellEditorServices #1445 - Split and clean up
LanguageServiceTests.cs
. - 🐛 🔍 vscode-powershell #3715 - Fix regression with
F5
to use.
instead of&
operator. - ✨ 🚨 vscode-powershell #3677 - Enable
PsesInternalHostTests
(previouslyPowerShellContextTests
).
v2.5.3
v2.5.3
Wednesday, December 22, 2021
No changes. We're re-releasing to update signatures with a new certificate.
v3.0.3
v3.0.3
Monday, December 20, 2021
- 🐛 🚂 vscode-powershell #3718 - Create
$psEditor
as a constant. - #️⃣ 🙏 PowerShellEditorServices #1641 - Added check to see if
PSModulePath
already containedBundledModulePath
. (Thanks @dkattan!) - #️⃣ 🙏 PowerShellEditorServices #1640 - Implemented
-LanguageServiceOnly
switch. (Thanks @dkattan!) - 🐛 🛫 PowerShellEditorServices #1638 - Fix
BundledModulePath
and PSReadLine loading (redux). - 🐛 🔍 PowerShellEditorServices #1635 - Re-enable
DebugServiceTests
suite.
v3.0.2
v3.0.2
Monday, November 22, 2021
- ✨ 📖 PowerShellEditorServices #1631 - Add Justin Grote as maintainer.
- 🐛 🔍 vscode-powershell #3667 - Improve debugger's variable population mechanism. (Thanks @JustinGrote and @SeeminglyScience!)
- 🐛 👷 PowerShellEditorServices #1628 - Fix build for Apple M1 when running PowerShell 7.2 (arm64).
- 🐛 👷 PowerShellEditorServices #1626 - Remove Windows Server 2016 from CI.
- ✨ 👷 PowerShellEditorServices #1619 - Install a single
dotnet
SDK.
v3.0.1
v3.0.1
Wednesday, November 03, 2021
- 🐛 🔍 PowerShellEditorServices #1608 - Improve PowerShell command and argument escaping. (Thanks @JustinGrote!)
- 🐛 📟 PowerShellEditorServices #1603 - Add
LengthInBufferCells
back toEditorServicesConsolePSHostRawUserInterface
. - #️⃣ 🙏 PowerShellEditorServices #1604 - Fix profile loading and
$PROFILE
variable.
v3.0.0
v3.0.0
Thursday, October 28, 2021
This preview release includes a complete overhaul of the core PowerShell engine of PowerShell Editor Services. This represents over a year's work, tracked in PSES #1295 and implemented in PSES #1459, and is our answer to many, many issues opened by users over the last few years. We're hoping you'll see a marked improvement in the reliability, performance and footprint of the extension as a result.
Previously the Integrated Console was run by setting threadpool tasks on a shared main runspace, and where LSP servicing was done with PowerShell idle events. This lead to overhead, threading issues and a complex implementation intended to work around the asymmetry between PowerShell as a synchronous, single-threaded runtime and a language server as an asynchronous, multi-threaded service.
Now, PowerShell Editor Services maintains its own dedicated pipeline thread, which is able to service requests similar to JavaScript's event loop, meaning we can run everything synchronously on the correct thread. We also get more efficiency because we can directly call PowerShell APIs and code written in C# from this thread, without the overhead of a PowerShell pipeline.
This change has overhauled how we service LSP requests, how the Integrated Console works, how PSReadLine is integrated, how debugging is implemented, how remoting is handled, and a long tail of other features in PowerShell Editor Services.
Also, in making it, while 6,000 lines of code were added, we removed 12,000, for a more maintainable, more efficient and easier to understand extension backend.
While most of our testing has been re-enabled (and we're working on adding more), there are bound to be issues with this new implementation. Please give this a try and let us know if you run into anything.
We also want to thank @SeeminglyScience for his help and knowledge as we've made this migration.
Finally, a crude breakdown of the work from the commits:
- An initial dedicated pipeline thread consumer implementation
- Implement the console REPL
- Implement PSRL idle handling
- Implement completions
- Move to invoking PSRL as a C# delegate
- Implement cancellation and Ctrl+C
- Make F8 work again
- Ensure execution policy is set correctly
- Implement $PROFILE support
- Make nested prompts work
- Implement REPL debugging
- Implement remote debugging in the REPL
- Hook up the debugging UI
- Implement a new concurrent priority queue for PowerShell tasks
- Reimplement the REPL synchronously rather than on its own thread
- Really get debugging working...
- Implement DSC breakpoint support
- Reimplement legacy readline support
- Ensure stdio is still supported as an LSP transport
- Remove PowerShellContextService and other defunct code
- Get integration tests working again (and improve diagnosis of PSES failures)
- Get unit testing working again (except debug service tests)