Sun, 22 Dec 2024 22:10:04 +0100
don't trust that size_t always has word width
it should be the case on all platforms supported by UCX, but it's not strictly defined in POSIX that it must be the case
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 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 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