Releases: VoidStarKat/widestring-rs
Releases · VoidStarKat/widestring-rs
0.4.0
Added
- New
U32String
,U32Str
,U32CString
, andU32CStr
types for dealing with UTF-32 FFI. These
new types are roughly equivalent to the existing UTF-16 types. WideChar
is a type alias tou16
on Windows butu32
on non-Windows platforms.- The generic types
UString
,UStr
,UCString
andUCStr
are used to implement the string
types.
Changed
- Breaking Change Existing wide string types have been renamed to
U16String
,U16Str
,
U16CString
, andU16CStr
(previouslyWideString
,WideStr
, etc.). Some function have
also been renamed to reflect this change (wide_str
tou16_str
, etc.). - Breaking Change
WideString
,WideStr
,WideCString
, andWideCStr
are now type aliases
that vary between platforms. On Windows, these are aliases to theU16
types and are equivalent
to the previous version, but on non-Windows platforms these alias the newU32
types instead.
See crate documentation for more details.
0.3.0
Added
- Additional unchecked functions on
WideCString
. - All types now implement
Default
. WideString::shrink_to_fit
WideString::into_boxed_wide_str
andBox<WideStr>::into_wide_string
.WideCString::into_boxed_wide_c_str
andBox<WideCStr>::into_wide_c_string
.From
andDefault
implementations for boxedWideStr
and boxedWideCStr
.
Changed
- Renamed
WideCString::from_vec
to replaceWideCString::new
. To create empty string, use
WideCString::default()
now. WideCString
now implementsDrop
, which sets the string to an empty string to prevent invalid
unsafe code from working correctly when it should otherwise break. Also seeDrop
implementation
ofCString
.- Writing changelog manually.
- Upgraded winapi dev dependency.
- Now requires at least Rust 1.17+ to compile (previously, was Rust 1.8).
0.2.2
Fixed
- Make
WideCString::into_raw
correctly forget the original self.
0.2.1
0.2.0
Added
Default
trait to wide strings.- Traits for conversion of strings to
Cow
.
Changed
- Methods & traits to bring to parity with Rust 1.9 string APIs.
v0.1.0
Initial release