Tue, 15 Apr 2025 22:16:05 +0200
fixes unnecessary allocations in cx_strcat() family of functions
fixes #604
| 1280 
60123b3db06e
start development of UCX 3.2
 Mike Becker <universe@uap-core.de> parents: 
1194diff
changeset | 1 | Version 3.2 - tbd | 
| 
60123b3db06e
start development of UCX 3.2
 Mike Becker <universe@uap-core.de> parents: 
1194diff
changeset | 2 | ------------------------ | 
| 
60123b3db06e
start development of UCX 3.2
 Mike Becker <universe@uap-core.de> parents: 
1194diff
changeset | 3 | |
| 1283 
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
 Mike Becker <universe@uap-core.de> parents: 
1281diff
changeset | 4 | * adds cxMempoolTransfer() and cxMempoolTransferObject() | 
| 1287 
3a3ffc27813f
adds cxListSet() - resolves #642
 Mike Becker <universe@uap-core.de> parents: 
1286diff
changeset | 5 | * adds cxListSet() | 
| 1294 
30d7ae76c76a
add test and documentation for cxListContains() - fixes #643
 Mike Becker <universe@uap-core.de> parents: 
1291diff
changeset | 6 | * adds cxListContains() | 
| 1290 
4ac889e14211
adds cxBufferShrink() - resolves #626
 Mike Becker <universe@uap-core.de> parents: 
1288diff
changeset | 7 | * adds cxBufferShrink() | 
| 1295 
b00c6ae1441a
add cxTreeSize() - resolves #624
 Mike Becker <universe@uap-core.de> parents: 
1294diff
changeset | 8 | * adds cxTreeSize() | 
| 1281 
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
 Mike Becker <universe@uap-core.de> parents: 
1280diff
changeset | 9 | * 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: 
1290diff
changeset | 10 | * changes grow strategy for CxBuffer, which does now take the page size into account | 
| 1296 
2a2403c63439
fixes unnecessary allocations in cx_strcat() family of functions
 Mike Becker <universe@uap-core.de> parents: 
1295diff
changeset | 11 | * 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: 
1287diff
changeset | 12 | * 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: 
1283diff
changeset | 13 | * 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: 
1284diff
changeset | 14 | * 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: 
1285diff
changeset | 15 | * fixes that cx_tree_search() did not investigate subtrees with equally good distance | 
| 1280 
60123b3db06e
start development of UCX 3.2
 Mike Becker <universe@uap-core.de> parents: 
1194diff
changeset | 16 | |
| 1187 | 17 | Version 3.1 - 2025-02-11 | 
| 758 
6cd62ce7e353
fix #318 - incorrect link to ucx 3 docs
 Mike Becker <universe@uap-core.de> parents: 
750diff
changeset | 18 | ------------------------ | 
| 994 
3603bdf4a78b
remove map detach function - fixes #487
 Mike Becker <universe@uap-core.de> parents: 
993diff
changeset | 19 | |
| 928 
d2d42cb1d59e
add source/sink facility for properties - fixes #430
 Mike Becker <universe@uap-core.de> parents: 
920diff
changeset | 20 | * adds properties.h | 
| 817 
949908c97474
add cx_array_default_reallocator
 Mike Becker <universe@uap-core.de> parents: 
810diff
changeset | 21 | * adds tree.h | 
| 1027 
b1373253e202
add CHANGELOG entry for issue #431
 Mike Becker <universe@uap-core.de> parents: 
1025diff
changeset | 22 | * adds json.h | 
| 1061 
c7d23892eab5
implement string to integer conversions
 Mike Becker <universe@uap-core.de> parents: 
1050diff
changeset | 23 | * adds locale-independent string to number conversion functions | 
| 963 
2f601274bbac
add reallocarray() like functions - resolves #468
 Mike Becker <universe@uap-core.de> parents: 
953diff
changeset | 24 | * adds reallocarray() like functions to allocator.h | 
| 850 
b2bc48c2b251
add iterator over raw C arrays - closes #389
 Mike Becker <universe@uap-core.de> parents: 
834diff
changeset | 25 | * adds cxIterator() to create iterators over raw C arrays | 
| 1070 
0a5a356a4486
add array iterator over pointer arrays
 Mike Becker <universe@uap-core.de> parents: 
1062diff
changeset | 26 | * 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: 
945diff
changeset | 27 | * adds cx_array_reallocator() and cx_array_default_reallocator | 
| 920 | 28 | * adds several new array and list functions | 
| 761 
61d5197d612b
add cxBufferReset() - resolves #338
 Mike Becker <universe@uap-core.de> parents: 
760diff
changeset | 29 | * adds cxBufferReset() | 
| 1030 
06091e067bee
add cxBufferAppend() - fixes #534
 Mike Becker <universe@uap-core.de> parents: 
1028diff
changeset | 30 | * adds cxBufferAppend() | 
| 1110 | 31 | * adds cxBufferEnableFlushing() and cxBufferFlush() | 
| 1028 
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
 Mike Becker <universe@uap-core.de> parents: 
1027diff
changeset | 32 | * 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: 
1111diff
changeset | 33 | * adds cxBufferWriteFunc and cxBufferReadFunc function pointers (for convenience) | 
| 762 
4523f6d42512
add cx_cmp_ptr() - fix #340
 Mike Becker <universe@uap-core.de> parents: 
761diff
changeset | 34 | * adds cx_cmp_ptr() | 
| 1062 
8baed9b38bc6
add cx_vcmp_* family of functions
 Mike Becker <universe@uap-core.de> parents: 
1061diff
changeset | 35 | * adds cx_vcmp_* family of functions | 
| 810 
85859399a0cc
add cx_sprintf() variants - fixes #353
 Mike Becker <universe@uap-core.de> parents: 
808diff
changeset | 36 | * adds cx_sprintf() and several more variants | 
| 808 
f7f193893894
add missing CHANGELOG entries
 Mike Becker <universe@uap-core.de> parents: 
786diff
changeset | 37 | * 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: 
764diff
changeset | 38 | * adds improved version of UCX 2 Test framework (now a self-contained header) | 
| 945 | 39 | * adds cx_nmemb() utility function to common.h | 
| 1115 
6db21dee4929
create specialized map iterators - fixes #550
 Mike Becker <universe@uap-core.de> parents: 
1113diff
changeset | 40 | * 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: 
1176diff
changeset | 41 | * changes name of cxBasicMempoolCreate() to cxMempoolCreateSimple() | 
| 989 
8aa57a7fecc4
improve consistency for allocator arguments - fixes #485
 Mike Becker <universe@uap-core.de> parents: 
971diff
changeset | 42 | * 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: 
971diff
changeset | 43 | 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: 
989diff
changeset | 44 | * changes the name of destroy functions that actually free the memory to better indicate their behavior | 
| 1194 | 45 | * changes cx_strcat variants to allow handling of ENOMEM | 
| 46 | * changes cx_strcast() to also accept cxstring (and doing nothing in that case) | |
| 47 | * 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: 
970diff
changeset | 48 | * moves cx_compare_func typedef to compare.h | 
| 
cc204fc56c9c
rename utils.h to streams.h
 Mike Becker <universe@uap-core.de> parents: 
970diff
changeset | 49 | * moves cx_szmul() to common.h | 
| 
cc204fc56c9c
rename utils.h to streams.h
 Mike Becker <universe@uap-core.de> parents: 
970diff
changeset | 50 | * 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: 
1127diff
changeset | 51 | * 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: 
1115diff
changeset | 52 | * 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: 
970diff
changeset | 53 | * removes utils.h | 
| 994 
3603bdf4a78b
remove map detach function - fixes #487
 Mike Becker <universe@uap-core.de> parents: 
993diff
changeset | 54 | * removes flag_removal function from iterator | 
| 
3603bdf4a78b
remove map detach function - fixes #487
 Mike Becker <universe@uap-core.de> parents: 
993diff
changeset | 55 | * 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: 
1110diff
changeset | 56 | * 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: 
764diff
changeset | 57 | * removes CMake | 
| 
ed710122af44
migrates self-test for testing allocator - relates to #342
 Mike Becker <universe@uap-core.de> parents: 
764diff
changeset | 58 | * removes GTest dependency | 
| 808 
f7f193893894
add missing CHANGELOG entries
 Mike Becker <universe@uap-core.de> parents: 
786diff
changeset | 59 | * 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: 
1112diff
changeset | 60 | * 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: 
1070diff
changeset | 61 | * 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: 
1049diff
changeset | 62 | * fixes cx_hash_key_cxstr() evaluating the argument twice | 
| 971 
cc204fc56c9c
rename utils.h to streams.h
 Mike Becker <universe@uap-core.de> parents: 
970diff
changeset | 63 | * fixes critical bug that produced wrong results when comparing lists of different type but same size | 
| 1187 | 64 | * ends UCX 2.1 long term support | 
| 758 
6cd62ce7e353
fix #318 - incorrect link to ucx 3 docs
 Mike Becker <universe@uap-core.de> parents: 
750diff
changeset | 65 | |
| 750 
8a3336743c4e
update CHANGELOG, COPYING, and README
 Mike Becker <universe@uap-core.de> parents: 
390diff
changeset | 66 | Version 3.0 - 2023-07-09 | 
| 
8a3336743c4e
update CHANGELOG, COPYING, and README
 Mike Becker <universe@uap-core.de> parents: 
390diff
changeset | 67 | ------------------------ | 
| 994 
3603bdf4a78b
remove map detach function - fixes #487
 Mike Becker <universe@uap-core.de> parents: 
993diff
changeset | 68 | |
| 750 
8a3336743c4e
update CHANGELOG, COPYING, and README
 Mike Becker <universe@uap-core.de> parents: 
390diff
changeset | 69 | * complete redesign from scratch | 
| 
8a3336743c4e
update CHANGELOG, COPYING, and README
 Mike Becker <universe@uap-core.de> parents: 
390diff
changeset | 70 | * collections can now store copies of objects and not just pointers | 
| 
8a3336743c4e
update CHANGELOG, COPYING, and README
 Mike Becker <universe@uap-core.de> parents: 
390diff
changeset | 71 | * collections are now dynamically implemented | 
| 
8a3336743c4e
update CHANGELOG, COPYING, and README
 Mike Becker <universe@uap-core.de> parents: 
390diff
changeset | 72 | * 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: 
390diff
changeset | 73 | * 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: 
390diff
changeset | 74 | * various fixes and improvements | 
| 
8a3336743c4e
update CHANGELOG, COPYING, and README
 Mike Becker <universe@uap-core.de> parents: 
390diff
changeset | 75 | * drops some other, rarely used, features | 
| 
8a3336743c4e
update CHANGELOG, COPYING, and README
 Mike Becker <universe@uap-core.de> parents: 
390diff
changeset | 76 | * removes testing implementation from the lib | 
| 390 
d345541018fa
starts ucx 3.0 development
 Mike Becker <universe@uap-core.de> parents: 
381diff
changeset | 77 | |
| 
d345541018fa
starts ucx 3.0 development
 Mike Becker <universe@uap-core.de> parents: 
381diff
changeset | 78 | |
| 381 | 79 | Version 2.1 - 2019-12-30 | 
| 80 | ------------------------ | |
| 81 | ||
| 82 | * adds string replace functions | |
| 83 | * adds set operations for UcxList and UcxMap | |
| 84 | * adds sstrcaseprefix() and sstrcasesuffix() | |
| 85 | * improves Doxygen documentation in ucx/string.h | |
| 86 | * adds UcxArray data type | |
| 87 | * adds support for CMake builds, but main build system is still autotools | |
| 88 | ||
| 89 | Version 2.0 - 2018-12-28 | |
| 90 | ------------------------ | |
| 91 | ||
| 92 | * some uncritical bug fixes | |
| 93 | * overflow of sstrnlen now returns SIZE_MAX instead of zero | |
| 94 | * adds scstr_t - a const char* variant for sstr_t | |
| 95 | * renames utility compare functions | |
| 96 | ||
| 97 | Version 1.1 - 2018-05-14 | |
| 98 | ------------------------ | |
| 99 | ||
| 100 | * adds missing 32 bit support to integer overflow checks | |
| 101 | * adds ucx_buffer_to_sstr() macro | |
| 102 | * adds ucx_avl_free_content() | |
| 103 | * adds some more compare and distance functions in utils.h | |
| 104 | * adds SFMT() and PRIsstr convenience macros | |
| 105 | * destructor functions for *_free_content() functions are now optional | |
| 106 | ||
| 107 | Version 1.0.1 - 2018-01-21 | |
| 108 | -------------------------- | |
| 109 | ||
| 110 | * some bug fixes | |
| 111 | * adds integer overflow checks | |
| 112 | ||
| 113 | Version 1.0 - 2017-10-28 | |
| 114 | ------------------------ | |
| 115 | ||
| 116 | * first stable version of UCX released |