PackageTrack
Sign in Get early access

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 2022
2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 14
  1. 0.6.4 18 Mar 2022
    Release notes
    • Added URI::to_borrowed, URIReference::to_borrowed, and RelativeReference::to_borrowed.
    • Updated dependencies.
    • Bug fixes.
    Open source →
  2. 0.6.3 11 Sep 2020
    Release notes
    • Add serde support behind feature - @chipsenkbeil.
    Open source →
  3. 0.6.2 07 Sep 2020
    Release notes
    • Remove non_exhaustive nightly feature as it's now stable. Crate now works on stable.
    Open source →
  4. 0.6.1 09 May 2019
    Release notes
    • Add new schemes:
      • amss
      • android
      • cast
      • casts
      • dab
      • drm
      • drop
      • fm
      • fuchsia-pkg
      • lorawan
    • Add Host::into_owned to avoid having to match against RegisteredName to convert it into an owned copy.
    • Expose parse_port to parse port from byte slice. This is useful since parse::<u16>() can only be used for strings, not byte slices.
    Open source →
  5. 0.6.0 08 Mar 2019
    Release notes
    • Rename errors and no longer directly implement Error::description (use Display instead).
    • Refactor builders to use a method, try_method, and with_method approach.
    Open source →
  6. 0.5.0 02 Mar 2019
    Release notes
    • Add new schemes:
      • mss
    • Export InvalidUnregisteredName from the authority.
    • Update dependency on lazy_static from 1.2.0 to 1.3.0.
    • Update dev dependecy on criterion from 0.2.5 to 0.2.10.
    • Switch from using ! to Infallible as 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.

    Open source →
  7. 0.4.0 09 Dec 2018
    Release notes
    • Add new schemes:

      • calculator
      • ms-calculator
    • 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.

    Open source →
  8. 0.3.3 03 Nov 2018
    Release notes
    • Add new schemes:
      • ms-eyecontrolspeech
      • ms-screenclip
      • ms-screensketch
      • ms-search
    • Small amount of refactoring.
    Open source →
  9. 0.3.2 17 Aug 2018
    Release notes
    • Update number of schemes to include the newest from v0.3.1.
    Open source →
  10. 0.3.1 17 Aug 2018
    Release notes
    • Add new schemes:
      • bitcoincash
    Open source →
  11. 0.3.0 17 Aug 2018
    Release notes
    • Fix serialization of IPv6 addresses.
    • Changed behavior of 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 authority mutability functions.
    • Added URI mutability functions.
    Open source →
  12. 0.2.1 12 Aug 2018
    Release notes
    • Added more conversions between types.
    • Fixed lifetime issue with username.
    Open source →
  13. 0.2.0 12 Aug 2018
    Release notes
    • 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 RelativeReference struct that can only represent schemeless URI references.
    • Added builder types for URI, RelativeReference and URIReference structs.
    Open source →
  14. 0.1.0 14 Jul 2018
    Release notes

    Initial release.

    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive