|  | 
| 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