The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
0.4.0 - 2018-08-18
- 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.
- 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 - 2018-03-17
- 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
.
- Renamed
WideCString::from_vec
to replaceWideCString::new
. To create empty string, useWideCString::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 - 2016-09-09
- Make
WideCString::into_raw
correctly forget the original self.
0.2.1 - 2016-08-12
into_raw
/from_raw
onWideCString
. Closes #2.
0.2.0 - 2016-05-31
Default
trait to wide strings.- Traits for conversion of strings to
Cow
.
- Methods & traits to bring to parity with Rust 1.9 string APIs.
- Initial release.