All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Fix
Test-InvokeCommandFilteremitting$falsefor every non-matching pipeline element in theprocessblock, causing[bool]@($false,$false,$false)to evaluate as$trueand triggering the handler on non-string collections - Fix incorrect property name
.Keyto.NameinHashArray2[2]andHashArray3[-1]test cases inHashArrays.tests.ps1
- Renamed
masterbranch tomain. - Enhance integration tests to assert no handler warnings and non-null resolved values, preventing silent passes on handler failures
- Fix 4 unit tests in
Invoke-InvokeCommandAction.tests.ps1that asserted an undefined$resultvariable afterShould -Throw
- Add
Get-DatumRsopSafehelper toTestHelpers.psm1that captures the warning stream alongside the RSOP result for test assertions - Add pipeline collection tests for
Test-InvokeCommandFilterto verify correct behavior with non-string collections and mixed input
- Migrated
tests/QA/module.tests.ps1to Pester 5 syntax usingBeforeDiscovery/BeforeAllblocks,-ForEachinstead offoreachloops for dynamicDescribeblocks, and updated all legacyShouldassertions to use the dash-parameter syntax. - Updated build files to newest version of Sampler (PR #12).
- Added GitHub issue templates and pull request template for better contribution guidelines.
- Added VSCode settings for the project.
- Updated GitVersion.Tool installation to specify version 5.*.
- Added
Agent.Source.Git.ShallowFetchDepthvariable to pipeline configuration. - Added
AliasesToExportto module manifest for better command aliasing. - Updated Windows VM image to 'windows-latest' in Azure Pipelines configuration.
- Removed
PSDependOptionsfromRequiredModules.psd1for cleaner configuration. - Added
SECURITY.mdfor reporting security vulnerabilities and guidelines. - Added
codecov.ymlconfiguration file for coverage reporting. - Updated
build.ps1andResolve-Dependency.ps1build scripts. - Refactored Azure Pipelines configuration for improved artifact handling and test reporting.
- Updated pipeline configuration in
build.yaml. - Updated ModuleBuilder configuration.
- Updated dependent modules configuration.
- Added PSDepend configuration.
- Added ReleaseAssets configuration to GitHub settings.
- Updated DscResource.DocGenerator configuration.
- Reorganized
RequiredModules.psd1for improved readability.
- Fix incorrect module manifest
Descriptionwhich referenced Datum.ProtectedData instead of describing this module's actual purpose. - Fix PSScriptAnalyzer
PSUseProcessBlockForPipelineCommandwarning inInvoke-InvokeCommandActionandTest-InvokeCommandFilterby wrapping the function body in aprocessblock.
- Breaking: Remove unused parameter
ProjectPathfromInvoke-InvokeCommandActionto resolve PSScriptAnalyzerPSReviewUnusedParameterwarning.
- Add comprehensive comment-based help for all public functions
(
Invoke-InvokeCommandAction,Test-InvokeCommandFilter) with detailed descriptions, parameter documentation, multiple examples, notes, and cross-reference links. - Add comment-based help for all private functions
(
Invoke-InvokeCommandActionInternal,Get-DatumCurrentNode,Get-RelativeNodeFileName,Get-ValueKind). - Add inline documentation comments to module initialization code
in
Prefix.ps1. - Add comprehensive
README.mdwith overview, installation instructions, quick start guide, full embedded command syntax reference, available variables, dynamic resolution precedence, nested references, configuration, error handling, exported functions, and a complete end-to-end example. - Add
docs/GettingStarted.mdstep-by-step tutorial for new users. - Add
source/WikiSource/Home.mdwiki home page with module overview, exported functions, installation instructions, quick start guide, documentation links, and change log reference. - Add
docs/Architecture.mddescribing the internal processing pipeline, module components, error handling strategy, and Datum framework relationship. - Add
docs/Troubleshooting.mdcovering common issues, diagnostic steps, and resolution guidance.
- Support for expandable strings.
- Configurable Header and Footer.
- Content is now evaluated with RegEx + PowerShell Parser.
- Gives access to Node and Datum variable.
- Added function 'Get-RelativeNodeFileName'.
- Resolves nested references.
- Added analyzersettings rules.
- Added support for multi-line ScriptBlocks.
- Added more tests and test data for multi-role support and handler support in 'ResolutionPrecedence'.
- Improved error handling and implemented '$env:DatumHandlerThrowsOnError'.
- Added parameter
ProjectPathtoInvoke-InvokeCommandAction. - Updated build scripts to latest Sampler scripts.
- Initial commit.
- An empty .psm1 file is required if the module manifest contain the
property
RootModule. If this does not exist it is not possible to run the build task (fails with invalid module manifest).