changelog
    
    
    - Tue, 17 Sep 2024 23:19:03 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 17 Sep 2024 23:19:03 +0200] rev 885
 
    - fixes incorrect result from cx_array_binary_search() when searched element is smaller than the entire array
relates to #424 
    - Tue, 17 Sep 2024 23:11:17 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 17 Sep 2024 23:11:17 +0200] rev 884
 
    - add cx_array_binary_search() - fixes #424
 
    - Tue, 17 Sep 2024 19:38:41 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 17 Sep 2024 19:38:41 +0200] rev 883
 
    - add low level cx_array_insert_sorted() and convenience macros
relates to #416 
    - Tue, 17 Sep 2024 19:08:22 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 17 Sep 2024 19:08:22 +0200] rev 882
 
    - add missing documentation for cx_list_default_swap() return value
 
    - Mon, 16 Sep 2024 19:52:17 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 16 Sep 2024 19:52:17 +0200] rev 881
 
    - add optimized implementation of insert_sorted for array lists
relates to #416 
    - Mon, 09 Sep 2024 21:54:22 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 09 Sep 2024 21:54:22 +0200] rev 880
 
    - fix cx_ll_insert_sorted_cmp_func not being thread local
relates to #415 
    - Mon, 09 Sep 2024 21:34:39 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 09 Sep 2024 21:34:39 +0200] rev 879
 
    - implement optimized sorted insert for linked lists - resolves #415
 
    - Mon, 09 Sep 2024 19:00:47 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 09 Sep 2024 19:00:47 +0200] rev 878
 
    - fix typo in documentation
 
    - Sun, 01 Sep 2024 16:14:34 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 01 Sep 2024 16:14:34 +0200] rev 877
 
    - optimize default insert_sorted implementation
resolves #418 
    - Sun, 01 Sep 2024 14:48:43 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 01 Sep 2024 14:48:43 +0200] rev 876
 
    - add stupid default implementation for high level insertion sort
relates to #418 
    - Thu, 29 Aug 2024 21:30:52 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 29 Aug 2024 21:30:52 +0200] rev 875
 
    - add default impl for some list member functions
resolves #419 
    - Thu, 29 Aug 2024 20:48:15 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 29 Aug 2024 20:48:15 +0200] rev 874
 
    - fix inserting via iterator correctly increases element count
fixes #423 
    - Tue, 20 Aug 2024 18:04:31 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 20 Aug 2024 18:04:31 +0200] rev 873
 
    - close feature branch
 
    - Tue, 20 Aug 2024 18:02:39 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 20 Aug 2024 18:02:39 +0200] rev 872
 
    - merge feature/tree_add branch
relates to #390 
    - Tue, 20 Aug 2024 18:01:03 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 20 Aug 2024 18:01:03 +0200] rev 871
 
    - rework cx_tree_add() API to allow insertion of edge nodes
closes #390 
    - Tue, 20 Aug 2024 13:53:18 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 20 Aug 2024 13:53:18 +0200] rev 870
 
    - remove condition that is always false after recent fix
 
    - Tue, 20 Aug 2024 13:36:56 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 20 Aug 2024 13:36:56 +0200] rev 869
 
    - fix cx_tree_search() not remembering root as a valid candidate
 
    - Tue, 20 Aug 2024 12:39:35 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 20 Aug 2024 12:39:35 +0200] rev 868
 
    - cx_tree_add_iter() - optimize check for empty trees
relates to #390 
    - Tue, 20 Aug 2024 11:02:54 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 20 Aug 2024 11:02:54 +0200] rev 867
 
    - cx_tree_add() fix missing spec for adding duplicates
relates to #390 
    - Mon, 19 Aug 2024 20:46:36 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 19 Aug 2024 20:46:36 +0200] rev 866
 
    - complete cx_tree_add() implementations
resolves #390 - but we still need more test coverage 
    - Mon, 19 Aug 2024 18:46:49 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 19 Aug 2024 18:46:49 +0200] rev 865
 
    - fix return type of cx_tree_node_create_func
relates to #390 
    - Sun, 18 Aug 2024 11:26:34 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 18 Aug 2024 11:26:34 +0200] rev 864
 
    - complete specification for tree_add functions
relates to #390 
    - Sat, 17 Aug 2024 11:14:39 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 17 Aug 2024 11:14:39 +0200] rev 863
 
    - merge changes from default branch
 
    - Sun, 07 Jul 2024 14:56:44 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 07 Jul 2024 14:56:44 +0200] rev 862
 
    - change cx_tree_link() from prepending to appending children - fixes #391
 
    - Sun, 07 Jul 2024 14:20:28 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 07 Jul 2024 14:20:28 +0200] rev 861
 
    - fix mixed up arguments for calloc()
 
    - Sun, 07 Jul 2024 12:21:58 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 07 Jul 2024 12:21:58 +0200] rev 860
 
    - add prototypes for cx_tree_add() family of functions
relates to #390 
    - Wed, 03 Jul 2024 22:07:42 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 03 Jul 2024 22:07:42 +0200] rev 859
 
    - minor doc fixes
 
    - Sat, 08 Jun 2024 20:08:09 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 08 Jun 2024 20:08:09 +0200] rev 858
 
    - add cxIteratorRef() macro
 
    - Thu, 23 May 2024 22:06:32 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 23 May 2024 22:06:32 +0200] rev 857
 
    - add missing convenience functions
 
    - Thu, 23 May 2024 20:43:04 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 23 May 2024 20:43:04 +0200] rev 856
 
    - fix name of collection base member (to avoid base.base)
 
    - Thu, 23 May 2024 20:31:37 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 23 May 2024 20:31:37 +0200] rev 855
 
    - fix inconsistent use of item_size and elem_size
 
    - Thu, 23 May 2024 20:29:28 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 23 May 2024 20:29:28 +0200] rev 854
 
    - fix members inherited by macro or include are not documented
 
    - Thu, 23 May 2024 19:29:14 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 23 May 2024 19:29:14 +0200] rev 853
 
    - simplify iterator structures
 
    - Thu, 23 May 2024 18:21:36 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 23 May 2024 18:21:36 +0200] rev 852
 
    - fix documentation
relates to #389 
    - Thu, 23 May 2024 18:21:08 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 23 May 2024 18:21:08 +0200] rev 851
 
    - issue #389 : add separate function for immutable arrays
 
    - Thu, 23 May 2024 15:05:24 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 23 May 2024 15:05:24 +0200] rev 850
 
    - add iterator over raw C arrays - closes #389
 
    - Fri, 12 Apr 2024 21:48:12 +0200
 
    - by Mike Becker <universe@uap-core.de> [Fri, 12 Apr 2024 21:48:12 +0200] rev 849
 
    - improves interface of cx_sprintf() variants
 
    - Wed, 03 Apr 2024 21:22:23 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 03 Apr 2024 21:22:23 +0200] rev 848
 
    - implement tree continue - fixes #376
 
    - Wed, 20 Mar 2024 23:35:32 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 20 Mar 2024 23:35:32 +0100] rev 847
 
    - add missing cxTreeVisitorDispose() test
 
    - Wed, 20 Mar 2024 23:35:18 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 20 Mar 2024 23:35:18 +0100] rev 846
 
    - add missing header dependencies
 
    - Wed, 20 Mar 2024 23:31:41 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 20 Mar 2024 23:31:41 +0100] rev 845
 
    - add cx_tree_visitor()
 
    - Thu, 14 Mar 2024 22:07:19 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 14 Mar 2024 22:07:19 +0100] rev 844
 
    - fix another superfluous semicolon...
 
    - Thu, 14 Mar 2024 22:05:20 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 14 Mar 2024 22:05:20 +0100] rev 843
 
    - fix superfluous semicolon
 
    - Mon, 04 Mar 2024 09:06:15 +0100
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Mon, 04 Mar 2024 09:06:15 +0100] rev 842
 
    - add -lm to ldflags on Solaris
 
    - Mon, 04 Mar 2024 08:57:26 +0100
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Mon, 04 Mar 2024 08:57:26 +0100] rev 841
 
    - fix build in case CX_SZMUL_BUILTIN is undefined
 
    - Mon, 26 Feb 2024 21:07:23 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 26 Feb 2024 21:07:23 +0100] rev 840
 
    - allow freeing tree nodes on exit - fixes #377
 
    - Wed, 21 Feb 2024 18:53:55 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 21 Feb 2024 18:53:55 +0100] rev 839
 
    - add xml test case for the tree iterator
closes #371 
    - Wed, 21 Feb 2024 18:32:38 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 21 Feb 2024 18:32:38 +0100] rev 838
 
    - add visit_on_exit to iterator implementation
relates to #371 
    - Mon, 19 Feb 2024 22:12:13 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 19 Feb 2024 22:12:13 +0100] rev 837
 
    - add depth assertion to basic tree iterator test
 
    - Mon, 19 Feb 2024 22:09:16 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 19 Feb 2024 22:09:16 +0100] rev 836
 
    - implement basic (enter only) tree iterator
relates to #371 
    - Mon, 19 Feb 2024 22:08:09 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 19 Feb 2024 22:08:09 +0100] rev 835
 
    - set tree iterator stack pointer to NULL on dispose to avoid accidental double-frees
 
    - Sun, 18 Feb 2024 21:12:28 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 18 Feb 2024 21:12:28 +0100] rev 834
 
    - capitalize cx_array_declare()
 
    - Sun, 18 Feb 2024 13:38:42 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 18 Feb 2024 13:38:42 +0100] rev 833
 
    - vastly simplify tree iterators and add test for creating them
relates to #371 
    - Sun, 18 Feb 2024 13:16:38 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 18 Feb 2024 13:16:38 +0100] rev 832
 
    - make cx_array_simple_add() automatically take the address of the element
 
    - Sun, 18 Feb 2024 13:01:09 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 18 Feb 2024 13:01:09 +0100] rev 831
 
    - add convenience macros for cx_array_*
 
    - Sun, 18 Feb 2024 12:24:04 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 18 Feb 2024 12:24:04 +0100] rev 830
 
    - commit complicated stuff before simplifying it
relates to #371 
    - Sat, 17 Feb 2024 20:51:27 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 17 Feb 2024 20:51:27 +0100] rev 829
 
    - remove unnecessary flag_removal function
 
    - Sat, 17 Feb 2024 20:22:13 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 17 Feb 2024 20:22:13 +0100] rev 828
 
    - improve tree iterator struct and add signature for a function that can create an iterator
relates to #371 
    - Fri, 16 Feb 2024 20:23:48 +0100
 
    - by Mike Becker <universe@uap-core.de> [Fri, 16 Feb 2024 20:23:48 +0100] rev 827
 
    - first draft of a tree iterator
see issue #371 
    - Thu, 15 Feb 2024 21:54:43 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 15 Feb 2024 21:54:43 +0100] rev 826
 
    - add cx_tree_search() - relates to #165
 
    - Wed, 14 Feb 2024 22:32:13 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 14 Feb 2024 22:32:13 +0100] rev 825
 
    - be honest at least in the lib version
 
    - Wed, 14 Feb 2024 22:12:35 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 14 Feb 2024 22:12:35 +0100] rev 824
 
    - fix missing typedef
 
    - Wed, 14 Feb 2024 21:43:32 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 14 Feb 2024 21:43:32 +0100] rev 823
 
    - declare cx_tree_search_func function pointer
 
    - Wed, 14 Feb 2024 21:31:38 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 14 Feb 2024 21:31:38 +0100] rev 822
 
    - add code documentation for tree functions
 
    - Wed, 14 Feb 2024 21:27:12 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 14 Feb 2024 21:27:12 +0100] rev 821
 
    - update uwproj configure template
 
    - Fri, 26 Jan 2024 19:17:46 +0100
 
    - by Mike Becker <universe@uap-core.de> [Fri, 26 Jan 2024 19:17:46 +0100] rev 820
 
    - remove check that is always true in cx_arl_remove()
 
    - Thu, 25 Jan 2024 22:05:48 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 25 Jan 2024 22:05:48 +0100] rev 819
 
    - rename cx_array_copy_result to just cx_array_result
 
    - Thu, 25 Jan 2024 22:01:12 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 25 Jan 2024 22:01:12 +0100] rev 818
 
    - add cx_array_add() + fix type of cx_array_default_reallocator
 
    - Wed, 24 Jan 2024 22:19:05 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 24 Jan 2024 22:19:05 +0100] rev 817
 
    - add cx_array_default_reallocator
 
    - Mon, 22 Jan 2024 19:34:38 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 22 Jan 2024 19:34:38 +0100] rev 816
 
    - add first basic low level tree functions
relates to #165 tested by issue #167 
    - Sat, 20 Jan 2024 16:02:04 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 20 Jan 2024 16:02:04 +0100] rev 815
 
    - update uwproj and check toolchain dependency for coverage flags - fixes #345
 
    - Wed, 17 Jan 2024 21:01:50 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 17 Jan 2024 21:01:50 +0100] rev 814
 
    - fix using warning options with compilers which do not support them - fixes #363
 
    - Tue, 16 Jan 2024 23:43:27 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 16 Jan 2024 23:43:27 +0100] rev 813
 
    - improve program flow - relates to #353
 
    - Tue, 16 Jan 2024 23:16:15 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 16 Jan 2024 23:16:15 +0100] rev 812
 
    - fix unnecessary printf retry when printed string is empty
 
    - Tue, 16 Jan 2024 23:15:36 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 16 Jan 2024 23:15:36 +0100] rev 811
 
    - fix missing va_end() calls
 
    - Tue, 16 Jan 2024 23:13:01 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 16 Jan 2024 23:13:01 +0100] rev 810
 
    - add cx_sprintf() variants - fixes #353
 
    - Tue, 16 Jan 2024 23:12:43 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 16 Jan 2024 23:12:43 +0100] rev 809
 
    - fix assertion failure depending on possibly uninitialized memory
 
    - Tue, 16 Jan 2024 21:34:21 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 16 Jan 2024 21:34:21 +0100] rev 808
 
    - add missing CHANGELOG entries
 
    - Mon, 15 Jan 2024 20:59:18 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 15 Jan 2024 20:59:18 +0100] rev 807
 
    - remove flags to disable SBO in tests - fix #343 fix #358
 
    - Sun, 14 Jan 2024 13:50:17 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 14 Jan 2024 13:50:17 +0100] rev 806
 
    - add constant for reading out strstr sbo size - relates to #343
also fixes the related test which was working with the old SBO size of 256 and was broken after increasing it to 512 
    - Sun, 14 Jan 2024 13:13:12 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 14 Jan 2024 13:13:12 +0100] rev 805
 
    - add constant for reading out printf sbo size - relates to #343
 
    - Sat, 13 Jan 2024 17:51:42 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 13 Jan 2024 17:51:42 +0100] rev 804
 
    - add CX_DISABLE_ARRAY_LIST_SWAP_SBO flag
 
    - Fri, 12 Jan 2024 20:24:29 +0100
 
    - by Mike Becker <universe@uap-core.de> [Fri, 12 Jan 2024 20:24:29 +0100] rev 803
 
    - complete migration of list tests - fixes #342
 
    - Fri, 12 Jan 2024 20:13:13 +0100
 
    - by Mike Becker <universe@uap-core.de> [Fri, 12 Jan 2024 20:13:13 +0100] rev 802
 
    - fix #356 : broken cxListCompare
 
    - Wed, 10 Jan 2024 22:13:23 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 10 Jan 2024 22:13:23 +0100] rev 801
 
    - migrate list create and destroy tests - relates to #342
 
    - Tue, 09 Jan 2024 21:25:08 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 09 Jan 2024 21:25:08 +0100] rev 800
 
    - migrate cxEmptyList tests - relates to #342
 
    - Tue, 09 Jan 2024 00:09:11 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 09 Jan 2024 00:09:11 +0100] rev 799
 
    - fix some broken cleanup
 
    - Tue, 09 Jan 2024 00:01:03 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 09 Jan 2024 00:01:03 +0100] rev 798
 
    - migrate low level linked list tests - relates to #342
 
    - Sun, 07 Jan 2024 11:01:33 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 07 Jan 2024 11:01:33 +0100] rev 797
 
    - use that recent uwproj trims indents in project.xml
 
    - Fri, 05 Jan 2024 20:35:13 +0100
 
    - by Mike Becker <universe@uap-core.de> [Fri, 05 Jan 2024 20:35:13 +0100] rev 796
 
    - update uwproj configure template
 
    - Fri, 05 Jan 2024 00:12:11 +0100
 
    - by Mike Becker <universe@uap-core.de> [Fri, 05 Jan 2024 00:12:11 +0100] rev 795
 
    - fix documentation of reallocator struct
 
    - Thu, 04 Jan 2024 21:24:55 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 04 Jan 2024 21:24:55 +0100] rev 794
 
    - improve output of coverage summary
 
    - Thu, 04 Jan 2024 21:05:32 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 04 Jan 2024 21:05:32 +0100] rev 793
 
    - migrate remaining buffer tests - relates to #342
 
    - Wed, 03 Jan 2024 22:17:40 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 03 Jan 2024 22:17:40 +0100] rev 792
 
    - migrate more buffer tests - relates to #342
only read and write tests are remaining now 
    - Tue, 02 Jan 2024 23:31:00 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 02 Jan 2024 23:31:00 +0100] rev 791
 
    - generate (release) config.mk if none exists - fixes #350
 
    - Mon, 01 Jan 2024 16:43:18 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 01 Jan 2024 16:43:18 +0100] rev 790
 
    - some text replacements to prepare migration of list tests