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