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 forPatternWhitespace
property.
[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-echo
andunic-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).
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_std
for 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 (Name
property). - [
unic-ucd-case
] New basic implementation of Unicode character case properties. - [
unic-ucd-bidi
] AddBidi_Mirrored
andBidi_Control
properties.
Dropped components and modules
- Drop
unic-utils
'siter_all_chars()
in favor ofunic-char-range
types 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-gen
crate—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_test
in favor of default integration test harness. (#76)
UNIC v0.4.0 - 2017-06-23
-
Create
UnicodeVersion
type and use in all components forUNICODE_VERSION
, and allow conversion to/fromAge
character property. -
Split IDNA Mapping data into
unic-idna-mapping
and 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 Prop
as methods. -
[idna] Use standard
binary_search_by()
. -
Pass in
bench_it
feature to components supporting it. (Onlyunic-bidi
at the moment.)
UNIC v0.3.0 - 2017-06-22
- Add
ucd::age
component. (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.