- Require Python >= 3.10 (fixup).
- Drop Python 3.9 support (breaking change).
- Add support for Python 3.14.
- Minor improvements from GitHub Copilot code review.
- Modernize build environment.
- Update CI environment.
- Require Python 3.9 or later (breaking change).
- Update CI environment.
- Prepare for Python 3.13.
- Depend on Python >= 3.7.
- Support Python 3.12.
- Add support for Python 3.11.
- Correct version information in RTD documentation.
badges/shields: Change to GitHub workflow badge routes.
Require Python 3.7 or later (breaking change).
Remove undocumented submodules (breaking change).
The
chars,classify,compose,defrag,encoding,joinandsplitsubmodules have been deleted. Therefore, statements likefrom uritools.classify import isuriwill no longer work. Use
from uritools import isuriinstead.
- Update build environment.
- Do not convert percent-encodings to uppercase in host components
generated by
uricompose(). - Officially support Python 3.9.
- Format code with Black.
- Require Python 3.5 or later.
- Add URI classification methods and functions.
- Treat URIs with invalid schemes as relative references.
- Add
SplitResult.getauthority(). - Add optional
errorsparameter toSplitResult.gethost().
- Officially support Python 3.6.
- Move documentation to RTD.
- Fix
flake8checks.
- Drop Python 3.2 support (breaking change).
- No longer treat semicolons as query separators by default (breaking change).
- Add optional
sepparameter toSplitResult.getquerydict()andSplitResult.getquerylist()(breaksencodingwhen passed as positional argument). - Add optional
querysepparameter touricompose()(breaksencodingwhen passed as positional argument).
- Fix
uriencode()documentation and unit tests requiring thesafeparameter to be abytesobject.
- Encode semicolon in query values passed to
uricompose().
- Fix use of URI references as base URIs in
urijoin()andSplitResult.transform(). - Remove
SplitResult.getaddrinfo(). - Remove
SplitResult.getauthority(). - Remove
SplitResult.gethostip(); returnipaddressaddress
objects from SplitResult.gethost() instead.
- Remove
SplitResult.gethost()encodingparameter. - Remove query delimiter parameters.
- Return normalized paths from
SplitResult.getpath(). - Convert character constants to strings.
- Deprecate
SplitResult.getaddrinfo(). - Deprecate
SplitResult.getauthority(). - Deprecate
SplitResult.gethost()andSplitResult.gethostip()encodingparameter; always useutf-8instead. - Drop support for "bytes-like objects".
- Remove
DefragResult.base.
- Fix
uricompose()for relative-path references with colons in the first path segment.
- Support
encoding=Noneforuriencode()anduridecode(). - Add optional
errorsparameter to decoding methods.
- Make
uricompose()returnstron all Python versions.
- Use
ipaddressmodule for handling IPv4/IPv6 host addresses. - Add
userinfo,hostandportkeyword arguments touricompose(). - Deprecate
DefragResult.base. - Feature freeze for v1.0.
- Improve Python 3 support.
- Fix
uriencode()anduridecode(). - Deprecate
RE,urinormpath(),DefragResult.getbase(). - Support non-string query values in
uricompose().
- Add optional port parameter to
SplitResult.getaddrinfo(). - Cache
SplitResult.authoritysubcomponents.
- Add basic IPv6 support.
- Change
SplitResult.portback to string, to distinguish between empty and absent port components. - Remove
querysepandsepparameters. - Do not raise
ValueErrorif scheme is not well-formed. - Improve Python 3 support.
- Fix empty port handling.
- Add basic Python 3 support.
- Add
SplitResult.getaddrinfo(). - Support query mappings and sequences in
uricompose().
- Fix
SplitResult.portto return int (matching urlparse). - Add
SplitResult.getquerylist(), SplitResult.getquerydict().
- Add result object accessor methods.
- Update documentation.
- Fix IndexError in
urinormpath(). - Integrate Python 2.7.6
urlparseunit tests.
- Add authority subcomponent attributes.
- Return
DefragResultfromuridefrag(). - Improve edge case behavior.
- Initial beta release.