Releases: contour-terminal/libunicode
Releases · contour-terminal/libunicode
Release list
v0.9.1
What's Changed
- Exclude #pragma GCC in MSVC builds by @YexuanXiao in #131
- Fix SSE4.1/AVX flags not applied on FreeBSD (amd64) by @Yaraslaut in #133
- scan_text: stop at C1 control bytes at a character boundary by @christianparpart in #135
New Contributors
- @YexuanXiao made their first contribution in #131
Full Changelog: v0.9.0...v0.9.1
v0.9.0
What's Changed
- Build system cleanups and unified C++ tablegen by @christianparpart in #119
- Add grapheme_cluster_width API, Age improvements, and C API fixes by @christianparpart in #120
- ci: add static unicode-query builds to releases and CI artifacts by @christianparpart in #121
- Complete Unicode normalization (TR15) with streaming support by @christianparpart in #122
- script_extensions: return std::optional<std::span<Script const>> by @christianparpart in #123
- Implement GB9c grapheme cluster break rule for Indic conjuncts by @christianparpart in #124
- convert: add comprehensive UTF-16/UTF-32 conversion tests by @christianparpart in #125
- grapheme_segmenter: fix GB11 and GB4/GB5 rules, remove deprecated pairwise API by @christianparpart in #126
- SIMD-accelerated UTF-8 to UTF-32/UTF-16 conversion by @christianparpart in #127
- width: set conjoining Hangul V/T Jamo to zero width by @christianparpart in #128
- word: implement UAX #29 Word Boundary segmentation (fixes #6) by @christianparpart in #129
Full Changelog: v0.8.0...v0.9.0
v0.8.0
What's Changed
- Add case mapping, Unicode normalization, and bidi mirroring APIs by @christianparpart in #117
- Add Emscripten build support by @christianparpart in #118
- Change some boolean test functions from
bool this_case(...)tobool is_this_case(...). #118
Full Changelog: v0.7.0...v0.8.0
v0.7.0
What's Changed
- Use avx when available. by @Dooez in #108
- fix: only use intrinsics SIMD on x86_64 and aarch64 by default by @Cryolitia in #110
- unicode-query: Show emoji presentation in Unicode properties query tool by @christianparpart in #111
- Adapt cmake preset's base output dir to what we have in related projects by @christianparpart in #114
- Update to Unicode 17.0.0 by @data-man in #113
New Contributors
- @Dooez made their first contribution in #108
- @Cryolitia made their first contribution in #110
Full Changelog: v0.6.0...v0.7.0
v0.6.0
What's Changed
- Fix SIMD scanning on macOS (using std::simd) by @christianparpart in #102
- Fix build on FreeBSD Systems by @herrhotzenplotz in #105
- Use
std::format()API now, instead of fmtlib by @christianparpart in #104 - Improvement for better SIMD config by @christianparpart in #106
- Update supported Unicode to version 16.0.0 by @christianparpart in #107
New Contributors
- @herrhotzenplotz made their first contribution in #105
Full Changelog: v0.5.0...v0.6.0
v0.5.0
What's Changed
- Fetch dependencies if OS is not supported by @Yaraslaut in #86
- Make usage of SIMD (SSE2) extension optional by @Yaraslaut in #87
- fix catch2 error when using system catch2 on Fedora; add Fedora workflow by @topazus in #88
- Update vcpkg commit hash to fix Windows CI by @christianparpart in #89
- Add benchmark and std::simd by @Yaraslaut in #91
- Add CMakePresets to conveniently build and work with the sources by @christianparpart in #92
- tablegen: Improve performance for names by @christianparpart in #95
- minor build and .clang-format improvements by @christianparpart in #96
- [unicode-query] add
gcandrunssub command to introspect grapheme clusters and runs by @christianparpart in #97 - Change width()'s return type from int to unsigned by @christianparpart in #98
- Tiny fix to benchmark plus minor naming changes by @christianparpart in #99
- Update github actions and gitignore by @Yaraslaut in #100
- Adds missing include to convert.h by @christianparpart in #101
Full Changelog: v0.4.0...v0.5.0
libunicode 0.4.0
What's Changed
- Allow passing custom LIBUNICODE_UCD_DIR to cmake by @christianparpart in #69
- Fix error handling of UTF-8 decoding for incomplete UTF-8 sequences by @christianparpart in #71
- Improve naming convention to be more streamlined. by @christianparpart in #72
- Move
scan_result.nexttoscan_state.nextby @christianparpart in #73 - Check md5 of downloaded file by @Yaraslaut in #74
- Remove ubuntu 18.04 from github build actions by @Yaraslaut in #76
- Problem: Catch2 is always required by @yrashk in #75
- Update catch2 to v3 by @topazus in #82
- Improved libunicode targets installation by @christianparpart in #83
- Fix ARM64 build on Windows by @christianparpart in #84
- Allow building with older CMake < 3.18 by @christianparpart in #85
New Contributors
- @Yaraslaut made their first contribution in #74
- @yrashk made their first contribution in #75
Full Changelog: v0.3.0...v0.4.0
Release 0.3.0
0.3.0 (2023-03-01)
- Fixes build error on GCC 13.
- Fixes properly stopping at control characters in complex sub-state in scan API.
- Fixes successful processing invalid UTF-8 in scan API.
- Fixes installing missing headers for use of this API as non-embedded library.
- Changes project and include directory from
unicodetolibunicodeto avoid include path conflict withICU. - Adds compile time option to either build static or dynamic binaries (
LIBUNICODE_BUILD_STATIC). - Adds SONAME version to libraries.
Release 0.2.1
- Fixes unicode-query's output for "character width".
- Fixes decoding invalid UTF-8 locking up.
- Fixes stage1 multistage-table sizes, reducing memory footprint a bit.
- Adds SIMD implementation for scan API on ARM64 (NEON).
- unicode-query is now linked statically on UNIX platforms.
Release 0.2.0
- Slightly improve performance of grapheme cluster segmentation.
- Fixes grapheme cluster segmentation of multiple consecutive regional flags.
- Add access to Age property of a codepoint (giving information about at which Unicode version a codepoint was introduced).
- Add access to the assigned name of a codepoint.
- unicode-query: Now also prints name and age properties.
- CMake install target also installs header and library (not just tools).
- Reduce number of dependencies down to fmtlib and (for unit tests) Catch2.
- Enables libunicode to be found via CMake's
find_package(). - Improved default installation directories on UNIX via GNUInstallDirs helper.