Skip to content

Latest commit

 

History

History
70 lines (58 loc) · 3.08 KB

CHANGELOG.md

File metadata and controls

70 lines (58 loc) · 3.08 KB

Changelog

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

0.4.0 - 2018-08-18

Added

  • New U32String, U32Str, U32CString, and U32CStr types for dealing with UTF-32 FFI. These new types are roughly equivalent to the existing UTF-16 types.
  • WideChar is a type alias to u16 on Windows but u32 on non-Windows platforms.
  • The generic types UString, UStr, UCString and UCStr are used to implement the string types.

Changed

  • Breaking Change Existing wide string types have been renamed to U16String, U16Str, U16CString, and U16CStr (previously WideString, WideStr, etc.). Some function have also been renamed to reflect this change (wide_str to u16_str, etc.).
  • Breaking Change WideString, WideStr, WideCString, and WideCStr are now type aliases that vary between platforms. On Windows, these are aliases to the U16 types and are equivalent to the previous version, but on non-Windows platforms these alias the new U32 types instead. See crate documentation for more details.

0.3.0 - 2018-03-17

Added

  • Additional unchecked functions on WideCString.
  • All types now implement Default.
  • WideString::shrink_to_fit
  • WideString::into_boxed_wide_str and Box<WideStr>::into_wide_string.
  • WideCString::into_boxed_wide_c_str and Box<WideCStr>::into_wide_c_string.
  • From and Default implementations for boxed WideStr and boxed WideCStr.

Changed

  • Renamed WideCString::from_vec to replace WideCString::new. To create empty string, use WideCString::default() now.
  • WideCString now implements Drop, which sets the string to an empty string to prevent invalid unsafe code from working correctly when it should otherwise break. Also see Drop implementation of CString.
  • 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

Fixed

  • Make WideCString::into_raw correctly forget the original self.

0.2.1 - 2016-08-12

Added

  • into_raw/from_raw on WideCString. Closes #2.

0.2.0 - 2016-05-31

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.

0.1.0 - 2016-02-06

Added

  • Initial release.