Wcmatch

Latest version: v8.5.2

Safety actively analyzes 630052 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 8

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

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

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

Check out [Release Notes](https://facelessuser.github.io/wcmatch/about/release.md#upgrade-to-70) 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

- **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

- **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.

Page 3 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.