changelog
    
    
    - Sun, 05 Jan 2025 13:02:51 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 05 Jan 2025 13:02:51 +0100] rev 1105
 
    - refine docs for printf.h - issue #548
 
    - Sun, 05 Jan 2025 12:59:01 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 05 Jan 2025 12:59:01 +0100] rev 1104
 
    - remove unused attributes
 
    - Sun, 05 Jan 2025 12:41:43 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 05 Jan 2025 12:41:43 +0100] rev 1103
 
    - refine docs for mempool.h - issue #548
 
    - Sun, 05 Jan 2025 12:40:43 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 05 Jan 2025 12:40:43 +0100] rev 1102
 
    - refine docs for map.h - issue #548
 
    - Sun, 05 Jan 2025 12:07:39 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 05 Jan 2025 12:07:39 +0100] rev 1101
 
    - refine docs for list.h - issue #548
 
    - Sun, 05 Jan 2025 11:51:11 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 05 Jan 2025 11:51:11 +0100] rev 1100
 
    - refine docs for linked_list.h - issue #548
 
    - Sat, 04 Jan 2025 18:44:11 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 04 Jan 2025 18:44:11 +0100] rev 1099
 
    - refine docs for streams.h - issue #548
 
    - Sat, 04 Jan 2025 18:40:29 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 04 Jan 2025 18:40:29 +0100] rev 1098
 
    - refine docs for test.h - issue #548
 
    - Sat, 04 Jan 2025 18:34:13 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 04 Jan 2025 18:34:13 +0100] rev 1097
 
    - refine docs for json.h - issue #548
 
    - Sat, 04 Jan 2025 18:02:08 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 04 Jan 2025 18:02:08 +0100] rev 1096
 
    - refine docs for iterator.h - issue #548
 
    - Sat, 04 Jan 2025 17:48:35 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 04 Jan 2025 17:48:35 +0100] rev 1095
 
    - refine docs for hash_map.h - issue #548
 
    - Sat, 04 Jan 2025 17:46:32 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 04 Jan 2025 17:46:32 +0100] rev 1094
 
    - refine docs for hash_key.h - issue #548
 
    - Sat, 04 Jan 2025 17:37:47 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 04 Jan 2025 17:37:47 +0100] rev 1093
 
    - refine docs for common.h - issue #548
 
    - Sat, 04 Jan 2025 16:10:53 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 04 Jan 2025 16:10:53 +0100] rev 1092
 
    - refine docs for compare.h - issue #548
 
    - Sat, 04 Jan 2025 16:02:20 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 04 Jan 2025 16:02:20 +0100] rev 1091
 
    - refine docs for collection.h - issue #548
 
    - Sat, 04 Jan 2025 15:41:02 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 04 Jan 2025 15:41:02 +0100] rev 1090
 
    - refine docs for buffer.h - issue #548
also fixes the ultra fail in the struct declaration 
    - Sat, 04 Jan 2025 14:19:11 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 04 Jan 2025 14:19:11 +0100] rev 1089
 
    - refine docs for array_list.h - issue #548
plus also allows NULL values for CxArrayReallocator* 
    - Sat, 04 Jan 2025 14:18:27 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 04 Jan 2025 14:18:27 +0100] rev 1088
 
    - do not mixup Doxygen command syntax
relates to #548 
    - Sat, 04 Jan 2025 14:17:51 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 04 Jan 2025 14:17:51 +0100] rev 1087
 
    - don't document constness of arguments in macros
relates to #548 
    - Sat, 04 Jan 2025 13:40:34 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 04 Jan 2025 13:40:34 +0100] rev 1086
 
    - refine docs for util_allocator.h - issue #548
 
    - Sat, 04 Jan 2025 13:34:37 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 04 Jan 2025 13:34:37 +0100] rev 1085
 
    - refine docs for allocator.h - issue #548
 
    - Sat, 04 Jan 2025 12:31:28 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 04 Jan 2025 12:31:28 +0100] rev 1084
 
    - change cx_array_reserve() and cx_array_copy() to accept width in bytes instead of bits
 
    - Sat, 04 Jan 2025 11:55:31 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 04 Jan 2025 11:55:31 +0100] rev 1083
 
    - fix typo in assert()
 
    - Fri, 03 Jan 2025 19:18:00 +0100
 
    - by Mike Becker <universe@uap-core.de> [Fri, 03 Jan 2025 19:18:00 +0100] rev 1082
 
    - implement index array to preserve order of json object members
relates to #526 and resolves #462 
    - Fri, 03 Jan 2025 17:16:49 +0100
 
    - by Mike Becker <universe@uap-core.de> [Fri, 03 Jan 2025 17:16:49 +0100] rev 1081
 
    - remove code duplication from writer tests - relates to #526
 
    - Fri, 03 Jan 2025 17:12:28 +0100
 
    - by Mike Becker <universe@uap-core.de> [Fri, 03 Jan 2025 17:12:28 +0100] rev 1080
 
    - add test case for pretty printing with tabs - relates to #526
 
    - Thu, 02 Jan 2025 21:00:11 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 02 Jan 2025 21:00:11 +0100] rev 1079
 
    - remove idea for an array wrapping feature - relates to #526
 
    - Thu, 02 Jan 2025 20:58:32 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 02 Jan 2025 20:58:32 +0100] rev 1078
 
    - implement JSON pretty printing - relates to #526
 
    - Thu, 02 Jan 2025 19:07:56 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 02 Jan 2025 19:07:56 +0100] rev 1077
 
    - add functions to create default JSON writers - relates to #526
 
    - Wed, 01 Jan 2025 16:06:32 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 01 Jan 2025 16:06:32 +0100] rev 1076
 
    - fix missing SSIZE_T not only for MSVC
 
    - Wed, 01 Jan 2025 15:56:02 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 01 Jan 2025 15:56:02 +0100] rev 1075
 
    - fix cxJsonDestroy() not freeing uncompleted object member names
 
    - Wed, 01 Jan 2025 15:50:57 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 01 Jan 2025 15:50:57 +0100] rev 1074
 
    - add missing new-line
 
    - Wed, 01 Jan 2025 15:48:48 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 01 Jan 2025 15:48:48 +0100] rev 1073
 
    - fix for ultrafail fix #546
 
    - Wed, 01 Jan 2025 15:33:41 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 01 Jan 2025 15:33:41 +0100] rev 1072
 
    - first mvp for the json writer - relates to #526
 
    - Wed, 01 Jan 2025 15:26:50 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 01 Jan 2025 15:26:50 +0100] rev 1071
 
    - fix cx_strcmp() and cx_strcasecmp() - fixes #546
 
    - Wed, 01 Jan 2025 14:03:49 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 01 Jan 2025 14:03:49 +0100] rev 1070
 
    - add array iterator over pointer arrays
 
    - Wed, 01 Jan 2025 13:31:38 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 01 Jan 2025 13:31:38 +0100] rev 1069
 
    - fix include guard for properties.h
 
    - Tue, 31 Dec 2024 12:41:01 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 31 Dec 2024 12:41:01 +0100] rev 1068
 
    - move the test execution for string_to_number back in line
 
    - Sun, 29 Dec 2024 18:03:21 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 29 Dec 2024 18:03:21 +0100] rev 1067
 
    - optimize cxJsonObjGet() part 1 - binary search
part 2 will be the index buffer to preserve the order
relates to #462 
    - Sun, 29 Dec 2024 17:45:56 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 29 Dec 2024 17:45:56 +0100] rev 1066
 
    - add missing convenience macros for sorted insert with array reallocator
 
    - Sun, 29 Dec 2024 16:56:13 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 29 Dec 2024 16:56:13 +0100] rev 1065
 
    - improve coverage metrics
 
    - Sun, 29 Dec 2024 15:24:20 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 29 Dec 2024 15:24:20 +0100] rev 1064
 
    - change coverage tool from gcov to gcovr
 
    - Sat, 28 Dec 2024 17:32:36 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 28 Dec 2024 17:32:36 +0100] rev 1063
 
    - implement floating point string to number conversions
The current implementation is not extremely precise. That is why
we are only testing against our own compare functions.
A future revision should increase the precision.
fixes #532 
    - Sat, 28 Dec 2024 17:31:28 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 28 Dec 2024 17:31:28 +0100] rev 1062
 
    - add cx_vcmp_* family of functions
fixes #538 
    - Sat, 28 Dec 2024 15:06:15 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 28 Dec 2024 15:06:15 +0100] rev 1061
 
    - implement string to integer conversions
relates to #532 
    - Fri, 27 Dec 2024 13:01:31 +0100
 
    - by Mike Becker <universe@uap-core.de> [Fri, 27 Dec 2024 13:01:31 +0100] rev 1060
 
    - avoid copying the filled data in the json parser when possible - fixes #530
 
    - Fri, 27 Dec 2024 12:23:14 +0100
 
    - by Mike Becker <universe@uap-core.de> [Fri, 27 Dec 2024 12:23:14 +0100] rev 1059
 
    - add references between both variants of the properties fill function
 
    - Fri, 27 Dec 2024 12:18:38 +0100
 
    - by Mike Becker <universe@uap-core.de> [Fri, 27 Dec 2024 12:18:38 +0100] rev 1058
 
    - downgrades the severity of the advice in cxPropertiesFilln() from attention to remark
 
    - Thu, 26 Dec 2024 20:33:06 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 26 Dec 2024 20:33:06 +0100] rev 1057
 
    - add tests for JSON create functions and fix a bug in cxJsonCreateCxString()
resolves issue #527 
    - Thu, 26 Dec 2024 19:26:37 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 26 Dec 2024 19:26:37 +0100] rev 1056
 
    - add documentation for json value creation API
issue #532 
    - Thu, 26 Dec 2024 18:32:05 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 26 Dec 2024 18:32:05 +0100] rev 1055
 
    - fix cxJsonObjPut() for existing keys
issue #532 
    - Wed, 25 Dec 2024 19:33:04 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 25 Dec 2024 19:33:04 +0100] rev 1054
 
    - add implementation for creating new json values
relates to #527 
    - Mon, 23 Dec 2024 18:32:25 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 23 Dec 2024 18:32:25 +0100] rev 1053
 
    - fix missing definition of SSIZE_MAX in windows
 
    - Mon, 23 Dec 2024 00:34:05 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 23 Dec 2024 00:34:05 +0100] rev 1052
 
    - add temporary implementations for string to number and first test cases
issue #532 
    - Mon, 23 Dec 2024 00:33:27 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 23 Dec 2024 00:33:27 +0100] rev 1051
 
    - fix another missing free() in json tests
 
    - Sun, 22 Dec 2024 23:10:07 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 22 Dec 2024 23:10:07 +0100] rev 1050
 
    - make cx_strcast() also support cxstring
also makes the solution for issue #536 a lot nicer 
    - Sun, 22 Dec 2024 22:53:53 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 22 Dec 2024 22:53:53 +0100] rev 1049
 
    - fix cx_hash_key_cxstr() being a macro
issue #536 
    - Sun, 22 Dec 2024 22:14:57 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 22 Dec 2024 22:14:57 +0100] rev 1048
 
    - implement all string to number conversions that are just wrappers
issue #532 
    - Sun, 22 Dec 2024 22:10:04 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 22 Dec 2024 22:10:04 +0100] rev 1047
 
    - don't trust that size_t always has word width
it should be the case on all platforms supported by UCX, but it's not strictly defined in POSIX that it must be the case 
    - Sun, 22 Dec 2024 21:57:53 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 22 Dec 2024 21:57:53 +0100] rev 1046
 
    - fix datatype in long long variants
issue #532 
    - Sun, 22 Dec 2024 21:42:16 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 22 Dec 2024 21:42:16 +0100] rev 1045
 
    - add attributes to string to number conversion functions
issue #532 
    - Sun, 22 Dec 2024 21:33:10 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 22 Dec 2024 21:33:10 +0100] rev 1044
 
    - add documentation for string to number conversion functions
issue #532 
    - Sun, 22 Dec 2024 11:34:05 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 22 Dec 2024 11:34:05 +0100] rev 1043
 
    - add function prototypes and macros for string conversion function
issue #532 
    - Sun, 22 Dec 2024 11:14:05 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 22 Dec 2024 11:14:05 +0100] rev 1042
 
    - add missing libc string.h include