Fri, 23 May 2025 12:44:24 +0200
make test-compile depend on both static and shared
the shared lib is not needed for the tests,
but when run with coverage, gcov will be confused
when outdated line information is available from
a previous shared build
1280
60123b3db06e
start development of UCX 3.2
Mike Becker <universe@uap-core.de>
parents:
1194
diff
changeset
|
1 | Version 3.2 - tbd |
60123b3db06e
start development of UCX 3.2
Mike Becker <universe@uap-core.de>
parents:
1194
diff
changeset
|
2 | ------------------------ |
60123b3db06e
start development of UCX 3.2
Mike Becker <universe@uap-core.de>
parents:
1194
diff
changeset
|
3 | |
1283
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
Mike Becker <universe@uap-core.de>
parents:
1281
diff
changeset
|
4 | * adds cxMempoolTransfer() and cxMempoolTransferObject() |
1325
20caf6efaf07
improve mempool destructor support (3/3)
Mike Becker <universe@uap-core.de>
parents:
1322
diff
changeset
|
5 | * adds support for different destruction strategies in CxMempool |
1287
3a3ffc27813f
adds cxListSet() - resolves #642
Mike Becker <universe@uap-core.de>
parents:
1286
diff
changeset
|
6 | * adds cxListSet() |
1294
30d7ae76c76a
add test and documentation for cxListContains() - fixes #643
Mike Becker <universe@uap-core.de>
parents:
1291
diff
changeset
|
7 | * adds cxListContains() |
1315
b4c3e0b4c3d5
add convenience functions for easy access to first/last element of a list
Mike Becker <universe@uap-core.de>
parents:
1309
diff
changeset
|
8 | * adds cxListFirst() and cxListLast() |
b4c3e0b4c3d5
add convenience functions for easy access to first/last element of a list
Mike Becker <universe@uap-core.de>
parents:
1309
diff
changeset
|
9 | * adds cxListRemoveAndGetFirst() and cxListRemoveAndGetLast(), |
b4c3e0b4c3d5
add convenience functions for easy access to first/last element of a list
Mike Becker <universe@uap-core.de>
parents:
1309
diff
changeset
|
10 | and corresponding macro aliases cxListPopFront() and cxListPop() |
1316
c41538edfcef
add cxListEmplace() and cxListEmplaceAt() plus some improvements to the array list implementation
Mike Becker <universe@uap-core.de>
parents:
1315
diff
changeset
|
11 | * adds cxListEmplace() and cxListEmplaceAt() |
1290
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1288
diff
changeset
|
12 | * adds cxBufferShrink() |
1295
b00c6ae1441a
add cxTreeSize() - resolves #624
Mike Becker <universe@uap-core.de>
parents:
1294
diff
changeset
|
13 | * adds cxTreeSize() |
1297
0811fb9a8dba
bring back CX_PRIstr and CX_SFMT macros - resolves #612
Mike Becker <universe@uap-core.de>
parents:
1296
diff
changeset
|
14 | * adds CX_PRIstr and CX_SFMT macros for formatting UCX strings |
1304
57e062a4bb05
adds cx_strcpy() and cx_strcpy_a()
Mike Becker <universe@uap-core.de>
parents:
1301
diff
changeset
|
15 | * adds cx_strcpy() and cx_strcpy_a() |
1318
12fa1d37fe48
allow changing the cxDefaultAllocator - resolves #669
Mike Becker <universe@uap-core.de>
parents:
1316
diff
changeset
|
16 | * adds cxStdlibAllocator and allows changes of cxDefaultAllocator |
1316
c41538edfcef
add cxListEmplace() and cxListEmplaceAt() plus some improvements to the array list implementation
Mike Becker <universe@uap-core.de>
parents:
1315
diff
changeset
|
17 | * improves performance of the CxList array list implementation |
1281
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1280
diff
changeset
|
18 | * changes grow strategy for the mempory pool to reduce reallocations |
1291
5942859fd76c
new auto-extend strategy for CxBuffer - resolves #641
Mike Becker <universe@uap-core.de>
parents:
1290
diff
changeset
|
19 | * changes grow strategy for CxBuffer, which does now take the page size into account |
1300
fcb149ee60ff
improve cx_strreplacen() - resolves #623
Mike Becker <universe@uap-core.de>
parents:
1297
diff
changeset
|
20 | * changes the implementation of cx_strreplacen() for improved efficiency |
1305
c34a72d8e104
some cxListIterator() variants now also allow NULL lists
Mike Becker <universe@uap-core.de>
parents:
1304
diff
changeset
|
21 | * changes all cxListIterator() without index to also accept NULL as list argument |
1316
c41538edfcef
add cxListEmplace() and cxListEmplaceAt() plus some improvements to the array list implementation
Mike Becker <universe@uap-core.de>
parents:
1315
diff
changeset
|
22 | * changes insert_element member function of CxList to accept NULL source and return a pointer to the inserted element |
1322
7be10b57f658
fix critical memory overflow in the stack-based array reallocator
Mike Becker <universe@uap-core.de>
parents:
1318
diff
changeset
|
23 | * fixes critical memory overflow in the stack-based array reallocator (this unfortunately breaks the function signature) |
1309
b240b73d2a10
fix that iteration continued with siblings for a subtree-root - fixes #656
Mike Becker <universe@uap-core.de>
parents:
1305
diff
changeset
|
24 | * fixes that starting an iteration in a non-root node incorrectly continues iteration with the siblings of that node |
1296
2a2403c63439
fixes unnecessary allocations in cx_strcat() family of functions
Mike Becker <universe@uap-core.de>
parents:
1295
diff
changeset
|
25 | * fixes unnecessary allocations in cx_strcat() family of functions |
1288
b41ad5d9bcbf
fixes errno value after failing cxBufferSeek() to be consistently EINVAL
Mike Becker <universe@uap-core.de>
parents:
1287
diff
changeset
|
26 | * fixes errno value after failing cxBufferSeek() to be consistently EINVAL |
1284
b2103354baed
fix implementation of cxBufferTerminate() - fixes #631
Mike Becker <universe@uap-core.de>
parents:
1283
diff
changeset
|
27 | * fixes implementation of cxBufferTerminate() |
1285
7acbaa74fbd0
fix allocator of some printf.h functions not being const - fixes #611
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
28 | * fixes allocator arguments for some printf.h functions not being const |
1286
5492e8ef05f4
fixes that cx_tree_search() did not investigate subtrees with equally good distance
Mike Becker <universe@uap-core.de>
parents:
1285
diff
changeset
|
29 | * fixes that cx_tree_search() did not investigate subtrees with equally good distance |
1318
12fa1d37fe48
allow changing the cxDefaultAllocator - resolves #669
Mike Becker <universe@uap-core.de>
parents:
1316
diff
changeset
|
30 | * fixes that memory was freed by the wrong allocator in cx_vasprintf_a() when the underlying vsnprintf() failed |
1301
f81d8b4f40c4
fix code not compiling with GCC 15
Mike Becker <universe@uap-core.de>
parents:
1300
diff
changeset
|
31 | * removes the use of C23 attributes because they don't mix well with GNU attributes in GCC 15 |
1280
60123b3db06e
start development of UCX 3.2
Mike Becker <universe@uap-core.de>
parents:
1194
diff
changeset
|
32 | |
1187 | 33 | Version 3.1 - 2025-02-11 |
758
6cd62ce7e353
fix #318 - incorrect link to ucx 3 docs
Mike Becker <universe@uap-core.de>
parents:
750
diff
changeset
|
34 | ------------------------ |
994
3603bdf4a78b
remove map detach function - fixes #487
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
35 | |
928
d2d42cb1d59e
add source/sink facility for properties - fixes #430
Mike Becker <universe@uap-core.de>
parents:
920
diff
changeset
|
36 | * adds properties.h |
817
949908c97474
add cx_array_default_reallocator
Mike Becker <universe@uap-core.de>
parents:
810
diff
changeset
|
37 | * adds tree.h |
1027
b1373253e202
add CHANGELOG entry for issue #431
Mike Becker <universe@uap-core.de>
parents:
1025
diff
changeset
|
38 | * adds json.h |
1061
c7d23892eab5
implement string to integer conversions
Mike Becker <universe@uap-core.de>
parents:
1050
diff
changeset
|
39 | * adds locale-independent string to number conversion functions |
963
2f601274bbac
add reallocarray() like functions - resolves #468
Mike Becker <universe@uap-core.de>
parents:
953
diff
changeset
|
40 | * adds reallocarray() like functions to allocator.h |
850
b2bc48c2b251
add iterator over raw C arrays - closes #389
Mike Becker <universe@uap-core.de>
parents:
834
diff
changeset
|
41 | * adds cxIterator() to create iterators over raw C arrays |
1070
0a5a356a4486
add array iterator over pointer arrays
Mike Becker <universe@uap-core.de>
parents:
1062
diff
changeset
|
42 | * adds cxIteratorPtr() to create iterators over raw C pointer arrays |
953
581ad4fd01e9
add function to create array reallocator that can move arrays from stack to heap
Mike Becker <universe@uap-core.de>
parents:
945
diff
changeset
|
43 | * adds cx_array_reallocator() and cx_array_default_reallocator |
920 | 44 | * adds several new array and list functions |
761
61d5197d612b
add cxBufferReset() - resolves #338
Mike Becker <universe@uap-core.de>
parents:
760
diff
changeset
|
45 | * adds cxBufferReset() |
1030
06091e067bee
add cxBufferAppend() - fixes #534
Mike Becker <universe@uap-core.de>
parents:
1028
diff
changeset
|
46 | * adds cxBufferAppend() |
1110 | 47 | * adds cxBufferEnableFlushing() and cxBufferFlush() |
1028
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1027
diff
changeset
|
48 | * adds CX_BUFFER_COPY_ON_WRITE and CX_BUFFER_COPY_ON_EXTEND flags |
1112
22dc2163fffd
add convenience macros to avoid a fptr cast for cxBufferRead and cxBufferWrite
Mike Becker <universe@uap-core.de>
parents:
1111
diff
changeset
|
49 | * adds cxBufferWriteFunc and cxBufferReadFunc function pointers (for convenience) |
762
4523f6d42512
add cx_cmp_ptr() - fix #340
Mike Becker <universe@uap-core.de>
parents:
761
diff
changeset
|
50 | * adds cx_cmp_ptr() |
1062
8baed9b38bc6
add cx_vcmp_* family of functions
Mike Becker <universe@uap-core.de>
parents:
1061
diff
changeset
|
51 | * adds cx_vcmp_* family of functions |
810
85859399a0cc
add cx_sprintf() variants - fixes #353
Mike Becker <universe@uap-core.de>
parents:
808
diff
changeset
|
52 | * adds cx_sprintf() and several more variants |
808
f7f193893894
add missing CHANGELOG entries
Mike Becker <universe@uap-core.de>
parents:
786
diff
changeset
|
53 | * adds runtime constants to read out the actual SBO sizes |
770
ed710122af44
migrates self-test for testing allocator - relates to #342
Mike Becker <universe@uap-core.de>
parents:
764
diff
changeset
|
54 | * adds improved version of UCX 2 Test framework (now a self-contained header) |
945 | 55 | * adds cx_nmemb() utility function to common.h |
1115
6db21dee4929
create specialized map iterators - fixes #550
Mike Becker <universe@uap-core.de>
parents:
1113
diff
changeset
|
56 | * changes that CxMap returns own CxMapIterator to save memory in CxIterator |
1178
9998cfb4a65b
change name of cxBasicMempoolCreate() to cxMempoolCreateSimple() - fixes #590
Mike Becker <universe@uap-core.de>
parents:
1176
diff
changeset
|
57 | * changes name of cxBasicMempoolCreate() to cxMempoolCreateSimple() |
989
8aa57a7fecc4
improve consistency for allocator arguments - fixes #485
Mike Becker <universe@uap-core.de>
parents:
971
diff
changeset
|
58 | * changes all functions, for which there is no dedicated xyz_a variant, |
8aa57a7fecc4
improve consistency for allocator arguments - fixes #485
Mike Becker <universe@uap-core.de>
parents:
971
diff
changeset
|
59 | to accept NULL as allocator argument (in which case a default allocator will be used) |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
989
diff
changeset
|
60 | * changes the name of destroy functions that actually free the memory to better indicate their behavior |
1194 | 61 | * changes cx_strcat variants to allow handling of ENOMEM |
62 | * changes cx_strcast() to also accept cxstring (and doing nothing in that case) | |
63 | * changes the behavior of cxBufferSeek() to allow offset zero for SEEK_END | |
971
cc204fc56c9c
rename utils.h to streams.h
Mike Becker <universe@uap-core.de>
parents:
970
diff
changeset
|
64 | * moves cx_compare_func typedef to compare.h |
cc204fc56c9c
rename utils.h to streams.h
Mike Becker <universe@uap-core.de>
parents:
970
diff
changeset
|
65 | * moves cx_szmul() to common.h |
cc204fc56c9c
rename utils.h to streams.h
Mike Becker <universe@uap-core.de>
parents:
970
diff
changeset
|
66 | * moves stream copy functions to new streams.h |
1176
247db6e629ad
remove cx_strupper() and cx_strlower() - fixes #591
Mike Becker <universe@uap-core.de>
parents:
1127
diff
changeset
|
67 | * removes cx_strupper() and cx_strlower() because they only do the right thing in special cases |
1127
1fd31909a3f8
removes some unnecessary string functions - fixes #561
Mike Becker <universe@uap-core.de>
parents:
1115
diff
changeset
|
68 | * removes several *_m variants of functions in string.h in favor of automatic conversion |
971
cc204fc56c9c
rename utils.h to streams.h
Mike Becker <universe@uap-core.de>
parents:
970
diff
changeset
|
69 | * removes utils.h |
994
3603bdf4a78b
remove map detach function - fixes #487
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
70 | * removes flag_removal function from iterator |
3603bdf4a78b
remove map detach function - fixes #487
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
71 | * removes cxMapDetach() and makes cxMapRemoveAndGet() compatible with both map variants |
1111
78eeeb950883
remove API for changing the store_pointer property after list creation
Mike Becker <universe@uap-core.de>
parents:
1110
diff
changeset
|
72 | * removes the API for changing the store_pointer property of collections after their creation |
770
ed710122af44
migrates self-test for testing allocator - relates to #342
Mike Becker <universe@uap-core.de>
parents:
764
diff
changeset
|
73 | * removes CMake |
ed710122af44
migrates self-test for testing allocator - relates to #342
Mike Becker <universe@uap-core.de>
parents:
764
diff
changeset
|
74 | * removes GTest dependency |
808
f7f193893894
add missing CHANGELOG entries
Mike Becker <universe@uap-core.de>
parents:
786
diff
changeset
|
75 | * removes flags to disable SBO in tests |
1113
dce04550fbef
remove CX_LINKED_LIST_SWAP_SBO_SIZE - fixes #551
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
76 | * removes CX_LINKED_LIST_SWAP_SBO_SIZE (it's not really an optimization for linked lists) |
1071
028cb6d22197
fix cx_strcmp() and cx_strcasecmp() - fixes #546
Mike Becker <universe@uap-core.de>
parents:
1070
diff
changeset
|
77 | * fixes cx_strcmp() and cx_strcasecmp() not being useful for lexicographic ordering |
1050
3df63e95921a
make cx_strcast() also support cxstring
Mike Becker <universe@uap-core.de>
parents:
1049
diff
changeset
|
78 | * fixes cx_hash_key_cxstr() evaluating the argument twice |
971
cc204fc56c9c
rename utils.h to streams.h
Mike Becker <universe@uap-core.de>
parents:
970
diff
changeset
|
79 | * fixes critical bug that produced wrong results when comparing lists of different type but same size |
1187 | 80 | * ends UCX 2.1 long term support |
758
6cd62ce7e353
fix #318 - incorrect link to ucx 3 docs
Mike Becker <universe@uap-core.de>
parents:
750
diff
changeset
|
81 | |
750
8a3336743c4e
update CHANGELOG, COPYING, and README
Mike Becker <universe@uap-core.de>
parents:
390
diff
changeset
|
82 | Version 3.0 - 2023-07-09 |
8a3336743c4e
update CHANGELOG, COPYING, and README
Mike Becker <universe@uap-core.de>
parents:
390
diff
changeset
|
83 | ------------------------ |
994
3603bdf4a78b
remove map detach function - fixes #487
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
84 | |
750
8a3336743c4e
update CHANGELOG, COPYING, and README
Mike Becker <universe@uap-core.de>
parents:
390
diff
changeset
|
85 | * complete redesign from scratch |
8a3336743c4e
update CHANGELOG, COPYING, and README
Mike Becker <universe@uap-core.de>
parents:
390
diff
changeset
|
86 | * collections can now store copies of objects and not just pointers |
8a3336743c4e
update CHANGELOG, COPYING, and README
Mike Becker <universe@uap-core.de>
parents:
390
diff
changeset
|
87 | * collections are now dynamically implemented |
8a3336743c4e
update CHANGELOG, COPYING, and README
Mike Becker <universe@uap-core.de>
parents:
390
diff
changeset
|
88 | * users of the library can specify own implementations of collections that work with the UCX API |
8a3336743c4e
update CHANGELOG, COPYING, and README
Mike Becker <universe@uap-core.de>
parents:
390
diff
changeset
|
89 | * low level API for custom lists that do not use the UCX structures |
8a3336743c4e
update CHANGELOG, COPYING, and README
Mike Becker <universe@uap-core.de>
parents:
390
diff
changeset
|
90 | * various fixes and improvements |
8a3336743c4e
update CHANGELOG, COPYING, and README
Mike Becker <universe@uap-core.de>
parents:
390
diff
changeset
|
91 | * drops some other, rarely used, features |
8a3336743c4e
update CHANGELOG, COPYING, and README
Mike Becker <universe@uap-core.de>
parents:
390
diff
changeset
|
92 | * removes testing implementation from the lib |
390
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
381
diff
changeset
|
93 | |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
381
diff
changeset
|
94 | |
381 | 95 | Version 2.1 - 2019-12-30 |
96 | ------------------------ | |
97 | ||
98 | * adds string replace functions | |
99 | * adds set operations for UcxList and UcxMap | |
100 | * adds sstrcaseprefix() and sstrcasesuffix() | |
101 | * improves Doxygen documentation in ucx/string.h | |
102 | * adds UcxArray data type | |
103 | * adds support for CMake builds, but main build system is still autotools | |
104 | ||
105 | Version 2.0 - 2018-12-28 | |
106 | ------------------------ | |
107 | ||
108 | * some uncritical bug fixes | |
109 | * overflow of sstrnlen now returns SIZE_MAX instead of zero | |
110 | * adds scstr_t - a const char* variant for sstr_t | |
111 | * renames utility compare functions | |
112 | ||
113 | Version 1.1 - 2018-05-14 | |
114 | ------------------------ | |
115 | ||
116 | * adds missing 32 bit support to integer overflow checks | |
117 | * adds ucx_buffer_to_sstr() macro | |
118 | * adds ucx_avl_free_content() | |
119 | * adds some more compare and distance functions in utils.h | |
120 | * adds SFMT() and PRIsstr convenience macros | |
121 | * destructor functions for *_free_content() functions are now optional | |
122 | ||
123 | Version 1.0.1 - 2018-01-21 | |
124 | -------------------------- | |
125 | ||
126 | * some bug fixes | |
127 | * adds integer overflow checks | |
128 | ||
129 | Version 1.0 - 2017-10-28 | |
130 | ------------------------ | |
131 | ||
132 | * first stable version of UCX released |