uriparse
A URI parser including relative references
0.6.4
31M downloads/mo
#1639 most downloaded on crates.io
sgodwincs/uriparse-rs
What this package is like to depend on
Last release 4 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
0 releases in the last 12 months
see the full history below
Release timeline
14 releases · Jul 2018 to Mar 2022Releases
latest 14-
0.6.418 Mar 2022Release notes
Open source →- Added
URI::to_borrowed,URIReference::to_borrowed, andRelativeReference::to_borrowed. - Updated dependencies.
- Bug fixes.
- Added
-
0.6.311 Sep 2020 -
0.6.207 Sep 2020Release notes
Open source →- Remove
non_exhaustivenightly feature as it's now stable. Crate now works on stable.
- Remove
-
0.6.109 May 2019Release notes
Open source →- Add new schemes:
- amss
- android
- cast
- casts
- dab
- drm
- drop
- fm
- fuchsia-pkg
- lorawan
- Add
Host::into_ownedto avoid having to match againstRegisteredNameto convert it into an owned copy. - Expose
parse_portto parse port from byte slice. This is useful sinceparse::<u16>()can only be used for strings, not byte slices.
- Add new schemes:
-
0.6.008 Mar 2019Release notes
Open source →- Rename errors and no longer directly implement
Error::description(useDisplayinstead). - Refactor builders to use a
method,try_method, andwith_methodapproach.
- Rename errors and no longer directly implement
-
0.5.002 Mar 2019Release notes
Open source →- Add new schemes:
- mss
- Export
InvalidUnregisteredNamefrom the authority. - Update dependency on
lazy_staticfrom 1.2.0 to 1.3.0. - Update dev dependecy on
criterionfrom 0.2.5 to 0.2.10. - Switch from using
!toInfallibleas the latter is being stabilized in 1.34 as a temporary replacement. - Remove required
#![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. - Add new schemes:
-
0.4.009 Dec 2018Release notes
Open source →-
Add new schemes:
- calculator
- ms-calculator
-
Fix typo in
ms-drive-toscheme variant name. -
Fix two duplicates in schemes:
aaasandtag. -
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/#%2FThis 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_portfunction to authority, URI, RelativeReference, and URIReference.
-
-
0.3.303 Nov 2018Release notes
Open source →- Add new schemes:
- ms-eyecontrolspeech
- ms-screenclip
- ms-screensketch
- ms-search
- Small amount of refactoring.
- Add new schemes:
-
0.3.217 Aug 2018 -
0.3.117 Aug 2018 -
0.3.017 Aug 2018Release notes
Open source →- Fix serialization of IPv6 addresses.
- Changed behavior of
Path::pushwhen 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 authority mutability functions.
- Added URI mutability functions.
-
0.2.112 Aug 2018Release notes
Open source →- Added more conversions between types.
- Fixed lifetime issue with username.
-
0.2.012 Aug 2018Release notes
Open source →- Performance fixes.
- Internal cleanup.
- Fixed one parsing bug.
- URI reference parsing has been fuzzed for an entire week!
- Significantly increased testing coverage (mainly via doc tests).
- Added a lot of documentation.
- Added a
RelativeReferencestruct that can only represent schemeless URI references. - Added builder types for
URI,RelativeReferenceandURIReferencestructs.
-
0.1.014 Jul 2018