1Version 0.3.6 (2019-08-23) 2========================== 3* Fix pointless undefined behavior in `Utf16Char.to_ascii_char()` (which is part of ascii feature) 4* Widen ascii version requirement to include 1.* 5* Add `[u16; 2]` UTF-16 array alternatives to `(u16, Some(u16))` UTF-16 tuple methods 6* Add `Utf16Char.is_bmp()` 7 8Version 0.3.5 (2018-10-23) 9========================== 10* Fix docs.rs build failure 11 12Version 0.3.4 (2018-10-23) 13========================== 14* Fix UB in UTF-8 validation which lead to invalid codepoints being accepted in release mode 15* Add fallible decoding iterator adapters `Utf8CharMerger` and `Utf16CharMerger` 16 and slice-based iterators `Utf8CharDecoder` and `Utf16CharDecoder` 17* Widen ascii version requirement from 0.8.* to 0.8.0 - 0.10.* 18* Implement creating / extending `String`s from `Utf16Char`-producing iterators 19 20Version 0.3.3 (2018-10-16) 21========================== 22* Fix UTF-8 overlong check. (`from_array()` and `from_slice()` accepted two-byte encodings of ASCII characters >= '@', which includes all letters) 23* Implement `FromStr` for `Utf16Char` 24* Add `from_str_start()` to `Utf8Char` and `Utf16Char` 25* Add `Utf{8,16}Char{s,Indices}`: `str`-based iterators for `Utf8Char` and `Utf16Char` equivalent to `char`'s `Chars` and `CharIndices`. 26* Add `StrExt` with functions to create the above iterators. 27* Implement `FromIterator` and `Extend` for `Vec<{u8,u16}>` with reference-producing `Utf{8,16}Char` iterators too. 28* Add `Utf8CharSplitter` and `Utf16CharSplitter`: `Utf{8,16}Char`-to-`u{8,16}` iterator adapters. 29* Add `IterExt`, `iter_bytes()` and `iter_units()` to create the above splitting iterators. 30* Add `Utf8Char::from_ascii()`, `Utf16Char::from_bmp()` with `_unchecked` versions of both. 31* Add cross-type `PartialEq` and `PartialOrd` implementations. 32* Change the `description()` for a few error types. 33 34Version 0.3.2 (2018-08-08) 35========================== 36* Hide `AsciiExt` deprecation warning and add replacement methods. 37* Correct documentation for `U8UtfExt::extra_utf8_bytes()`. 38* Fix misspellings in some error descriptions. 39* Avoid potentially bad transmutes. 40 41Version 0.3.1 (2017-06-16) 42========================== 43* Implement `Display` for `Utf8Char` and `Utf16Char`. 44 45Version 0.3.0 (2017-03-29) 46========================== 47* Replace the "no_std" feature with opt-out "std". 48 * Upgrade ascii to v0.8. 49 * Make tests compile on stable. 50* Remove `CharExt::write_utf{8,16}()` because `encode_utf{8,16}()` has been stabilized. 51* Return a proper error from `U16UtfExt::utf16_needs_extra_unit()` instead of `None`. 52* Rename `U16UtfExt::utf_is_leading_surrogate()` to `is_utf16_leading_surrogate()`. 53* Rename `Utf16Char::from_slice()` to `from_slice_start()` and `CharExt::from_utf{8,16}_slice()` 54 to `from_utf{8,16}_slice_start()` to be consistent with `Utf8Char`. 55* Fix a bug where `CharExt::from_slice()` would accept some trailing surrogates 56 as standalone codepoints. 57 58Version 0.2.0 (2016-07-24) 59========================== 60* Change `CharExt::write_utf{8,16}()` to panic instead of returning `None` 61 if the slice is too short. 62* Fix bug where `CharExt::write_utf8()` and `Utf8Char::to_slice()` could change bytes it shouldn't. 63* Rename lots of errors with search and replace: 64 * CodePoint -> Codepoint 65 * Several -> Multiple 66* Update the ascii feature to use [ascii](https://tomprogrammer.github.io/rust-ascii/ascii/index.html) v0.7. 67* Support `#[no_std]`; see 70e090ee for differences. 68* Ungate impls of `AsciiExt`. (doesn't require ascii or nightly) 69* Make the tests compile (and pass) again. 70 (They still require nightly). 71 72Version 0.1.* (2016-04-07) 73========================== 74First release. 75