|
1 | 1 | # PowerShell Editor Services Release History
|
2 | 2 |
|
| 3 | +## 1.3.0 |
| 4 | +### Friday, June 9, 2017 |
| 5 | + |
| 6 | +#### Notice of new internal redesign ([#484](https://github.com/PowerShell/PowerShellEditorServices/pull/484), [#488](https://github.com/PowerShell/PowerShellEditorServices/pull/488), [#489](https://github.com/PowerShell/PowerShellEditorServices/pull/489)) |
| 7 | + |
| 8 | +This release marks the start of a major redesign of the core PowerShell |
| 9 | +Editor Services APIs, PSHost implementation, and service model. Most of |
| 10 | +these changes will be transparent to the language and debugging services |
| 11 | +so there shouldn't be any major breaking changes. |
| 12 | + |
| 13 | +The goal is to quickly design and validate a new extensibility model that |
| 14 | +allows IFeatureProvider implementations to extend focused feature components |
| 15 | +which could be a part of PowerShell Editor Services or another extension |
| 16 | +module. As we progress, certain features may move out of the core Editor |
| 17 | +Services module into satellite modules. This will allow our functionality |
| 18 | +to be much more flexible and provide extensions with the same set of |
| 19 | +capabilities that built-in features have. |
| 20 | + |
| 21 | +We are moving toward a 2.0 release of the core PowerShell Editor Services |
| 22 | +APIs over the next few months once this new design has been validated and |
| 23 | +stabilized. We'll produce updated API documentation as we move closer |
| 24 | +to 2.0. |
| 25 | + |
| 26 | +#### New document symbol and CodeLens features ([#490](https://github.com/PowerShell/PowerShellEditorServices/pull/490), [#497](https://github.com/PowerShell/PowerShellEditorServices/pull/497), [#498](https://github.com/PowerShell/PowerShellEditorServices/pull/498)) |
| 27 | + |
| 28 | +As part of our new extensibility model work, we've added two new components |
| 29 | +which follow the new "feature and provider" model which we'll be moving |
| 30 | +all other features to soon. |
| 31 | + |
| 32 | +The IDocumentSymbols feature component provides a list of symbols for a |
| 33 | +given document. It relies on the results provided by a collection of |
| 34 | +IDocumentSymbolProvider implementations which can come from any module. |
| 35 | +We've added the following built-in IDocumentSymbolProvider implementations: |
| 36 | + |
| 37 | +- ScriptDocumentSymbolProvider: Provides symbols for function and command |
| 38 | + definitions in .ps1 and .psm1 files |
| 39 | +- PsdDocumentSymbolProvider: Provides symbols for keys in .psd1 files |
| 40 | +- PesterDocumentSymbolProvider: Provides symbols for Describe, Context, and |
| 41 | + It blocks in Pester test scripts |
| 42 | + |
| 43 | +We took a similar approach to developing an ICodeLenses feature component |
| 44 | +which retrieves a list of CodeLenses which get displayed in files to provide |
| 45 | +visible actions embedded into the code. We used this design to add the |
| 46 | +following built-in ICodeLensProvider implementations: |
| 47 | + |
| 48 | +- ReferencesCodeLensProvider: Shows CodeLenses like "3 references" to indicate |
| 49 | + the number of references to a given function or command |
| 50 | +- PesterCodeLensProvider: Shows "Run tests" and "Debug tests" CodeLenses on |
| 51 | + Pester Describe blocks in test script files allowing the user to easily |
| 52 | + run and debug those tests |
| 53 | + |
| 54 | +Note that the ICodeLensProvider and IDocumentSymbolProvider interfaces are |
| 55 | +not fully stable yet but we encourage you to try using them so that you can |
| 56 | +give us your feedback! |
| 57 | + |
| 58 | +#### Added a new PowerShellEditorServices.Commands module (#[487](https://github.com/PowerShell/PowerShellEditorServices/pull/487), #[496](https://github.com/PowerShell/PowerShellEditorServices/pull/496)) |
| 59 | + |
| 60 | +We've added a new Commands module that gets loaded inside of PowerShell Editor |
| 61 | +Services to provide useful functionality when the $psEditor API is available. |
| 62 | + |
| 63 | +Thanks to our new co-maintainer [Patrick Meinecke](https://github.com/SeeminglyScience), |
| 64 | +we've gained a new set of useful commands for interacting with the $psEditor APIs |
| 65 | +within the Integrated Console: |
| 66 | + |
| 67 | +- [Find-Ast](https://github.com/PowerShell/PowerShellEditorServices/blob/master/module/docs/Find-Ast.md) |
| 68 | +- [Get-Token](https://github.com/PowerShell/PowerShellEditorServices/blob/master/module/docs/Get-Token.md) |
| 69 | +- [ConvertFrom-ScriptExtent](https://github.com/PowerShell/PowerShellEditorServices/blob/master/module/docs/ConvertFrom-ScriptExtent.md) |
| 70 | +- [ConvertTo-ScriptExtent](https://github.com/PowerShell/PowerShellEditorServices/blob/master/module/docs/ConvertTo-ScriptExtent.md) |
| 71 | +- [Set-ScriptExtent](https://github.com/PowerShell/PowerShellEditorServices/blob/master/module/docs/Set-ScriptExtent.md) |
| 72 | +- [Join-ScriptExtent](https://github.com/PowerShell/PowerShellEditorServices/blob/master/module/docs/Join-ScriptExtent.md) |
| 73 | +- [Test-ScriptExtent](https://github.com/PowerShell/PowerShellEditorServices/blob/master/module/docs/Test-ScriptExtent.md) |
| 74 | +- [Import-EditorCommand](https://github.com/PowerShell/PowerShellEditorServices/blob/master/module/docs/Import-EditorCommand.md) |
| 75 | + |
| 76 | +#### Microsoft.PowerShell.EditorServices API removals ([#492](https://github.com/PowerShell/PowerShellEditorServices/pull/492)) |
| 77 | + |
| 78 | +We've removed the following classes and interfaces which were previously |
| 79 | +considered public APIs in the core Editor Services assembly: |
| 80 | + |
| 81 | +- ConsoleService and IConsoleHost: We now centralize our host interface |
| 82 | + implementations under the standard PSHostUserInterface design. |
| 83 | +- IPromptHandlerContext: We no longer have the concept of "prompt handler |
| 84 | + contexts." Each PSHostUserInterface implementation now has one way of |
| 85 | + displaying console-based prompts to the user. New editor window prompting |
| 86 | + APIs will be added for the times when a UI is needed. |
| 87 | +- Logger: now replaced by a new non-static ILogger instance which can be |
| 88 | + requested by extensions through the IComponentRegistry. |
| 89 | + |
3 | 90 | ## 1.2.1
|
4 | 91 | ### Thursday, June 1, 2017
|
5 | 92 |
|
|
0 commit comments