Thu, 26 Dec 2024 20:33:06 +0100
add tests for JSON create functions and fix a bug in cxJsonCreateCxString()
resolves issue #527
Version 3.1 - tbd. ------------------------ * adds properties.h * adds tree.h * adds json.h * adds reallocarray() like functions to allocator.h * adds cxIterator() to create iterators over raw C arrays * adds cx_array_reallocator() and cx_array_default_reallocator * adds several new array and list functions * adds cxBufferReset() * adds cxBufferAppend() * adds CX_BUFFER_COPY_ON_WRITE and CX_BUFFER_COPY_ON_EXTEND flags * adds cx_cmp_ptr() * adds cx_sprintf() and several more variants * adds runtime constants to read out the actual SBO sizes * adds improved version of UCX 2 Test framework (now a self-contained header) * adds cx_nmemb() utility function to common.h * changes all functions, for which there is no dedicated xyz_a variant, to accept NULL as allocator argument (in which case a default allocator will be used) * changes the name of destroy functions that actually free the memory to better indicate their behavior * change cx_strcat variants to allow handling of ENOMEM * change cx_strcast() to also accept cxstring (and doing nothing in that case) * change the behavior of cxBufferSeek() to allow offset zero for SEEK_END * moves cx_compare_func typedef to compare.h * moves cx_szmul() to common.h * moves stream copy functions to new streams.h * removes utils.h * removes flag_removal function from iterator * removes cxMapDetach() and makes cxMapRemoveAndGet() compatible with both map variants * removes CMake * removes GTest dependency * removes flags to disable SBO in tests * fixes cx_hash_key_cxstr() evaluating the argument twice * fixes wrong link from UCX 2 documentation to UCX 3 documentation * fixes critical bug that produced wrong results when comparing lists of different type but same size Version 3.0 - 2023-07-09 ------------------------ * complete redesign from scratch * collections can now store copies of objects and not just pointers * collections are now dynamically implemented * users of the library can specify own implementations of collections that work with the UCX API * low level API for custom lists that do not use the UCX structures * various fixes and improvements * drops some other, rarely used, features * removes testing implementation from the lib Version 2.1 - 2019-12-30 ------------------------ * adds string replace functions * adds set operations for UcxList and UcxMap * adds sstrcaseprefix() and sstrcasesuffix() * improves Doxygen documentation in ucx/string.h * adds UcxArray data type * adds support for CMake builds, but main build system is still autotools Version 2.0 - 2018-12-28 ------------------------ * some uncritical bug fixes * overflow of sstrnlen now returns SIZE_MAX instead of zero * adds scstr_t - a const char* variant for sstr_t * renames utility compare functions Version 1.1 - 2018-05-14 ------------------------ * adds missing 32 bit support to integer overflow checks * adds ucx_buffer_to_sstr() macro * adds ucx_avl_free_content() * adds some more compare and distance functions in utils.h * adds SFMT() and PRIsstr convenience macros * destructor functions for *_free_content() functions are now optional Version 1.0.1 - 2018-01-21 -------------------------- * some bug fixes * adds integer overflow checks Version 1.0 - 2017-10-28 ------------------------ * first stable version of UCX released