PackageTrack
Sign in Get early access

camino

UTF-8 paths

1.2.5 243M downloads/mo #428 most downloaded on crates.io camino-rs/camino

What this package is like to depend on

Last release 26 days ago

28 Jul 2026

Release timing varies

gaps range from 9 days to 10 months

Nearly every release is documented

notes for 27 of 27 stable releases

1 version withdrawn

withdrawn after publishing

5 years old

28 releases · first in 2021

6 releases in the last 12 months

see the full history below

Release timeline

28 releases · Feb 2021 to Jul 2026
2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 28
  1. 1.2.5 28 Jul 2026
    Release notes

    Fixed

    Removed unnecessary files from the package.

    Open source →
    Release notes

    Fixed

    Removed unnecessary files from the package.

    Open source →
  2. 1.2.4 27 Jun 2026
    Release notes

    Added

    Methods to convert between Box<Utf8Path> and Box<Path>:

    • From<Box<Utf8Path>> for Box<Path> (as of release, not documented due to rust-lang/rust#158466).
    • Utf8Path::into_std_boxed_path(self: Box<Self>)
    • Utf8Path::from_boxed_path(path: Box<Path>)
    • TryFrom<Box<Path>> for Box<Utf8Path>

    Thanks nicopap for your first contribution!

    Open source →
    Release notes

    Added

    Methods to convert between Box<Utf8Path> and Box<Path>:

    • From<Box<Utf8Path>> for Box<Path> (as of release, not documented due to rust-lang/rust#158466).
    • Utf8Path::into_std_boxed_path(self: Box<Self>)
    • Utf8Path::from_boxed_path(path: Box<Path>)
    • TryFrom<Box<Path>> for Box<Utf8Path>

    Thanks nicopap for your first contribution!

    Open source →
  3. 1.2.3 18 Jun 2026
    Release notes

    Performance improvements

    • Utf8Path::hash now delegates to std::path::Path::hash, resulting in hashing requiring ~2x fewer instructions. Thanks stormslowly for your first contribution!
    Open source →
    Release notes

    Performance improvements

    • Utf8Path::hash now delegates to std::path::Path::hash, resulting in hashing requiring ~2x fewer instructions. Thanks stormslowly for your first contribution!
    Open source →
  4. 1.2.2 15 Dec 2025
    Release notes

    Added

    On Rust 1.91 and above:

    • Utf8PathBuf::add_extension
    • Utf8Path::file_prefix
    • Utf8Path::with_added_extension
    • Utf8PathBuf::new is a const fn.
    Open source →
    Release notes

    Added

    On Rust 1.91 and above:

    • Utf8PathBuf::add_extension
    • Utf8Path::file_prefix
    • Utf8Path::with_added_extension
    • Utf8PathBuf::new is a const fn.
    Open source →
  5. 1.2.1 29 Sep 2025
    Release notes

    Fixed

    Replaced obsolete doc_auto_cfg with doc_cfg, to fix Rust nightly builds with the doc_cfg flag enabled.

    Open source →
    Release notes

    Fixed

    Replaced obsolete doc_auto_cfg with doc_cfg, to fix Rust nightly builds with the doc_cfg flag enabled.

    Open source →
  6. 1.2.0 14 Sep 2025
    Release notes

    Changed

    • MSRV updated to Rust 1.61 to support the switch to serde_core.
    • camino now depends on serde_core rather than serde. This allows camino's compilation to be parallelized with serde_derive.
    • serde and proptest are no longer available as features. This is technically a breaking change, but these features were already no-ops. Instead, use serde1 and proptest1 respectively.
    Open source →
    Release notes

    Changed

    • MSRV updated to Rust 1.61 to support the switch to serde_core.
    • camino now depends on serde_core rather than serde. This allows camino's compilation to be parallelized with serde_derive.
    • serde and proptest are no longer available as features. This is technically a breaking change, but these features were already no-ops. Instead, use serde1 and proptest1 respectively.
    Open source →
  7. 1.1.12 26 Aug 2025
    Release notes

    Added

    • Utf8PathBuf::from_os_string and Utf8Path::from_os_str conversions.
    • TryFrom<OsString> for Utf8PathBuf and TryFrom<&OsStr> for &Utf8Path conversions.

    Thanks to BenjaminBrienen for your first contribution!

    Open source →
    Release notes

    Added

    • Utf8PathBuf::from_os_string and Utf8Path::from_os_str conversions.
    • TryFrom<OsString> for Utf8PathBuf and TryFrom<&OsStr> for &Utf8Path conversions.

    Thanks to BenjaminBrienen for your first contribution!

    Open source →
  8. 1.1.11 07 Aug 2025
    Release notes

    Added

    • Utf8PathBuf::leak on Rust 1.89 and above.
    Open source →
    Release notes

    Added

    • Utf8PathBuf::leak on Rust 1.89 and above.
    Open source →
  9. 1.1.10 02 Jun 2025
    Release notes

    Changed

    • Hand-write serde implementations, dropping the dependency on serde_derive. Thanks to Enselic for initiating the discussion and for your first contribution!
    Open source →
    Release notes

    Changed

    • Hand-write serde implementations, dropping the dependency on serde_derive. Thanks to Enselic for initiating the discussion and for your first contribution!
    Open source →
  10. 1.1.9 18 Aug 2024
    Release notes

    Added

    • Top-level function absolute_utf8 wraps std::path::absolute, converting paths to UTF-8.
      Requires Rust 1.79 and above.
    Open source →
    Release notes

    Added

    • Top-level function absolute_utf8 wraps std::path::absolute, converting paths to UTF-8. Requires Rust 1.79 and above.
    Open source →
  11. 1.1.8 15 Aug 2024
    Release notes

    Changed

    • Use OsStr::as_encoded_bytes on Rust 1.74 and above, making conversions from OsStr to str virtually free (#93). Thanks @h-a-n-a for your first contribution!
    Open source →
  12. 1.1.7 14 May 2024
    Release notes

    Fixed

    • Resolve unexpected_cfg warnings.
    Open source →
  13. 1.1.6 12 Jul 2023
    Release notes

    Added

    • Implement Deserialize for Box<Utf8Path>.
    Open source →
  14. 1.1.4 10 Mar 2023
    Release notes

    Added

    • Implement DerefMut for Utf8PathBuf on Rust 1.68 and above.
    Open source →
  15. 1.1.3 22 Feb 2023
    Release notes

    Added

    • New method Utf8DirEntry::into_path to return an owned Utf8PathBuf.
    Open source →
  16. 1.1.2 08 Jan 2023
    Release notes

    Added

    • New convenience methods [FromPathBufError::into_io_error] and [FromPathError::into_io_error].
    Open source →
  17. 1.1.1 12 Aug 2022
    Release notes

    Fixed

    • Fixed a build regression on older nightlies in the 1.63 series (#22).
    • Documentation fixes.
    Open source →
  18. 1.1.0 11 Aug 2022
    Release notes

    Added

    • New methods, mirroring those in recent versions of Rust:
      • Utf8Path::try_exists checks whether a path exists. Note that while std::path::Path only provides this method for Rust 1.58 and above, camino backfills the method for all Rust versions it supports.
      • Utf8PathBuf::shrink_to shrinks a Utf8PathBuf to a given size. This was added in, and is gated on, Rust 1.56+.
      • Utf8PathBuf::try_reserve and Utf8PathBuf::try_reserve_exact implement fallible allocations. These were added in, and are gated on, Rust 1.63+.
    • A number of #[must_use] annotations to APIs, mirroring those added to Path and PathBuf in recent versions of Rust. The minor version bump is due to this change.
    Open source →
  19. 1.0.9 20 May 2022
    Release notes

    Fixed

    • Documentation fixes.
    Open source →
  20. 1.0.8 10 May 2022
    Release notes

    Added

    • New methods canonicalize_utf8, read_link_utf8 and read_dir_utf8 return Utf8PathBufs, erroring out if a resulting path is not valid UTF-8.
    • New feature proptest1 introduces proptest Arbitrary impls for Utf8PathBuf and Box<Utf8Path> (#18, thanks mcronce for your first contribution!)
    Open source →
  21. 1.0.7 17 Jan 2022
    Release notes

    Added

    • Utf8Path::is_symlink checks whether a path is a symlink. Note that while std::path::Path only provides this method for version 1.58 and above, camino backfills the method for all Rust versions it supports.

    Changed

    • Update repository links to new location camino-rs/camino.
    • Update structopt example to clap 3's builtin derive feature. (camino continues to work with structopt as before.)
    Open source →
  22. 1.0.6 17 Jan 2022 withdrawn
    Release notes

    (This release was yanked due to a publishing issue.)

    Open source →
  23. 1.0.5 27 Jul 2021
    Release notes

    Added

    • Utf8PathBuf::into_std_path_buf converts a Utf8PathBuf to a PathBuf; equivalent to the From<Utf8PathBuf> for PathBuf impl, but may aid in type inference.
    • Utf8Path::as_std_path converts a Utf8Path to a Path; equivalent to the AsRef<&Path> for &Utf8Path impl, but may aid in type inference.
    Open source →
  24. 1.0.4 19 Mar 2021
    Release notes

    Fixed

    • Hash impls for Utf8PathBuf and Utf8Path now match as required by the Borrow contract (#9).
    Open source →
  25. 1.0.3 11 Mar 2021
    Release notes

    Added

    • TryFrom<PathBuf> for Utf8PathBuf and TryFrom<&Path> for &Utf8Path, both of which return new error types (#6).
    • AsRef<Utf8Path>, AsRef<Path>, AsRef<str> and AsRef<OsStr> impls for Utf8Components, Utf8Component and Iter.
    Open source →
  26. 1.0.2 03 Mar 2021
    Release notes

    Added

    • From impls for converting a &Utf8Path or a Utf8PathBuf into Box<Path>, Rc<Path>, Arc<Path> and Cow<'a, Path>.
    • PartialEq and PartialOrd implementations comparing Utf8Path and Utf8PathBuf with Path, PathBuf and its variants, and comparing OsStr, OsString and its variants.
    Open source →
  27. 1.0.1 25 Feb 2021
    Release notes

    Added

    • More PartialEq and PartialOrd implementations.
    • MSRV lowered to 1.34.
    Open source →
  28. 1.0.0 23 Feb 2021
    Release notes

    Initial release.

    <!-- next-url --> [1.2.5]: https://github.com/camino-rs/camino/releases/tag/camino-1.2.5 [1.2.4]: https://github.com/camino-rs/camino/releases/tag/camino-1.2.4 [1.2.3]: https://github.com/camino-rs/camino/releases/tag/camino-1.2.3 [1.2.2]: https://github.com/camino-rs/camino/releases/tag/camino-1.2.2 [1.2.1]: https://github.com/camino-rs/camino/releases/tag/camino-1.2.1 [1.2.0]: https://github.com/camino-rs/camino/releases/tag/camino-1.2.0 [1.1.12]: https://github.com/camino-rs/camino/releases/tag/camino-1.1.12 [1.1.11]: https://github.com/camino-rs/camino/releases/tag/camino-1.1.11 [1.1.10]: https://github.com/camino-rs/camino/releases/tag/camino-1.1.10 [1.1.9]: https://github.com/camino-rs/camino/releases/tag/camino-1.1.9 [1.1.8]: https://github.com/camino-rs/camino/releases/tag/camino-1.1.8 [1.1.7]: https://github.com/camino-rs/camino/releases/tag/camino-1.1.7 [1.1.6]: https://github.com/camino-rs/camino/releases/tag/camino-1.1.6 [1.1.5]: https://github.com/camino-rs/camino/releases/tag/camino-1.1.5 [1.1.4]: https://github.com/camino-rs/camino/releases/tag/camino-1.1.4 [1.1.3]: https://github.com/camino-rs/camino/releases/tag/camino-1.1.3 [1.1.2]: https://github.com/camino-rs/camino/releases/tag/camino-1.1.2 [1.1.1]: https://github.com/camino-rs/camino/releases/tag/camino-1.1.1 [1.1.0]: https://github.com/camino-rs/camino/releases/tag/camino-1.1.0 [1.0.9]: https://github.com/camino-rs/camino/releases/tag/camino-1.0.9 [1.0.8]: https://github.com/camino-rs/camino/releases/tag/camino-1.0.8 [1.0.7]: https://github.com/camino-rs/camino/releases/tag/camino-1.0.7 [1.0.6]: https://github.com/camino-rs/camino/releases/tag/camino-1.0.6 [1.0.5]: https://github.com/camino-rs/camino/releases/tag/camino-1.0.5 [1.0.4]: https://github.com/camino-rs/camino/releases/tag/camino-1.0.4 [1.0.3]: https://github.com/camino-rs/camino/releases/tag/camino-1.0.3 [1.0.2]: https://github.com/camino-rs/camino/releases/tag/camino-1.0.2 [1.0.1]: https://github.com/camino-rs/camino/releases/tag/camino-1.0.1 [1.0.0]: https://github.com/camino-rs/camino/releases/tag/camino-1.0.0

    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