diff --git a/CHANGELOG.md b/CHANGELOG.md index d53196b..fcd4a07 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,13 +2,23 @@ ## Unreleased +What's changed since v0.9.0: + +- Engineering: + - Bump YamlDotNet to v13.7.1. + [#284](https://github.com/microsoft/PSDocs/pull/284) + - Bump Newtonsoft.Json to v13.0.3. + [#284](https://github.com/microsoft/PSDocs/pull/284) + ## v0.9.0 What's changed since v0.8.0: - Engine features: - - Added support for reading objects from file. [#132](https://github.com/Microsoft/PSDocs/issues/132) [#131](https://github.com/Microsoft/PSDocs/issues/131) - - Added support for conditionally processing documents based on target object. [#133](https://github.com/Microsoft/PSDocs/issues/133) + - Added support for reading objects from file. + [#132](https://github.com/Microsoft/PSDocs/issues/132) [#131](https://github.com/Microsoft/PSDocs/issues/131) + - Added support for conditionally processing documents based on target object. + [#133](https://github.com/Microsoft/PSDocs/issues/133) - **Breaking change**: Documents that do not set a body are skipped. - Conditionally process target objects with script block or selector based conditions. - Script block based conditions are PowerShell code that can be added to `Document` blocks with `-If`. @@ -16,17 +26,23 @@ What's changed since v0.8.0: - Added options for configuring processing of input. - See [about_PSDocs_Selectors] and [about_PSDocs_Options] for more details. - General improvements: - - Added string selector conditions. [#178](https://github.com/microsoft/PSDocs/issues/178) + - Added string selector conditions. + [#178](https://github.com/microsoft/PSDocs/issues/178) - Use `startWith`, `contains`, and `endsWith` to check for a sub-string. - Use `isString`, `isLower`, and `isUpper` to check for string type and casing. - See [about_PSDocs_Selectors] and [about_PSDocs_Options] for more details. - - Added schema for PSDocs configuration options within `ps-docs.yaml`. [#113](https://github.com/Microsoft/PSDocs/issues/113) - - Added support for document data and metadata in `end` convention blocks. [#148](https://github.com/Microsoft/PSDocs/issues/148) + - Added schema for PSDocs configuration options within `ps-docs.yaml`. + [#113](https://github.com/Microsoft/PSDocs/issues/113) + - Added support for document data and metadata in `end` convention blocks. + [#148](https://github.com/Microsoft/PSDocs/issues/148) - Engineering: - - Migrated PSDocs to Microsoft GitHub organization. [#145](https://github.com/microsoft/PSDocs/issues/145) - - Bump YamlDotNet dependency to v11.2.1. [#168](https://github.com/microsoft/PSDocs/pull/168) + - Migrated PSDocs to Microsoft GitHub organization. + [#145](https://github.com/microsoft/PSDocs/issues/145) + - Bump YamlDotNet to v11.2.1. + [#168](https://github.com/microsoft/PSDocs/pull/168) - Bug fixes: - - Fixed PowerShell command completion `Document` keyword. [#175](https://github.com/Microsoft/PSDocs/issues/175) + - Fixed PowerShell command completion `Document` keyword. + [#175](https://github.com/Microsoft/PSDocs/issues/175) What's changed since pre-release v0.9.0-B2107020: @@ -39,7 +55,8 @@ See [upgrade notes](docs/upgrade-notes.md) for helpful information when upgradin What's changed since pre-release v0.9.0-B2107015: - General improvements: - - Added string selector conditions. [#178](https://github.com/microsoft/PSDocs/issues/178) + - Added string selector conditions. + [#178](https://github.com/microsoft/PSDocs/issues/178) - Use `startWith`, `contains`, and `endsWith` to check for a sub-string. - Use `isString`, `isLower`, and `isUpper` to check for string type and casing. - See [about_PSDocs_Selectors] and [about_PSDocs_Options] for more details. @@ -49,16 +66,21 @@ What's changed since pre-release v0.9.0-B2107015: What's changed since pre-release v0.9.0-B2107010: - Bug fixes: - - Fixed failed to get document definitions with selectors. [#174](https://github.com/Microsoft/PSDocs/issues/174) - - Fixed PowerShell command completion `Document` keyword. [#175](https://github.com/Microsoft/PSDocs/issues/175) + - Fixed failed to get document definitions with selectors. + [#174](https://github.com/Microsoft/PSDocs/issues/174) + - Fixed PowerShell command completion `Document` keyword. + [#175](https://github.com/Microsoft/PSDocs/issues/175) ## v0.9.0-B2107010 (pre-release) What's changed since pre-release v0.9.0-B2107002: - Engine features: - - Added support for reading objects from file. [#132](https://github.com/Microsoft/PSDocs/issues/132) [#131](https://github.com/Microsoft/PSDocs/issues/131) - - Added support for conditionally processing documents based on target object. [#133](https://github.com/Microsoft/PSDocs/issues/133) + - Added support for reading objects from file. + [#132](https://github.com/Microsoft/PSDocs/issues/132) + [#131](https://github.com/Microsoft/PSDocs/issues/131) + - Added support for conditionally processing documents based on target object. + [#133](https://github.com/Microsoft/PSDocs/issues/133) - **Breaking change**: Documents that do not set a body are skipped. - Conditionally process target objects with script block or selector based conditions. - Script block based conditions are PowerShell code that can be added to `Document` blocks with `-If`. @@ -66,7 +88,8 @@ What's changed since pre-release v0.9.0-B2107002: - Added options for configuring processing of input. - See [about_PSDocs_Selectors] and [about_PSDocs_Options] for more details. - General improvements: - - Added schema for PSDocs configuration options within `ps-docs.yaml`. [#113](https://github.com/Microsoft/PSDocs/issues/113) + - Added schema for PSDocs configuration options within `ps-docs.yaml`. + [#113](https://github.com/Microsoft/PSDocs/issues/113) See [upgrade notes](docs/upgrade-notes.md) for helpful information when upgrading from previous versions. @@ -75,44 +98,54 @@ See [upgrade notes](docs/upgrade-notes.md) for helpful information when upgradin What's changed since pre-release v0.9.0-B2106004: - Engineering: - - Migrated PSDocs to Microsoft GitHub organization. [#145](https://github.com/microsoft/PSDocs/issues/145) - - Bump YamlDotNet dependency to v11.2.1. [#168](https://github.com/microsoft/PSDocs/pull/168) + - Migrated PSDocs to Microsoft GitHub organization. + [#145](https://github.com/microsoft/PSDocs/issues/145) + - Bump YamlDotNet dependency to v11.2.1. + [#168](https://github.com/microsoft/PSDocs/pull/168) ## v0.9.0-B2106004 (pre-release) What's changed since pre-release v0.9.0-B2102002: - Engineering: - - Bump YamlDotNet dependency to v11.2.0. [#165](https://github.com/Microsoft/PSDocs/pull/165) + - Bump YamlDotNet dependency to v11.2.0. + [#165](https://github.com/Microsoft/PSDocs/pull/165) ## v0.9.0-B2102002 (pre-release) What's changed since v0.8.0: - General improvements: - - Added support for document data and metadata in `end` convention blocks. [#148](https://github.com/Microsoft/PSDocs/issues/148) + - Added support for document data and metadata in `end` convention blocks. + [#148](https://github.com/Microsoft/PSDocs/issues/148) ## v0.8.0 What's changed since v0.7.0: - Engine features: - - Added support for running custom actions using conventions. [#18](https://github.com/Microsoft/PSDocs/issues/18) - [#120](https://github.com/Microsoft/PSDocs/issues/120) + - Added support for running custom actions using conventions. + [#18](https://github.com/Microsoft/PSDocs/issues/18) + [#120](https://github.com/Microsoft/PSDocs/issues/120) - Conventions provide `Begin`, `Process` and `End` blocks to hook into the document pipeline. - Name or change the output path of documents in `Begin` and `Process` blocks. - Generate table of contents (TOC) and perform publishing actions in `End` blocks. - See [about_PSDocs_Conventions] for more details. - - Added support for custom configuration key values. [#121](https://github.com/Microsoft/PSDocs/issues/121) + - Added support for custom configuration key values. + [#121](https://github.com/Microsoft/PSDocs/issues/121) - See [about_PSDocs_Configuration] for more details. - General improvements: - - Improve handling when an empty document title is set. [#122](https://github.com/Microsoft/PSDocs/issues/122) - - Added `-Replace` parameter to `Include` keyword to replace tokens in included file. [#134](https://github.com/Microsoft/PSDocs/issues/134) + - Improve handling when an empty document title is set. + [#122](https://github.com/Microsoft/PSDocs/issues/122) + - Added `-Replace` parameter to `Include` keyword to replace tokens in included file. + [#134](https://github.com/Microsoft/PSDocs/issues/134) - A hashtable of replacement tokens can be specified to replace contents within original file. - See [about_PSDocs_Keywords] for more details. - Bug fixes: - - Fixed boolean string conversion with the `GetBoolOrDefault` configuration helper. [#140](https://github.com/Microsoft/PSDocs/issues/140) - - Fixed use of error action preference with `Include` keyword. [#127](https://github.com/Microsoft/PSDocs/issues/127) + - Fixed boolean string conversion with the `GetBoolOrDefault` configuration helper. + [#140](https://github.com/Microsoft/PSDocs/issues/140) + - Fixed use of error action preference with `Include` keyword. + [#127](https://github.com/Microsoft/PSDocs/issues/127) What's changed since pre-release v0.8.0-B2102012: @@ -123,21 +156,24 @@ What's changed since pre-release v0.8.0-B2102012: What's changed since pre-release v0.8.0-B2101011: - Engine features: - - Added support for running custom actions using conventions. [#18](https://github.com/Microsoft/PSDocs/issues/18) - [#120](https://github.com/Microsoft/PSDocs/issues/120) + - Added support for running custom actions using conventions. + [#18](https://github.com/Microsoft/PSDocs/issues/18) + [#120](https://github.com/Microsoft/PSDocs/issues/120) - Conventions provide `Begin`, `Process` and `End` blocks to hook into the document pipeline. - Name or change the output path of documents in `Begin` and `Process` blocks. - Generate table of contents (TOC) and perform publishing actions in `End` blocks. - See [about_PSDocs_Conventions] for more details. - Bug fixes: - - Fixed boolean string conversion with the `GetBoolOrDefault` configuration helper. [#140](https://github.com/Microsoft/PSDocs/issues/140) + - Fixed boolean string conversion with the `GetBoolOrDefault` configuration helper. + [#140](https://github.com/Microsoft/PSDocs/issues/140) ## v0.8.0-B2101011 (pre-release) What's changed since pre-release v0.8.0-B2101006: - General improvements: - - Added `-Replace` parameter to `Include` keyword to replace tokens in included file. [#134](https://github.com/Microsoft/PSDocs/issues/134) + - Added `-Replace` parameter to `Include` keyword to replace tokens in included file. + [#134](https://github.com/Microsoft/PSDocs/issues/134) - A hashtable of replacement tokens can be specified to replace contents within original file. - See [about_PSDocs_Keywords] for more details. @@ -146,28 +182,38 @@ What's changed since pre-release v0.8.0-B2101006: What's changed since v0.7.0: - Engine features: - - Added support for custom configuration key values. [#121](https://github.com/Microsoft/PSDocs/issues/121) + - Added support for custom configuration key values. + [#121](https://github.com/Microsoft/PSDocs/issues/121) - See [about_PSDocs_Configuration] for more details. - General improvements: - - Improve handling when an empty document title is set. [#122](https://github.com/Microsoft/PSDocs/issues/122) + - Improve handling when an empty document title is set. + [#122](https://github.com/Microsoft/PSDocs/issues/122) - Bug fixes: - - Fixed use of error action preference with `Include` keyword. [#127](https://github.com/Microsoft/PSDocs/issues/127) + - Fixed use of error action preference with `Include` keyword. + [#127](https://github.com/Microsoft/PSDocs/issues/127) ## v0.7.0 What's changed since v0.6.3: - Engine features: - - Added support for MacOS and Linux. [#59](https://github.com/Microsoft/PSDocs/issues/59) - - Added support for using document definitions from modules. [#81](https://github.com/Microsoft/PSDocs/issues/81) - - Added support for localized strings using the `$LocalizedData` variable. [#91](https://github.com/Microsoft/PSDocs/issues/91) - - Automatically serialize `Code` objects to JSON and YAML. [#93](https://github.com/Microsoft/PSDocs/issues/93) + - Added support for MacOS and Linux. + [#59](https://github.com/Microsoft/PSDocs/issues/59) + - Added support for using document definitions from modules. + [#81](https://github.com/Microsoft/PSDocs/issues/81) + - Added support for localized strings using the `$LocalizedData` variable. + [#91](https://github.com/Microsoft/PSDocs/issues/91) + - Automatically serialize `Code` objects to JSON and YAML. + [#93](https://github.com/Microsoft/PSDocs/issues/93) - Use the `json`, `yaml`, or `yml` info strings to automatically serialize custom objects. - See [about_PSDocs_Keywords] for more details. - General improvements: - - Added configuration for setting output options. [#105](https://github.com/Microsoft/PSDocs/issues/105) - - Added parameter alias `-MarkdownEncoding` on `New-PSDocumentOption` for `-Encoding`. [#106](https://github.com/Microsoft/PSDocs/issues/106) - - Default the info string to `powershell` for `Code` script blocks. [#92](https://github.com/Microsoft/PSDocs/issues/92) + - Added configuration for setting output options. + [#105](https://github.com/Microsoft/PSDocs/issues/105) + - Added parameter alias `-MarkdownEncoding` on `New-PSDocumentOption` for `-Encoding`. + [#106](https://github.com/Microsoft/PSDocs/issues/106) + - Default the info string to `powershell` for `Code` script blocks. + [#92](https://github.com/Microsoft/PSDocs/issues/92) - See [about_PSDocs_Keywords] for more details. - Deprecations and removals: - Added [upgrade notes](docs/upgrade-notes.md) for migration from v0.6.x to v0.7.0. @@ -182,8 +228,10 @@ What's changed since v0.6.3: - Engineering: - Bump YamlDotNet dependency to v8.1.2. - Bug fixes: - - Fixed inconsistencies with default options file name. [#103](https://github.com/Microsoft/PSDocs/issues/103) - - Fixed line break after block quote. [#104](https://github.com/Microsoft/PSDocs/issues/104) + - Fixed inconsistencies with default options file name. + [#103](https://github.com/Microsoft/PSDocs/issues/103) + - Fixed line break after block quote. + [#104](https://github.com/Microsoft/PSDocs/issues/104) See [upgrade notes](docs/upgrade-notes.md) for helpful information when upgrading from previous versions. @@ -196,32 +244,41 @@ What's changed since pre-release v0.7.0-B2101015: What's changed since pre-release v0.7.0-B2008035: - Engine features: - - Added support for localized strings using the `$LocalizedData` variable. [#91](https://github.com/Microsoft/PSDocs/issues/91) - - Automatically serialize `Code` objects to JSON and YAML. [#93](https://github.com/Microsoft/PSDocs/issues/93) + - Added support for localized strings using the `$LocalizedData` variable. + [#91](https://github.com/Microsoft/PSDocs/issues/91) + - Automatically serialize `Code` objects to JSON and YAML. + [#93](https://github.com/Microsoft/PSDocs/issues/93) - Use the `json`, `yaml`, or `yml` info strings to automatically serialize custom objects. - See [about_PSDocs_Keywords] for more details. - General improvements: - - Added configuration for setting output options. [#105](https://github.com/Microsoft/PSDocs/issues/105) - - Added parameter alias `-MarkdownEncoding` on `New-PSDocumentOption` for `-Encoding`. [#106](https://github.com/Microsoft/PSDocs/issues/106) - - Default the info string to `powershell` for `Code` script blocks. [#92](https://github.com/Microsoft/PSDocs/issues/92) + - Added configuration for setting output options. + [#105](https://github.com/Microsoft/PSDocs/issues/105) + - Added parameter alias `-MarkdownEncoding` on `New-PSDocumentOption` for `-Encoding`. + [#106](https://github.com/Microsoft/PSDocs/issues/106) + - Default the info string to `powershell` for `Code` script blocks. + [#92](https://github.com/Microsoft/PSDocs/issues/92) - See [about_PSDocs_Keywords] for more details. - Bug fixes: - - Fixed inconsistencies with default options file name. [#103](https://github.com/Microsoft/PSDocs/issues/103) - - Fixed line break after block quote. [#104](https://github.com/Microsoft/PSDocs/issues/104) + - Fixed inconsistencies with default options file name. + [#103](https://github.com/Microsoft/PSDocs/issues/103) + - Fixed line break after block quote. + [#104](https://github.com/Microsoft/PSDocs/issues/104) ## v0.7.0-B2008035 (pre-release) What's changed since pre-release v0.7.0-B2008022: - Engine features: - - Added support for using document definitions from modules. [#81](https://github.com/Microsoft/PSDocs/issues/81) + - Added support for using document definitions from modules. + [#81](https://github.com/Microsoft/PSDocs/issues/81) ## v0.7.0-B2008022 (pre-release) What's changed since v0.6.3: - Engine features: - - Added support for MacOS and Linux. [#59](https://github.com/Microsoft/PSDocs/issues/59) + - Added support for MacOS and Linux. + [#59](https://github.com/Microsoft/PSDocs/issues/59) - Deprecations and removals: - Added [upgrade notes](docs/upgrade-notes.md) for migration from v0.6.x to v0.7.0. - **Breaking change**: Removed support for inline document blocks. @@ -242,22 +299,26 @@ See [upgrade notes](docs/upgrade-notes.md) for helpful information when upgradin What's changed since v0.6.2: - Bug fixes: - - Fix concatenation of multiple lines in Code section. [#69](https://github.com/Microsoft/PSDocs/issues/69) + - Fix concatenation of multiple lines in Code section. + [#69](https://github.com/Microsoft/PSDocs/issues/69) ## v0.6.2 What's changed since v0.6.1: - Bug fixes: - - Fixed PositionMessage cannot be found on this object. [#63](https://github.com/Microsoft/PSDocs/issues/63) - - Fixed handling of null metadata hashtable. [#60](https://github.com/Microsoft/PSDocs/issues/60) + - Fixed PositionMessage cannot be found on this object. + [#63](https://github.com/Microsoft/PSDocs/issues/63) + - Fixed handling of null metadata hashtable. + [#60](https://github.com/Microsoft/PSDocs/issues/60) ## v0.6.1 What's changed since v0.6.0: - Bug fixes: - - Fixed null reference for table columns with undefined properties. [#53](https://github.com/Microsoft/PSDocs/issues/53) + - Fixed null reference for table columns with undefined properties. + [#53](https://github.com/Microsoft/PSDocs/issues/53) ## v0.6.0 @@ -274,7 +335,8 @@ What's changed since v0.5.0: - Added new contextual help topic to provide details on automatic variables exposed for PSDocs for use within document definitions. - Added support for locked down environments to ensure that documents are executed as constrained code when Device Guard is used. - Use the `Execution.LanguageMode = 'ConstrainedLanguage'` option to force constrained language mode. - - **Important change**: Improved markdown formatting for tables. [#31](https://github.com/Microsoft/PSDocs/issues/31) + - **Important change**: Improved markdown formatting for tables. + [#31](https://github.com/Microsoft/PSDocs/issues/31) - Table columns are now padded by default to match header width. Set `Markdown.ColumnPadding` option to `None` to match format style from PSDocs <= 0.5.0. - Pipe characters on the start and end of a table row are not added by default. @@ -299,8 +361,10 @@ What's changed since v0.5.0: What's changed since v0.4.0: - Engine features: - - Added support for property expressions with the `Table` keyword. [#27](https://github.com/Microsoft/PSDocs/issues/27) - - Added support for building all document definitions from a path using the `-Path` parameter. [#25](https://github.com/Microsoft/PSDocs/issues/25) + - Added support for property expressions with the `Table` keyword. + [#27](https://github.com/Microsoft/PSDocs/issues/27) + - Added support for building all document definitions from a path using the `-Path` parameter. + [#25](https://github.com/Microsoft/PSDocs/issues/25) - Additionally document definitions can be filtered with the `-Name` and `-Tag` parameter. - This is the recommended way to build documents going forward. - Added support for providing options for `Invoke-PSDocument` using YAML. @@ -308,7 +372,8 @@ What's changed since v0.4.0: - General improvements: - **Important change**: Deprecated support for using `Invoke-PSDocument` with inline document definitions. - Improved support for using named document definitions inline, use this to call inline document definitions. - - **Breaking change**: Empty `Section` blocks are not rendered by default. [#32](https://github.com/Microsoft/PSDocs/issues/32) + - **Breaking change**: Empty `Section` blocks are not rendered by default. + [#32](https://github.com/Microsoft/PSDocs/issues/32) - Use `-Force` parameter on specific sections or `Markdown.SkipEmptySections = $False` option to force empty sections to be written. - Bug fixes: - Fixed to prevent string builder properties being outputted each time `Invoke-PSDocument` is called. @@ -323,11 +388,13 @@ What's changed since v0.3.0: - General improvements: - **Important change**: Renamed `Yaml` keyword to `Metadata`. `Yaml` keyword is still supported but deprecated, switch to using `Metadata` instead. - - **Breaking change**: Added support for encoding markdown content output. [#16](https://github.com/Microsoft/PSDocs/issues/16) + - **Breaking change**: Added support for encoding markdown content output. + [#16](https://github.com/Microsoft/PSDocs/issues/16) - To specify the encoding use the `-Encoding` parameter of `Invoke-PSDocument` and `Invoke-DscNodeDocument`. - Output now defaults to UTF-8 without byte order mark (BOM) instead of ASCII. - Bug fixes: - - Fixed handling of line break for multiline table columns using a wrap separator. [#11](https://github.com/Microsoft/PSDocs/issues/11) + - Fixed handling of line break for multiline table columns using a wrap separator. + [#11](https://github.com/Microsoft/PSDocs/issues/11) ## v0.3.0 diff --git a/pipeline.build.ps1 b/pipeline.build.ps1 index c22a321..84c0cc4 100644 --- a/pipeline.build.ps1 +++ b/pipeline.build.ps1 @@ -222,7 +222,7 @@ task TestModule Dependencies, { task Benchmark { if ($Benchmark -or $BuildTask -eq 'Benchmark') { - dotnet run -p src/PSDocs.Benchmark -f net7.0 -c Release -- benchmark --output $PWD; + dotnet run --project src/PSDocs.Benchmark -f net7.0 -c Release -- benchmark --output $PWD; } } diff --git a/src/PSDocs.Benchmark/PSDocs.Benchmark.csproj b/src/PSDocs.Benchmark/PSDocs.Benchmark.csproj index 91d1892..2c9bc0d 100644 --- a/src/PSDocs.Benchmark/PSDocs.Benchmark.csproj +++ b/src/PSDocs.Benchmark/PSDocs.Benchmark.csproj @@ -12,13 +12,16 @@ - - + + + + + - + diff --git a/src/PSDocs/PSDocs.csproj b/src/PSDocs/PSDocs.csproj index 29c52c3..df2a43a 100644 --- a/src/PSDocs/PSDocs.csproj +++ b/src/PSDocs/PSDocs.csproj @@ -12,8 +12,8 @@ Bernie White PSDocs - https://github.com/Microsoft/PSDocs - https://github.com/Microsoft/PSDocs/blob/main/LICENSE + https://github.com/microsoft/PSDocs + https://github.com/microsoft/PSDocs/blob/main/LICENSE 0.0.1 Copyright (c) Microsoft Corporation. Licensed under the MIT License. Generate markdown from objects using PowerShell syntax. @@ -35,13 +35,13 @@ This project uses GitHub Issues to track bugs and feature requests. See GitHub p - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/tests/PSDocs.Tests/PSDocs.Tests.csproj b/tests/PSDocs.Tests/PSDocs.Tests.csproj index 9f82d37..dcd2b95 100644 --- a/tests/PSDocs.Tests/PSDocs.Tests.csproj +++ b/tests/PSDocs.Tests/PSDocs.Tests.csproj @@ -10,11 +10,11 @@ - - - - - + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive