Mon, 03 Nov 2025 19:55:04 +0100
implements cxMapIntersection() and cxMapListIntersection() - resolves #555
| 
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 | 
| 1385 | 6 | * adds new key-value-based list implementation | 
| 
1401
 
a76249f50237
add changelog entries for issue #720
 
Mike Becker <universe@uap-core.de> 
parents: 
1391 
diff
changeset
 | 
7 | + adds support for integer keys to CxHashKey | 
| 
1426
 
3a89b31f0724
clean up header files and adds support for comparing arbitrary strings with string.h functions
 
Mike Becker <universe@uap-core.de> 
parents: 
1425 
diff
changeset
 | 
8 | * adds support for comparing arbitrary strings without explicit call to cx_strcast() | 
| 
1440
 
0d1430668271
add documentation for cxMapClone() - resolves #743
 
Mike Becker <universe@uap-core.de> 
parents: 
1436 
diff
changeset
 | 
9 | * adds cxListClone() and cxMapClone() | 
| 
1453
 
b6fc5b1d5c5d
add implementation for cxListDifference() - issue #745
 
Mike Becker <universe@uap-core.de> 
parents: 
1447 
diff
changeset
 | 
10 | * adds cxListDifference(), cxMapDifference(), and cxMapListDifference() | 
| 
1465
 
dc886f1a6155
specify the intersection functions
 
Mike Becker <universe@uap-core.de> 
parents: 
1464 
diff
changeset
 | 
11 | * adds cxListIntersection(), cxMapIntersection(), and cxMapListIntersection() | 
| 
1447
 
aaf85b3e9601
add documentation for cxMapDifference() and cxMapListDifference()
 
Mike Becker <universe@uap-core.de> 
parents: 
1440 
diff
changeset
 | 
12 | * adds cxListContains() and cxMapContains() | 
| 
1287
 
3a3ffc27813f
adds cxListSet() - resolves #642
 
Mike Becker <universe@uap-core.de> 
parents: 
1286 
diff
changeset
 | 
13 | * adds cxListSet() | 
| 
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
 | 
14 | * 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
 | 
15 | * 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
 | 
16 | and corresponding macro aliases cxListPopFront() and cxListPop() | 
| 
1433
 
81c301a59b7c
add cxListEmplaceArray() and cxListEmplaceArrayAt() as preparation for the clone implementation
 
Mike Becker <universe@uap-core.de> 
parents: 
1429 
diff
changeset
 | 
17 | * adds cxListEmplace(), cxListEmplaceAt(), cxListEmplaceArray(), cxListEmplaceArrayAt(), and cxMapEmplace() | 
| 
1419
 
e46406fd1b3c
add functions to insert elements into lists/arrays without duplicates - resolves #557
 
Mike Becker <universe@uap-core.de> 
parents: 
1401 
diff
changeset
 | 
18 | * adds cxListInsertUnique() and cxListInsertUniqueArray() | 
| 
 
e46406fd1b3c
add functions to insert elements into lists/arrays without duplicates - resolves #557
 
Mike Becker <universe@uap-core.de> 
parents: 
1401 
diff
changeset
 | 
19 | * adds cx_array_insert_unique() and various convenience macros | 
| 
 
e46406fd1b3c
add functions to insert elements into lists/arrays without duplicates - resolves #557
 
Mike Becker <universe@uap-core.de> 
parents: 
1401 
diff
changeset
 | 
20 | * adds cx_linked_list_insert_unique() and cx_linked_list_insert_unique_chain() | 
| 
1464
 
9a10af83cfab
add cxCollectionCompareFunc() macro
 
Mike Becker <universe@uap-core.de> 
parents: 
1453 
diff
changeset
 | 
21 | * adds cxCollectionCompareFunc() to conveniently set a compare function for a collection | 
| 
 
9a10af83cfab
add cxCollectionCompareFunc() macro
 
Mike Becker <universe@uap-core.de> 
parents: 
1453 
diff
changeset
 | 
22 | without needing to access the base struct manually | 
| 
1290
 
4ac889e14211
adds cxBufferShrink() - resolves #626
 
Mike Becker <universe@uap-core.de> 
parents: 
1288 
diff
changeset
 | 
23 | * adds cxBufferShrink() | 
| 
1295
 
b00c6ae1441a
add cxTreeSize() - resolves #624
 
Mike Becker <universe@uap-core.de> 
parents: 
1294 
diff
changeset
 | 
24 | * adds cxTreeSize() | 
| 
1297
 
0811fb9a8dba
bring back CX_PRIstr and CX_SFMT macros - resolves #612
 
Mike Becker <universe@uap-core.de> 
parents: 
1296 
diff
changeset
 | 
25 | * 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
 | 
26 | * adds cx_strcpy() and cx_strcpy_a() | 
| 
1338
 
cc153bffea28
add cxJsonObjRemove() #627
 
Mike Becker <universe@uap-core.de> 
parents: 
1337 
diff
changeset
 | 
27 | * adds cxJsonArrRemove() and cxJsonObjRemove() | 
| 
1318
 
12fa1d37fe48
allow changing the cxDefaultAllocator - resolves #669
 
Mike Becker <universe@uap-core.de> 
parents: 
1316 
diff
changeset
 | 
28 | * 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
 | 
29 | * improves performance of the CxList array list implementation | 
| 
1426
 
3a89b31f0724
clean up header files and adds support for comparing arbitrary strings with string.h functions
 
Mike Becker <universe@uap-core.de> 
parents: 
1425 
diff
changeset
 | 
30 | * changes over-aggressively declaring functions as static inline | 
| 
1334
 
7763892ed801
allow NULL for creating UCX strings - resolves #683
 
Mike Becker <universe@uap-core.de> 
parents: 
1332 
diff
changeset
 | 
31 | * changes cx_str() and cx_mutstr() to allow NULL strings | 
| 
1332
 
02946dc73e6a
add support for C-strings in cx_strcast() - resolves #549
 
Mike Becker <universe@uap-core.de> 
parents: 
1328 
diff
changeset
 | 
32 | * changes cx_strcast() to also accept C-strings as input | 
| 1391 | 33 | * changes grow strategy for the memory pool to reduce reallocations | 
| 
1291
 
5942859fd76c
new auto-extend strategy for CxBuffer - resolves #641
 
Mike Becker <universe@uap-core.de> 
parents: 
1290 
diff
changeset
 | 
34 | * 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
 | 
35 | * changes the implementation of cx_strreplacen() for improved efficiency | 
| 
1344
 
8afaeb395b3c
add support for NULL in map iterators
 
Mike Becker <universe@uap-core.de> 
parents: 
1341 
diff
changeset
 | 
36 | * changes all cxListIterator() and cxMapIterator() family of functions to also accept NULL as 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
 | 
37 | * changes insert_element member function of CxList to accept NULL source and return a pointer to the inserted element | 
| 
1422
 
8bfccb342895
changes the compare function wrapper for pointer lists so that it no longer invokes the actual compare function for NULL pointers
 
Mike Becker <universe@uap-core.de> 
parents: 
1419 
diff
changeset
 | 
38 | * changes the compare function wrapper for pointer lists so that it no longer invokes the actual compare function for NULL pointers | 
| 
1425
 
83284b289430
remove unnecessary members from the array reallocator struct - fixes #621
 
Mike Becker <universe@uap-core.de> 
parents: 
1422 
diff
changeset
 | 
39 | * changes struct cx_array_reallocator_s by replacing the four generic data members with two specifically named members | 
| 
1322
 
7be10b57f658
fix critical memory overflow in the stack-based array reallocator
 
Mike Becker <universe@uap-core.de> 
parents: 
1318 
diff
changeset
 | 
40 | * fixes critical memory overflow in the stack-based array reallocator (this unfortunately breaks the function signature) | 
| 
1419
 
e46406fd1b3c
add functions to insert elements into lists/arrays without duplicates - resolves #557
 
Mike Becker <universe@uap-core.de> 
parents: 
1401 
diff
changeset
 | 
41 | * fixes critical bug in cx_array_insert_sorted() that caused an infinite loop when inserting duplicates | 
| 
1328
 
2cf66dee40b8
stabilizes mempool implementation
 
Mike Becker <universe@uap-core.de> 
parents: 
1325 
diff
changeset
 | 
42 | * fixes mempool implementation not supporting NULL as argument for realloc | 
| 
 
2cf66dee40b8
stabilizes mempool implementation
 
Mike Becker <universe@uap-core.de> 
parents: 
1325 
diff
changeset
 | 
43 | * fixes mempool implementation not supporting zero as size for realloc | 
| 
1387
 
9bdd053820b7
the elem_count member of an iterator was not updated after removing an element flagged by cxIteratorFlagRemoval() - fixes #728
 
Mike Becker <universe@uap-core.de> 
parents: 
1385 
diff
changeset
 | 
44 | * fixes that the elem_count member of an iterator was not updated after removing an element flagged by cxIteratorFlagRemoval() | 
| 
1309
 
b240b73d2a10
fix that iteration continued with siblings for a subtree-root - fixes #656
 
Mike Becker <universe@uap-core.de> 
parents: 
1305 
diff
changeset
 | 
45 | * 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
 | 
46 | * 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
 | 
47 | * 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
 | 
48 | * 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
 | 
49 | * 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
 | 
50 | * 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
 | 
51 | * fixes that memory was freed by the wrong allocator in cx_vasprintf_a() when the underlying vsnprintf() failed | 
| 
1429
 
6e0c3a8a914a
remove the concept of "mutating iterators" - resolves #579
 
Mike Becker <universe@uap-core.de> 
parents: 
1426 
diff
changeset
 | 
52 | * removes all functions that create mutating iterators in favor of making all iterators possibly mutating | 
| 
1301
 
f81d8b4f40c4
fix code not compiling with GCC 15
 
Mike Becker <universe@uap-core.de> 
parents: 
1300 
diff
changeset
 | 
53 | * 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
 | 
54 | |
| 1187 | 55 | 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
 | 
56 | ------------------------ | 
| 
994
 
3603bdf4a78b
remove map detach function - fixes #487
 
Mike Becker <universe@uap-core.de> 
parents: 
993 
diff
changeset
 | 
57 | |
| 
928
 
d2d42cb1d59e
add source/sink facility for properties - fixes #430
 
Mike Becker <universe@uap-core.de> 
parents: 
920 
diff
changeset
 | 
58 | * adds properties.h | 
| 
817
 
949908c97474
add cx_array_default_reallocator
 
Mike Becker <universe@uap-core.de> 
parents: 
810 
diff
changeset
 | 
59 | * adds tree.h | 
| 
1027
 
b1373253e202
add CHANGELOG entry for issue #431
 
Mike Becker <universe@uap-core.de> 
parents: 
1025 
diff
changeset
 | 
60 | * adds json.h | 
| 
1061
 
c7d23892eab5
implement string to integer conversions
 
Mike Becker <universe@uap-core.de> 
parents: 
1050 
diff
changeset
 | 
61 | * 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
 | 
62 | * 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
 | 
63 | * 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
 | 
64 | * 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
 | 
65 | * adds cx_array_reallocator() and cx_array_default_reallocator | 
| 920 | 66 | * adds several new array and list functions | 
| 
761
 
61d5197d612b
add cxBufferReset() - resolves #338
 
Mike Becker <universe@uap-core.de> 
parents: 
760 
diff
changeset
 | 
67 | * adds cxBufferReset() | 
| 
1030
 
06091e067bee
add cxBufferAppend() - fixes #534
 
Mike Becker <universe@uap-core.de> 
parents: 
1028 
diff
changeset
 | 
68 | * adds cxBufferAppend() | 
| 1110 | 69 | * 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
 | 
70 | * 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
 | 
71 | * 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
 | 
72 | * adds cx_cmp_ptr() | 
| 
1062
 
8baed9b38bc6
add cx_vcmp_* family of functions
 
Mike Becker <universe@uap-core.de> 
parents: 
1061 
diff
changeset
 | 
73 | * adds cx_vcmp_* family of functions | 
| 
810
 
85859399a0cc
add cx_sprintf() variants - fixes #353
 
Mike Becker <universe@uap-core.de> 
parents: 
808 
diff
changeset
 | 
74 | * adds cx_sprintf() and several more variants | 
| 
808
 
f7f193893894
add missing CHANGELOG entries
 
Mike Becker <universe@uap-core.de> 
parents: 
786 
diff
changeset
 | 
75 | * 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
 | 
76 | * adds improved version of UCX 2 Test framework (now a self-contained header) | 
| 945 | 77 | * 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
 | 
78 | * 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
 | 
79 | * 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
 | 
80 | * 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
 | 
81 | 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
 | 
82 | * changes the name of destroy functions that actually free the memory to better indicate their behavior | 
| 1194 | 83 | * changes cx_strcat variants to allow handling of ENOMEM | 
| 84 | * changes cx_strcast() to also accept cxstring (and doing nothing in that case) | |
| 85 | * 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
 | 
86 | * 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
 | 
87 | * moves cx_szmul() to common.h | 
| 
 
cc204fc56c9c
rename utils.h to streams.h
 
Mike Becker <universe@uap-core.de> 
parents: 
970 
diff
changeset
 | 
88 | * 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
 | 
89 | * 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
 | 
90 | * 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
 | 
91 | * removes utils.h | 
| 
994
 
3603bdf4a78b
remove map detach function - fixes #487
 
Mike Becker <universe@uap-core.de> 
parents: 
993 
diff
changeset
 | 
92 | * removes flag_removal function from iterator | 
| 
 
3603bdf4a78b
remove map detach function - fixes #487
 
Mike Becker <universe@uap-core.de> 
parents: 
993 
diff
changeset
 | 
93 | * 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
 | 
94 | * 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
 | 
95 | * removes CMake | 
| 
 
ed710122af44
migrates self-test for testing allocator - relates to #342
 
Mike Becker <universe@uap-core.de> 
parents: 
764 
diff
changeset
 | 
96 | * removes GTest dependency | 
| 
808
 
f7f193893894
add missing CHANGELOG entries
 
Mike Becker <universe@uap-core.de> 
parents: 
786 
diff
changeset
 | 
97 | * 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
 | 
98 | * 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
 | 
99 | * 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
 | 
100 | * 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
 | 
101 | * fixes critical bug that produced wrong results when comparing lists of different type but same size | 
| 1187 | 102 | * 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
 | 
103 | |
| 
750
 
8a3336743c4e
update CHANGELOG, COPYING, and README
 
Mike Becker <universe@uap-core.de> 
parents: 
390 
diff
changeset
 | 
104 | Version 3.0 - 2023-07-09 | 
| 
 
8a3336743c4e
update CHANGELOG, COPYING, and README
 
Mike Becker <universe@uap-core.de> 
parents: 
390 
diff
changeset
 | 
105 | ------------------------ | 
| 
994
 
3603bdf4a78b
remove map detach function - fixes #487
 
Mike Becker <universe@uap-core.de> 
parents: 
993 
diff
changeset
 | 
106 | |
| 
750
 
8a3336743c4e
update CHANGELOG, COPYING, and README
 
Mike Becker <universe@uap-core.de> 
parents: 
390 
diff
changeset
 | 
107 | * complete redesign from scratch | 
| 
 
8a3336743c4e
update CHANGELOG, COPYING, and README
 
Mike Becker <universe@uap-core.de> 
parents: 
390 
diff
changeset
 | 
108 | * 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
 | 
109 | * collections are now dynamically implemented | 
| 
 
8a3336743c4e
update CHANGELOG, COPYING, and README
 
Mike Becker <universe@uap-core.de> 
parents: 
390 
diff
changeset
 | 
110 | * 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
 | 
111 | * 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
 | 
112 | * various fixes and improvements | 
| 
 
8a3336743c4e
update CHANGELOG, COPYING, and README
 
Mike Becker <universe@uap-core.de> 
parents: 
390 
diff
changeset
 | 
113 | * drops some other, rarely used, features | 
| 
 
8a3336743c4e
update CHANGELOG, COPYING, and README
 
Mike Becker <universe@uap-core.de> 
parents: 
390 
diff
changeset
 | 
114 | * removes testing implementation from the lib | 
| 
390
 
d345541018fa
starts ucx 3.0 development
 
Mike Becker <universe@uap-core.de> 
parents: 
381 
diff
changeset
 | 
115 | |
| 
 
d345541018fa
starts ucx 3.0 development
 
Mike Becker <universe@uap-core.de> 
parents: 
381 
diff
changeset
 | 
116 | |
| 381 | 117 | Version 2.1 - 2019-12-30 | 
| 118 | ------------------------ | |
| 119 | ||
| 120 | * adds string replace functions | |
| 121 | * adds set operations for UcxList and UcxMap | |
| 122 | * adds sstrcaseprefix() and sstrcasesuffix() | |
| 123 | * improves Doxygen documentation in ucx/string.h | |
| 124 | * adds UcxArray data type | |
| 125 | * adds support for CMake builds, but main build system is still autotools | |
| 126 | ||
| 127 | Version 2.0 - 2018-12-28 | |
| 128 | ------------------------ | |
| 129 | ||
| 130 | * some uncritical bug fixes | |
| 131 | * overflow of sstrnlen now returns SIZE_MAX instead of zero | |
| 132 | * adds scstr_t - a const char* variant for sstr_t | |
| 133 | * renames utility compare functions | |
| 134 | ||
| 135 | Version 1.1 - 2018-05-14 | |
| 136 | ------------------------ | |
| 137 | ||
| 138 | * adds missing 32 bit support to integer overflow checks | |
| 139 | * adds ucx_buffer_to_sstr() macro | |
| 140 | * adds ucx_avl_free_content() | |
| 141 | * adds some more compare and distance functions in utils.h | |
| 142 | * adds SFMT() and PRIsstr convenience macros | |
| 143 | * destructor functions for *_free_content() functions are now optional | |
| 144 | ||
| 145 | Version 1.0.1 - 2018-01-21 | |
| 146 | -------------------------- | |
| 147 | ||
| 148 | * some bug fixes | |
| 149 | * adds integer overflow checks | |
| 150 | ||
| 151 | Version 1.0 - 2017-10-28 | |
| 152 | ------------------------ | |
| 153 | ||
| 154 | * first stable version of UCX released |