1# Changelog 2 3The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) 4and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). 5 6## [Unreleased] 7 8## [0.4.3] - 2020-10-05 <a name="0.4.3"></a> 9### Fixed 10- Fixed undefined behaviours and cleaned up clippy warnings. By [@joshwd36]. 11 12## [0.4.2] - 2020-06-09 <a name="0.4.2"></a> 13### Fixed 14- Fixed compile errors on pre-1.36.0 Rust due to unstable `alloc` crate. Minimum supported version 15 is Rust 1.34.2, the rust version for Debian stable. Fixes [#14]. 16 17## [0.4.1] - 2020-06-08 <a name="0.4.1"></a> 18### ***Yanked*** 19### Changed 20- Now supports `no_std`. Added the `std` and `alloc` features, enabled by default. `U16String`, 21 `U32String`, `U16CString`, and `U32CString` and their aliases all require the `alloc` or `std` 22 feature. By [@nicbn]. 23 24## [0.4.0] - 2018-08-18 <a name="0.4.0"></a> 25### Added 26- New `U32String`, `U32Str`, `U32CString`, and `U32CStr` types for dealing with UTF-32 FFI. These 27 new types are roughly equivalent to the existing UTF-16 types. 28- `WideChar` is a type alias to `u16` on Windows but `u32` on non-Windows platforms. 29- The generic types `UString`, `UStr`, `UCString` and `UCStr` are used to implement the string 30 types. 31 32### Changed 33- **Breaking Change** Existing wide string types have been renamed to `U16String`, `U16Str`, 34 `U16CString`, and `U16CStr` (previously `WideString`, `WideStr`, etc.). Some function have 35 also been renamed to reflect this change (`wide_str` to `u16_str`, etc.). 36- **Breaking Change** `WideString`, `WideStr`, `WideCString`, and `WideCStr` are now type aliases 37 that vary between platforms. On Windows, these are aliases to the `U16` types and are equivalent 38 to the previous version, but on non-Windows platforms these alias the new `U32` types instead. 39 See crate documentation for more details. 40 41## [0.3.0] - 2018-03-17 <a name="0.3.0"></a> 42### Added 43- Additional unchecked functions on `WideCString`. 44- All types now implement `Default`. 45- `WideString::shrink_to_fit` 46- `WideString::into_boxed_wide_str` and `Box<WideStr>::into_wide_string`. 47- `WideCString::into_boxed_wide_c_str` and `Box<WideCStr>::into_wide_c_string`. 48- `From` and `Default` implementations for boxed `WideStr` and boxed `WideCStr`. 49 50### Changed 51- Renamed `WideCString::from_vec` to replace `WideCString::new`. To create empty string, use 52 `WideCString::default()` now. 53- `WideCString` now implements `Drop`, which sets the string to an empty string to prevent invalid 54 unsafe code from working correctly when it should otherwise break. Also see `Drop` implementation 55 of `CString`. 56- Writing changelog manually. 57- Upgraded winapi dev dependency. 58- Now requires at least Rust 1.17+ to compile (previously, was Rust 1.8). 59 60## [0.2.2] - 2016-09-09 <a name="0.2.2"></a> 61### Fixed 62- Make `WideCString::into_raw` correctly forget the original self. 63 64## [0.2.1] - 2016-08-12 <a name="0.2.1"></a> 65### Added 66- `into_raw`/`from_raw` on `WideCString`. Closes [#2]. 67 68## [0.2.0] - 2016-05-31 <a name="0.2.0"></a> 69### Added 70- `Default` trait to wide strings. 71- Traits for conversion of strings to `Cow`. 72### Changed 73- Methods & traits to bring to parity with Rust 1.9 string APIs. 74 75## 0.1.0 - 2016-02-06 <a name="0.1.0"></a> 76### Added 77- Initial release. 78 79[#2]: https://github.com/starkat99/widestring-rs/issues/2 80[#14]: https://github.com/starkat99/widestring-rs/issues/14 81 82[@nicbn]: https://github.com/nicbn 83[@joshwd36]: https://github.com/joshwb36 84 85[Unreleased]: https://github.com/starkat99/widestring-rs/compare/v0.4.3...HEAD 86[0.4.3]: https://github.com/starkat99/widestring-rs/compare/v0.4.2...v0.4.3 87[0.4.2]: https://github.com/starkat99/widestring-rs/compare/v0.4.1...v0.4.2 88[0.4.1]: https://github.com/starkat99/widestring-rs/compare/v0.4.0...v0.4.1 89[0.4.0]: https://github.com/starkat99/widestring-rs/compare/v0.3.0...v0.4.0 90[0.3.0]: https://github.com/starkat99/widestring-rs/compare/v0.2.2...v0.3.0 91[0.2.2]: https://github.com/starkat99/widestring-rs/compare/v0.2.1...v0.2.2 92[0.2.1]: https://github.com/starkat99/widestring-rs/compare/v0.2.0...v0.2.1 93[0.2.0]: https://github.com/starkat99/widestring-rs/compare/v0.1.0...v0.2.0 94