changelog
    
    
    - Tue, 11 Feb 2025 19:41:02 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 11 Feb 2025 19:41:02 +0100] rev 1185
 
    - use reallocate instead of re-allocate
 
    - Tue, 11 Feb 2025 19:37:53 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 11 Feb 2025 19:37:53 +0100] rev 1184
 
    - add another case to str_to_number tests
 
    - Tue, 11 Feb 2025 19:31:01 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 11 Feb 2025 19:31:01 +0100] rev 1183
 
    - fix test function having the wrong type
 
    - Mon, 10 Feb 2025 21:59:39 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 10 Feb 2025 21:59:39 +0100] rev 1182
 
    - update install instructions with instructions for windows DLL
relates to #451
relates to #582 
    - Mon, 10 Feb 2025 21:47:25 +0100
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Mon, 10 Feb 2025 21:47:25 +0100] rev 1181
 
    - fix some typos - issue #548
 
    - Mon, 10 Feb 2025 20:59:02 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 10 Feb 2025 20:59:02 +0100] rev 1180
 
    - add support for building windows DLLs - resolves #582
 
    - Mon, 10 Feb 2025 21:30:51 +0100
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Mon, 10 Feb 2025 21:30:51 +0100] rev 1179
 
    - fix test_json_escaped_unicode_strings when compiled with suncc
 
    - Mon, 10 Feb 2025 19:24:26 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 10 Feb 2025 19:24:26 +0100] rev 1178
 
    - change name of cxBasicMempoolCreate() to cxMempoolCreateSimple() - fixes #590
 
    - Mon, 10 Feb 2025 19:20:43 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 10 Feb 2025 19:20:43 +0100] rev 1177
 
    - fix unicode tests not working on all platforms
 
    - Mon, 10 Feb 2025 18:25:16 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 10 Feb 2025 18:25:16 +0100] rev 1176
 
    - remove cx_strupper() and cx_strlower() - fixes #591
 
    - Sun, 09 Feb 2025 22:06:00 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 09 Feb 2025 22:06:00 +0100] rev 1175
 
    - reorder the topics to make more sense when read from top to bottom
relates to #451 
    - Sun, 09 Feb 2025 22:03:52 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 09 Feb 2025 22:03:52 +0100] rev 1174
 
    - add missing documentation about what header to include
relates to #451 
    - Sun, 09 Feb 2025 22:02:13 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 09 Feb 2025 22:02:13 +0100] rev 1173
 
    - add sub-section intro texts to install.md
relates to #451 
    - Sun, 09 Feb 2025 22:00:17 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 09 Feb 2025 22:00:17 +0100] rev 1172
 
    - basic structure for printf documentation
relates to #451 
    - Sat, 08 Feb 2025 20:38:05 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 08 Feb 2025 20:38:05 +0100] rev 1171
 
    - adds documentation for destructor functions and collections
also invented some new macros for the collection.h
relates to #451 
    - Sat, 08 Feb 2025 14:24:22 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 08 Feb 2025 14:24:22 +0100] rev 1170
 
    - add Memory Management Section description
relates to #451 
    - Sat, 08 Feb 2025 14:13:59 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 08 Feb 2025 14:13:59 +0100] rev 1169
 
    - add documentation for allocator.h
relates to #451 
    - Fri, 07 Feb 2025 17:55:28 +0100
 
    - by Mike Becker <universe@uap-core.de> [Fri, 07 Feb 2025 17:55:28 +0100] rev 1168
 
    - add mempool documentation
relates to #451 
    - Thu, 06 Feb 2025 20:26:31 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 06 Feb 2025 20:26:31 +0100] rev 1167
 
    - add documentation for compare.h
relates to #451 
    - Thu, 06 Feb 2025 20:09:55 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 06 Feb 2025 20:09:55 +0100] rev 1166
 
    - write introduction for the Utilities Section
relates to #451 
    - Wed, 29 Jan 2025 23:58:17 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 29 Jan 2025 23:58:17 +0100] rev 1165
 
    - basic structur for the strings chapter
relates to #451 
    - Tue, 28 Jan 2025 18:31:17 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 28 Jan 2025 18:31:17 +0100] rev 1164
 
    - merge recent changes into docs branch
 
    - Tue, 28 Jan 2025 18:27:46 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 28 Jan 2025 18:27:46 +0100] rev 1163
 
    - optimize cx_arl_find_remove for sorted arrays - fixes #547
 
    - Mon, 27 Jan 2025 20:27:39 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 27 Jan 2025 20:27:39 +0100] rev 1162
 
    - remove dependency to ssize_t - fixes #552
 
    - Sun, 26 Jan 2025 14:37:07 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Jan 2025 14:37:07 +0100] rev 1161
 
    - improve cx_strchr()
 
    - Sun, 26 Jan 2025 14:23:13 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Jan 2025 14:23:13 +0100] rev 1160
 
    - simplify array access
 
    - Sun, 26 Jan 2025 14:15:21 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Jan 2025 14:15:21 +0100] rev 1159
 
    - fix wrong inequality
 
    - Sun, 26 Jan 2025 14:13:48 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Jan 2025 14:13:48 +0100] rev 1158
 
    - extract unescape_unicode_string() and fix rages
 
    - Sun, 26 Jan 2025 13:22:58 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Jan 2025 13:22:58 +0100] rev 1157
 
    - fix memory leaks
 
    - Sun, 26 Jan 2025 13:20:05 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Jan 2025 13:20:05 +0100] rev 1156
 
    - add test and implementation for malformed escape sequences
 
    - Sun, 26 Jan 2025 12:24:49 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Jan 2025 12:24:49 +0100] rev 1155
 
    - do not trim strings before conversion to number
 
    - Sun, 26 Jan 2025 11:59:16 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Jan 2025 11:59:16 +0100] rev 1154
 
    - add missing test coverage for escape sequences
 
    - Sun, 26 Jan 2025 11:28:50 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Jan 2025 11:28:50 +0100] rev 1153
 
    - put coverage report into a subdir
 
    - Sun, 26 Jan 2025 10:23:32 +0100
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Sun, 26 Jan 2025 10:23:32 +0100] rev 1152
 
    - implement decoder for utf16 surrogate pairs in unescape_string
 
    - Sat, 25 Jan 2025 16:27:48 +0100
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Sat, 25 Jan 2025 16:27:48 +0100] rev 1151
 
    - replace cx_strtou32_lc_ with cx_strtou32_lc in json.c
 
    - Sat, 25 Jan 2025 16:27:32 +0100
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Sat, 25 Jan 2025 16:27:32 +0100] rev 1150
 
    - fix incorrect str length comparision in unescape_string
 
    - Sat, 25 Jan 2025 16:13:28 +0100
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Sat, 25 Jan 2025 16:13:28 +0100] rev 1149
 
    - implement unicode escape sequences in json unescape_string function
 
    - Sat, 25 Jan 2025 15:22:01 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 25 Jan 2025 15:22:01 +0100] rev 1148
 
    - documentation of test.h
relates to #451 
    - Sat, 25 Jan 2025 14:05:35 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 25 Jan 2025 14:05:35 +0100] rev 1147
 
    - fix minor bugs in hash_key.h and streams.h docs
relates to #451 
    - Sat, 25 Jan 2025 13:44:24 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 25 Jan 2025 13:44:24 +0100] rev 1146
 
    - add marker to every incomplete page
relates to #451 
    - Sat, 25 Jan 2025 13:40:50 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 25 Jan 2025 13:40:50 +0100] rev 1145
 
    - add stream.h docs and reworks hash_key.h docs
relates to #451 
    - Fri, 24 Jan 2025 21:38:40 +0100
 
    - by Mike Becker <universe@uap-core.de> [Fri, 24 Jan 2025 21:38:40 +0100] rev 1144
 
    - documentation of hash_key.h
relates to #451 
    - Fri, 24 Jan 2025 21:12:09 +0100
 
    - by Mike Becker <universe@uap-core.de> [Fri, 24 Jan 2025 21:12:09 +0100] rev 1143
 
    - assign proper names to the documentation topics
relates to #451 
    - Thu, 23 Jan 2025 20:19:03 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 23 Jan 2025 20:19:03 +0100] rev 1142
 
    - add symbols that need documentation as TODOs
relates to #451 
    - Thu, 23 Jan 2025 01:33:36 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 23 Jan 2025 01:33:36 +0100] rev 1141
 
    - create new page structure
relates to #451 
    - Thu, 23 Jan 2025 01:15:52 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 23 Jan 2025 01:15:52 +0100] rev 1140
 
    - start overhauling the entire web documentation
relates to #451 
    - Wed, 22 Jan 2025 21:02:46 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 22 Jan 2025 21:02:46 +0100] rev 1139
 
    - remove token_escape bool from CxJson struct
 
    - Wed, 22 Jan 2025 20:36:10 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 22 Jan 2025 20:36:10 +0100] rev 1138
 
    - avoid recursion in cxBufferWrite() - fixes #567
 
    - Mon, 20 Jan 2025 22:50:24 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 20 Jan 2025 22:50:24 +0100] rev 1137
 
    - allocate first index buffer for strreplacen on the stack - fixes #575
 
    - Mon, 20 Jan 2025 22:43:46 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 20 Jan 2025 22:43:46 +0100] rev 1136
 
    - reduce default SBO memory for strstr - relates to #575
 
    - Sun, 19 Jan 2025 17:17:01 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 19 Jan 2025 17:17:01 +0100] rev 1135
 
    - add test case for flushing when target is full and fixes a bug related to that
fixes #564 
    - Sat, 18 Jan 2025 14:10:51 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 18 Jan 2025 14:10:51 +0100] rev 1134
 
    - fix that some IDEs cannot resolve documentation
the way we used macros was confusing the IDE
fixes #562 
    - Sat, 18 Jan 2025 14:07:52 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 18 Jan 2025 14:07:52 +0100] rev 1133
 
    - fix duplicate dependency
 
    - Sat, 18 Jan 2025 13:30:51 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 18 Jan 2025 13:30:51 +0100] rev 1132
 
    - remove uses of ctype.h - temporarily fixes #577
we are in desperate need of a good solution that also supports Unicode, though 
    - Fri, 17 Jan 2025 17:55:21 +0100
 
    - by Mike Becker <universe@uap-core.de> [Fri, 17 Jan 2025 17:55:21 +0100] rev 1131
 
    - fix cxBufferAppend() not adjusting position after flush
fixes #565 
    - Fri, 17 Jan 2025 17:41:29 +0100
 
    - by Mike Becker <universe@uap-core.de> [Fri, 17 Jan 2025 17:41:29 +0100] rev 1130
 
    - fix wrong accidental unicode escaping
 
    - Thu, 16 Jan 2025 18:56:44 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 16 Jan 2025 18:56:44 +0100] rev 1129
 
    - fix #566 by changing the spec (pro-move 8)
 
    - Thu, 16 Jan 2025 18:56:17 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 16 Jan 2025 18:56:17 +0100] rev 1128
 
    - fix stupid signature of the flush helper
 
    - Wed, 15 Jan 2025 19:42:49 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 15 Jan 2025 19:42:49 +0100] rev 1127
 
    - removes some unnecessary string functions - fixes #561
 
    - Wed, 15 Jan 2025 19:32:53 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 15 Jan 2025 19:32:53 +0100] rev 1126
 
    - fix mistake string test: CX_STR should be used for initializers only
 
    - Tue, 14 Jan 2025 21:40:29 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 14 Jan 2025 21:40:29 +0100] rev 1125
 
    - avoid unnecessary comparison
 
    - Sun, 12 Jan 2025 13:25:50 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 12 Jan 2025 13:25:50 +0100] rev 1124
 
    - fix wrong status of cxPropertiesLoad() when data is incomplete - fixes #560
 
    - Sun, 12 Jan 2025 13:04:32 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 12 Jan 2025 13:04:32 +0100] rev 1123
 
    - make escaping slashes optional - fixes #569
 
    - Sat, 11 Jan 2025 12:56:54 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 11 Jan 2025 12:56:54 +0100] rev 1122
 
    - add more escape sequences to unescape function
and change the name of token_start to more clearly express what it actually is
(the start of the currently parsed PART of the token) 
    - Sat, 11 Jan 2025 12:33:10 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 11 Jan 2025 12:33:10 +0100] rev 1121
 
    - minor cleanup of json.c
 
    - Fri, 10 Jan 2025 23:16:36 +0100
 
    - by Mike Becker <universe@uap-core.de> [Fri, 10 Jan 2025 23:16:36 +0100] rev 1120
 
    - remove unreachable assert(false) since some compilers might warn about it - relates to #541
 
    - Fri, 10 Jan 2025 23:11:08 +0100
 
    - by Mike Becker <universe@uap-core.de> [Fri, 10 Jan 2025 23:11:08 +0100] rev 1119
 
    - implement string escape - resolves #526
 
    - Fri, 10 Jan 2025 15:03:58 +0100
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Fri, 10 Jan 2025 15:03:58 +0100] rev 1118
 
    - fix build on Solaris 10 and other platforms, where ferror is a just a macro
 
    - Thu, 09 Jan 2025 22:37:10 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 09 Jan 2025 22:37:10 +0100] rev 1117
 
    - add fractional number formatting - relates to #526
 
    - Thu, 09 Jan 2025 21:19:52 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 09 Jan 2025 21:19:52 +0100] rev 1116
 
    - fix JSON create value functions not actually accepting NULL as allocator arg
 
    - Wed, 08 Jan 2025 20:06:37 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 08 Jan 2025 20:06:37 +0100] rev 1115
 
    - create specialized map iterators - fixes #550
 
    - Tue, 07 Jan 2025 19:16:03 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 07 Jan 2025 19:16:03 +0100] rev 1114
 
    - fix that overwriting a map element did not call any destructor function
fixes also, that two tests were never called and increases test coverage in general
fixes #558 
    - Tue, 07 Jan 2025 18:37:07 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 07 Jan 2025 18:37:07 +0100] rev 1113
 
    - remove CX_LINKED_LIST_SWAP_SBO_SIZE - fixes #551
 
    - Tue, 07 Jan 2025 00:12:46 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 07 Jan 2025 00:12:46 +0100] rev 1112
 
    - add convenience macros to avoid a fptr cast for cxBufferRead and cxBufferWrite
fixes #545 
    - Mon, 06 Jan 2025 23:29:41 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 06 Jan 2025 23:29:41 +0100] rev 1111
 
    - remove API for changing the store_pointer property after list creation
fixes #553 
    - Sun, 05 Jan 2025 18:19:42 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 05 Jan 2025 18:19:42 +0100] rev 1110
 
    - re-implement flushing
fixes #542 fixes #543 
    - Sun, 05 Jan 2025 14:03:30 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 05 Jan 2025 14:03:30 +0100] rev 1109
 
    - free functions should not be inline in release mode - relates to #541
 
    - Sun, 05 Jan 2025 13:54:09 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 05 Jan 2025 13:54:09 +0100] rev 1108
 
    - refine docs for tree.h - issue #548
and also remove cx_tree_node_layout() from public scope 
    - Sun, 05 Jan 2025 13:44:02 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 05 Jan 2025 13:44:02 +0100] rev 1107
 
    - refine docs for string.h - issue #548
 
    - Sun, 05 Jan 2025 13:19:56 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 05 Jan 2025 13:19:56 +0100] rev 1106
 
    - refine docs for properties.h - issue #548
 
    - 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