docs/Writerside/topics/about.md

changeset 1698
1ba637f64695
parent 1694
a2757c6427cc
child 1701
abb995453f15
equal deleted inserted replaced
1697:ca825e816a50 1698:1ba637f64695
24 * [Doxygen Documentation](https://ucx.sourceforge.io/api/) 24 * [Doxygen Documentation](https://ucx.sourceforge.io/api/)
25 * [Test Coverage Report](https://ucx.sourceforge.io/coverage/) 25 * [Test Coverage Report](https://ucx.sourceforge.io/coverage/)
26 26
27 ## Changelog 27 ## Changelog
28 28
29 ### Version 4.0 - 2025-12-31 {collapsible="true"} 29 ### Version 4.0.1 - 2025-12-31 {collapsible="true"}
30
31
32
33 ### Version 4.0.0 - 2025-12-31 {collapsible="true"}
30 34
31 * adds cx_system_page_size() to allocator.h 35 * adds cx_system_page_size() to allocator.h
32 * adds cx_compare_func2 function pointer that supports compare functions with custom data 36 * adds cx_compare_func2 function pointer that supports compare functions with custom data
33 * adds a new (optional) capacity parameter to cxJsonCreateArr() and cxJsonObjPutArr() 37 * adds a new (optional) capacity parameter to cxJsonCreateArr() and cxJsonObjPutArr()
34 * adds cxJsonFromString(), cxJsonToString(), and cxJsonToPrettyString() 38 * adds cxJsonFromString(), cxJsonToString(), and cxJsonToPrettyString()
77 * removes the ability to remove elements from the iterators created with cxIterator() and cxIteratorPtr() 81 * removes the ability to remove elements from the iterators created with cxIterator() and cxIteratorPtr()
78 * removes several unnecessary convenience functions 82 * removes several unnecessary convenience functions
79 * removes the complicated wrapping of pointer lists 83 * removes the complicated wrapping of pointer lists
80 * removes cxIteratorRef() 84 * removes cxIteratorRef()
81 85
82 ### Version 3.2 - 2025-11-30 {collapsible="true"} 86 ### Version 3.2.0 - 2025-11-30 {collapsible="true"}
83 87
84 * adds cxMempoolTransfer() and cxMempoolTransferObject() 88 * adds cxMempoolTransfer() and cxMempoolTransferObject()
85 * adds support for different destruction strategies in CxMempool 89 * adds support for different destruction strategies in CxMempool
86 * adds new key-value-based list implementation 90 * adds new key-value-based list implementation
87 * adds support for integer keys to CxHashKey 91 * adds support for integer keys to CxHashKey
136 * fixes that cx_tree_search() did not investigate subtrees with equally good distance 140 * fixes that cx_tree_search() did not investigate subtrees with equally good distance
137 * fixes that memory was freed by the wrong allocator in cx_vasprintf_a() when the underlying vsnprintf() failed 141 * fixes that memory was freed by the wrong allocator in cx_vasprintf_a() when the underlying vsnprintf() failed
138 * removes all functions that create mutating iterators in favor of making all iterators possibly mutating 142 * removes all functions that create mutating iterators in favor of making all iterators possibly mutating
139 * removes the use of C23 attributes because they don't mix well with GNU attributes in GCC 15 143 * removes the use of C23 attributes because they don't mix well with GNU attributes in GCC 15
140 144
141 ### Version 3.1 - 2025-02-11 {collapsible="true"} 145 ### Version 3.1.0 - 2025-02-11 {collapsible="true"}
142 146
143 * adds properties.h 147 * adds properties.h
144 * adds tree.h 148 * adds tree.h
145 * adds json.h 149 * adds json.h
146 * adds locale-independent string to number conversion functions 150 * adds locale-independent string to number conversion functions
184 * fixes cx_strcmp() and cx_strcasecmp() not being useful for lexicographic ordering 188 * fixes cx_strcmp() and cx_strcasecmp() not being useful for lexicographic ordering
185 * fixes cx_hash_key_cxstr() evaluating the argument twice 189 * fixes cx_hash_key_cxstr() evaluating the argument twice
186 * fixes critical bug that produced wrong results when comparing lists of different type but same size 190 * fixes critical bug that produced wrong results when comparing lists of different type but same size
187 * ends UCX 2.1 long term support 191 * ends UCX 2.1 long term support
188 192
189 ### Version 3.0 - 2023-07-09 {collapsible="true"} 193 ### Version 3.0.0 - 2023-07-09 {collapsible="true"}
190 194
191 * complete redesign from scratch 195 * complete redesign from scratch
192 * collections can now store copies of objects and not just pointers 196 * collections can now store copies of objects and not just pointers
193 * collections are now dynamically implemented 197 * collections are now dynamically implemented
194 * users of the library can specify own implementations of collections that work with the UCX API 198 * users of the library can specify own implementations of collections that work with the UCX API
195 * low level API for custom lists that do not use the UCX structures 199 * low level API for custom lists that do not use the UCX structures
196 * various fixes and improvements 200 * various fixes and improvements
197 * drops some other, rarely used, features 201 * drops some other, rarely used, features
198 * removes testing implementation from the lib 202 * removes testing implementation from the lib
199 203
200 ### Version 2.1 - 2019-12-30 {collapsible="true"} 204 ### Version 2.1.0 - 2019-12-30 {collapsible="true"}
201 205
202 * adds string replace functions 206 * adds string replace functions
203 * adds set operations for ` UcxList` and `UcxMap` 207 * adds set operations for ` UcxList` and `UcxMap`
204 * adds `sstrcaseprefix()` and `sstrcasesuffix()` 208 * adds `sstrcaseprefix()` and `sstrcasesuffix()`
205 * improves Doxygen documentation in ucx/string.h 209 * improves Doxygen documentation in ucx/string.h
206 * adds `UcxArray` data type 210 * adds `UcxArray` data type
207 * adds support for CMake builds, but main build system is still autotools 211 * adds support for CMake builds, but main build system is still autotools
208 212
209 ### Version 2.0 - 2018-12-28 {collapsible="true"} 213 ### Version 2.0.0 - 2018-12-28 {collapsible="true"}
210 214
211 * some uncritical bug fixes 215 * some uncritical bug fixes
212 * overflow of `sstrnlen` now returns `SIZE_MAX` instead of zero 216 * overflow of `sstrnlen` now returns `SIZE_MAX` instead of zero
213 * adds `scstr_t` - a `const char*` variant for sstr_t 217 * adds `scstr_t` - a `const char*` variant for sstr_t
214 * renames utility compare functions 218 * renames utility compare functions
215 219
216 ### Version 1.1 - 2018-05-14 {collapsible="true"} 220 ### Version 1.1.0 - 2018-05-14 {collapsible="true"}
217 221
218 * adds missing 32 bit support to integer overflow checks 222 * adds missing 32 bit support to integer overflow checks
219 * adds `ucx_buffer_to_sstr()` macro 223 * adds `ucx_buffer_to_sstr()` macro
220 * adds `ucx_avl_free_content()` 224 * adds `ucx_avl_free_content()`
221 * adds some more compare and distance functions in utils.h 225 * adds some more compare and distance functions in utils.h
225 ### Version 1.0.1 - 2018-01-21 {collapsible="true"} 229 ### Version 1.0.1 - 2018-01-21 {collapsible="true"}
226 230
227 * some bug fixes 231 * some bug fixes
228 * adds integer overflow checks 232 * adds integer overflow checks
229 233
230 ### Version 1.0 - 2017-10-28 {collapsible="true"} 234 ### Version 1.0.0 - 2017-10-28 {collapsible="true"}
231 235
232 * first stable version of UCX released 236 * first stable version of UCX released

mercurial