Releases: open-i18n/rust-unic
UNIC v0.9.0 - 2019-03-02
Add
unic-ucd-name_aliases: Unicode Name Alias character properties.
Changed
unic-cli: Fallback to Name Alias for characters without Name value.
Fixed
ucd-ident: Use correct data table forPatternWhitespaceproperty.
[GH-254]
Misc
-
Use external git submodules for source data.
-
Migrate to Rust 2018 Edition.
UNIC v0.8.0 - 2019-01-02
New Components
-
unic-ucd-block: List of all Unicode Blocks and the property assigning a block to each character. -
unic-ucd-hangul: Unicode Hangul Syllable detection and Composition/Decomposition algorithms.
Other Updates
unic-ucd-name: Complete implementation for Unicode Name Property, with addition of Hangul and CJK Han names, as defined by The Unicode Standard.
Notes
-
This is the last release of the project before migration to Rust 2018 Edition.
-
Special thanks for Yan Li (@eyeplum) for implementing most of the features in this release.
UNIC v0.7.0 - 2018-02-06
UNIC Applications
UNIC Applications are binary creates hosting in the same repository as unic super-crate, under the apps/ directory. These creates are not internal parts of the unic library, but tools designed and developed for the general audience, also serving as a test bed for the UNIC API. We are starting with CLI applications, and possibly expanding it to GUI and WEB applications, as well.
- [
unic-cli] The new UNIC CLI application provides command-line tools for working with Unicode characters and strings. In this release, first versions ofunic-echoandunic-inspectorcommands are implemented.
New Components
Character Property
- [
unic-ucd-common] Common character properties (alphabetic, alphanumeric, control, numeric, and white_space). - [
unic-ucd-ident] Unicode Identifier character properties. - [
unic-ucd-segment] Unicode Segmentation character properties. - [
unic-emoji-char] Unicode Emoji character properties.
String Algorithm
- [
unic-segment] Implementation of Unicode Text Segmentation algorithms (Grapheme Cluster and Word boundaries).
Other Updates
This release was delayed for a couple of cycles, because of the problems with running tests in a workspace with a mix of std and no-std creates. The issue is resolved as of 1.22.0.
- Enable
no_stdfor many of the existing components. - Bumped minimum Rust to
1.22.0. - Lots of small fixes for data types and internal structure updates.
UNIC v0.6.0 - 2017-09-22
New components and modules
Abstractions for working with characters
- [
unic-char-range] Range and iterator types for characters, plus achars!()macro. (Used aschars!('a'..'e'),chars!('a'..='e'), orchars!(..).) - [
unic-char-property] New component based on the module previously inunic-utils, with new support for binary character properties.
Extending Unicode Character Database properties
- [
unic-ucd-name] New minimal implementation of Unicode character names (Nameproperty). - [
unic-ucd-case] New basic implementation of Unicode character case properties. - [
unic-ucd-bidi] AddBidi_MirroredandBidi_Controlproperties.
Dropped components and modules
- Drop
unic-utils'siter_all_chars()in favor ofunic-char-rangetypes and macros.
Other updates
- All tables are now generated by the Rust pipeline! 🎉
- The Rust table generation has been cleaned up to a very nice level of polish! ✨
- [
unic-utils] Restructure tables into a dedicated type, rather than a mix of traits and "blessed" std types.
UNIC v0.5.0 - 2017-08-05
-
New component: [
unic-ucd-category] Support General_Category Unicode (UCD) character property, implemented asenum GeneralCategory. -
[
unic-ucd-nomal] Support Decomposition_Type Unicode (UCD) character property, implemented asenum DecompositionType. -
[
unic-ucd-normal] Update Canonical_Combining_Class implementation to tuple struct and add update API accordingly. -
[
unic-ucd-age] Update Age property implementation to not cause API breakage on new Unicode versions. -
[
unic-utils] Rename fromunic-ucd-utils, to contain all data-less utility functionalities. (#50) -
Expand character property API in implementations, in the process of defining trait-based contracts for all (UCD and other) character properties. (#66, #34)
-
Reorganize code structure to make room for dev packages, like new
unic-gencrate—which is going to replace the Python implementation for data table generation. -
Drop data-dependent integration tests from packaging, allowing all tests pass for downloaded packages. (#34)
-
[
unic-ucd] Expand cross-component and conformance tests. (#18, #43) -
Drop dependency on
rustc_testin favor of default integration test harness. (#76)
UNIC v0.4.0 - 2017-06-23
-
Create
UnicodeVersiontype and use in all components forUNICODE_VERSION, and allow conversion to/fromAgecharacter property. -
Split IDNA Mapping data into
unic-idna-mappingand leave the process algorithms inunic-idna. -
[ucd] Create common pattern for UCD character properties: For property called
Prop, static functionProp::of(ch: char)to get value for a character, andch.<prop>()using the helper trait calledCharProp. Also, move all property value helpers intoimpl Propas methods. -
[idna] Use standard
binary_search_by(). -
Pass in
bench_itfeature to components supporting it. (Onlyunic-bidiat the moment.)
UNIC v0.3.0 - 2017-06-22
- Add
ucd::agecomponent. (unic-ucd-age)
UNIC v0.2.0 - 2017-06-20
Update UCD and IDNA data to Unicode 10.0.0, as released on 2017-06-20.
UNIC v0.1.2 - 2017-06-20
-
Add a bunch of missing documentations.
-
Add a script to publish all crates, in order of dependency.
UNIC v0.1.1 - 2017-06-20
Initial release with UCD, Bidi, IDNA, and Normalization components.