The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
absolute_utf8 wraps std::path::absolute, converting paths to UTF-8. Requires Rust 1.79 and above.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!unexpected_cfg warnings.Deserialize for Box<Utf8Path>.(This release was not published due to an internal issue.)
DerefMut for Utf8PathBuf on Rust 1.68 and above.Utf8DirEntry::into_path to return an owned Utf8PathBuf.FromPathBufError::into_io_error] and [FromPathError::into_io_error].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+.#[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.canonicalize_utf8, read_link_utf8 and read_dir_utf8 return Utf8PathBufs, erroring out if a resulting path is not valid UTF-8.proptest1 introduces proptest Arbitrary impls for Utf8PathBuf and Box<Utf8Path> (#18, thanks mcronce for your first contribution!)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.structopt example to clap 3's builtin derive feature. (camino continues to work with structopt as before.)(This release was yanked due to a publishing issue.)
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.Hash impls for Utf8PathBuf and Utf8Path now match as required by the Borrow contract (#9).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.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.PartialEq and PartialOrd implementations.Initial release.