What's changed since v0.2.0:
- Added support for pipelining with
Exists
,Within
,Match
andTypeOf
keywords #90 - Added support for packaging rules in modules #16
- Import objects from YAML or JSON format #75
- Added support for input de-serialization from FileInfo objects #95
- Support nested TargetObjects #77
- Export variables to improve authoring experience #83
- Binding improvements:
- Added object type binding and dynamic filtering for rules #82
- Added support for indexed and quoted field names #86
- Added support for case-sensitive binding operations #87
- Binding ignores case by default. Set option
Binding.CaseSensitive
totrue
to enable case-sensitivity.
- Binding ignores case by default. Set option
- Support TargetName binding of nested properties #71
- Added online help links to keywords #72
- Added schema for PSRule options #74
- Breaking change - Changed parameter alias for
-Path
from-f
to-p
#99 - Breaking change - The
-TargetName
parameter of theHint
keyword has been deprecated #81-TargetName
parameter not longer sets the pipeline object TargetName and generates a warning instead.- The
-TargetName
will be completely removed in v0.4.0, at which time using the parameter will generate an error.
What's changed since pre-release v0.3.0-B190231
- Added support for input de-serialization from FileInfo objects #95
- Breaking change - Changed parameter alias for
-Path
from-f
to-p
#99
- Added support for pipelining with
Exists
,Within
,Match
andTypeOf
keywords #90 - Fix empty YAML object causes format de-serialize to fail #92
- Export variables to improve authoring experience #83
- Added support for packaging rules in modules #16
- Added support for indexed and quoted field names #86
- Added object type binding and dynamic filtering for rules #82
- Added support for case-sensitive binding operations #87
- Binding ignores case by default. Set option
Binding.CaseSensitive
totrue
to enable case-sensitivity.
- Binding ignores case by default. Set option
- Breaking change - The
-TargetName
parameter of theHint
keyword has been deprecated #81-TargetName
parameter not longer sets the pipeline object TargetName and generates a warning instead.- The
-TargetName
will be completely removed in v0.4.0, at which time using the parameter will generate an error.
- Added online help links to keywords #72
- Added schema for PSRule options #74
- Import objects from YAML or JSON format #75
- Support TargetName binding of nested properties #71
- Support nested TargetObjects #77
What's changed since v0.1.0:
- Added support for cross-platform environments (Windows, Linux and macOS) #49
- Added support for nested field names with
Exists
,Within
andMatch
keywords #60 - Added support for rule configuration using baselines #17
- Use rule description when hint message not set #61
- Allow objects to be suppressed by TargetName for individual rules #13
- Allow binding of TargetName to custom property #44
- Custom functions can be used to bind TargetName #44
- Objects that are unable to bind a TargetName will use a SHA1 object hash for TargetName #44
- Added
Test-PSRuleTarget
command to return an overall$True
or$False
after evaluating rules for an object #30 - Improve reporting of inconclusive results and objects that are not processed by any rule #46
- Inconclusive results and objects not processed will return a warning by default.
- Fix propagation of informational messages to host from rule scripts and definitions #48
- Fix Get-PSRule generates exception when no .rule.ps1 scripts exist in path #53
- Fix LocalizedData.PathNotFound warning when no .rule.ps1 scripts exist in path #54
What's changed since pre-release v0.2.0-B190121
- No additional changes
- Added support for nested field names with
Exists
,Within
andMatch
keywords #60 - Added support for rule configuration using baselines #17
- Use rule description when hint message not set #61
- Fix Get-PSRule generates exception when no .rule.ps1 scripts exist in path #53
- Fix LocalizedData.PathNotFound warning when no .rule.ps1 scripts exist in path #54
- Breaking change - Renamed
Test-PSRule
cmdlet toTest-PSRuleTarget
which aligns more closely to the verb-noun naming standard #57
- Allow objects to be suppressed by TargetName for individual rules #13
- Allow binding of TargetName to custom property #44
- Custom functions can be used to bind TargetName #44
- Objects that are unable to bind a TargetName will use a SHA1 object hash for TargetName #44
- Added
Test-PSRule
command to return an overall$True
or$False
after evaluating rules for an object #30 - Improve reporting of inconclusive results and objects that are not processed by any rule #46
- Inconclusive results and objects not processed will return a warning by default.
- Fix propagation of informational messages to host from rule scripts and definitions #48
- Added support for cross-platform environments (Windows, Linux and macOS) #49
- Initial release
What's changed since pre-release v0.1.0-B181235:
- Fix outcome filtering of summary results #33
- Fix target object counter in verbose logging #35
- Fix hashtable keys should be handled as fields #36
- RuleId and RuleName are now independent. Rules are created with a name, and the RuleId is generated based on rule name and file name
- Rules with the same name can exist and be cross linked with DependsOn, as long a the script file name is different
- Added
-Not
toExists
keyword - Improved verbose logging of
Exists
,AllOf
,AnyOf
keywords and core engine - Breaking change - Renamed outcome filtering parameters to align to type name and increase clarity
Invoke-PSRule
has a-Outcome
parameter instead of-Status
-Outcome
supports values ofPass
,Fail
,Error
,None
,Processed
andAll
- Added rule tags to results to enable grouping and sorting #14
- Added support to check for rule tag existence. Use
*
for tag value on-Tag
parameter withInvoke-PSRule
andGet-PSRule
- Added option to report rule summary using
-As
parameter ofInvoke-PSRule
#12
- Initial pre-release