Mercurial > minori
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 |
