Wcmatch

Latest version: v10.0

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

Scan your dependencies

Page 2 of 8

8.4

- **NEW**: Drop support for Python 3.6.
- **NEW**: Switch to Hatch backend instead of Setuptools.
- **NEW**: Add new `exclude` option to `fnmatch`, `pathlib`, and `glob` methods that allows exclusion patterns to be
specified directly without needing to enable `NEGATE` and prepend patterns with `!`. `exclude` accepts a separate
pattern or pattern list. `exclude` should not be used in conjunction with `NEGATE`. One or the other should be used.

8.3

- **NEW**: Officially support Python 3.10.
- **NEW**: Provide type hints for API.
- **FIX**: Gracefully handle calls with an empty pattern list.

8.2

- **NEW**: Add support for `dir_fd` in glob patterns.
- **FIX**: Small fix for Python 3.10 Beta 1 and `pathlib`.

8.1.2

- **FIX**: `fnmatch.translate` no longer requires users to normalize their Windows paths for comparison. Previously, portions of the `translate` regex handled both `/` and `\\`, while other portions did not. This inconsistent handling forced users to normalize paths for reliable matching. Now all of the generated regex should handle both `/` and `\\`.
- **FIX**: On Linux/Unix systems, a backslash should not be assumed literal if it is followed by a forward slash. Backslash is magic on all systems, and an escaped forward slash is still counted as a forward slash, not a backslash and forward slash.
- **FIX**: A trailing backslash that is not escaped via another backslash should not be assumed as a backslash. Since it is escaping nothing, it will be ignored. Literal backslashes on any system must be escaped.

8.1.1

- **FIX**: When tracking unique glob paths, the unique cache had inverted logic for case sensitive vs case insensitive comparison. (164)

8.1

- **NEW**: Add `is_magic` function to the `glob` and `fnamtch` library.
- **NEW**: `fnmatch` now has `escape` available via its API. The `fnmatch` variant uses filename logic instead of path logic.
- **NEW**: Deprecate `raw_escape` in `glob` as it is very niche and the same can be accomplished simply by using `!py3 codecs.decode(string, 'unicode_escape')` and then using `escape`.
- **FIX**: Use `os.fspath` to convert path-like objects to string/bytes, whatever the return from `__fspath__` is what Wildcard Match will accept. Don't try to convert paths via `__str__` or `__bytes__` as not all path-like objects may implement both.
- **FIX**: Better checking of types to ensure consistent failure if the path, pattern, or root directory of are not all of type `str` or `bytes`.
- **FIX**: Some internal fixes and refactoring.
- **FIX**: Refactor code to take advantage of `bracex`'s ability to abort parsing on extremely large pattern expansions. Patterns like `{1..10000000}` will now abort dramatically quicker. Require `bracex` 2.1.1 which aborts much quicker.
- **FIX**: Fix some corner cases where limit would not abort correctly.

Page 2 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.