NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #1739 most downloaded on crates.io
A URI parser including relative references
Last release 5 years ago
no release in 18 months
Release timing varies
gaps range from 4 weeks to 1.5 years
Nearly every release is documented
notes for 14 of 14 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
14 releases · first in 2018
Added URI::to_borrowed, URIReference::to_borrowed, and RelativeReference::to_borrowed.
URI::to_borrowed, URIReference::to_borrowed, and RelativeReference::to_borrowed.Add serde support behind feature - @chipsenkbeil.
Remove non_exhaustive nightly feature as it's now stable. Crate now works on stable.
One column per quarter.
non_exhaustive nightly feature as it's now stable. Crate now works on stable.Add Host::into_owned to avoid having to match against RegisteredName to convert it into an owned copy.
Host::into_owned to avoid having to match against RegisteredName to convert it into an
owned copy.parse_port to parse port from byte slice. This is useful since parse::<u16>() can only
be used for strings, not byte slices.Rename errors and no longer directly implement Error::description (use Display instead).
Error::description (use Display instead).method, try_method, and with_method approach.Export InvalidUnregisteredName from the authority.
InvalidUnregisteredName from the authority.lazy_static from 1.2.0 to 1.3.0.criterion from 0.2.5 to 0.2.10.! to Infallible as the latter is being stabilized in 1.34 as a temporary
replacement.#![feature(try_from)] as it is being stabilized in 1.34.With the above changes, we're very close to having this crate be on stable! The only feature left
is non_exhaustive.
Fix typo in ms-drive-to scheme variant name.
Add new schemes:
Fix typo in ms-drive-to scheme variant name.
Fix two duplicates in schemes: aaas and tag.
Fix percent encoding equality and hash implementations. Percent encoding comparison is now only done for characters in the unreserved set. An example of what would have passed before, but does not now is comparing the following two URIs:
http://example.com/#/
http://example.com/#%2F
This is because while / is an allowed character in the fragment component, it is not in the
unreserved character set and so percent decoding is not guaranteed to be a "safe" operation. It
could be fine in a lot of protocols, but it may fail in another protocol that assigns a special
meaning to / in the fragment component.
Fixed bug where parsing a username directly from a byte source would allow the username to contain colons.
Fixed bug where parsing a query directly from source containing percent-encoded characters would return the wrong query.
Added normalization for all components.
References can now be resolved against URIs.
Add missing has_port function to authority, URI, RelativeReference, and URIReference.
- Add new schemes: * ms-eyecontrolspeech * ms-screenclip * ms-screensketch * ms-search - Small amount of refactoring.
Update number of schemes to include the newest from v0.3.1.
- Add new schemes: * bitcoincash
Fix serialization of IPv6 addresses.
Path::push when the current path is just one empty segment. For example:let mut path = Path::try_from("/").unwrap();
path.push("test");
assert_eq!(path, "/test"); // Before, the path would have been `"//test"`.
But the ability to make paths with a // prefix is still possible:
let mut path = Path::try_from("/").unwrap();
path.push("");
assert_eq!(path, "//"); // This conforms to the previous functionality.
Added more conversions between types.
URI reference parsing has been fuzzed for an entire week!
RelativeReference struct that can only represent schemeless URI references.URI, RelativeReference and URIReference structs.Initial release.
Initial release.
Your coding agent can read these notes before it upgrades. Set up the MCP server →