From bf8a66bc3cd34e108c3a2fea40aa330b14b27571 Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Thu, 21 May 2026 10:40:01 -0400 Subject: [PATCH 01/21] chore: update module version to 1.0.8 and refresh dependencies --- AsBuiltReport.Diagram/AsBuiltReport.Diagram.psd1 | 2 +- CHANGELOG.md | 7 +++++++ .../DiaConvertImageToPDF/AbrDiaConvertImageToPDF.csproj | 2 +- Sources/DiaConvertImageToPDF/Todo.md | 4 ++-- Sources/Diagrammer/AbrDiagrammer.csproj | 8 ++++---- 5 files changed, 15 insertions(+), 8 deletions(-) diff --git a/AsBuiltReport.Diagram/AsBuiltReport.Diagram.psd1 b/AsBuiltReport.Diagram/AsBuiltReport.Diagram.psd1 index 52ead84..7f17b49 100644 --- a/AsBuiltReport.Diagram/AsBuiltReport.Diagram.psd1 +++ b/AsBuiltReport.Diagram/AsBuiltReport.Diagram.psd1 @@ -12,7 +12,7 @@ RootModule = 'AsBuiltReport.Diagram.psm1' # Version number of this module. - ModuleVersion = '1.0.7' + ModuleVersion = '1.0.8' # Supported PSEditions # CompatiblePSEditions = @() diff --git a/CHANGELOG.md b/CHANGELOG.md index c7917d3..543c3ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.0.8] - Unreleased + +### :arrows_clockwise: Changed + +- Update module version to v1.0.8 +- Update AbrDiagrammer c# dependencies to latest release + ## [1.0.7] - 2026-05-02 ### :arrows_clockwise: Changed diff --git a/Sources/DiaConvertImageToPDF/AbrDiaConvertImageToPDF.csproj b/Sources/DiaConvertImageToPDF/AbrDiaConvertImageToPDF.csproj index 0286960..c17e1aa 100644 --- a/Sources/DiaConvertImageToPDF/AbrDiaConvertImageToPDF.csproj +++ b/Sources/DiaConvertImageToPDF/AbrDiaConvertImageToPDF.csproj @@ -5,7 +5,7 @@ 8.0 net48 disable - 1.0.6 + 1.0.8 diff --git a/Sources/DiaConvertImageToPDF/Todo.md b/Sources/DiaConvertImageToPDF/Todo.md index 91522dd..d945ac7 100644 --- a/Sources/DiaConvertImageToPDF/Todo.md +++ b/Sources/DiaConvertImageToPDF/Todo.md @@ -1,2 +1,2 @@ -- [ ] Add support for Watermark in SVG output format to DiaConvertImageToPDF - - [ ] Use the Diagrammer c# package as a reference to add watermark support to SVG output format \ No newline at end of file +- [x] Add support for Watermark in SVG output format to DiaConvertImageToPDF + - [x] Use the Diagrammer c# package as a reference to add watermark support to SVG output format \ No newline at end of file diff --git a/Sources/Diagrammer/AbrDiagrammer.csproj b/Sources/Diagrammer/AbrDiagrammer.csproj index b3b71d7..827f9b9 100644 --- a/Sources/Diagrammer/AbrDiagrammer.csproj +++ b/Sources/Diagrammer/AbrDiagrammer.csproj @@ -5,7 +5,7 @@ net8.0 enable enable - 1.0.6 + 1.0.8 @@ -13,9 +13,9 @@ - - - + + + From 7f683808738935f1e198f16e4e7480c7642e2b1b Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Thu, 21 May 2026 11:01:00 -0400 Subject: [PATCH 02/21] style: format Pester.yml for consistency and readability --- .github/workflows/Pester.yml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/Pester.yml b/.github/workflows/Pester.yml index ef5302f..4317693 100644 --- a/.github/workflows/Pester.yml +++ b/.github/workflows/Pester.yml @@ -2,9 +2,9 @@ name: Pester Tests on: push: - branches: [ "dev", "main" ] + branches: ["dev", "main"] pull_request: - branches: [ "dev" ] + branches: ["dev"] workflow_dispatch: jobs: @@ -13,8 +13,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ windows-latest, ubuntu-latest, macos-latest ] - shell: [ pwsh, powershell ] + os: [windows-latest, ubuntu-latest, macos-latest] + shell: [pwsh, powershell] exclude: - os: ubuntu-latest shell: powershell @@ -39,10 +39,13 @@ jobs: if: matrix.os == 'windows-latest' && matrix.shell == 'powershell' - name: Build the library PWSH + env: + SixLaborsLicenseKey: ${{ secrets.SIXLABORSLICENSEKEY }} run: dotnet publish ./Sources/Diagrammer -c Release if: matrix.shell == 'pwsh' - name: Copy the library PWSH - run: Copy-Item -Path ./Sources/Diagrammer/bin/Release/net8.0/publish/* + run: + Copy-Item -Path ./Sources/Diagrammer/bin/Release/net8.0/publish/* -Destination ./AsBuiltReport.Diagram/Src/Bin/Assemblies/net80 -Recurse if: matrix.shell == 'pwsh' @@ -51,7 +54,8 @@ jobs: run: dotnet publish ./Sources/DiaConvertImageToPDF -c Release if: matrix.os == 'windows-latest' && matrix.shell == 'powershell' - name: Copy the library for Windows PowerShell - run: Copy-Item -Path ./Sources/DiaConvertImageToPDF/bin/Release/net48/publish/* + run: + Copy-Item -Path ./Sources/DiaConvertImageToPDF/bin/Release/net48/publish/* -Destination ./AsBuiltReport.Diagram/Src/Bin/Assemblies/net48 -Recurse if: matrix.os == 'windows-latest' && matrix.shell == 'powershell' From fb015faec48ebe6adb44e8abdf25cc28d189f218 Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Thu, 21 May 2026 11:03:01 -0400 Subject: [PATCH 03/21] fix: add missing environment variable assignment for SixLaborsLicenseKey in Pester.yml --- .github/workflows/Pester.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/Pester.yml b/.github/workflows/Pester.yml index 4317693..a0baa11 100644 --- a/.github/workflows/Pester.yml +++ b/.github/workflows/Pester.yml @@ -41,6 +41,7 @@ jobs: - name: Build the library PWSH env: SixLaborsLicenseKey: ${{ secrets.SIXLABORSLICENSEKEY }} + run: echo "The value is $SixLaborsLicenseKey" run: dotnet publish ./Sources/Diagrammer -c Release if: matrix.shell == 'pwsh' - name: Copy the library PWSH From bb964fb72153373817a4cae4b732af94e6830cc2 Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Thu, 21 May 2026 11:05:34 -0400 Subject: [PATCH 04/21] fix: move environment variable assignment for SixLaborsLicenseKey to the correct step in Pester.yml --- .github/workflows/Pester.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Pester.yml b/.github/workflows/Pester.yml index a0baa11..83fa3d4 100644 --- a/.github/workflows/Pester.yml +++ b/.github/workflows/Pester.yml @@ -30,6 +30,10 @@ jobs: uses: actions/setup-dotnet@v5 with: dotnet-version: "8.0.x" + - name: Set environment variable for SixLaborsLicenseKey + env: + SixLaborsLicenseKey: ${{ secrets.SIXLABORSLICENSEKEY }} + run: echo "The value is $SixLaborsLicenseKey" - name: Restore dependencies Diagrammer run: dotnet restore ./Sources/Diagrammer if: matrix.shell == 'pwsh' @@ -39,9 +43,6 @@ jobs: if: matrix.os == 'windows-latest' && matrix.shell == 'powershell' - name: Build the library PWSH - env: - SixLaborsLicenseKey: ${{ secrets.SIXLABORSLICENSEKEY }} - run: echo "The value is $SixLaborsLicenseKey" run: dotnet publish ./Sources/Diagrammer -c Release if: matrix.shell == 'pwsh' - name: Copy the library PWSH From a4f93d3ed02ef4043c688c4ec3b83aecff299dd4 Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Thu, 21 May 2026 11:10:40 -0400 Subject: [PATCH 05/21] fix: move environment variable assignment for SixLaborsLicenseKey to the build step in Pester.yml --- .github/workflows/Pester.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/Pester.yml b/.github/workflows/Pester.yml index 83fa3d4..4317693 100644 --- a/.github/workflows/Pester.yml +++ b/.github/workflows/Pester.yml @@ -30,10 +30,6 @@ jobs: uses: actions/setup-dotnet@v5 with: dotnet-version: "8.0.x" - - name: Set environment variable for SixLaborsLicenseKey - env: - SixLaborsLicenseKey: ${{ secrets.SIXLABORSLICENSEKEY }} - run: echo "The value is $SixLaborsLicenseKey" - name: Restore dependencies Diagrammer run: dotnet restore ./Sources/Diagrammer if: matrix.shell == 'pwsh' @@ -43,6 +39,8 @@ jobs: if: matrix.os == 'windows-latest' && matrix.shell == 'powershell' - name: Build the library PWSH + env: + SixLaborsLicenseKey: ${{ secrets.SIXLABORSLICENSEKEY }} run: dotnet publish ./Sources/Diagrammer -c Release if: matrix.shell == 'pwsh' - name: Copy the library PWSH From 69f9fb17b708b1fe01e4b8e8680e724ed156115c Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Thu, 21 May 2026 11:12:44 -0400 Subject: [PATCH 06/21] fix: move environment variable assignment for SixLaborsLicenseKey to the Setup .NET step in Pester.yml --- .github/workflows/Pester.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Pester.yml b/.github/workflows/Pester.yml index 4317693..2e1a707 100644 --- a/.github/workflows/Pester.yml +++ b/.github/workflows/Pester.yml @@ -28,6 +28,8 @@ jobs: - uses: actions/checkout@v6 - name: Setup .NET uses: actions/setup-dotnet@v5 + env: + SixLaborsLicenseKey: ${{ secrets.SIXLABORSLICENSEKEY }} with: dotnet-version: "8.0.x" - name: Restore dependencies Diagrammer @@ -39,8 +41,7 @@ jobs: if: matrix.os == 'windows-latest' && matrix.shell == 'powershell' - name: Build the library PWSH - env: - SixLaborsLicenseKey: ${{ secrets.SIXLABORSLICENSEKEY }} + run: dotnet publish ./Sources/Diagrammer -c Release if: matrix.shell == 'pwsh' - name: Copy the library PWSH From f5643ea915ea3ab0704f017763ef454ee60472f3 Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Thu, 21 May 2026 11:16:33 -0400 Subject: [PATCH 07/21] fix: move environment variable assignment for SixLaborsLicenseKey to the correct step in Pester.yml --- .github/workflows/Pester.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Pester.yml b/.github/workflows/Pester.yml index 2e1a707..f3cfa22 100644 --- a/.github/workflows/Pester.yml +++ b/.github/workflows/Pester.yml @@ -28,8 +28,6 @@ jobs: - uses: actions/checkout@v6 - name: Setup .NET uses: actions/setup-dotnet@v5 - env: - SixLaborsLicenseKey: ${{ secrets.SIXLABORSLICENSEKEY }} with: dotnet-version: "8.0.x" - name: Restore dependencies Diagrammer @@ -40,8 +38,12 @@ jobs: run: dotnet restore ./Sources/DiaConvertImageToPDF if: matrix.os == 'windows-latest' && matrix.shell == 'powershell' - - name: Build the library PWSH + - name: Set environment variable for SixLaborsLicenseKey + env: + SixLaborsLicenseKey: ${{ secrets.SIXLABORSLICENSEKEY }} + run: echo "The value is $SixLaborsLicenseKey" + - name: Build the library PWSH run: dotnet publish ./Sources/Diagrammer -c Release if: matrix.shell == 'pwsh' - name: Copy the library PWSH From 2c8d12ec3e9b3fb321d60ce91a37315113c08b6b Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Thu, 21 May 2026 11:21:18 -0400 Subject: [PATCH 08/21] fix: update environment variable assignment for SixLaborsLicenseKey in Pester.yml and add it to AbrDiagrammer.csproj --- .github/workflows/Pester.yml | 2 +- Sources/Diagrammer/AbrDiagrammer.csproj | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/Pester.yml b/.github/workflows/Pester.yml index f3cfa22..1699dd0 100644 --- a/.github/workflows/Pester.yml +++ b/.github/workflows/Pester.yml @@ -41,7 +41,7 @@ jobs: - name: Set environment variable for SixLaborsLicenseKey env: SixLaborsLicenseKey: ${{ secrets.SIXLABORSLICENSEKEY }} - run: echo "The value is $SixLaborsLicenseKey" + run: echo $SixLaborsLicenseKey - name: Build the library PWSH run: dotnet publish ./Sources/Diagrammer -c Release diff --git a/Sources/Diagrammer/AbrDiagrammer.csproj b/Sources/Diagrammer/AbrDiagrammer.csproj index 827f9b9..80ac8a9 100644 --- a/Sources/Diagrammer/AbrDiagrammer.csproj +++ b/Sources/Diagrammer/AbrDiagrammer.csproj @@ -6,6 +6,7 @@ enable enable 1.0.8 + $(SIXLABORSLICENSEKEY) From bdce77207fd0677b392f12d2ba6e045b8587b27d Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Thu, 21 May 2026 11:22:51 -0400 Subject: [PATCH 09/21] fix: correct casing of SixLaborsLicenseKey in AbrDiagrammer.csproj --- Sources/Diagrammer/AbrDiagrammer.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/Diagrammer/AbrDiagrammer.csproj b/Sources/Diagrammer/AbrDiagrammer.csproj index 80ac8a9..51a12ae 100644 --- a/Sources/Diagrammer/AbrDiagrammer.csproj +++ b/Sources/Diagrammer/AbrDiagrammer.csproj @@ -6,7 +6,7 @@ enable enable 1.0.8 - $(SIXLABORSLICENSEKEY) + $(SixLaborsLicenseKey) From 5d1ed6d46615e59e6d2fc6f4fc554db73f7ff4c3 Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Thu, 21 May 2026 11:26:30 -0400 Subject: [PATCH 10/21] fix: remove redundant environment variable setting for SixLaborsLicenseKey in Pester.yml --- .github/workflows/Pester.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/Pester.yml b/.github/workflows/Pester.yml index 1699dd0..4317693 100644 --- a/.github/workflows/Pester.yml +++ b/.github/workflows/Pester.yml @@ -38,12 +38,9 @@ jobs: run: dotnet restore ./Sources/DiaConvertImageToPDF if: matrix.os == 'windows-latest' && matrix.shell == 'powershell' - - name: Set environment variable for SixLaborsLicenseKey + - name: Build the library PWSH env: SixLaborsLicenseKey: ${{ secrets.SIXLABORSLICENSEKEY }} - run: echo $SixLaborsLicenseKey - - - name: Build the library PWSH run: dotnet publish ./Sources/Diagrammer -c Release if: matrix.shell == 'pwsh' - name: Copy the library PWSH From 65a674ae18954a3eb154ea4af132c6cf4c7eec91 Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Thu, 21 May 2026 11:29:59 -0400 Subject: [PATCH 11/21] fix: reduce retention days for test results from 30 to 10 in Pester.yml --- .github/workflows/Pester.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Pester.yml b/.github/workflows/Pester.yml index 4317693..3731a35 100644 --- a/.github/workflows/Pester.yml +++ b/.github/workflows/Pester.yml @@ -77,4 +77,4 @@ jobs: with: name: test-results-${{ matrix.os }}-${{ matrix.shell }} path: Tests/testResults.xml - retention-days: 30 + retention-days: 10 From 85fa4a4e950326bb6956e11904f8172eeeb16060 Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Thu, 21 May 2026 11:32:14 -0400 Subject: [PATCH 12/21] fix: increase retention days for test results from 10 to 30 in Pester.yml --- .github/workflows/Pester.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Pester.yml b/.github/workflows/Pester.yml index 3731a35..4317693 100644 --- a/.github/workflows/Pester.yml +++ b/.github/workflows/Pester.yml @@ -77,4 +77,4 @@ jobs: with: name: test-results-${{ matrix.os }}-${{ matrix.shell }} path: Tests/testResults.xml - retention-days: 10 + retention-days: 30 From f082efbc491f0380ec214cb1c70bc0be51594354 Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Thu, 21 May 2026 12:40:49 -0400 Subject: [PATCH 13/21] fix: enhance watermark placement and rotation in AddWatermarkToImage method --- Sources/Diagrammer/ImageProcessor.cs | 37 +++++++++++++++++++--------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/Sources/Diagrammer/ImageProcessor.cs b/Sources/Diagrammer/ImageProcessor.cs index 54b2fc2..9af81a2 100644 --- a/Sources/Diagrammer/ImageProcessor.cs +++ b/Sources/Diagrammer/ImageProcessor.cs @@ -142,23 +142,38 @@ internal static bool AddWatermarkToImage(string imagePath, string watermarkText, fontColor = System.Drawing.Color.Red; } - - - // Parse font color - var color = Color.FromRgba(fontColor.R, fontColor.G, fontColor.B, fontColor.A); - var rgba = color.ToPixel(); float normalizedOpacity = NormalizeOpacity(opacity); - byte alpha = (byte)Math.Round(255f * normalizedOpacity, MidpointRounding.AwayFromZero); - var colorWithOpacity = Color.FromRgba(rgba.R, rgba.G, rgba.B, alpha); // Calculate center position var textOptions = new TextOptions(font); - var textSize = TextMeasurer.MeasureSize(watermarkText, textOptions); - float x = (image.Width - textSize.Width) / 2; - float y = (image.Height - textSize.Height) / 2; + var textSize = TextMeasurer.Measure(watermarkText, textOptions); + float x = (image.Width - textSize.Bounds.Width) / 2; + float y = (image.Height - textSize.Bounds.Height) / 2; + PointF centerPoint = new(x + textSize.Bounds.Width / 2, y + textSize.Bounds.Height / 2); + + // Use RichTextOptions for text placement + var richTextOptions = new RichTextOptions(font) + { + Origin = centerPoint + }; + + // Create 4x4 transformation matrix for rotation + System.Numerics.Matrix3x2 rotationMatrix = Matrix3x2Extensions.CreateRotationDegrees(-45, centerPoint); + System.Numerics.Matrix4x4 transformMatrix = new( + rotationMatrix.M11, rotationMatrix.M12, 0, 0, + rotationMatrix.M21, rotationMatrix.M22, 0, 0, + 0, 0, 1, 0, + rotationMatrix.M31, rotationMatrix.M32, 0, 1 + ); + + var drawingOptions = new DrawingOptions + { + Transform = transformMatrix + }; - image.Mutate(ctx => ctx.DrawText(new DrawingOptions() { Transform = Matrix3x2Extensions.CreateRotationDegrees(-45, new PointF(x + textSize.Width / 2, y + textSize.Height / 2)) }, watermarkText, font, colorWithOpacity, new SixLabors.ImageSharp.PointF(x, y))); + image.Mutate(ctx => ctx.Paint(drawingOptions, + canvas => canvas.DrawText(richTextOptions, watermarkText, Brushes.Solid(Color.Red), pen: null))); image.Save(outputPath); return true; From 06ec8166a206ee2938ee5b017a594e7db8bd431b Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Thu, 21 May 2026 12:59:54 -0400 Subject: [PATCH 14/21] Refert Back changes --- .github/workflows/Pester.yml | 2 -- CHANGELOG.md | 9 +----- Sources/Diagrammer/AbrDiagrammer.csproj | 11 ++++---- Sources/Diagrammer/ImageProcessor.cs | 37 ++++++++----------------- 4 files changed, 17 insertions(+), 42 deletions(-) diff --git a/.github/workflows/Pester.yml b/.github/workflows/Pester.yml index 4317693..d9ea15c 100644 --- a/.github/workflows/Pester.yml +++ b/.github/workflows/Pester.yml @@ -39,8 +39,6 @@ jobs: if: matrix.os == 'windows-latest' && matrix.shell == 'powershell' - name: Build the library PWSH - env: - SixLaborsLicenseKey: ${{ secrets.SIXLABORSLICENSEKEY }} run: dotnet publish ./Sources/Diagrammer -c Release if: matrix.shell == 'pwsh' - name: Copy the library PWSH diff --git a/CHANGELOG.md b/CHANGELOG.md index 543c3ee..a1c7856 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,13 +5,6 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [1.0.8] - Unreleased - -### :arrows_clockwise: Changed - -- Update module version to v1.0.8 -- Update AbrDiagrammer c# dependencies to latest release - ## [1.0.7] - 2026-05-02 ### :arrows_clockwise: Changed @@ -126,4 +119,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### :wrench: Fixed -- Fix initialization of $TRAditionalInfo array in Add-NodeIcon function +- Fix initialization of $TRAditionalInfo array in Add-NodeIcon function \ No newline at end of file diff --git a/Sources/Diagrammer/AbrDiagrammer.csproj b/Sources/Diagrammer/AbrDiagrammer.csproj index 51a12ae..abee32c 100644 --- a/Sources/Diagrammer/AbrDiagrammer.csproj +++ b/Sources/Diagrammer/AbrDiagrammer.csproj @@ -5,8 +5,7 @@ net8.0 enable enable - 1.0.8 - $(SixLaborsLicenseKey) + 1.0.6 @@ -14,9 +13,9 @@ - - - + + + - + \ No newline at end of file diff --git a/Sources/Diagrammer/ImageProcessor.cs b/Sources/Diagrammer/ImageProcessor.cs index 9af81a2..54b2fc2 100644 --- a/Sources/Diagrammer/ImageProcessor.cs +++ b/Sources/Diagrammer/ImageProcessor.cs @@ -142,38 +142,23 @@ internal static bool AddWatermarkToImage(string imagePath, string watermarkText, fontColor = System.Drawing.Color.Red; } + + + // Parse font color + var color = Color.FromRgba(fontColor.R, fontColor.G, fontColor.B, fontColor.A); + var rgba = color.ToPixel(); float normalizedOpacity = NormalizeOpacity(opacity); + byte alpha = (byte)Math.Round(255f * normalizedOpacity, MidpointRounding.AwayFromZero); + var colorWithOpacity = Color.FromRgba(rgba.R, rgba.G, rgba.B, alpha); // Calculate center position var textOptions = new TextOptions(font); - var textSize = TextMeasurer.Measure(watermarkText, textOptions); - float x = (image.Width - textSize.Bounds.Width) / 2; - float y = (image.Height - textSize.Bounds.Height) / 2; - PointF centerPoint = new(x + textSize.Bounds.Width / 2, y + textSize.Bounds.Height / 2); - - // Use RichTextOptions for text placement - var richTextOptions = new RichTextOptions(font) - { - Origin = centerPoint - }; - - // Create 4x4 transformation matrix for rotation - System.Numerics.Matrix3x2 rotationMatrix = Matrix3x2Extensions.CreateRotationDegrees(-45, centerPoint); - System.Numerics.Matrix4x4 transformMatrix = new( - rotationMatrix.M11, rotationMatrix.M12, 0, 0, - rotationMatrix.M21, rotationMatrix.M22, 0, 0, - 0, 0, 1, 0, - rotationMatrix.M31, rotationMatrix.M32, 0, 1 - ); - - var drawingOptions = new DrawingOptions - { - Transform = transformMatrix - }; + var textSize = TextMeasurer.MeasureSize(watermarkText, textOptions); + float x = (image.Width - textSize.Width) / 2; + float y = (image.Height - textSize.Height) / 2; - image.Mutate(ctx => ctx.Paint(drawingOptions, - canvas => canvas.DrawText(richTextOptions, watermarkText, Brushes.Solid(Color.Red), pen: null))); + image.Mutate(ctx => ctx.DrawText(new DrawingOptions() { Transform = Matrix3x2Extensions.CreateRotationDegrees(-45, new PointF(x + textSize.Width / 2, y + textSize.Height / 2)) }, watermarkText, font, colorWithOpacity, new SixLabors.ImageSharp.PointF(x, y))); image.Save(outputPath); return true; From 0b112a3d5db3cbeca6a1b5aa07dedb37b294023c Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Wed, 27 May 2026 21:56:47 -0400 Subject: [PATCH 15/21] Improve the name resolutions in Get-AbrNodeIP cmdlet --- .../Src/Private/Get-AbrNodeIP.ps1 | 22 +++++++++++-------- CHANGELOG.md | 6 +++++ 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/AsBuiltReport.Diagram/Src/Private/Get-AbrNodeIP.ps1 b/AsBuiltReport.Diagram/Src/Private/Get-AbrNodeIP.ps1 index b999101..b228b95 100644 --- a/AsBuiltReport.Diagram/Src/Private/Get-AbrNodeIP.ps1 +++ b/AsBuiltReport.Diagram/Src/Private/Get-AbrNodeIP.ps1 @@ -26,17 +26,21 @@ function Get-AbrNodeIP { ) process { try { - try { - if ('InterNetwork' -in [System.Net.Dns]::GetHostAddresses($Hostname).AddressFamily) { - $IPADDR = ([System.Net.Dns]::GetHostAddresses($Hostname) | Where-Object { $_.AddressFamily -eq 'InterNetwork' })[0].IPAddressToString - } elseif ('InterNetworkV6' -in [System.Net.Dns]::GetHostAddresses($Hostname).AddressFamily) { - $IPADDR = ([System.Net.Dns]::GetHostAddresses($Hostname) | Where-Object { $_.AddressFamily -eq 'InterNetworkV6' })[0].IPAddressToString - } else { + if ([string]::IsNullOrEmpty($Hostname)) { + $IPADDR = $Null + } else { + try { + if ('InterNetwork' -in [System.Net.Dns]::GetHostAddresses($Hostname).AddressFamily) { + $IPADDR = ([System.Net.Dns]::GetHostAddresses($Hostname) | Where-Object { $_.AddressFamily -eq 'InterNetwork' })[0].IPAddressToString + } elseif ('InterNetworkV6' -in [System.Net.Dns]::GetHostAddresses($Hostname).AddressFamily) { + $IPADDR = ([System.Net.Dns]::GetHostAddresses($Hostname) | Where-Object { $_.AddressFamily -eq 'InterNetworkV6' })[0].IPAddressToString + } else { + $IPADDR = $Null + } + } catch { + Write-Verbose -Message "Unable to resolve Hostname Address: $Hostname" $IPADDR = $Null } - } catch { - Write-Verbose -Message "Unable to resolve Hostname Address: $Hostname" - $IPADDR = $Null } $NodeIP = switch ([string]::IsNullOrEmpty($IPADDR)) { $true { 'Unknown' } diff --git a/CHANGELOG.md b/CHANGELOG.md index a1c7856..07f7c3a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.0.8] - Unreleased + +### :arrows_clockwise: Changed + +- Improve the name resolutions in Get-AbrNodeIP cmdlet + ## [1.0.7] - 2026-05-02 ### :arrows_clockwise: Changed From 6cae15b18fa7e5cc40787429b22b7e49f1f50887 Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Mon, 15 Jun 2026 14:10:47 -0400 Subject: [PATCH 16/21] Fix missing TableBorderColor parameter in Add-HtmlSignatureTable calls in New-AbrDiagram function --- .../Src/Public/New-AbrDiagram.ps1 | 14 ++++++++++++-- CHANGELOG.md | 4 ++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/AsBuiltReport.Diagram/Src/Public/New-AbrDiagram.ps1 b/AsBuiltReport.Diagram/Src/Public/New-AbrDiagram.ps1 index 7d3cd9e..8dd0f5b 100644 --- a/AsBuiltReport.Diagram/Src/Public/New-AbrDiagram.ps1 +++ b/AsBuiltReport.Diagram/Src/Public/New-AbrDiagram.ps1 @@ -72,6 +72,9 @@ function New-AbrDiagram { .PARAMETER SignatureLogoName Name (key in $ImagesObj) to use as the signature logo. + .PARAMETER SignatureTableBorderColor + Border color for the signature table (RGB hex or color name). Default: '#000000'. + .PARAMETER Logo Path to a custom main diagram logo file. @@ -338,6 +341,13 @@ function New-AbrDiagram { )] [string] $SignatureLogoName, + [Parameter( + Mandatory = $false, + HelpMessage = 'Please provide the signature table border color in RGB format (Ex: #FFFFFF) or color string' + )] + [ValidateNotNullOrEmpty()] + [string] $SignatureTableBorderColor = '#000000', + [Parameter( Mandatory = $false, HelpMessage = 'Please provide the path to the custom logo' @@ -599,9 +609,9 @@ function New-AbrDiagram { if ($Signature) { Write-Verbose -Message 'Generating diagram signature' if ($CustomSignatureLogo) { - $Signature = (Add-HtmlSignatureTable -ImagesObj $ImagesObj -Rows "Author: $($AuthorName)", "Company: $($CompanyName)" -TableBorder 2 -CellBorder 0 -Align 'left' -Logo $CustomSignatureLogo -IconDebug $IconDebug) + $Signature = (Add-HtmlSignatureTable -ImagesObj $ImagesObj -Rows "Author: $($AuthorName)", "Company: $($CompanyName)" -TableBorder 2 -CellBorder 0 -Align 'left' -Logo $CustomSignatureLogo -IconDebug $IconDebug -TableBorderColor $SignatureTableBorderColor) } else { - $Signature = (Add-HtmlSignatureTable -ImagesObj $ImagesObj -Rows "Author: $($AuthorName)", "Company: $($CompanyName)" -TableBorder 2 -CellBorder 0 -Align 'left' -Logo 'Logo_Footer' -IconDebug $IconDebug) + $Signature = (Add-HtmlSignatureTable -ImaSignatureTableBorderColorgesObj $ImagesObj -Rows "Author: $($AuthorName)", "Company: $($CompanyName)" -TableBorder 2 -CellBorder 0 -Align 'left' -Logo 'Logo_Footer' -IconDebug $IconDebug -TableBorderColor $SignatureTableBorderColor) } } else { Write-Verbose -Message 'No diagram signature specified' diff --git a/CHANGELOG.md b/CHANGELOG.md index 07f7c3a..ee3a35e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Improve the name resolutions in Get-AbrNodeIP cmdlet +### :wrench: Fixed + +- Fix missing TableBorderColor parameter in Add-HtmlSignatureTable calls in New-AbrDiagram function + ## [1.0.7] - 2026-05-02 ### :arrows_clockwise: Changed From 90e247a47d77c47756b305e769c3a5a66513b78b Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Mon, 15 Jun 2026 20:31:18 -0400 Subject: [PATCH 17/21] Fix TableBorderColor --- .../Src/Public/New-AbrDiagram.ps1 | 22 ++++++++++++++++--- CHANGELOG.md | 1 + 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/AsBuiltReport.Diagram/Src/Public/New-AbrDiagram.ps1 b/AsBuiltReport.Diagram/Src/Public/New-AbrDiagram.ps1 index 8dd0f5b..6ed275d 100644 --- a/AsBuiltReport.Diagram/Src/Public/New-AbrDiagram.ps1 +++ b/AsBuiltReport.Diagram/Src/Public/New-AbrDiagram.ps1 @@ -114,6 +114,9 @@ function New-AbrDiagram { .PARAMETER MainDiagramLabel Main label/title displayed at the top of the diagram. + .PARAMETER MainDiagramLabelTableBackgroundColor + Main label/title displayed at the top of the diagram. + .PARAMETER MainDiagramLabelFontsize Font size for the main diagram label. Default: 24. @@ -348,6 +351,13 @@ function New-AbrDiagram { [ValidateNotNullOrEmpty()] [string] $SignatureTableBorderColor = '#000000', + [Parameter( + Mandatory = $false, + HelpMessage = 'Please provide the signature table border color in RGB format (Ex: #FFFFFF) or color string' + )] + [ValidateNotNullOrEmpty()] + [string] $SignatureTableBackgroundColor = '#000000', + [Parameter( Mandatory = $false, HelpMessage = 'Please provide the path to the custom logo' @@ -437,6 +447,12 @@ function New-AbrDiagram { )] [string] $MainDiagramLabel, + [Parameter( + Mandatory = $true, + HelpMessage = 'Set the Main Label Table Background color used at the top of the diagram' + )] + [string] $MainDiagramLabelTableBackgroundColor = '#ffffff', + [Parameter( Mandatory = $false, HelpMessage = 'Set the Main Label font size used at the top of the diagram' @@ -609,9 +625,9 @@ function New-AbrDiagram { if ($Signature) { Write-Verbose -Message 'Generating diagram signature' if ($CustomSignatureLogo) { - $Signature = (Add-HtmlSignatureTable -ImagesObj $ImagesObj -Rows "Author: $($AuthorName)", "Company: $($CompanyName)" -TableBorder 2 -CellBorder 0 -Align 'left' -Logo $CustomSignatureLogo -IconDebug $IconDebug -TableBorderColor $SignatureTableBorderColor) + $Signature = (Add-HtmlSignatureTable -ImagesObj $ImagesObj -Rows "Author: $($AuthorName)", "Company: $($CompanyName)" -TableBorder 2 -CellBorder 0 -Align 'left' -Logo $CustomSignatureLogo -IconDebug $IconDebug -TableBorderColor $SignatureTableBorderColor -TableBackgroundColor $SignatureTableBackgroundColor -CellBackgroundColor $SignatureTableBackgroundColor -FontColor $Fontcolor) } else { - $Signature = (Add-HtmlSignatureTable -ImaSignatureTableBorderColorgesObj $ImagesObj -Rows "Author: $($AuthorName)", "Company: $($CompanyName)" -TableBorder 2 -CellBorder 0 -Align 'left' -Logo 'Logo_Footer' -IconDebug $IconDebug -TableBorderColor $SignatureTableBorderColor) + $Signature = (Add-HtmlSignatureTable -ImagesObj $ImagesObj -Rows "Author: $($AuthorName)", "Company: $($CompanyName)" -TableBorder 2 -CellBorder 0 -Align 'left' -Logo 'Logo_Footer' -IconDebug $IconDebug -TableBorderColor $SignatureTableBorderColor -TableBackgroundColor $SignatureTableBackgroundColor -CellBackgroundColor $SignatureTableBackgroundColor -FontColor $Fontcolor) } } else { Write-Verbose -Message 'No diagram signature specified' @@ -632,7 +648,7 @@ function New-AbrDiagram { if ($DisableMainDiagramLogo) { $FormatedMainLogo = '' } else { - $FormatedMainLogo = (Add-HtmlLabel -ImagesObj $ImagesObj -Label $MainDiagramLabel -IconType $CustomLogo -IconDebug $IconDebug -ImageSizePercent $MainGraphLogoSizePercent -Fontsize $MainDiagramLabelFontsize -FontColor $MainDiagramLabelFontColor -FontName $MainDiagramLabelFontname -FontBold:$MainDiagramLabelFontBold -FontItalic:$MainDiagramLabelFontItalic -FontUnderline:$MainDiagramLabelFontUnderline -FontOverline:$MainDiagramLabelFontOverline -FontSubscript:$MainDiagramLabelFontSubscript -FontSuperscript:$MainDiagramLabelFontSuperscript -FontStrikeThrough:$MainDiagramLabelFontStrikeThrough -CellSpacing 0 -IconPath $IconPath) + $FormatedMainLogo = (Add-HtmlLabel -ImagesObj $ImagesObj -Label $MainDiagramLabel -TableBackgroundColor $MainDiagramLabelTableBackgroundColor -CellBackgroundColor $MainDiagramLabelTableBackgroundColor -IconType $CustomLogo -IconDebug $IconDebug -ImageSizePercent $MainGraphLogoSizePercent -Fontsize $MainDiagramLabelFontsize -FontColor $MainDiagramLabelFontColor -FontName $MainDiagramLabelFontname -FontBold:$MainDiagramLabelFontBold -FontItalic:$MainDiagramLabelFontItalic -FontUnderline:$MainDiagramLabelFontUnderline -FontOverline:$MainDiagramLabelFontOverline -FontSubscript:$MainDiagramLabelFontSubscript -FontSuperscript:$MainDiagramLabelFontSuperscript -FontStrikeThrough:$MainDiagramLabelFontStrikeThrough -CellSpacing 0 -IconPath $IconPath) } SubGraph MainGraph -Attributes @{Label = $FormatedMainLogo; fontsize = 24; penwidth = 0; labelloc = 't'; labeljust = 'c' } { diff --git a/CHANGELOG.md b/CHANGELOG.md index ee3a35e..172c0b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### :wrench: Fixed - Fix missing TableBorderColor parameter in Add-HtmlSignatureTable calls in New-AbrDiagram function +- Fix missing TableBorderColor parameter in Main Logo section calls in New-AbrDiagram function ## [1.0.7] - 2026-05-02 From 04cbc8bc7c02f3b4bef8dfe64a6eaa22b565b522 Mon Sep 17 00:00:00 2001 From: Tim Carman Date: Tue, 16 Jun 2026 16:00:09 +1000 Subject: [PATCH 18/21] Add -Dpi parameter to New-AbrDiagram Expose the Graphviz dpi graph attribute so raster (PNG/JPG) output resolution can be set explicitly instead of being fixed at the Graphviz default of 96. Co-Authored-By: Claude Sonnet 4.6 --- AsBuiltReport.Diagram/AsBuiltReport.Diagram.psd1 | 2 +- .../Src/Public/New-AbrDiagram.ps1 | 16 +++++++++++++++- CHANGELOG.md | 6 ++++++ 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/AsBuiltReport.Diagram/AsBuiltReport.Diagram.psd1 b/AsBuiltReport.Diagram/AsBuiltReport.Diagram.psd1 index 52ead84..7f17b49 100644 --- a/AsBuiltReport.Diagram/AsBuiltReport.Diagram.psd1 +++ b/AsBuiltReport.Diagram/AsBuiltReport.Diagram.psd1 @@ -12,7 +12,7 @@ RootModule = 'AsBuiltReport.Diagram.psm1' # Version number of this module. - ModuleVersion = '1.0.7' + ModuleVersion = '1.0.8' # Supported PSEditions # CompatiblePSEditions = @() diff --git a/AsBuiltReport.Diagram/Src/Public/New-AbrDiagram.ps1 b/AsBuiltReport.Diagram/Src/Public/New-AbrDiagram.ps1 index 7d3cd9e..e1efb71 100644 --- a/AsBuiltReport.Diagram/Src/Public/New-AbrDiagram.ps1 +++ b/AsBuiltReport.Diagram/Src/Public/New-AbrDiagram.ps1 @@ -123,6 +123,9 @@ function New-AbrDiagram { .PARAMETER MainGraphAttributes Hashtable of graph attributes to override or augment defaults (examples: fontname, fontcolor, imagepath, style, nodesep, ranksep, bgcolor). + .PARAMETER Dpi + Raster output resolution in dots per inch for PNG/JPG formats (Ex: 300). Default: 96 (Graphviz default). + .PARAMETER WaterMarkColor Color used for watermark text. Default: 'DarkGray'. @@ -488,7 +491,14 @@ function New-AbrDiagram { HelpMessage = 'Set the image size in percent (100% is default)' )] [ValidateRange(1, 100)] - [int] $MainGraphLogoSizePercent = 100 + [int] $MainGraphLogoSizePercent = 100, + + [Parameter( + Mandatory = $false, + HelpMessage = 'Allow to set the raster output resolution in dots per inch (Ex: 300). Default: 96 (Graphviz default)' + )] + [ValidateRange(72, 600)] + [int] $Dpi ) begin { @@ -567,6 +577,10 @@ function New-AbrDiagram { if ($MainGraphSize) { $MainGraphAttributes['size'] = $MainGraphSize } + + if ($Dpi) { + $MainGraphAttributes['dpi'] = $Dpi + } } process { diff --git a/CHANGELOG.md b/CHANGELOG.md index c7917d3..7df23f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.0.8] - 2026-06-16 + +### :rocket: Added + +- Add `-Dpi` parameter to `New-AbrDiagram`, allowing the raster output resolution (PNG/JPG) to be set directly via the Graphviz `dpi` graph attribute instead of being fixed at the Graphviz default of 96 + ## [1.0.7] - 2026-05-02 ### :arrows_clockwise: Changed From 268710d21bd9bca3296269d1eceabe0531e310e8 Mon Sep 17 00:00:00 2001 From: Tim Carman <15333667+tpcarman@users.noreply.github.com> Date: Tue, 16 Jun 2026 18:05:45 +1000 Subject: [PATCH 19/21] Add IconWidth/IconHeight parameters to Add-HtmlNodeTable The icon for a regular (non-subgraph) node had no width/height/fixedsize attribute, so its rendered size was derived purely from the source image's pixel count interpreted as Graphviz points. This made resizing the source PNG an unreliable way to control on-page icon size. Mirrors the existing SubgraphIconWidth/SubgraphIconHeight pattern. --- .../Src/Private/Add-HtmlNodeTable.ps1 | 25 ++++++++++++++++--- CHANGELOG.md | 1 + 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/AsBuiltReport.Diagram/Src/Private/Add-HtmlNodeTable.ps1 b/AsBuiltReport.Diagram/Src/Private/Add-HtmlNodeTable.ps1 index 5215f85..11d66f7 100644 --- a/AsBuiltReport.Diagram/Src/Private/Add-HtmlNodeTable.ps1 +++ b/AsBuiltReport.Diagram/Src/Private/Add-HtmlNodeTable.ps1 @@ -120,6 +120,12 @@ function Add-HtmlNodeTable { .PARAMETER SubgraphIconHeight Allow to set a subgraph icon height. + .PARAMETER IconWidth + Allow to set the icon width. When combined with IconHeight, the icon's table cell is fixed to that size and the image is scaled to fit. + + .PARAMETER IconHeight + Allow to set the icon height. When combined with IconWidth, the icon's table cell is fixed to that size and the image is scaled to fit. + .PARAMETER TableBackgroundColor Allow to set a table background color (Hex format EX: #FFFFFF). @@ -400,6 +406,18 @@ function Add-HtmlNodeTable { )] [string] $SubgraphIconHeight, + [Parameter( + Mandatory = $false, + HelpMessage = 'Allow to set the icon width' + )] + [string] $IconWidth, + + [Parameter( + Mandatory = $false, + HelpMessage = 'Allow to set the icon height' + )] + [string] $IconHeight, + [Parameter( Mandatory = $false, HelpMessage = 'Allow to set a table background color' @@ -634,16 +652,17 @@ function Add-HtmlNodeTable { } } } else { + $IconSizeAttr = if ($IconWidth -and $IconHeight) { ' fixedsize="true" width="{0}" height="{1}"' -f $IconWidth, $IconHeight } else { '' } if ($MultiIcon) { while ($Number -ne $Group.Count) { if ($Icon.Count -gt 1) { foreach ($Element in $Group[$Number]) { - $TDICON += '' -f $Align, $Icon[$iconNumber] + $TDICON += '' -f $Align, $IconSizeAttr, $Icon[$iconNumber] $iconNumber++ } } else { foreach ($Element in $Group[$Number]) { - $TDICON += '' -f $Align, $Icon + $TDICON += '' -f $Align, $IconSizeAttr, $Icon } } $TR += '{0}' -f $TDICON @@ -708,7 +727,7 @@ function Add-HtmlNodeTable { } else { $TDICONMatch = if ($Icon.Count -eq 1) { $Icon } else { $Icon[0] } - $TDICON += '' -f $Align, $inputObject.Count, $TDICONMatch + $TDICON += '' -f $Align, $inputObject.Count, $IconSizeAttr, $TDICONMatch $TR += '{0}' -f $TDICON diff --git a/CHANGELOG.md b/CHANGELOG.md index 7df23f4..85ac778 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### :rocket: Added - Add `-Dpi` parameter to `New-AbrDiagram`, allowing the raster output resolution (PNG/JPG) to be set directly via the Graphviz `dpi` graph attribute instead of being fixed at the Graphviz default of 96 +- Add `-IconWidth`/`-IconHeight` parameters to `Add-HtmlNodeTable`, allowing the rendered icon size in a node's HTML table to be set explicitly instead of being derived solely from the source image's pixel dimensions ## [1.0.7] - 2026-05-02 From 805d7839b2dee6fba63f801942da049af8b5818c Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Tue, 16 Jun 2026 13:02:14 -0400 Subject: [PATCH 20/21] Fix issue The parameter 'MainDiagramLabelTableBackgroundColor' has been declared but not used --- AsBuiltReport.Diagram/Src/Public/New-AbrDiagram.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AsBuiltReport.Diagram/Src/Public/New-AbrDiagram.ps1 b/AsBuiltReport.Diagram/Src/Public/New-AbrDiagram.ps1 index 43e5eea..7a3985d 100644 --- a/AsBuiltReport.Diagram/Src/Public/New-AbrDiagram.ps1 +++ b/AsBuiltReport.Diagram/Src/Public/New-AbrDiagram.ps1 @@ -451,7 +451,7 @@ function New-AbrDiagram { [string] $MainDiagramLabel, [Parameter( - Mandatory = $true, + Mandatory = $false, HelpMessage = 'Set the Main Label Table Background color used at the top of the diagram' )] [string] $MainDiagramLabelTableBackgroundColor = '#ffffff', From df6dc760e523cc8ac610a3e2e6c6705460563cbd Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Tue, 16 Jun 2026 20:25:16 -0400 Subject: [PATCH 21/21] Update CHANGELOG.md --- CHANGELOG.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d0c527b..3aeccf0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [1.0.8] - Unreleased +## [1.0.8] - 2026-06-16 ### :toolbox: Added @@ -14,12 +14,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### :arrows_clockwise: Changed -- Improve the name resolutions in Get-AbrNodeIP cmdlet +- Improve the name resolutions in `Get-AbrNodeIP` cmdlet ### :wrench: Fixed -- Fix missing TableBorderColor parameter in Add-HtmlSignatureTable calls in New-AbrDiagram function -- Fix missing TableBorderColor parameter in Main Logo section calls in New-AbrDiagram function +- Fix missing TableBorderColor parameter in `Add-HtmlSignatureTable` calls in `New-AbrDiagram` function +- Fix missing TableBorderColor parameter in Main Logo section calls in `New-AbrDiagram` function ## [1.0.7] - 2026-05-02 @@ -136,4 +136,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### :wrench: Fixed -- Fix initialization of $TRAditionalInfo array in Add-NodeIcon function \ No newline at end of file +- Fix initialization of $TRAditionalInfo array in Add-NodeIcon function