- 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
,join
andsplit
submodules have been deleted. Therefore, statements likefrom uritools.classify import isuri
will no longer work. Use
from uritools import isuri
instead.
- 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
errors
parameter toSplitResult.gethost()
.
- Officially support Python 3.6.
- Move documentation to RTD.
- Fix
flake8
checks.
- Drop Python 3.2 support (breaking change).
- No longer treat semicolons as query separators by default (breaking change).
- Add optional
sep
parameter toSplitResult.getquerydict()
andSplitResult.getquerylist()
(breaksencoding
when passed as positional argument). - Add optional
querysep
parameter touricompose()
(breaksencoding
when passed as positional argument).
- Fix
uriencode()
documentation and unit tests requiring thesafe
parameter to be abytes
object.
- 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()
; returnipaddress
address
objects from SplitResult.gethost()
instead.
- Remove
SplitResult.gethost()
encoding
parameter. - 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()
encoding
parameter; always useutf-8
instead. - Drop support for "bytes-like objects".
- Remove
DefragResult.base
.
- Fix
uricompose()
for relative-path references with colons in the first path segment.
- Support
encoding=None
foruriencode()
anduridecode()
. - Add optional
errors
parameter to decoding methods.
- Make
uricompose()
returnstr
on all Python versions.
- Use
ipaddress
module for handling IPv4/IPv6 host addresses. - Add
userinfo
,host
andport
keyword 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.authority
subcomponents.
- Add basic IPv6 support.
- Change
SplitResult.port
back to string, to distinguish between empty and absent port components. - Remove
querysep
andsep
parameters. - Do not raise
ValueError
if 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.port
to 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
urlparse
unit tests.
- Add authority subcomponent attributes.
- Return
DefragResult
fromuridefrag()
. - Improve edge case behavior.
- Initial beta release.