]> git.proxmox.com Git - ceph.git/blame - ceph/src/utf8proc/NEWS.md
import quincy 17.2.0
[ceph.git] / ceph / src / utf8proc / NEWS.md
CommitLineData
1d09f67e
TL
1# utf8proc release history #
2
3## Version 2.2 ##
4
52018-07-24
6
7- Unicode 11 support ([#132] and [#140]).
8
9- `utf8proc_NFKC_Casefold` convenience function for `NFKC_Casefold`
10 normalization ([#133]).
11
12- `UTF8PROC_STRIPNA` option to strip unassigned codepoints ([#133]).
13
14- Support building static libraries on Windows (callers need to
15 `#define UTF8PROC_STATIC`) ([#123]).
16
17- `cmake` fix to avoid defining `UTF8PROC_EXPORTS` globally ([#121]).
18
19- `toupper` of ß (U+00df) now yields ẞ (U+1E9E) ([#134]), similar to musl;
20 case-folding still yields the standard "ss" mapping.
21
22- `utf8proc_charwidth` now returns `1` for U+00AD (soft hyphen) and
23 for unassigned/PUA codepoints ([#135]).
24
25## Version 2.1.1 ##
26
272018-04-27
28
29- Fixed composition bug ([#128]).
30
31- Minor build fixes ([#94], [#99], [#113], [#125]).
32
33## Version 2.1 ##
34
352016-12-26:
36
37- New functions `utf8proc_map_custom` and `utf8proc_decompose_custom`
38 to allow user-supplied transformations of codepoints, in conjunction
39 with other transformations ([#89]).
40
41- New function `utf8proc_normalize_utf32` to apply normalizations
42 directly to UTF-32 data (not just UTF-8) ([#88]).
43
44- Fixed stack overflow that could occur due to incorrect definition
45 of `UINT16_MAX` with some compilers ([#84]).
46
47- Fixed conflict with `stdbool.h` in Visual Studio ([#90]).
48
49- Updated font metrics to use Unifont 9.0.04.
50
51## Version 2.0.2 ##
52
532016-07-27:
54
55- Move `-Wmissing-prototypes` warning flag from `Makefile` to `.travis.yml`
56 since MSVC does not understand this flag and it is occasionally useful to
57 build using MSVC through the `Makefile` ([#79]).
58
59- Use a different variable name for a nested loop in `bench/bench.c`, and
60 declare it in a C89 way rather than inside the `for` to avoid "error:
61 'for' loop initial declarations are only allowed in C99 mode" ([#80]).
62
63## Version 2.0.1 ##
64
652016-07-13:
66
67- Bug fix in `utf8proc_grapheme_break_stateful` ([#77]).
68
69- Tests now use versioned Unicode files, so they will no longer
70 break when a new version of Unicode is released ([#78]).
71
72## Version 2.0 ##
73
742016-07-13:
75
76- Updated for Unicode 9.0 ([#70]).
77
78- New `utf8proc_grapheme_break_stateful` to handle the complicated
79 grapheme-breaking rules in Unicode 9. The old `utf8proc_grapheme_break`
80 is still provided, but may incorrectly identify grapheme breaks
81 in some Unicode-9 sequences.
82
83- Smaller Unicode tables ([#62], [#68]). This required changes
84 in the `utf8proc_property_t` structure, which breaks backward
85 compatibility if you access this `struct` directly. The
86 functions in the API remain backward-compatible, however.
87
88- Buffer overrun fix ([#66]).
89
90## Version 1.3.1 ##
91
922015-11-02:
93
94- Do not export symbol for internal function `unsafe_encode_char()` ([#55]).
95
96- Install relative symbolic links for shared libraries ([#58]).
97
98- Enable and fix compiler warnings ([#55], [#58]).
99
100- Add missing files to `make clean` ([#58]).
101
102## Version 1.3 ##
103
1042015-07-06:
105
106- Updated for Unicode 8.0 ([#45]).
107
108- New `utf8proc_tolower` and `utf8proc_toupper` functions, portable
109 replacements for `towlower` and `towupper` in the C library ([#40]).
110
111- Don't treat Unicode "non-characters" as invalid, and improved
112 validity checking in general ([#35]).
113
114- Prefix all typedefs with `utf8proc_`, e.g. `utf8proc_int32_t`,
115 to avoid collisions with other libraries ([#32]).
116
117- Rename `DLLEXPORT` to `UTF8PROC_DLLEXPORT` to prevent collisions.
118
119- Fix build breakage in the benchmark routines.
120
121- More fine-grained Makefile variables (`PICFLAG` etcetera), so that
122 compilation flags can be selectively overridden, and in particular
123 so that `CFLAGS` can be changed without accidentally eliminating
124 necessary flags like `-fPIC` and `-std=c99` ([#43]).
125
126- Updated character-width tables based on Unifont 8.0.01 ([#51]) and
127 the Unicode 8 character categories ([#47]).
128
129## Version 1.2 ##
130
1312015-03-28:
132
133- Updated for Unicode 7.0 ([#6]).
134
135- New function `utf8proc_grapheme_break(c1,c2)` that returns whether
136 there is a grapheme break between `c1` and `c2` ([#20]).
137
138- New function `utf8proc_charwidth(c)` that returns the number of
139 column-positions that should be required for `c`; essentially a
140 portable replacment for `wcwidth(c)` ([#27]).
141
142- New function `utf8proc_category(c)` that returns the Unicode
143 category of `c` (as one of the constants `UTF8PROC_CATEGORY_xx`).
144 Also, a function `utf8proc_category_string(c)` that returns the Unicode
145 category of `c` as a two-character string.
146
147- `cmake` script `CMakeLists.txt`, in addition to `Makefile`, for
148 easier compilation on Windows ([#28]).
149
150- Various `Makefile` improvements: a `make check` target to perform
151 tests ([#13]), `make install`, a rule to automate updating the Unicode
152 tables, etcetera.
153
154- The shared library is now versioned (e.g. has a soname on GNU/Linux) ([#24]).
155
156- C++/MSVC compatibility ([#17]).
157
158- Most `#defined` constants are now `enums` ([#29]).
159
160- New preprocessor constants `UTF8PROC_VERSION_MAJOR`,
161 `UTF8PROC_VERSION_MINOR`, and `UTF8PROC_VERSION_PATCH` for compile-time
162 detection of the API version.
163
164- Doxygen-formatted documentation ([#29]).
165
166- The Ruby and PostgreSQL plugins have been removed due to lack of testing ([#22]).
167
168## Version 1.1.6 ##
169
1702013-11-27:
171
172- PostgreSQL 9.2 and 9.3 compatibility (lowercase `c` language name)
173
174## Version 1.1.5 ##
175
1762009-08-20:
177
178- Use `RSTRING_PTR()` and `RSTRING_LEN()` instead of `RSTRING()->ptr` and
179 `RSTRING()->len` for ruby1.9 compatibility (and `#define` them, if not
180 existent)
181
1822009-10-02:
183
184- Patches for compatibility with Microsoft Visual Studio
185
1862009-10-08:
187
188- Fixes to make utf8proc usable in C++ programs
189
1902009-10-16:
191
192## Version 1.1.4 ##
193
1942009-06-14:
195
196- replaced C++ style comments for compatibility reasons
197- added typecasts to suppress compiler warnings
198- removed redundant source files for ruby-gemfile generation
199
2002009-08-19:
201
202- Changed copyright notice for Public Software Group e. V.
203- Minor changes in the `README` file
204
205## Version 1.1.3 ##
206
2072008-10-04:
208
209- Added a function `utf8proc_version` returning a string containing the version
210 number of the library.
211- Included a target `libutf8proc.dylib` for MacOSX.
212
2132009-05-01:
214- PostgreSQL 8.3 compatibility (use of `SET_VARSIZE` macro)
215
216## Version 1.1.2 ##
217
2182007-07-25:
219
220- Fixed a serious bug in the data file generator, which caused characters
221 being treated incorrectly, when stripping default ignorable characters or
222 calculating grapheme cluster boundaries.
223
224## Version 1.1.1 ##
225
2262007-06-25:
227
228- Added a new PostgreSQL function `unistrip`, which behaves like `unifold`,
229 but also removes all character marks (e.g. accents).
230
2312007-07-22:
232
233- Changed license from BSD to MIT style.
234- Added a new function `utf8proc_codepoint_valid` to the C library.
235- Changed compiler flags in `Makefile` from `-g -O0` to `-O2`
236- The ruby script, which was used to build the `utf8proc_data.c` file, is now
237 included in the distribution.
238
239## Version 1.0.3 ##
240
2412007-03-16:
242
243- Fixed a bug in the ruby library, which caused an error, when splitting an
244 empty string at grapheme cluster boundaries (method `String#utf8chars`).
245
246## Version 1.0.2 ##
247
2482006-09-21:
249
250- included a check in `Integer#utf8`, which raises an exception, if the given
251 code-point is invalid because of being too high (this was missing yet)
252
2532006-12-26:
254
255- added support for PostgreSQL version 8.2
256
257## Version 1.0.1 ##
258
2592006-09-20:
260
261- included a gem file for the ruby version of the library
262
263Release of version 1.0.1
264
265## Version 1.0 ##
266
2672006-09-17:
268
269- added the `LUMP` option, which lumps certain characters together (see `lump.md`) (also used for the PostgreSQL `unifold` function)
270- added the `STRIPMARK` option, which strips marking characters (or marks of composed characters)
271- deprecated ruby method `String#char_ary` in favour of `String#utf8chars`
272
273## Version 0.3 ##
274
2752006-07-18:
276
277- changed normalization from NFC to NFKC for postgresql unifold function
278
2792006-08-04:
280
281- added support to mark the beginning of a grapheme cluster with 0xFF (option: `CHARBOUND`)
282- added the ruby method `String#chars`, which is returning an array of UTF-8 encoded grapheme clusters
283- added `NLF2LF` transformation in postgresql `unifold` function
284- added the `DECOMPOSE` option, if you neither use `COMPOSE` or `DECOMPOSE`, no normalization will be performed (different from previous versions)
285- using integer constants rather than C-strings for character properties
286- fixed (hopefully) a problem with the ruby library on Mac OS X, which occurred when compiler optimization was switched on
287
288## Version 0.2 ##
289
2902006-06-05:
291
292- changed behaviour of PostgreSQL function to return NULL in case of invalid input, rather than raising an exceptional condition
293- improved efficiency of PostgreSQL function (no transformation to C string is done)
294
2952006-06-20:
296
297- added -fpic compiler flag in Makefile
298- fixed bug in the C code for the ruby library (usage of non-existent function)
299
300## Version 0.1 ##
301
3022006-06-02: initial release of version 0.1
303
304[#6]: https://github.com/JuliaLang/utf8proc/issues/6
305[#13]: https://github.com/JuliaLang/utf8proc/issues/13
306[#17]: https://github.com/JuliaLang/utf8proc/issues/17
307[#20]: https://github.com/JuliaLang/utf8proc/issues/20
308[#22]: https://github.com/JuliaLang/utf8proc/issues/22
309[#24]: https://github.com/JuliaLang/utf8proc/issues/24
310[#27]: https://github.com/JuliaLang/utf8proc/issues/27
311[#28]: https://github.com/JuliaLang/utf8proc/issues/28
312[#29]: https://github.com/JuliaLang/utf8proc/issues/29
313[#32]: https://github.com/JuliaLang/utf8proc/issues/32
314[#35]: https://github.com/JuliaLang/utf8proc/issues/35
315[#40]: https://github.com/JuliaLang/utf8proc/issues/40
316[#43]: https://github.com/JuliaLang/utf8proc/issues/43
317[#45]: https://github.com/JuliaLang/utf8proc/issues/45
318[#47]: https://github.com/JuliaLang/utf8proc/issues/47
319[#51]: https://github.com/JuliaLang/utf8proc/issues/51
320[#55]: https://github.com/JuliaLang/utf8proc/issues/55
321[#58]: https://github.com/JuliaLang/utf8proc/issues/58
322[#62]: https://github.com/JuliaLang/utf8proc/issues/62
323[#66]: https://github.com/JuliaLang/utf8proc/issues/66
324[#68]: https://github.com/JuliaLang/utf8proc/issues/68
325[#70]: https://github.com/JuliaLang/utf8proc/issues/70
326[#77]: https://github.com/JuliaLang/utf8proc/issues/77
327[#78]: https://github.com/JuliaLang/utf8proc/issues/78
328[#79]: https://github.com/JuliaLang/utf8proc/issues/79
329[#80]: https://github.com/JuliaLang/utf8proc/issues/80
330[#84]: https://github.com/JuliaLang/utf8proc/issues/84
331[#88]: https://github.com/JuliaLang/utf8proc/issues/88
332[#89]: https://github.com/JuliaLang/utf8proc/issues/89
333[#90]: https://github.com/JuliaLang/utf8proc/issues/90
334[#94]: https://github.com/JuliaLang/utf8proc/issues/94
335[#99]: https://github.com/JuliaLang/utf8proc/issues/99
336[#113]: https://github.com/JuliaLang/utf8proc/issues/113
337[#121]: https://github.com/JuliaLang/utf8proc/issues/121
338[#123]: https://github.com/JuliaLang/utf8proc/issues/123
339[#125]: https://github.com/JuliaLang/utf8proc/issues/125
340[#128]: https://github.com/JuliaLang/utf8proc/issues/128
341[#132]: https://github.com/JuliaLang/utf8proc/issues/132
342[#133]: https://github.com/JuliaLang/utf8proc/issues/133
343[#134]: https://github.com/JuliaLang/utf8proc/issues/134
344[#135]: https://github.com/JuliaLang/utf8proc/issues/135
345[#140]: https://github.com/JuliaLang/utf8proc/issues/140