Releases: facelessuser/wcmatch
Releases · facelessuser/wcmatch
6.0.3
6.0.3
- FIX: Fix issue where when
FOLLOWandGLOBSTARwere used, a pattern like**/*would not properly match a directory which was a symlink. While Bash does not return a symlinked folder with**,*(and other patterns), should properly find the symlinked directory. - FIX:
pathlibclearly states that thematchmethod, if the pattern is relative, matches from the right. Wildcard Match used the same implementation thatrglobused, which prepends**/to a relative pattern. This is essentially likeMATCHBASE, but allows for multiple directory levels. This means that dot files (and special folders such as.and..) on the left side could prevent the path from matching depending on flags that were set.matchwill now be evaluated in such a way as to give the same right to left matching feel that Python'spathlibuses.
6.0.2
6.0.2
- FIX: Fix logic related to dot files and
GLOBSTAR. Recursive directory search should return all dot files, which should then be filtered by the patterns. They should not be excluded before being filtered by the pattern.
6.0.1
6.0.1
- FIX: If we only have one pattern (exclusion patterns not included) we can disable unique path filtering on returns as you cannot have a duplicate path with only one inclusion pattern.
6.0.0
6.0.0
- NEW: Tilde user expansion support via the new
GLOBTILDEflag. - NEW:
globby default now returns only unique results, regardless of whether multiple patterns that match the
same file were provided, or even whenBRACEorSPLITexpansion produces new patterns that match the same file. - NEW: A new flag called
NOUNIQUEhas been added that makesglobact like Bash, which will return the same file multiple times if multiple patterns match it, whether provided directly or due to the result ofBRACEorSPLITexpansion. - NEW: Limit number of patterns that can be processed (expanded and otherwise) to 1000. Allow user to change this value via an optional
limitparameter in related API functions. - FIX: Matching functions that receive multiple patterns, or that receive a single pattern that expands to multiple, will filter out duplicate patterns in order avoid redundant matching. While the
WcMatchclass crawls the file system, it utilizes the aforementioned matching functions in it's operation, and indirectly takes advantage of this.glob(and related functions:rglob,iglob, etc.) will also filter redundant patterns except whenNOUNIQUEis enabled, this is so they can better act like Bash whenNOUNIQUEis enabled. - FIX:
BRACEis now processed beforeSPLITin order to fix a number of edge cases. - FIX:
RAWCHARSwas inconsistently applied at different times depending on what was calling it. It is now applied first followed byBRACE,SPLIT, and finallyGLOBTILDE.
5.1.0
5.1.0
- NEW: Add new parameter to
globrelated functions (except inpathlib) calledroot_dirthat allows a user to specify a different working directory with either a string or path-like object. Path-like inputs are only supported on Python 3.6+. - NEW: Support path-like objects for
globmatchandglobfilterpath inputs. Path-like inputs are only supported on Python 3.6+. - FIX: Filter functions should not alter the slashes of files it filters. Filtered strings and paths should be returned unaltered.
5.0.3
5.0.3
- FIX: Rework
globrelative path handling so internally it is indistinguishable from when it is given no relative
path and uses the current working directory. This fixes an issue wherepathlibcouldn't handle negate patterns
properly (!negate).
5.0.2
5.0.2
- FIX: Fix case where a
GLOBSTARpattern, followed by a slash, was not disablingMATCHBASE. - FIX: Fix
pathlibrelative path resolution in glob implementations.
5.0.1
5.0.1
- FIX: In
glob, avoid using up too many file descriptors by acquiring all file/folder names under a directory in
one batch before recursing into other folders.
5.0.0
5.0.0
- NEW: Add
wcmatch.pathlibwhich containspathlibvariants that useswcmatch.globinstead of the default Python glob. - NEW:
escapeandraw_escapecan manually be forced to use Windows or Linux/Unix logic via the keyword only argument by setting toFalseorTruerespectively. The default isNonewhich will auto detect the system. - NEW: The deprecated flag
FORCECASEhas now been removed. - NEW: The deprecated functions
globsplitandfnsplithave been removed. - NEW: The deprecated variables
versionandversion_infohave been removed.
4.3.1
4.3.1
- FIX: Regression for root level literal matches in
glob. - FIX: Bug where
globwould mistakenly abort if a pattern started with a literal file or directory and could not match a file or directory. This caused subsequent patterns in the chain to not get evaluated.