The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.1.9 - 2024-08-17
- Top-level function
absolute_utf8
wrapsstd::path::absolute
, converting paths to UTF-8. Requires Rust 1.79 and above.
1.1.8 - 2024-08-15
- Use
OsStr::as_encoded_bytes
on Rust 1.74 and above, making conversions fromOsStr
tostr
virtually free (#93). Thanks @h-a-n-a for your first contribution!
1.1.7 - 2024-05-14
- Resolve
unexpected_cfg
warnings.
1.1.6 - 2023-07-11
- Implement
Deserialize
forBox<Utf8Path>
.
1.1.5 - 2023-07-11
(This release was not published due to an internal issue.)
1.1.4 - 2023-03-09
- Implement
DerefMut
forUtf8PathBuf
on Rust 1.68 and above.
1.1.3 - 2023-02-21
- New method
Utf8DirEntry::into_path
to return an ownedUtf8PathBuf
.
1.1.2 - 2022-08-12
- New convenience methods [
FromPathBufError::into_io_error
] and [FromPathError::into_io_error
].
1.1.1 - 2022-08-12
- Fixed a build regression on older nightlies in the 1.63 series (#22).
- Documentation fixes.
1.1.0 - 2022-08-11
- New methods, mirroring those in recent versions of Rust:
Utf8Path::try_exists
checks whether a path exists. Note that whilestd::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 aUtf8PathBuf
to a given size. This was added in, and is gated on, Rust 1.56+.Utf8PathBuf::try_reserve
andUtf8PathBuf::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 toPath
andPathBuf
in recent versions of Rust. The minor version bump is due to this change.
1.0.9 - 2022-05-19
- Documentation fixes.
1.0.8 - 2022-05-09
- New methods
canonicalize_utf8
,read_link_utf8
andread_dir_utf8
returnUtf8PathBuf
s, erroring out if a resulting path is not valid UTF-8. - New feature
proptest1
introduces proptestArbitrary
impls forUtf8PathBuf
andBox<Utf8Path>
(#18, thanks mcronce for your first contribution!)
1.0.7 - 2022-01-16
Utf8Path::is_symlink
checks whether a path is a symlink. Note that whilestd::path::Path
only provides this method for version 1.58 and above,camino
backfills the method for all Rust versions it supports.
- 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.)
1.0.6 - 2022-01-16
(This release was yanked due to a publishing issue.)
1.0.5 - 2021-07-27
Utf8PathBuf::into_std_path_buf
converts aUtf8PathBuf
to aPathBuf
; equivalent to theFrom<Utf8PathBuf> for PathBuf
impl, but may aid in type inference.Utf8Path::as_std_path
converts aUtf8Path
to aPath
; equivalent to theAsRef<&Path> for &Utf8Path
impl, but may aid in type inference.
1.0.4 - 2021-03-19
Hash
impls forUtf8PathBuf
andUtf8Path
now match as required by theBorrow
contract (#9).
1.0.3 - 2021-03-11
TryFrom<PathBuf> for Utf8PathBuf
andTryFrom<&Path> for &Utf8Path
, both of which return new error types (#6).AsRef<Utf8Path>
,AsRef<Path>
,AsRef<str>
andAsRef<OsStr>
impls forUtf8Components
,Utf8Component
andIter
.
1.0.2 - 2021-03-02
From
impls for converting a&Utf8Path
or aUtf8PathBuf
intoBox<Path>
,Rc<Path>
,Arc<Path>
andCow<'a, Path>
.PartialEq
andPartialOrd
implementations comparingUtf8Path
andUtf8PathBuf
withPath
,PathBuf
and its variants, and comparingOsStr
,OsString
and its variants.
1.0.1 - 2021-02-25
- More
PartialEq
andPartialOrd
implementations. - MSRV lowered to 1.34.
1.0.0 - 2021-02-23
Initial release.