Skip to content

Releases: Nick2bad4u/PS-Color-Scripts-Enhanced

Release v2025.11.9.1630

09 Nov 16:34
ed30e9e

Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

[Unreleased]

[ed30e9e...
ed30e9e]
(compare)

💼 Other

  • ✨ [feat] Update module version and localization support
  • Update module version to '2025.11.09.1120' in the manifest
  • Update localization version for multiple languages to '2025.11.09.1120'
  • Remove unused ANSI art file 'ungenannt_#introduction.ans'

Signed-off-by: Nick2bad4u [email protected] (ed30e9e)

Contributors

Thanks to all the contributors for their hard work!

License

This project is licensed under the MIT License
This changelog was automatically generated with git-cliff.

Release v2025.11.8.529

08 Nov 05:34
3060f6d

Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

[Unreleased]

[3060f6d...
3060f6d]
(compare)

💼 Other

  • 📝 [test] Add comprehensive test coverage for ColorScripts-Enhanced module

  • ✨ [feat] Introduce tests for Gap-filler 2 functionality, ensuring proper list, cache, and emission handling.

  • ✨ [feat] Implement targeted tests for Get-ColorScriptList, covering help, formatting, filtering, and warning scenarios.

  • ✨ [feat] Create tests for the installation script, validating user and all-users scope paths.

  • ✨ [feat] Add additional low-coverage tests for various functions, including ConvertFrom-JsonToHashtable and Get-ColorScriptAnsiSequence.

  • ✨ [feat] Develop tests for New-ColorScriptCache, focusing on help, validation, and sequential execution scenarios.

  • ✨ [feat] Implement tests for Write-ColorScriptInformation, ensuring proper handling of ANSI sequences and console output.

  • 👷 [ci] Update Test-Coverage script to change output format from JaCoCo to Cobertura for better compatibility.

Signed-off-by: Nick2bad4u [email protected] (3060f6d)

Contributors

Thanks to all the contributors for their hard work!

License

This project is licensed under the MIT License
This changelog was automatically generated with git-cliff.

Release v2025.11.8.1545

08 Nov 15:49
a665ad6

Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

[Unreleased]

[a665ad6...
a665ad6]
(compare)

💼 Other

  • ✨ [feat] Update module version and localization support
  • Update module version to 2025.11.08.1041 in module manifest
  • Adjust localization version for multiple languages to 2025.11.08.1041
  • Modify README to clarify localization modes
    📝 [docs] Revise minimum coverage parameter in test script
  • Change default minimum coverage from 94 to 80 in Test-Coverage.ps1

Signed-off-by: Nick2bad4u [email protected] (a665ad6)

Contributors

Thanks to all the contributors for their hard work!

License

This project is licensed under the MIT License
This changelog was automatically generated with git-cliff.

Release v2025.11.7.803

07 Nov 08:07
1376dd6

Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

[Unreleased]

[1376dd6...
1376dd6]
(compare)

💼 Other

  • ✨ [feat] Update module version and help info for localization improvements
  • Update module version to '2025.11.07.0137' in manifest and help files
  • Enhance caching system with OS-wide cache in AppData
  • Improve progress reporting in New-ColorScriptCache function for better user feedback
  • Ensure no background runspace pools remain before analyzer runs to avoid errors

Signed-off-by: Nick2bad4u [email protected] (1376dd6)

Contributors

Thanks to all the contributors for their hard work!

License

This project is licensed under the MIT License
This changelog was automatically generated with git-cliff.

Release v2025.11.7.2145

07 Nov 21:49
ccd812e

Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

[Unreleased]

[ccd812e...
ccd812e]
(compare)

💼 Other

  • ✨ [feat] Update module version and localization support
  • Update module version to '2025.11.07.1633' in manifest and help files
  • Sync localization UICultureVersion stamps for multiple languages (de, en-US, es, fr, it, ja, nl, pt, ru, zh-CN) to match the new module version
  • Enhance coverage target detection in Test-Coverage.ps1 to include all relevant script files in Public and Private folders
  • Improve warning message for missing coverage targets, ensuring fallback to module root file if no targets are found

Signed-off-by: Nick2bad4u [email protected] (ccd812e)

Contributors

Thanks to all the contributors for their hard work!

License

This project is licensed under the MIT License
This changelog was automatically generated with git-cliff.

Release v2025.11.7.2020

07 Nov 20:24
33c5cfa

Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

[Unreleased]

[33c5cfa...
33c5cfa]
(compare)

💼 Other

  • ✨ [feat] Update module version and enhance caching system
  • [dependency] Update module version to '2025.11.07.1503' in manifest and help files
  • Improve caching system with OS-wide cache in AppData for better performance
  • Enhance progress reporting in New-ColorScriptCache for improved user feedback
  • Ensure no background runspace pools remain before analyzer runs to avoid errors

Signed-off-by: Nick2bad4u [email protected] (33c5cfa)

Contributors

Thanks to all the contributors for their hard work!

License

This project is licensed under the MIT License
This changelog was automatically generated with git-cliff.

Release v2025.11.6.819

06 Nov 08:22
f8c860b

Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

[Unreleased]

[f8c860b...
f8c860b]
(compare)

💼 Other

  • ✨ [feat] Add localization-mode selection, on-demand cache validation docs, localized cache-summary rendering, module/help bumps, and tooling updates

  • ✨ [feat] Runtime localization mode & env parsing

  • ColorScripts-Enhanced.psm1: introduce $script:LocalizationMode and parse COLOR_SCRIPTS_ENHANCED_LOCALIZATION_MODE (supports 'auto', 'full', 'embedded'); honor legacy toggles COLOR_SCRIPTS_ENHANCED_FORCE_LOCALIZATION and COLOR_SCRIPTS_ENHANCED_PREFER_EMBEDDED_MESSAGES.

  • ColorScripts-Enhanced.psm1: pass -UseDefaultCandidates to Initialize-ColorScriptsLocalization to enable the new fallback behavior when importing localization resources.

  • ✨ [feat] Embedded-defaults preference & PSD1 probing

  • ✨ Private/Initialize-ColorScriptsLocalization.ps1: add -UseDefaultCandidates switch and $useDefaultCandidatesFlag; compute preferredCulture from CurrentUICulture and implement preferEmbeddedDefaults logic for 'Embedded' and 'Auto'+UseDefaultCandidates flows.

  • ✨ Private/Initialize-ColorScriptsLocalization.ps1: probe candidatePaths for Messages.psd1 (preferred culture chain + fallback en-US/en) and, when no localized resources exist and embedded defaults are preferred, set $script:Messages to the embedded defaults and populate LocalizationDetails.Source = 'EmbeddedDefaults' (with trace output).

  • 🛠️ [fix] Localize and ANSI-color cache summaries

  • 🛠️ Public/New-ColorScriptCache.ps1 & Public/Clear-ColorScriptCache.ps1: read format strings from $script:Messages.CacheBuildSummaryFormat and CacheClearSummaryFormat (with sane fallbacks), format summary values, build an ANSI-colored summary segment via New-ColorScriptAnsiText (-Color 'Cyan') and pass that segment to Write-ColorScriptInformation for consistent, localizable output.

  • 📝 [docs] Document -ValidateCache and localization modes

  • 📝 README.md, docs/Development.md, docs/MODULE_SUMMARY.md: add usage and guidance for forcing cache validation and for the new localization modes; recommend COLOR_SCRIPTS_ENHANCED_LOCALIZATION_MODE over legacy toggles.

  • 📝 en-US/Show-ColorScript.md & en-US help XML: add -ValidateCache parameter docs and guidance to force metadata validation before rendering; show examples and environment-variable usage (COLOR_SCRIPTS_ENHANCED_VALIDATE_CACHE).

  • 🧹 [chore] Add cache-summary message keys to localized resources

  • 🧹 en-US + localized Messages.psd1 (de, es, fr, it, ja, nl, pt, ru, zh-CN): add CacheBuildSummaryFormat and CacheClearSummaryFormat entries so cache summaries can be localized/overridden via PSD1 files.

  • 🔧 [build] [dependency] Update module manifest and localized help stamps; regenerate release artifacts

  • 🔧 ColorScripts-Enhanced.psd1: bump ModuleVersion => '2025.11.06.0250' and update Generated on stamp.

  • 🔧 localized HelpInfo.xml files (en-US, de, es, fr, it, ja, nl, pt, ru, zh-CN): synchronize UICultureVersion => '2025.11.06.0250'.

  • 🔧 dist/LatestReleaseNotes.md & dist/PowerShellGalleryReleaseNotes.md: regenerate release headers/content to reflect the changes.

  • 🔧 [build] Formatting/tooling: add PowerShell Prettier plugin

  • 🔧 .prettierrc: enable "prettier-plugin-powershell" in the plugin list.

  • 🔧 package.json & package-lock.json: bump prettier-plugin-powershell to ^1.0.5 and update lockfile metadata.

  • 🧪 [test] Align tests with signature changes

  • 🧪 Tests/ColorScripts-Enhanced.ModuleImportCoverage.Tests.ps1: update Initialize-ColorScriptsLocalization stubs to accept [switch]$UseDefaultCandidates and null-assign it to keep test stubs compatible with the new signature.

  • 🧹 [chore] Minor wiring & consistency

  • 🧹 Ensure module import uses the new -UseDefaultCandidates flag so the embedded-defaults preference path is exercised during import initialization.

Signed-off-by: Nick2bad4u [email protected] (f8c860b)

Contributors

Thanks to all the contributors for their hard work!

License

This project is licensed under the MIT License
This changelog was automatically generated with git-cliff.

Release v2025.11.6.352

06 Nov 03:57
4deea4a

Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

[Unreleased]

[4deea4a...
4deea4a]
(compare)

💼 Other

  • ✨ [feat] Add cache-format upgrade workflow, manual validation override, and Show-ColorScript -ValidateCache
  • ✨ Private/Ensure-CacheFormatVersion.ps1: add Set-CacheValidationOverride to let callers force cache validation; setting the override resets $script:CacheValidationPerformed so initialization will re-run validation.
  • ✨ Private/Ensure-CacheFormatVersion.ps1: extend Update-CacheFormatVersion to accept -MetadataFileName and write metadata using [int]$script:CacheFormatVersion (Version, ModuleVersion, UpdatedUtc).
  • ✨ Private/Ensure-CacheFormatVersion.ps1: implement purge of obsolete cache-metadata*.json files (remove files whose name != current MetadataFileName) with robust try/catch and Write-Verbose diagnostics to avoid breaking init on IO/parse failures.

🚜 [refactor] Integrate cache validation into initialization and add env override

  • 🚜 Private/Initialize-CacheDirectory.ps1: standardize metadata filename to 'cache-metadata-v{0}.json' and pass that name into Update-CacheFormatVersion.
  • 🚜 Private/Initialize-CacheDirectory.ps1: add support for COLOR_SCRIPTS_ENHANCED_VALIDATE_CACHE (accepts 1/true/yes) to force validation via environment.
  • 🚜 Private/Initialize-CacheDirectory.ps1: only run validation when forced (env), when manual override is set, or when validation hasn't been performed and the metadata file is missing; set $script:CacheValidationPerformed = $true after validation and clear the manual override. Apply same logic to the fallback resolution path.

✨ [feat] Public Show-ColorScript: add -ValidateCache switch

  • ✨ Public/Show-ColorScript.ps1: add .PARAMETER ValidateCache documentation and new [switch]$ValidateCache parameter.
  • ✨ Public/Show-ColorScript.ps1: when -ValidateCache is supplied call Set-CacheValidationOverride -Value $true so callers can force cache rebuild/validation before rendering.

🔧 [build] [dependency] Update module version and release notes header

📝 [docs] Sync localized help UICultureVersion stamps

  • 📝 Update localized HelpInfo.xml files (en-US, de, es, fr, it, ja, nl, pt, ru, zh-CN) to the new UICultureVersion stamp to keep manifest/help metadata consistent with the module bump.

🧪 [test] Initialize cache-validation state in tests

  • 🧪 Tests/*: reset $script:CacheValidationPerformed = $false and $script:CacheValidationManualOverride = $false in test setup fixtures (CoverageExpansion, InternalCoverage, TargetedCoverage) so tests run with deterministic cache-validation state.

📝 [docs] Regenerate packaged release artifacts

  • 📝 dist/LatestReleaseNotes.md & dist/PowerShellGalleryReleaseNotes.md: regenerate release notes header/content to reflect the cache-format workflow, validation changes and module/help version bumps.

Signed-off-by: Nick2bad4u [email protected] (4deea4a)

Contributors

Thanks to all the contributors for their hard work!

License

This project is licensed under the MIT License
This changelog was automatically generated with git-cliff.

Release v2025.11.6.19

06 Nov 00:23
e25ac30

Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

[Unreleased]

[e25ac30...
e25ac30]
(compare)

💼 Other

  • 🛠️ [fix] Add cache-format upgrade workflow, unify colorscript execution, and bump module/help versions

✨ [feat] Add Ensure-CacheFormatVersion.ps1

  • 🧩 Implements Update-CacheFormatVersion to manage cache-metadata.json (Version, ModuleVersion, UpdatedUtc) and purge existing *.cache files when the format version changes.
  • ⚠️ Includes robust error handling and Write-Verbose diagnostics to avoid breaking initialization on IO/parse failures.

🚜 [refactor] Integrate cache-format upgrade into initialization

  • 🔁 Call Update-CacheFormatVersion from Initialize-CacheDirectory immediately after resolving/creating the cache directory (both primary resolution and fallback) so caches are validated/upgraded and stale .cache files are removed automatically.

🚜 [refactor] Unify colorscript execution to isolated process

  • 🖥️ Remove the fast in-process execution path and always spawn an isolated PowerShell process to preserve ANSI sequences and console rendering fidelity.
  • 🧭 When running for cache builds (ForCache), set child env var COLOR_SCRIPTS_ENHANCED_CACHE_BUILD='1' so the subprocess can detect cache-build context; fail-safe verbose handling if env cannot be written.

🔧 [build] [dependency] Update ModuleVersion and update ReleaseNotes

  • 🔢 Update ModuleVersion to '2025.11.05.1912' in the module manifest and adjust the ReleaseNotes header to the new stamp.

📝 [docs] Sync localized HelpInfo UICultureVersion stamps

  • 🌐 Update SupportedUICultures / UICultureVersion for localized HelpInfo.xml files (en-US, de, es, fr, it, ja, nl, pt, ru, zh-CN) to match the new module stamp.

🧪 [test] Update tests to initialize cache directory and pass explicit cache path

  • 🔎 Tests now call Initialize-CacheDirectory inside module scope to retrieve $script:CacheDir and pass the explicit testCachePath into test blocks, ensuring tests operate on the real cache location and not an assumed variable.

Signed-off-by: Nick2bad4u [email protected] (e25ac30)

Contributors

Thanks to all the contributors for their hard work!

License

This project is licensed under the MIT License
This changelog was automatically generated with git-cliff.

Release v2025.11.5.841

05 Nov 08:44
240264c

Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

[Unreleased]

[240264c...
240264c]
(compare)

💼 Other

  • 🛠️ [fix] Harden localized message import and enforce dictionary results
  • 🧾 Private/Import-LocalizedMessagesFromFile.ps1: validate Import-LocalizedData output and treat non-IDictionary returns as null (trace and fallback).
  • 🧯 Private/Import-LocalizedMessagesFromFile.ps1: validate Import-PowerShellDataFile output and Write-ModuleTrace + throw InvalidOperationException when the result is not a dictionary (clear failure diagnostics).

🚜 [refactor] Simplify and correct script-name invalid-character handling

  • ♻️ Private/Test-ColorScriptNameValue.ps1: replace raw invalid-char array with System.Collections.Generic.List[char] populated from [System.IO.Path]::GetInvalidFileNameChars().
  • ✂️ Remove wildcard chars ('*','?') from the invalid list when $AllowWildcard is true; otherwise detect wildcard characters explicitly and invoke the centralized throw.
  • 🧰 Centralize throw logic in a $throwInvalidCharacter scriptblock and format error messages with the provided name parameter for accurate context.

🔧 [build] [dependency] Update ModuleVersion and sync help UICultureVersion stamps

  • 🔼 ColorScripts-Enhanced.psd1: ModuleVersion -> '2025.11.05.0244' and update ReleaseNotes header version.
  • 🌐 Localized help files: sync SupportedUICultureVersion -> '2025.11.05.0244' across de, en-US, es, fr, it, ja, nl, pt, ru, zh-CN HelpInfo.xml files.

🧪 [test] Make CI detection deterministic and skip tests reliably

  • 🧭 Tests/ColorScripts-Enhanced.AdditionalCoverage.Tests.ps1 & Tests/ColorScripts-Enhanced.CoverageCompletion.Tests.ps1: add $script:IsCIEnvironment boolean computed from $env:CI (recognizes 'true','1','yes').
  • 🚫 Replace -Skip:($env:CI) with -Skip:$script:IsCIEnvironment on affected It tests to ensure consistent skipping behavior in CI environments.

Signed-off-by: Nick2bad4u [email protected] (240264c)

Contributors

Thanks to all the contributors for their hard work!

License

This project is licensed under the MIT License
This changelog was automatically generated with git-cliff.