Releases: Nick2bad4u/PS-Color-Scripts-Enhanced
Release v2025.11.9.1630
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
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
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
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
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
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
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
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
- 🔧 ColorScripts-Enhanced/ColorScripts-Enhanced.psd1: bump ModuleVersion => '2025.11.05.2125' and update embedded ReleaseNotes header to match the new stamp.
📝 [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
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
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.