| 37 * adds cxListEmplace() and cxListEmplaceAt() |
37 * adds cxListEmplace() and cxListEmplaceAt() |
| 38 * adds cxBufferShrink() |
38 * adds cxBufferShrink() |
| 39 * adds cxTreeSize() |
39 * adds cxTreeSize() |
| 40 * adds CX_PRIstr and CX_SFMT macros for formatting UCX strings |
40 * adds CX_PRIstr and CX_SFMT macros for formatting UCX strings |
| 41 * adds cx_strcpy() and cx_strcpy_a() |
41 * adds cx_strcpy() and cx_strcpy_a() |
| |
42 * adds cxStdlibAllocator and allows changes of cxDefaultAllocator |
| 42 * improves performance of the CxList array list implementation |
43 * improves performance of the CxList array list implementation |
| 43 * changes grow strategy for the memory pool to reduce reallocations |
44 * changes grow strategy for the memory pool to reduce reallocations |
| 44 * changes grow strategy for CxBuffer, which does now take the page size into account |
45 * changes grow strategy for CxBuffer, which does now take the page size into account |
| 45 * changes the implementation of cx_strreplacen() for improved efficiency |
46 * changes the implementation of cx_strreplacen() for improved efficiency |
| 46 * changes all cxListIterator() without index to also accept NULL as list argument |
47 * changes all cxListIterator() without index to also accept NULL as list argument |
| 49 * fixes unnecessary allocations in cx_strcat() family of functions |
50 * fixes unnecessary allocations in cx_strcat() family of functions |
| 50 * fixes errno value after failing cxBufferSeek() to be consistently EINVAL |
51 * fixes errno value after failing cxBufferSeek() to be consistently EINVAL |
| 51 * fixes implementation of cxBufferTerminate() |
52 * fixes implementation of cxBufferTerminate() |
| 52 * fixes allocator arguments for some printf.h functions not being const |
53 * fixes allocator arguments for some printf.h functions not being const |
| 53 * fixes that cx_tree_search() did not investigate subtrees with equally good distance |
54 * fixes that cx_tree_search() did not investigate subtrees with equally good distance |
| |
55 * fixes that memory was freed by the wrong allocator in cx_vasprintf_a() when the underlying vsnprintf() failed |
| 54 * removes the use of C23 attributes because they don't mix well with GNU attributes in GCC 15 |
56 * removes the use of C23 attributes because they don't mix well with GNU attributes in GCC 15 |
| 55 |
57 |
| 56 ### Version 3.1 - 2025-02-11 {collapsible="true"} |
58 ### Version 3.1 - 2025-02-11 {collapsible="true"} |
| 57 |
59 |
| 58 * adds properties.h |
60 * adds properties.h |