Skip to content

Fix explicit UTF8Bom encoding on Windows PowerShell 5.1 - #145

Open
TohruSu wants to merge 1 commit into
PoshCode:mainfrom
TohruSu:fix-utf8bom-windows-powershell
Open

TohruSu wants to merge 1 commit into
PoshCode:mainfrom
TohruSu:fix-utf8bom-windows-powershell

Conversation

@TohruSu

@TohruSu TohruSu commented Nov 3, 2026

Copy link
Copy Markdown

Summary

  • Normalize explicit UTF8Bom to UTF8 on Windows PowerShell 5.1, where Set-Content does not recognize UTF8Bom but UTF8 produces the same BOM-prefixed output.
  • Apply the compatibility mapping in SetModuleContent, Invoke-ScriptGenerator, and ConvertTo-Script.
  • Preserve existing default encoding behavior and leave UTF8NoBom unchanged.
  • Add regression tests for explicit Build-Module encoding, build.psd1 configuration, and script generation.

Validation

  • Windows PowerShell 5.1.19041: 222/222 tests passed.
  • PowerShell 7.6.9: 241/241 tests passed.
  • Regression tests reproduced the original failure on the unmodified baseline under Windows PowerShell 5.1 and passed after the fix.
  • PSScriptAnalyzer: no new diagnostics.
  • The Earthly-based CI pipeline was not executed locally.

Scope

This change addresses ModuleBuilder's explicit UTF8Bom compatibility issue on Windows PowerShell 5.1.

It does not change UTF8NoBom behavior or address Sampler's separate BOM-removal logic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant