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.
- New Glob testing app using Blazor
- Fixed issue where invalid patterns can cause the parser to get stuck
- Improved performance from parser internals rework
- Updated to .NET 6.0
- Matching full path is now the default for Glob expressions, GlobOptions.MatchFilenameOnly can be used to work as before
- BREAKING: Patterns may no longer include '' as path separators. Instead, '/' should always be used and '' is now available for escaping characters.
- Issue #63: Added glob options for Glob Extension methods
- Issue #59: Cannot enumerate iterator multiple times
- Issue #52: Files matching a pattern in multiple ways are only emitted once
- Issue #57: Support parentheses, equals, and other miscellaneous characters in file names
- Issue #55: Remove debug prints
- Removed reference to System.ValueTuple
- Issue #53: Fix issue where matches against the root directory would attempt to truncate a prefix longer than desired
- Allow spaces as normal path characters
- Issue #47: Add NuGet package description
- Issue #46: Add netstandard2.0 target
- Issue #34: Updated scanner to support
~
and$
in Glob patterns - Issue #44: Delete foreach Glob.Directories() fails
- Issue with GlobOptions not having proper bitwise values
- Added GlobOptions.MatchFullPath to require the full path to match for patterns like
*.txt
- Improved character range mechanics, to match ranges with
[
,]
,*
, and?
in them
- Reduce number of allocations for matching Identifiers (small perf boost)
- Fix Glob for
a/**
to matcha/
but nota
- Fix issue where roots (C:) would not obey the case sensitivity setting
- Fix issue where matching
a/**
againsta
would cause a stackoverflow (#39)
- Fix bug where
**
does not properly matcha
ora/b
(#38)
- Add Glob.Files and Glob.Directories APIs
- Support for Case-Insensitive globbing
- Reduced string allocations in Scanner
- All types are now located in the GlobExpressions namespace instead of Glob
- Path traversal has been updated which may cause a different ordering of returned results
- Fix bug where not all files are returned when using GlobExtensions
- Fix NullReferenceException for empty patterns
- Fix issue where directory wildcard and identifier cannot be mixed in a single Segment
- Fix issue that caused unnecessary directory traversal (#20)
- Fix issue where Glob.Directories did not always match properly