Skip to content

Releases: elixir-unicode/unicode_string

Unicode String version 1.7.0

28 Mar 22:58

Choose a tag to compare

Bug Fixes

  • Converts all compile-time regex compilation to runtime to be compatible with OTP 28. Performance implications are not yet known.

Unicode String version 1.6.0

17 Mar 05:54

Choose a tag to compare

Bug Fixes

  • Fix word break detection when a \p{word_break=extend} codepoint is preceeded by a letter and followed by a letter.

Enhancements

  • Updated to CLDR 47 break rules and test data.

Unicode String version 1.5.0

01 Jan 01:57

Choose a tag to compare

Enhancements

  • Update to CLDR 46.1 segmentation data and tests.

  • Pass dialyzer with :underspecs flag set.

Unicode String version 1.4.1

13 Mar 14:22

Choose a tag to compare

Bug Fixes

  • Fix performance regressing in Uncode.String.Break.next/4. Added the script bench/next.exs to allow for regression testing. Thanks to @mntns for the report. Closes #6.

Unicode String version 1.3.1

05 Mar 20:52

Choose a tag to compare

Bug Fixes

  • Fix Unicode.String.split/2 and Unicode.String.next/2 when the passing rule is :no_break rule. Thanks to @GregLMcDonald for the report. Closes #5.

Unicode String version 1.3.0

27 Feb 02:30

Choose a tag to compare

Bug Fixes

  • Fix case folding for codepoints that fold to themselves.

Enhancements

  • Adds case mapping functions Unicode.String.upcase/2, Unicode.String.downcase/2 and Unicode/String.titlecase/2. These functions implement the full Unicode Casing algorithm including conditiional mappings. They are locale-aware and a locale can be specified as a string, atom or a Cldr.LanguageTag thereby providing basic integration between unicode_string and ex_cldr.

  • Case folding always follows the :full path which allows mapping of single code points to multiple code points. There is no practical reason to implement the :simple path. As a result, the type parameter to Unicode.String.Case.Folding.fold/2 is no longer required or supported.

  • Support an ex_cldr Language Tag as a parameter to Unicode.String.Case.Folding.fold/2. In fact any map that has a :language key with a value that is an ISO 639-1 language code as a lower cased atom may be passed as a parameter.

Unicode String version 1.2.1

02 Jun 11:18

Choose a tag to compare

Bug Fixes

  • Resolve segments dir at runtime, not compile time. Thanks to @crkent for the report. Closes #4.

Unicode String version 1.2.0

14 Mar 03:48

Choose a tag to compare

Enhancements

  • Adds Unicode.String.stream/2 to support streaming graphemes, words, sentences and line breaks.

Unicode String version 1.1.0

21 Sep 16:48

Choose a tag to compare

Enhancements

  • Updates the segmentation supplemental data (including locales) for CLDR. This adds the "sv" and "fi" locale data for sentence break suppressions.

Unicode String version 1.0.1

15 Sep 17:37

Choose a tag to compare

Bug Fixes

  • Woops, the priv/segments directory was not included in the build artifact