Bump to version 0.9.4
[platform/upstream/libunistring.git] / NEWS
1 New in 0.9.4:
2 * The data tables and line breaking algorithm have been updated to Unicode
3   version 6.0.0.
4 * A new include file unigbrk.h is provided. It declares functions for
5   grapheme cluster breaking, that is, determining the boundaries between
6   graphemes. See the documentation chapter "Grapheme cluster breaks in strings"
7   for details.
8 * In the include file unictype.h, constants are defined for the group of
9   general categories LC ("Cased Letter").
10 * In the include file unictype.h, functions for associating canonical
11   combining classes with names have been added:
12     uc_combining_class_name
13     uc_combining_class_long_name
14     uc_combining_class_byname
15 * In the include file unictype.h, functions for the Arabic joining type and
16   the Arabic joining group have been added:
17     uc_joining_type_name
18     uc_joining_type_long_name
19     uc_joining_type_byname
20     uc_joining_type
21     uc_joining_group_name
22     uc_joining_group_byname
23     uc_joining_group
24 * In the include file unictype.h, functions for new predefined properties
25   have been added:
26     uc_is_property_cased
27     uc_is_property_case_ignorable
28     uc_is_property_changes_when_lowercased
29     uc_is_property_changes_when_uppercased
30     uc_is_property_changes_when_titlecased
31     uc_is_property_changes_when_casefolded
32     uc_is_property_changes_when_casemapped
33   But it's recommended to use the case mapping functions from unicase.h
34   instead.
35 * In the include file unictype.h, the functions for bidi class, formerly known
36   as bidirectional category, have been renamed:
37     uc_bidi_category_name   -> uc_bidi_class_name
38     uc_bidi_category_byname -> uc_bidi_class_byname
39     uc_bidi_category        -> uc_bidi_class
40     uc_is_bidi_category     -> uc_is_bidi_class
41   The old function names still exist, but are obsolete.
42 * In the include file unictype.h, functions for returning long names of
43   property values have been added:
44     uc_general_category_long_name
45     uc_bidi_class_long_name
46   The functions
47     uc_general_category_byname
48     uc_bidi_class_byname
49   have been extended to recognize long names as well as short names.
50 * It is now easier to detect the subminor version: The value of the variable
51   _libunistring_version and of the macro _LIBUNISTRING_VERSION now includes
52   also the subminor version.
53 * The functions u8_mbtouc and u8_mbtouc_unsafe now handle ill-formed UTF-8
54   input in a better way, that is more compliant with W3C recommendations.
55 * The functions u8_strcoll, u16_strcoll, u32_strcoll now produce results that
56   are less dependent on the iconv implementation in use.
57 * The functions u8_strstr, u16_strstr, u32_strstr now perform in O(n) time
58   worst-case, where n is the sum of the lengths of the argument strings.
59
60 New in 0.9.3:
61 * Bug fixes in unistr.h functions:
62   - The functions u16_to_u32, u16_to_u8, u8_to_u32, u8_to_u16 now fail when
63     the argument is not valid. Previously, they returned a converted string
64     where invalid parts were each replaced with U+FFFD.
65   - The function u8_mbsnlen now counts an incomplete character at the end
66     of the argument string as 1 character. Previously, it could count as 2
67     or 3 characters.
68   - The return value of the u8_stpncpy, u16_stpncpy, u32_stpncpy functions
69     was incorrect.
70   - The u8_strcoll, u16_strcoll, u32_strcoll now try harder to give a non-zero
71     return value.
72 * Portability to MacOS X 10.6 and Cygwin 1.7.
73
74 New in 0.9.2:
75 * The function uc_locale_language now uses the locale of the current thread,
76   if a thread-specific locale has been set.
77
78 New in 0.9.1:
79 * In the include file unicase.h, functions for case mapping of substrings have
80   been added.
81
82 New in 0.9:
83 * The new include file unicase.h implements case folding.
84 * The new include file uninorm.h implements normalization.
85 * The new include file uniwbrk.h implements word break determination.
86 * The library source code is now part of gnulib.