Only the most important stuff is listed here.
See commit history between tags for details.
- Added scripts and script extensions support (UAX #24: Unicode Script Property)
- Added cursor support for text segmentation (doc/CURSOR.md)
- Optimized UTF conversion of ASCII strings
- Changed versions in namespace
una::version
to classes (#18) - File
uni_algo/version.h
is not included by other files anymore - Improved
una::error
class addeduna::error::code
- Renamed
search
functions tofind
(#23) - Renamed
una::search
class touna::found
(#23) - Renamed config defines:
UNI_ALGO_DISABLE_SHRINK_TO_FIT
toUNI_ALGO_NO_SHRINK_TO_FIT
UNI_ALGO_DISABLE_BREAK_GRAPHEME
toUNI_ALGO_DISABLE_SEGMENT_GRAPHEME
UNI_ALGO_DISABLE_BREAK_WORD
toUNI_ALGO_DISABLE_SEGMENT_WORD
v0.7.1 (2023-02-27)
v0.7.0 (2023-02-07)
- Renamed main namespace from
uni::
touna::
- Splitted .h files with ranges and functions:
- Added files:
uni_algo/ranges_norm.h
anduni_algo/ranges_conv.h
- Renamed file
uni_algo/break_grapheme.h
touni_algo/ranges_grapheme.h
- Renamed file
uni_algo/break_word.h
touni_algo/ranges_word.h
- Added files:
- The library is full constexpr now (requeries C++20 or higher and header-only enabled)
- Added safe layer (bounds checks enabled in debug disabled in release)
- In C++23 std::string::resize_and_overwrite is now used for better performance
- Added ASCII extension
- Removed function uni::codepoint::to_decompose_hangul_u32
v0.6.0 (2022-11-07)
- Added uni::is_valid_utf8/16/32 functions for strings
- Added custom allocator support for template functions
- Added custom allocator support for output ranges
- Added header-only support (CMake option UNI_ALGO_HEADER_ONLY=ON)
- Added shared library support (CMake option BUILD_SHARED_LIBS=ON)
- Renamed file uni_algo/convert.h to uni_algo/conv.h
- Lowered requirements for word/grapheme breaks to bidirectional range
- Extensions now use unx namespace instead of uni
v0.5.0 (2022-10-01)
- Updated to Unicode 15.0.0
- Added single include version
- Renamed files from cpp_uni_* to uni_algo/*
- Renamed most functions, utf8/utf16 now at the end of a function
- Added better locale support
- Added word properties
- Added reverse grapheme/word algorithms
- Added alternative syntax for code point general category
- Removed function uni::codepoint::is_same_category
- Redesigned transliterators more than two times faster now
v0.4.0 (2022-08-30)
- Added code point basic properties
- Added code point case properties
- Added code point case tranformations
- Added code point normalization properties
- Added code point normalization tranformations
- Added ranges to_utf8_reserve and to_utf16_reserve
v0.3.0 (2022-08-07)
- Added support for char8_t strings
- Switched from iterators to ranges
- Switched to ranges in transliterators
- Added utf8, utf16, basic views
- Added to_utf8, to_utf16 ranges
- Added normalization views
- Added break: grapheme, word, word_only views
- Added internal translit view
- Removed utf8, utf16, output, translit, func iterators
- Removed normalization iterators
- Removed break: grapheme, word iterators
- Renamed function is_pos() to has_pos() in class error
v0.2.0 (2022-07-14)
- Updated to Unicode 14.0.0
v0.1.0 (2022-07-07)
- Initial commit