- Fixes
- #111 Compare-ObjectGraph fails with certain object graphs, presumably due to cyclical references
-
Break changes
- Renamed GetItem / SetItem methods to GetValue / SetValue
-
Fixes
- #112 ConvertTo-Expression should also escape fancy quotes
-
Enhancements
- #70 Added Test-ObjectGraph cmdlet
- #100 Improved coloring
- #105 added -ValueOnly parameter to Get-Node -and Get-ChildNode cmdlets
- #114 added unique pools
- #117 Improve performance of Get-Node with literal node names
- Enhancements
- Added node view
- #113 Improved node abbreviation (
.ToString) method
-
Fixes
- #87 ConvertTo-Expression: keys with special characters should be quoted
- #89 Sort-ObjectGraph adds $Null to empty lists
- #92 ConvertTo-Expression -Expand -1 leaves spaces in map
-
Enhancements
- #90 Add $PSCulture and $PSUICulture to the restricted language mode cmdlets and classes
- #91 ConvertTo-Expression: better handle special type keys
-
Break changes
- ConvertFrom-Expression parameters:
-ArrayAs-->-ListAs,-HashTableAs-->-MapAs - Compare-ObjectGraph:
- split
-MatchOrderswitch in-IgnoreListOrderand-MatchMapOrder
- split
- ConvertFrom-Expression parameters:
-
Enhancements
- Created PSListNodeComparer and PSMapNodeComparer
- Sorting and added .Sort() method
- Improved GetHashCode() method
-
Implemented
- #82 Phase out static GetPSNodeType method
- #83 $ObjectGraph | Get-Node $PSNodePath should work
- #84 PSNodePath should implement Equals (PSNodePath or String)
-
Documentation
- Updated commented help of several cmdlets
- #65 Update ObjectParser.md with respect to PathName deprecation documentation
- Fixes
- #80 Unknown PSNode type (Import-Module issues)
-
Fixes
- Copy-ObjectGraph
-ListAs/-MapAsparameter bug - #78 Copy-Object -MapAs @{} should not me case sensitive
- Copy-ObjectGraph
-
Enhancements
- Added
ConvertFrom-Expression-ArrayAs/-HashTableAsparameters - Added
Import-ObjectGraph - Added
Export-ObjectGraph
- Added
- Enhancements
- Added
ConvertFrom-Expression- Also supporting a
-LanguageModeparameter
- Also supporting a
- Added
- Enhancements
- Full implementation of
ConvertTo-Expression(still requires some code improvements with regards to hardcoded roundtrip properties) Improved performance and added parameters:-LanguageModeRestricted, Constrained, Full-ExpandDepthExpands up till this level (collapse the rest)-ExplicitAdd explicit type name-FullTypeNameUse full type name-HighFidelityExplore all underlying properties-ExpandSingletonExpand collection nodes with a single item
- Full implementation of
- Fixes
- #45 Improved internal nodes collector
- #58 Fix issue where literal name is not found before
Equaloperator - #62 Parameter tables are not properly filled
- #64 Update main Readme.md with Xdn
- #65 Update ObjectParser.md with respect to PathName deprecation
-
Break changes
- #55
Get-Noderetrieves no long the path but the Object/Node from the pipeline - #56 Removed -Path parameter from Get-ChildNode (Use:
<Object-Graph or PSNode> | Get-Node <XdnPath> | Get-ChildNode ...)
- #55
-
Enhancements
- Full Extended dot notation (
Xdn) implementation (see: https://github.com/iRon7/ObjectGraphTools/blob/main/Docs/Xdn.md) - #57 Added
-Literalparameter toGet-Node - Added
Xdndocument - Added
XdnTests - Added
[PSNodePath]class for[PSNode]$Node.Path - Added
Get-Nodetests
- Full Extended dot notation (
-
Fixed
- #59 ConvertTo-Expression quoting bug
-
Fixed
ConvertTo-Expressionadding$Nullentries- #50 Copy-ObjectGraph -ListAs Array gives error
- #51 Document (markdown) issue in: Copy-ObjectGraph.md (fixed
Get-MarkdownHelp))
-
Enhancements
- Improved .ChildNode and related properties by one-by-one collecting sub nodes
- #53 return a warning (rather than an error) when Get-ChildNode is a leaf node
-
Fixed
ConvertTo-Expressionadding$Nullentries
-
Enhancements
- Use reflection for
Use-ClassAccessors, see: iRon7/Use-ClassAccessors#4
- Use reflection for
-
Break changes (fixes)
- Changed naming Descendent --> Descendant
- Remove leading dot from
PathName, use:.GetPathName('$MyObject')or.GetPathName('')to get a relative path - Depleted
.GetDescendantNode(<Path>), use:.GetNode(<XdnPath>)
-
Fixed
- #17 The call to MergeObject used incorrect
Depthparameter - #46 Sort-ObjectGraph: Out of range error
- #17 The call to MergeObject used incorrect
-
Enhancements
- Increased: [PSNode]::DefaultMaxDepth = 20
- Prerelease: Extended-Dot-Notation Path (
XdnPathClass) - Prerelease: ConvertTo-Expression (based on
PSNodeclass)
-
Fixed
- #40 Numeric keys don't convert to PSCustomObject
-
Enhancements
- Add Windows&Core test
-
Break changes
- (compared to 0.0.14) removed
Get-NodeWherecmdlet as it appears easier to useWhere-Objecton a leaf node and select its parent
- (compared to 0.0.14) removed
-
Fixed
- #20 Compare-ObjectGraph seems to be case sensitive, even when not using the MatchCase parameter
- #23 #Requires -Modules @{ModuleName="Pester"; ModuleVersion="5.5.0"}
- #38 Some methods as get_MaxDepth and get_Name supposed to be hidden
-
Fixes
- #36 Multiple
Get-ChildNode -Includeand-Excludepattern don't work
- #36 Multiple
-
Enhancements
- if
$MaxDepth(in[PSNode]::ParseInput($InputObject, $MaxDepth)) is 0 or less, the current/default maximum depth is used. - Added
Get-NodeWherecmdlet
- if
-
Fixes
- If no path is supplied for the
Get-Nodecmdlet, the root node is returned
- If no path is supplied for the
-
Enhancements
-
Fixes
- #31 ComponentModel.Component does not parse correctly
-
Enhancements
- Improved
PathNameproperty performance
- Improved
-
Break changes
- rename
-LeafNodeparameter fromGet-ChildNodeto just-Leafto be consistent with-ListChildconsidering that the wordNodeis al ready in the cmdlet noun.
- rename
-
Enhancements
- Object parser: uniform
MaxDepthproperty (might only be set at the root node) - Object parser: added:
GetDescendentNode(<path>)(alias:Get(<path>)) method - Object parser: added help
- Get-ChildNode: Added
-Pathparameter - Get-ChildNode: Added
-AtDepthparameter - Get-ChildNode: Added
-IncludeSelfparameter
- Object parser: uniform
-
Break changes
- Single property
Namefor both listIndexand mapKey
- Single property
-
Enhancements
- Included class accessor support: https://github.com/iRon7/Use-ClassAccessors
- Add (readonly) properties as e.g.
Type - Ability to change the embedded object property from the
Valueproperty
- Add (readonly) properties as e.g.
- Default display names:
Path,Name,Depth,Value
- Included class accessor support: https://github.com/iRon7/Use-ClassAccessors