comparison dep/utf8proc/NEWS.md @ 343:1faa72660932

*: transfer back to cmake from autotools autotools just made lots of things more complicated than they should have and many things broke (i.e. translations)
author Paper <paper@paper.us.eu.org>
date Thu, 20 Jun 2024 05:56:06 -0400
parents
children
comparison
equal deleted inserted replaced
342:adb79bdde329 343:1faa72660932
1 # utf8proc release history #
2
3 ## Version 2.9.0 ##
4
5 2023-10-20
6
7 - Unicode 15.1 support ([#253]).
8
9 ## Version 2.8.0 ##
10
11 2022-10-30
12
13 - Unicode 15 support ([#247]).
14
15 ## Version 2.7.0 ##
16
17 2021-12-16
18
19 - Unicode 14 support ([#233]).
20
21 - Support `GNUInstallDirs` in CMake build ([#159]).
22
23 - `cmake` build now installs `pkg-config` file ([#224]).
24
25 - Various build and portability improvements.
26
27 ## Version 2.6.1 ##
28
29 2020-12-15
30
31 - Bugfix in `utf8proc_grapheme_break_stateful` for `NULL` state argument, which
32 also broke `utf8proc_grapheme_break`.
33
34 ## Version 2.6 ##
35
36 2020-11-23
37
38 - New `utf8proc_islower` and `utf8proc_isupper` functions ([#196]).
39
40 - Bugfix for manual calls to `grapheme_break_extended` for initial characters ([#205]).
41
42 - Various build and portability improvements.
43
44 ## Version 2.5 ##
45
46 2019-03-27
47
48 - Unicode 13 support ([#179]).
49
50 - No longer report zero width for category Sk ([#167]).
51
52 - `cmake` support improvements ([#173]).
53
54 ## Version 2.4 ##
55
56 2019-05-10
57
58 - Unicode 12.1 support ([#156]).
59
60 - New `-DUTF8PROC_INSTALL=No` option for `cmake` builds to disable installation ([#152]).
61
62 - Better `make` support for HP-UX ([#154]).
63
64 - Fixed incorrect `UTF8PROC_VERSION_MINOR` version number in header and bumped shared-library version.
65
66 ## Version 2.3 ##
67
68 2019-03-30
69
70 - Unicode 12 support ([#148]).
71
72 - New function `utf8proc_unicode_version` to return the supported Unicode version ([#151]).
73
74 - Simpler character-width computation that no longer uses GNU Unifont metrics: East-Asian wide
75 characters have width 2, and all other printable characters have width 1 ([#150]).
76
77 - Fix `CHARBOUND` option for `utf8proc_map` to preserve U+FFFE and U+FFFF non-characters ([#149]).
78
79 - Various build-system improvements ([#141], [#142], [#147]).
80
81 ## Version 2.2 ##
82
83 2018-07-24
84
85 - Unicode 11 support ([#132] and [#140]).
86
87 - `utf8proc_NFKC_Casefold` convenience function for `NFKC_Casefold`
88 normalization ([#133]).
89
90 - `UTF8PROC_STRIPNA` option to strip unassigned codepoints ([#133]).
91
92 - Support building static libraries on Windows (callers need to
93 `#define UTF8PROC_STATIC`) ([#123]).
94
95 - `cmake` fix to avoid defining `UTF8PROC_EXPORTS` globally ([#121]).
96
97 - `toupper` of ß (U+00df) now yields ẞ (U+1E9E) ([#134]), similar to musl;
98 case-folding still yields the standard "ss" mapping.
99
100 - `utf8proc_charwidth` now returns `1` for U+00AD (soft hyphen) and
101 for unassigned/PUA codepoints ([#135]).
102
103 ## Version 2.1.1 ##
104
105 2018-04-27
106
107 - Fixed composition bug ([#128]).
108
109 - Minor build fixes ([#94], [#99], [#113], [#125]).
110
111 ## Version 2.1 ##
112
113 2016-12-26:
114
115 - New functions `utf8proc_map_custom` and `utf8proc_decompose_custom`
116 to allow user-supplied transformations of codepoints, in conjunction
117 with other transformations ([#89]).
118
119 - New function `utf8proc_normalize_utf32` to apply normalizations
120 directly to UTF-32 data (not just UTF-8) ([#88]).
121
122 - Fixed stack overflow that could occur due to incorrect definition
123 of `UINT16_MAX` with some compilers ([#84]).
124
125 - Fixed conflict with `stdbool.h` in Visual Studio ([#90]).
126
127 - Updated font metrics to use Unifont 9.0.04.
128
129 ## Version 2.0.2 ##
130
131 2016-07-27:
132
133 - Move `-Wmissing-prototypes` warning flag from `Makefile` to `.travis.yml`
134 since MSVC does not understand this flag and it is occasionally useful to
135 build using MSVC through the `Makefile` ([#79]).
136
137 - Use a different variable name for a nested loop in `bench/bench.c`, and
138 declare it in a C89 way rather than inside the `for` to avoid "error:
139 'for' loop initial declarations are only allowed in C99 mode" ([#80]).
140
141 ## Version 2.0.1 ##
142
143 2016-07-13:
144
145 - Bug fix in `utf8proc_grapheme_break_stateful` ([#77]).
146
147 - Tests now use versioned Unicode files, so they will no longer
148 break when a new version of Unicode is released ([#78]).
149
150 ## Version 2.0 ##
151
152 2016-07-13:
153
154 - Updated for Unicode 9.0 ([#70]).
155
156 - New `utf8proc_grapheme_break_stateful` to handle the complicated
157 grapheme-breaking rules in Unicode 9. The old `utf8proc_grapheme_break`
158 is still provided, but may incorrectly identify grapheme breaks
159 in some Unicode-9 sequences.
160
161 - Smaller Unicode tables ([#62], [#68]). This required changes
162 in the `utf8proc_property_t` structure, which breaks backward
163 compatibility if you access this `struct` directly. The
164 functions in the API remain backward-compatible, however.
165
166 - Buffer overrun fix ([#66]).
167
168 ## Version 1.3.1 ##
169
170 2015-11-02:
171
172 - Do not export symbol for internal function `unsafe_encode_char()` ([#55]).
173
174 - Install relative symbolic links for shared libraries ([#58]).
175
176 - Enable and fix compiler warnings ([#55], [#58]).
177
178 - Add missing files to `make clean` ([#58]).
179
180 ## Version 1.3 ##
181
182 2015-07-06:
183
184 - Updated for Unicode 8.0 ([#45]).
185
186 - New `utf8proc_tolower` and `utf8proc_toupper` functions, portable
187 replacements for `towlower` and `towupper` in the C library ([#40]).
188
189 - Don't treat Unicode "non-characters" as invalid, and improved
190 validity checking in general ([#35]).
191
192 - Prefix all typedefs with `utf8proc_`, e.g. `utf8proc_int32_t`,
193 to avoid collisions with other libraries ([#32]).
194
195 - Rename `DLLEXPORT` to `UTF8PROC_DLLEXPORT` to prevent collisions.
196
197 - Fix build breakage in the benchmark routines.
198
199 - More fine-grained Makefile variables (`PICFLAG` etcetera), so that
200 compilation flags can be selectively overridden, and in particular
201 so that `CFLAGS` can be changed without accidentally eliminating
202 necessary flags like `-fPIC` and `-std=c99` ([#43]).
203
204 - Updated character-width tables based on Unifont 8.0.01 ([#51]) and
205 the Unicode 8 character categories ([#47]).
206
207 ## Version 1.2 ##
208
209 2015-03-28:
210
211 - Updated for Unicode 7.0 ([#6]).
212
213 - New function `utf8proc_grapheme_break(c1,c2)` that returns whether
214 there is a grapheme break between `c1` and `c2` ([#20]).
215
216 - New function `utf8proc_charwidth(c)` that returns the number of
217 column-positions that should be required for `c`; essentially a
218 portable replacment for `wcwidth(c)` ([#27]).
219
220 - New function `utf8proc_category(c)` that returns the Unicode
221 category of `c` (as one of the constants `UTF8PROC_CATEGORY_xx`).
222 Also, a function `utf8proc_category_string(c)` that returns the Unicode
223 category of `c` as a two-character string.
224
225 - `cmake` script `CMakeLists.txt`, in addition to `Makefile`, for
226 easier compilation on Windows ([#28]).
227
228 - Various `Makefile` improvements: a `make check` target to perform
229 tests ([#13]), `make install`, a rule to automate updating the Unicode
230 tables, etcetera.
231
232 - The shared library is now versioned (e.g. has a soname on GNU/Linux) ([#24]).
233
234 - C++/MSVC compatibility ([#17]).
235
236 - Most `#defined` constants are now `enums` ([#29]).
237
238 - New preprocessor constants `UTF8PROC_VERSION_MAJOR`,
239 `UTF8PROC_VERSION_MINOR`, and `UTF8PROC_VERSION_PATCH` for compile-time
240 detection of the API version.
241
242 - Doxygen-formatted documentation ([#29]).
243
244 - The Ruby and PostgreSQL plugins have been removed due to lack of testing ([#22]).
245
246 ## Version 1.1.6 ##
247
248 2013-11-27:
249
250 - PostgreSQL 9.2 and 9.3 compatibility (lowercase `c` language name)
251
252 ## Version 1.1.5 ##
253
254 2009-08-20:
255
256 - Use `RSTRING_PTR()` and `RSTRING_LEN()` instead of `RSTRING()->ptr` and
257 `RSTRING()->len` for ruby1.9 compatibility (and `#define` them, if not
258 existent)
259
260 2009-10-02:
261
262 - Patches for compatibility with Microsoft Visual Studio
263
264 2009-10-08:
265
266 - Fixes to make utf8proc usable in C++ programs
267
268 2009-10-16:
269
270 ## Version 1.1.4 ##
271
272 2009-06-14:
273
274 - replaced C++ style comments for compatibility reasons
275 - added typecasts to suppress compiler warnings
276 - removed redundant source files for ruby-gemfile generation
277
278 2009-08-19:
279
280 - Changed copyright notice for Public Software Group e. V.
281 - Minor changes in the `README` file
282
283 ## Version 1.1.3 ##
284
285 2008-10-04:
286
287 - Added a function `utf8proc_version` returning a string containing the version
288 number of the library.
289 - Included a target `libutf8proc.dylib` for MacOSX.
290
291 2009-05-01:
292 - PostgreSQL 8.3 compatibility (use of `SET_VARSIZE` macro)
293
294 ## Version 1.1.2 ##
295
296 2007-07-25:
297
298 - Fixed a serious bug in the data file generator, which caused characters
299 being treated incorrectly, when stripping default ignorable characters or
300 calculating grapheme cluster boundaries.
301
302 ## Version 1.1.1 ##
303
304 2007-06-25:
305
306 - Added a new PostgreSQL function `unistrip`, which behaves like `unifold`,
307 but also removes all character marks (e.g. accents).
308
309 2007-07-22:
310
311 - Changed license from BSD to MIT style.
312 - Added a new function `utf8proc_codepoint_valid` to the C library.
313 - Changed compiler flags in `Makefile` from `-g -O0` to `-O2`
314 - The ruby script, which was used to build the `utf8proc_data.c` file, is now
315 included in the distribution.
316
317 ## Version 1.0.3 ##
318
319 2007-03-16:
320
321 - Fixed a bug in the ruby library, which caused an error, when splitting an
322 empty string at grapheme cluster boundaries (method `String#utf8chars`).
323
324 ## Version 1.0.2 ##
325
326 2006-09-21:
327
328 - included a check in `Integer#utf8`, which raises an exception, if the given
329 code-point is invalid because of being too high (this was missing yet)
330
331 2006-12-26:
332
333 - added support for PostgreSQL version 8.2
334
335 ## Version 1.0.1 ##
336
337 2006-09-20:
338
339 - included a gem file for the ruby version of the library
340
341 Release of version 1.0.1
342
343 ## Version 1.0 ##
344
345 2006-09-17:
346
347 - added the `LUMP` option, which lumps certain characters together (see `lump.md`) (also used for the PostgreSQL `unifold` function)
348 - added the `STRIPMARK` option, which strips marking characters (or marks of composed characters)
349 - deprecated ruby method `String#char_ary` in favour of `String#utf8chars`
350
351 ## Version 0.3 ##
352
353 2006-07-18:
354
355 - changed normalization from NFC to NFKC for postgresql unifold function
356
357 2006-08-04:
358
359 - added support to mark the beginning of a grapheme cluster with 0xFF (option: `CHARBOUND`)
360 - added the ruby method `String#chars`, which is returning an array of UTF-8 encoded grapheme clusters
361 - added `NLF2LF` transformation in postgresql `unifold` function
362 - added the `DECOMPOSE` option, if you neither use `COMPOSE` or `DECOMPOSE`, no normalization will be performed (different from previous versions)
363 - using integer constants rather than C-strings for character properties
364 - fixed (hopefully) a problem with the ruby library on Mac OS X, which occurred when compiler optimization was switched on
365
366 ## Version 0.2 ##
367
368 2006-06-05:
369
370 - changed behaviour of PostgreSQL function to return NULL in case of invalid input, rather than raising an exceptional condition
371 - improved efficiency of PostgreSQL function (no transformation to C string is done)
372
373 2006-06-20:
374
375 - added -fpic compiler flag in Makefile
376 - fixed bug in the C code for the ruby library (usage of non-existent function)
377
378 ## Version 0.1 ##
379
380 2006-06-02: initial release of version 0.1
381
382 <!--- generated by NEWS-update.jl: -->
383
384 [#6]: https://github.com/JuliaStrings/utf8proc/issues/6
385 [#13]: https://github.com/JuliaStrings/utf8proc/issues/13
386 [#17]: https://github.com/JuliaStrings/utf8proc/issues/17
387 [#20]: https://github.com/JuliaStrings/utf8proc/issues/20
388 [#22]: https://github.com/JuliaStrings/utf8proc/issues/22
389 [#24]: https://github.com/JuliaStrings/utf8proc/issues/24
390 [#27]: https://github.com/JuliaStrings/utf8proc/issues/27
391 [#28]: https://github.com/JuliaStrings/utf8proc/issues/28
392 [#29]: https://github.com/JuliaStrings/utf8proc/issues/29
393 [#32]: https://github.com/JuliaStrings/utf8proc/issues/32
394 [#35]: https://github.com/JuliaStrings/utf8proc/issues/35
395 [#40]: https://github.com/JuliaStrings/utf8proc/issues/40
396 [#43]: https://github.com/JuliaStrings/utf8proc/issues/43
397 [#45]: https://github.com/JuliaStrings/utf8proc/issues/45
398 [#47]: https://github.com/JuliaStrings/utf8proc/issues/47
399 [#51]: https://github.com/JuliaStrings/utf8proc/issues/51
400 [#55]: https://github.com/JuliaStrings/utf8proc/issues/55
401 [#58]: https://github.com/JuliaStrings/utf8proc/issues/58
402 [#62]: https://github.com/JuliaStrings/utf8proc/issues/62
403 [#66]: https://github.com/JuliaStrings/utf8proc/issues/66
404 [#68]: https://github.com/JuliaStrings/utf8proc/issues/68
405 [#70]: https://github.com/JuliaStrings/utf8proc/issues/70
406 [#77]: https://github.com/JuliaStrings/utf8proc/issues/77
407 [#78]: https://github.com/JuliaStrings/utf8proc/issues/78
408 [#79]: https://github.com/JuliaStrings/utf8proc/issues/79
409 [#80]: https://github.com/JuliaStrings/utf8proc/issues/80
410 [#84]: https://github.com/JuliaStrings/utf8proc/issues/84
411 [#88]: https://github.com/JuliaStrings/utf8proc/issues/88
412 [#89]: https://github.com/JuliaStrings/utf8proc/issues/89
413 [#90]: https://github.com/JuliaStrings/utf8proc/issues/90
414 [#94]: https://github.com/JuliaStrings/utf8proc/issues/94
415 [#99]: https://github.com/JuliaStrings/utf8proc/issues/99
416 [#113]: https://github.com/JuliaStrings/utf8proc/issues/113
417 [#121]: https://github.com/JuliaStrings/utf8proc/issues/121
418 [#123]: https://github.com/JuliaStrings/utf8proc/issues/123
419 [#125]: https://github.com/JuliaStrings/utf8proc/issues/125
420 [#128]: https://github.com/JuliaStrings/utf8proc/issues/128
421 [#132]: https://github.com/JuliaStrings/utf8proc/issues/132
422 [#133]: https://github.com/JuliaStrings/utf8proc/issues/133
423 [#134]: https://github.com/JuliaStrings/utf8proc/issues/134
424 [#135]: https://github.com/JuliaStrings/utf8proc/issues/135
425 [#140]: https://github.com/JuliaStrings/utf8proc/issues/140
426 [#141]: https://github.com/JuliaStrings/utf8proc/issues/141
427 [#142]: https://github.com/JuliaStrings/utf8proc/issues/142
428 [#147]: https://github.com/JuliaStrings/utf8proc/issues/147
429 [#148]: https://github.com/JuliaStrings/utf8proc/issues/148
430 [#149]: https://github.com/JuliaStrings/utf8proc/issues/149
431 [#150]: https://github.com/JuliaStrings/utf8proc/issues/150
432 [#151]: https://github.com/JuliaStrings/utf8proc/issues/151
433 [#152]: https://github.com/JuliaStrings/utf8proc/issues/152
434 [#154]: https://github.com/JuliaStrings/utf8proc/issues/154
435 [#156]: https://github.com/JuliaStrings/utf8proc/issues/156
436 [#159]: https://github.com/JuliaStrings/utf8proc/issues/159
437 [#167]: https://github.com/JuliaStrings/utf8proc/issues/167
438 [#173]: https://github.com/JuliaStrings/utf8proc/issues/173
439 [#179]: https://github.com/JuliaStrings/utf8proc/issues/179
440 [#196]: https://github.com/JuliaStrings/utf8proc/issues/196
441 [#205]: https://github.com/JuliaStrings/utf8proc/issues/205
442 [#224]: https://github.com/JuliaStrings/utf8proc/issues/224
443 [#233]: https://github.com/JuliaStrings/utf8proc/issues/233
444 [#247]: https://github.com/JuliaStrings/utf8proc/issues/247
445 [#253]: https://github.com/JuliaStrings/utf8proc/issues/253