- Resolve: do not remove dot segment if a scheme or an authority is present for consistency with parse.
- Resolve: properly normalize relative paths starting with
.
or..
. - Relativize: make use of
.
and do not always use absolute path if there is a candidate relative path containing/
.
- Relativize: avoid panic in case of shared UTF-8 prefix.
- Fixes relativize on IRIs with a scheme and nothing else.
- Fixes relative IRI resolution when there is no authority but a path starting with "/".
- Fixes relativize on hierarchical paths without authority and starting slash.
Iri::relativize
to build a relative IRI from a base IRI and an absolute IRI.
- Makes IRI parsing a bit more strict to follow RFC 3987 more closely.
- Allow IP vFuture in authority.
_unchecked
methods for faster parsing/resolving if the IRI is known to be valid.
Iri
andIriRef
now implement SerdeSerialize
andDeserialize
traits if theserde
crate is present. The serialization is a plain string.
- Fixes a regression in relative IRI parsing when there is only a host without a training slash. For example
foo
is now resolved againsthttp://example.org
ashttp://example.org/foo
and not anymore ashttp://example.orgfoo
. - The validation of unicode character is now carefully following RFC 3987:
- Some private use characters are not anymore allowed in path and fragment.
- Some surrogates are not allowed anymore in query.
- The range F900-FDEF is now allowed in path and fragment following the RFC.
IriRef
type that provides the same API asIri
but for relative IRIs.PartialOrder
implementations betweenIri
s with different container types.
- Fixes path resolution: the resolver should return
tag:c-d
and nottag:/c-d
when resolvingc-d
againsttag:a-b
. - Relative IRIs are not anymore allowed to start with a column
:
. iprivate
characters (%xE000-F8FF / %xF0000-FFFFD / %x100000-10FFFD
) are not allowed anymore as part of the IRI query component following RFC 3987.
- Accessors for IRI scheme, authority, path, query and fragment.
PartialEq
andFrom
implementations betweenIri
and some string types.Iri
order and hash is now the same asstr
.Borrow<Target=&str>
andAsRef<Target=&str>
implementations forIri
.
- Bug fix in the relative IRI resolution: some character were duplicated.
Iri
struct with a parser and relative IRI resolution.