Skip to content

Latest commit

 

History

History
257 lines (153 loc) · 7.35 KB

CHANGELOG.md

File metadata and controls

257 lines (153 loc) · 7.35 KB

UNIC Changelog

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 for PatternWhitespace property. [GH-254]

Misc

  • Use external git submodules for source data.

  • Migrate to Rust 2018 Edition.

v0.8.0 - 2019-01-02

Added

  • 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.

Changed

  • unic-ucd-name: Complete implementation for Unicode Name Property, with addition of Hangul and CJK Han names, as defined by The Unicode Standard.

Misc

  • 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.

v0.7.0 - 2018-02-06

Added

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 of unic-echo and unic-inspector commands 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).

Misc

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_std for many of the existing components.

  • Bumped Minimum Rust Version needed to 1.22.0.

  • Lots of small fixes for data types and internal structure updates.

v0.6.0 - 2017-09-22

Added

Abstractions for working with characters:

  • unic-char-range: Range and iterator types for characters, plus a chars!() macro. (Used as chars!('a'..'e'), chars!('a'..='e'), or chars!(..).)

  • unic-char-property: New component based on the module previously in unic-utils, with new support for binary character properties.

Extending Unicode Character Database properties:

  • unic-ucd-name: New minimal implementation of Unicode character names (Name property).

  • unic-ucd-case: New basic implementation of Unicode character case properties.

  • unic-ucd-bidi: Add Bidi_Mirrored and Bidi_Control properties.

Removed

  • Drop unic-utils's iter_all_chars() in favor of unic-char-range types and macros.

Misc

  • 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.

v0.5.0 - 2017-08-05

Added

  • unic-ucd-category: Support General_Category Unicode (UCD) character property, implemented as enum GeneralCategory.

  • unic-ucd-nomal: Support Decomposition_Type Unicode (UCD) character property, implemented as enum DecompositionType.

Changed

  • 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 from unic-ucd-utils, to contain all data-less utility functionalities. [GH-50]

  • Expand character property API in implementations, in the process of defining trait-based contracts for all (UCD and other) character properties. [GH-66] [GH-34]

  • Reorganize code structure to make room for dev packages, like new unic-gen crate—which is going to replace the Python implementation for data table generation.

  • unic-ucd: Expand cross-component and conformance tests. [GH-18] [GH-43]

Removed

  • Drop data-dependent integration tests from packaging, allowing all tests pass for downloaded packages. [GH-34]

  • Drop dependency on rustc_test in favor of default integration test harness. [GH-76]

v0.4.0 - 2017-06-23

Added

  • UnicodeVersion type, and use in all components for UNICODE_VERSION, and allow conversion to/from Age character property.

Changed

  • unic-ucd: Create common API for UCD character properties (Prop::of(ch: char)).

  • unic-idna: Use standard binary_search_by().

  • Split IDNA Mapping data into unic-idna-mapping and leave the process algorithms in unic-idna.

  • Pass in bench_it feature to components supporting it. (Only unic-bidi at the moment.)

v0.3.0 - 2017-06-22

Added

  • unic-ucd-age component.

v0.2.0 - 2017-06-20

Changed

  • Update UCD and IDNA data to Unicode 10.0.0, as released on 2017-06-20.

v0.1.2 - 2017-06-20

Added

  • A bunch of missing documentations.

  • A script to publish all crates, in order of dependency.

v0.1.1 - 2017-06-20

Initial release with UCD, Bidi, IDNA, and Normalization components.

v0.1.0 - 2017-06-20

Initial source release.