| 1 Version 4.0 - 2025-12-31 |
1 Version 4.0.1 - 2025-12-31 |
| 2 ------------------------ |
2 -------------------------- |
| |
3 |
| |
4 |
| |
5 |
| |
6 Version 4.0.0 - 2025-12-31 |
| |
7 -------------------------- |
| 3 |
8 |
| 4 * adds cx_system_page_size() to allocator.h |
9 * adds cx_system_page_size() to allocator.h |
| 5 * adds cx_compare_func2 function pointer that supports compare functions with custom data |
10 * adds cx_compare_func2 function pointer that supports compare functions with custom data |
| 6 * adds a new (optional) capacity parameter to cxJsonCreateArr() and cxJsonObjPutArr() |
11 * adds a new (optional) capacity parameter to cxJsonCreateArr() and cxJsonObjPutArr() |
| 7 * adds cxJsonFromString(), cxJsonToString(), and cxJsonToPrettyString() |
12 * adds cxJsonFromString(), cxJsonToString(), and cxJsonToPrettyString() |
| 50 * removes the ability to remove elements from the iterators created with cxIterator() and cxIteratorPtr() |
55 * removes the ability to remove elements from the iterators created with cxIterator() and cxIteratorPtr() |
| 51 * removes several unnecessary convenience functions |
56 * removes several unnecessary convenience functions |
| 52 * removes the complicated wrapping of pointer lists |
57 * removes the complicated wrapping of pointer lists |
| 53 * removes cxIteratorRef() |
58 * removes cxIteratorRef() |
| 54 |
59 |
| 55 Version 3.2 - 2025-11-30 |
60 Version 3.2.0 - 2025-11-30 |
| 56 ------------------------ |
61 -------------------------- |
| 57 |
62 |
| 58 * adds cxMempoolTransfer() and cxMempoolTransferObject() |
63 * adds cxMempoolTransfer() and cxMempoolTransferObject() |
| 59 * adds support for different destruction strategies in CxMempool |
64 * adds support for different destruction strategies in CxMempool |
| 60 * adds new key-value-based list implementation |
65 * adds new key-value-based list implementation |
| 61 + adds support for integer keys to CxHashKey |
66 + adds support for integer keys to CxHashKey |
| 110 * fixes that cx_tree_search() did not investigate subtrees with equally good distance |
115 * fixes that cx_tree_search() did not investigate subtrees with equally good distance |
| 111 * fixes that memory was freed by the wrong allocator in cx_vasprintf_a() when the underlying vsnprintf() failed |
116 * fixes that memory was freed by the wrong allocator in cx_vasprintf_a() when the underlying vsnprintf() failed |
| 112 * removes all functions that create mutating iterators in favor of making all iterators possibly mutating |
117 * removes all functions that create mutating iterators in favor of making all iterators possibly mutating |
| 113 * removes the use of C23 attributes because they don't mix well with GNU attributes in GCC 15 |
118 * removes the use of C23 attributes because they don't mix well with GNU attributes in GCC 15 |
| 114 |
119 |
| 115 Version 3.1 - 2025-02-11 |
120 Version 3.1.0 - 2025-02-11 |
| 116 ------------------------ |
121 -------------------------- |
| 117 |
122 |
| 118 * adds properties.h |
123 * adds properties.h |
| 119 * adds tree.h |
124 * adds tree.h |
| 120 * adds json.h |
125 * adds json.h |
| 121 * adds locale-independent string to number conversion functions |
126 * adds locale-independent string to number conversion functions |
| 159 * fixes cx_strcmp() and cx_strcasecmp() not being useful for lexicographic ordering |
164 * fixes cx_strcmp() and cx_strcasecmp() not being useful for lexicographic ordering |
| 160 * fixes cx_hash_key_cxstr() evaluating the argument twice |
165 * fixes cx_hash_key_cxstr() evaluating the argument twice |
| 161 * fixes critical bug that produced wrong results when comparing lists of different type but same size |
166 * fixes critical bug that produced wrong results when comparing lists of different type but same size |
| 162 * ends UCX 2.1 long term support |
167 * ends UCX 2.1 long term support |
| 163 |
168 |
| 164 Version 3.0 - 2023-07-09 |
169 Version 3.0.0 - 2023-07-09 |
| 165 ------------------------ |
170 -------------------------- |
| 166 |
171 |
| 167 * complete redesign from scratch |
172 * complete redesign from scratch |
| 168 * collections can now store copies of objects and not just pointers |
173 * collections can now store copies of objects and not just pointers |
| 169 * collections are now dynamically implemented |
174 * collections are now dynamically implemented |
| 170 * users of the library can specify own implementations of collections that work with the UCX API |
175 * users of the library can specify own implementations of collections that work with the UCX API |
| 172 * various fixes and improvements |
177 * various fixes and improvements |
| 173 * drops some other, rarely used, features |
178 * drops some other, rarely used, features |
| 174 * removes testing implementation from the lib |
179 * removes testing implementation from the lib |
| 175 |
180 |
| 176 |
181 |
| 177 Version 2.1 - 2019-12-30 |
182 Version 2.1.0 - 2019-12-30 |
| 178 ------------------------ |
183 -------------------------- |
| 179 |
184 |
| 180 * adds string replace functions |
185 * adds string replace functions |
| 181 * adds set operations for UcxList and UcxMap |
186 * adds set operations for UcxList and UcxMap |
| 182 * adds sstrcaseprefix() and sstrcasesuffix() |
187 * adds sstrcaseprefix() and sstrcasesuffix() |
| 183 * improves Doxygen documentation in ucx/string.h |
188 * improves Doxygen documentation in ucx/string.h |
| 190 * some uncritical bug fixes |
195 * some uncritical bug fixes |
| 191 * overflow of sstrnlen now returns SIZE_MAX instead of zero |
196 * overflow of sstrnlen now returns SIZE_MAX instead of zero |
| 192 * adds scstr_t - a const char* variant for sstr_t |
197 * adds scstr_t - a const char* variant for sstr_t |
| 193 * renames utility compare functions |
198 * renames utility compare functions |
| 194 |
199 |
| 195 Version 1.1 - 2018-05-14 |
200 Version 1.1.0 - 2018-05-14 |
| 196 ------------------------ |
201 -------------------------- |
| 197 |
202 |
| 198 * adds missing 32 bit support to integer overflow checks |
203 * adds missing 32 bit support to integer overflow checks |
| 199 * adds ucx_buffer_to_sstr() macro |
204 * adds ucx_buffer_to_sstr() macro |
| 200 * adds ucx_avl_free_content() |
205 * adds ucx_avl_free_content() |
| 201 * adds some more compare and distance functions in utils.h |
206 * adds some more compare and distance functions in utils.h |
| 206 -------------------------- |
211 -------------------------- |
| 207 |
212 |
| 208 * some bug fixes |
213 * some bug fixes |
| 209 * adds integer overflow checks |
214 * adds integer overflow checks |
| 210 |
215 |
| 211 Version 1.0 - 2017-10-28 |
216 Version 1.0.0 - 2017-10-28 |
| 212 ------------------------ |
217 -------------------------- |
| 213 |
218 |
| 214 * first stable version of UCX released |
219 * first stable version of UCX released |