Backrefs

Latest version: v5.6.post1

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

Scan your dependencies

Page 2 of 9

5.2

- **NEW**: Add static typing.
- **FIX**: Re format replacement captures behave more like Regex in that you can technically index into the captures of
a given group in Re, but in Re there is only ever one or zero captures. Documentation was never really explicit on
what one should expect if indexing a group in Re occurred. The documentation seemed to vaguely insinuate that it would
behave like a Regex capture list, just with one or zero values in the list. In reality, the value was a simple string
or `None`. This caused a bug in some cases where you'd have `None` inserted for a group if a group was optional, but
referenced in the replacement template. Now the implementation matches the description in the documentation with the
documentation now being more explicit about behavior.
- **FIX**: Match Re and Regex handling when doing a non-format replacement that references a group that is present in
the search pattern but has no actual captures. Such a case should not fail, but simply return an empty string for the
group.
- **FIX**: Format replacements that that have groups with no captures will yield an empty string as the only capture as
long as the user does not try to index into any captures as there are no actual captures. This behavior was a bug in
Regex that we duplicated and should now be fixed in the latest Regex (`mrabarnett/mrab-regex439`) as well as in
Backrefs.

5.1

- **NEW**: Add support for Python 3.10.

5.0.1

- **FIX**: Fix wheel names.

5.0

5.0.0

- **NEW**: Significant improvements to Unicode handling. A lot of testing was implemented to catch existing bugs and to improve result.
- **NEW**: POSIX style properties now handle all existing Unicode properties.
- **NEW**: POSIX properties now follow the [Unicode specification for POSIX compatibility][unicode-posix]. Read the [documentation](../refs.mdposix-style-properties) to learn more.
- **NEW**: Unicode properties are now sensitive to the `ASCII` flag and will properly restrict the range of properties to the ASCII range even in Unicode strings.
- **NEW**: Removed the old deprecated search references: `\l`, `\L`, `\c`, and `\C`. These are available in various other forms: `[[:lower:]]`, `\p{lower}`, etc.
- **NEW**: To reduce conflicts of naming, Binary properties are evaluated before Block properties when using short names. Block has conflicts with some other properties of various types, using short names for blocks is discouraged.
- **FIX**: Numerous fixes to existing Unicode properties: missing values, incorrect values, etc.

4.6

- **NEW**: Provide wheels for all officially supported versions of Python.

Page 2 of 9

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.