CHANGELOG

Thu, 26 Dec 2024 18:32:05 +0100

author
Mike Becker <universe@uap-core.de>
date
Thu, 26 Dec 2024 18:32:05 +0100
changeset 1055
221e2e2f2c06
parent 1050
3df63e95921a
permissions
-rw-r--r--

fix cxJsonObjPut() for existing keys

issue #532

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

mercurial