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.
No changes yet.
0.7.0 - 2025-09-05
- Wildcard-expanded roots:
-Pathcan include wildcards (e.g.,C:\Users\*\Documents) and is expanded to multiple root paths, searched one by one (Linux-like behavior). - Examples for multi-root usage added to help.
- Per-root verbose output (
absolutePath) and pattern logging retained with multi-root awareness. - Documentation clarifies that
-As FileSystemInfois the recommended typed output;-As FileInforemains supported for backward compatibility.
- Ensured
MinDepthis applied per root. - Kept streaming enumeration (
Enumerate*) for low memory footprint across multiple roots.
- Code scanning outputs: SARIF uploads to the Security tab for DevSkim and PSScriptAnalyzer.
- Cross-platform CI: Updated GitHub Actions to run Build/Analyze/Test on
ubuntu-latest,windows-latest, andmacos-latestwithpwsh. - Faster CI: Caching of user-scoped PowerShell modules keyed by
requirements.psd1. - Publish flow: Tag-based publish job on Windows.
- Auto-maintenance: New workflow to remove “stale” labels immediately on any new comment (issues and PRs).
- Dev tooling bumps (build/runtime neutral):
- Pester 5.7.1
- PSScriptAnalyzer 1.24.0
- PowerShellBuild 0.7.1
- psake 4.9.1
- VS Code tasks: Unified on
pwshand${workspaceFolder}for consistent local runs.
- Internal consolidation of typed vs. string enumeration paths (
DirectoryInfo.Enumerate*vsDirectory.*). - Refined verbose wording and minor doc tweaks.
-Iname(Linux-style, always case-insensitive). If specified andMatchCasingnot set, forcesCaseInsensitive.-MinDepth(Linux-mindepth) with an inline, allocation-light depth check.
- Documentation clarified cross-platform casing: Windows (
-Name≈-Iname), Linux/macOS (-Nameis case-sensitive).
- Backward compatibility note for
-As FileInfo; introduced-As FileSystemInfo(recommended typed output).
AttributesToSkipaggregated into proper[FileAttributes]bit flags (supports0to disable).Depthcorrectly implies recursion viaMaxRecursionDepth+RecurseSubdirectories = $true.- Restored
absolutePathverbose output.
- Enums typed for performance:
[System.IO.MatchCasing],[System.IO.MatchType]. - Added Verbose parameter dump and
absolutePathverbose logging.
- Correct mapping of
EnumerationOptions.MatchType.
- Find-Item: relative paths are resolved to the wrong directory - added absolutePath thanks to @cdonnellytx
- Added provider resolution via
GetResolvedProviderPathFromPSPath
- Added provider resolution via
- psgrep - Close StreamReader
- psgrep - Use ReadOnly FileStream instead of direct access with Streamreader
- Added switch
NotMatch(-Not) topsgrepto negate the grep (similar togrep -v)
psgrep- Added
IgnoreCasesupport ifHighlight(-H) is also present (-H -O IgnoreCase)
- Added
- Updated parameter naming so that
-Ris exclusive in all functions (-R=-Recurse)- All functions
- Renamed
ReturnSpecialDirectoriestoIncludeSpecialDirectories
- Renamed
pssize/size/Get-ItemSize- Renamed
RawtoAsRaw
- Renamed
psgrep/Find-ItemContent- Renamed
RegexOptionstoOptions
- Renamed
- All functions
- Added
Highlight(-H) switch to highlight the pattern in the output when usingpsgrep(Find-ItemContent)
- The parameter order for
psgrephas been changed so that specifying the parameter name-Patternis no longer mandatory, since it is now the first parameter
- Removed alias
lookof functionFind-ItemContentas it correlates with the Linux/Unix commandlook - Added alias
psfindforFind-Item - Added alias
pssizeforGet-ItemSize
- Added new function
Find-ItemContentwith aliasespsgrepandlookas a fast alternative for Linux/Unixgrep
- Updated module manifest to include Functions/Aliases to export (This will support auto loading of the functions during pwsh start)
- Updated logo
- Added extended documentation for
-Pathand-Nameparameter to make the use cases more clear
Also export aliases
Disabled private functions
Second public release using tags
First public release
Second testing release
First testing release