IPv4 addresses with unicode dots are now recognized. Closes #287
IPv4 addresses must have 4 decimal octets. Closes #290
ipaddress.IPv4Address was not used as fallback because it is 5 times slower than regex, and its behavior is inconsistent across Python versions 3.8 and 3.9 (w.r.t. recognition of leading zeroes). For example, on Raspberry Pi OS Bullseye, the latest Python version is 3.9.2-3, which allows leading zeroes. To update to the latest patch version of Python 3.9, one has to manually install from source.
Changes
ipaddress.IPv4Address was not used as fallback because it is 5 times slower than regex, and its behavior is inconsistent across Python versions 3.8 and 3.9 (w.r.t. recognition of leading zeroes). For example, on Raspberry Pi OS Bullseye, the latest Python version is 3.9.2-3, which allows leading zeroes. To update to the latest patch version of Python 3.9, one has to manually install from source.