Skip to content

Releases: facelessuser/wcmatch

8.0.1

21 Jan 20:39
7957571
Compare
Choose a tag to compare

8.0.1

  • FIX: Small bug in [:alpha:] range.

8.0

21 Jan 03:44
Compare
Choose a tag to compare
8.0

8.0

  • NEW: WcMatch's on_init hook now only accepts kwargs and not args.
  • NEW: Cosmetic change of referring to the first __init__ parameter as root_dir instead of base. This is to make it more clear when we are talking about the overall root directory that all paths are relative to vs the base path of a file which is relative to the root directory and the actual file name.
  • NEW: Internal attribute of WcMatch changed from base to _root_dir. This attribute is not really meant to be referenced by users and as been marked as private.
  • NEW: Drop requirement for backrefs and update documentation to note that POSIX properties never actually enabled the use of Unicode properties. While the documentation stated this and it was probably intended, it was never actually enabled. Currently, Wildcard match has chosen to keep with the ASCII definition for now as it has been since the feature was introduced. This may change in the future if there is demand for it.
  • NEW: Add [:word:] POSIX character class.

7.2

02 Jan 22:23
Compare
Choose a tag to compare
7.2

7.2

  • NEW: Drop Python 3.5 support.
  • NEW: Formally support Python 3.9 support.
  • FIX: Small fix for regular expression output to ensure NODIR pattern looks at both / and \\ on Windows.

7.1

22 Aug 20:17
Compare
Choose a tag to compare
7.1

7.1

  • NEW: Translate functions will now use capturing groups for EXTGLOB/EXTMATCH groups in the returned regular expression patterns.

7.0.1

13 Aug 22:46
Compare
Choose a tag to compare

7.0.1

  • FIX: Ensure that when using REALPATH that all symlinks are evaluated.
  • FIX: Fix issue where an extended pattern pattern can't follow right behind an inverse extended pattern.
  • FIX: Fix issues related to nested inverse glob patterns.

7.0

27 Jul 23:21
534924f
Compare
Choose a tag to compare
7.0

7.0

Check out Release Notes to learn more about upgrading to 7.0.

  • NEW: Recognize extended UNC paths.
  • NEW: Allow escaping any character in Windows drives for better compatibility with SPLIT and BRACE which
    requires a user to escape {, } and | to avoid expanding a pattern.
  • NEW: raw_escape now accepts the raw_chars parameter so that translation of Python character back references can be disabled.
  • NEW: Search functions that use scandir will not return . and .. for wildcard patterns that require iterating over a directory to match the files against a pattern. This matches Python's glob and is most likely what most users expect. Pattern matching logic is unaffected.
  • NEW: Add SCANDOTDIR flag to enable previous behavior of injecting . and .. in scandir results.
    SCANDOTDIR has no affect on match functions such as globmatch which don't use directory scanning.
  • NEW: Flag NODOTDIR has been added to disable patterns such as .* from matching . and ... When enabled, matching logic is changed to require a literal pattern of . and .. to match the special directories . and ... This is more Zsh like.
  • FIX: Negative extended glob patterns (!(...)) incorrectly allowed for hidden files to be returned when one of the subpatterns started with ., even when DOTMATCH/DOTGLOB was not enabled.
  • FIX: When NOUNIQUE is enabled and pathlib is being used, you could still get non-unique results across
    patterns expanded with BRACE or SPLIT (or even by simply providing a list of patterns). Ensure that unique results are only returned when NOUNIQUE is not enabled.
  • FIX: Fix corner cases with escape and raw_escape with back slashes.
  • FIX: Ensure that globmatch does not match test// with pattern test/*.
  • FIX: pathlib.match should not evaluate symlinks that are on the left hand side of what was matched.

6.1

30 Jun 17:03
Compare
Choose a tag to compare
6.1

6.1

  • NEW: EXTMATCH/EXTGLOB can now be used with NEGATE without needing MINUSNEGATE. If a pattern starts with !(, and NEGATE and EXTMATCH/EXTGLOB are both enabled, the pattern will not be treated as a NEGATE pattern (even if !( doesn't yield a valid EXTGLOB pattern). To negate a pattern that starts with a literal (, you must escape the bracket: !\(.
  • FIX: Support Python 3.9.
  • FIX: Adjust pattern limit logic of glob to be consistent with other functions.

6.0.3

27 Jun 15:50
924c142
Compare
Choose a tag to compare

6.0.3

  • FIX: Fix issue where when FOLLOW and GLOBSTAR were 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: pathlib clearly states that the match method, if the pattern is relative, matches from the right. Wildcard Match used the same implementation that rglob used, which prepends **/ to a relative pattern. This is essentially like MATCHBASE, 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. match will now be evaluated in such a way as to give the same right to left matching feel that Python's pathlib uses.

6.0.2

24 Jun 01:38
Compare
Choose a tag to compare

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

23 Mar 01:59
Compare
Choose a tag to compare

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.