changelog
    
    
    - Fri, 17 Oct 2025 21:03:11 +0200
 
    - by Mike Becker <universe@uap-core.de> [Fri, 17 Oct 2025 21:03:11 +0200] rev 1430
 
    - minor wording improvements in buffer documentation
 
    - Fri, 17 Oct 2025 16:53:24 +0200
 
    - by Mike Becker <universe@uap-core.de> [Fri, 17 Oct 2025 16:53:24 +0200] rev 1429
 
    - remove the concept of "mutating iterators" - resolves #579
 
    - Fri, 17 Oct 2025 15:04:56 +0200
 
    - by Mike Becker <universe@uap-core.de> [Fri, 17 Oct 2025 15:04:56 +0200] rev 1428
 
    - add support for non-sorted lists in cxListInsertUnique() and cxListInsertUniqueArray()
relates to #557 
    - Fri, 17 Oct 2025 14:14:21 +0200
 
    - by Mike Becker <universe@uap-core.de> [Fri, 17 Oct 2025 14:14:21 +0200] rev 1427
 
    - make cxCollectionSorted() always return true for empty collections regardless of the sorted flag
 
    - Thu, 16 Oct 2025 19:57:47 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 16 Oct 2025 19:57:47 +0200] rev 1426
 
    - clean up header files and adds support for comparing arbitrary strings with string.h functions
 
    - Wed, 15 Oct 2025 22:45:21 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 15 Oct 2025 22:45:21 +0200] rev 1425
 
    - remove unnecessary members from the array reallocator struct - fixes #621
 
    - Sun, 12 Oct 2025 20:21:56 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 12 Oct 2025 20:21:56 +0200] rev 1424
 
    - fixes tons of typos and grammar issues across the documentation - fixes #667
 
    - Sat, 11 Oct 2025 15:42:48 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 11 Oct 2025 15:42:48 +0200] rev 1423
 
    - fixes various bugs related to skipping duplicates in insert_unique - relates to #557
 
    - Sat, 11 Oct 2025 11:55:46 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 11 Oct 2025 11:55:46 +0200] rev 1422
 
    - changes the compare function wrapper for pointer lists so that it no longer invokes the actual compare function for NULL pointers
 
    - Fri, 10 Oct 2025 19:40:24 +0200
 
    - by Mike Becker <universe@uap-core.de> [Fri, 10 Oct 2025 19:40:24 +0200] rev 1421
 
    - fix missing documentation if insert_unique member - relates to #557
 
    - Fri, 10 Oct 2025 19:35:25 +0200
 
    - by Mike Becker <universe@uap-core.de> [Fri, 10 Oct 2025 19:35:25 +0200] rev 1420
 
    - fix various typos in the web documentation
 
    - Fri, 10 Oct 2025 17:24:19 +0200
 
    - by Mike Becker <universe@uap-core.de> [Fri, 10 Oct 2025 17:24:19 +0200] rev 1419
 
    - add functions to insert elements into lists/arrays without duplicates - resolves #557
 
    - Fri, 10 Oct 2025 12:26:43 +0200
 
    - by Mike Becker <universe@uap-core.de> [Fri, 10 Oct 2025 12:26:43 +0200] rev 1418
 
    - assert instead of assume sorted property in debug builds
 
    - Wed, 08 Oct 2025 20:20:54 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 08 Oct 2025 20:20:54 +0200] rev 1417
 
    - replace all remaining generics with cx_strcast() - resolves #700
 
    - Wed, 08 Oct 2025 20:09:32 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 08 Oct 2025 20:09:32 +0200] rev 1416
 
    - add unsigned char strings to cx_strcast() and changes documentation
also relates to #700 
    - Fri, 03 Oct 2025 18:58:44 +0200
 
    - by Mike Becker <universe@uap-core.de> [Fri, 03 Oct 2025 18:58:44 +0200] rev 1415
 
    - go back to ctype.h, but this time try to avoid crashes in Microsoft's implementation
 
    - Thu, 02 Oct 2025 21:31:52 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 02 Oct 2025 21:31:52 +0200] rev 1414
 
    - missing custom CFLAGS when testing for memrchr availability
 
    - Thu, 02 Oct 2025 21:21:45 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 02 Oct 2025 21:21:45 +0200] rev 1413
 
    - improve feature test for memrchr() making it also available on BSD
 
    - Thu, 02 Oct 2025 17:58:43 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 02 Oct 2025 17:58:43 +0200] rev 1412
 
    - use memrchr() to implement cx_strrchr() when it is available
 
    - Wed, 01 Oct 2025 22:45:48 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 01 Oct 2025 22:45:48 +0200] rev 1411
 
    - fixes regression: missing closing brace in map.h in c++ builds
relates to #731 
    - Wed, 01 Oct 2025 22:43:48 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 01 Oct 2025 22:43:48 +0200] rev 1410
 
    - resolve TODO: test C23 base-2 literals
 
    - Tue, 30 Sep 2025 22:35:24 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 30 Sep 2025 22:35:24 +0200] rev 1409
 
    - finalize the documentation on the new hash key features
resolves #731 
    - Tue, 30 Sep 2025 22:29:54 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 30 Sep 2025 22:29:54 +0200] rev 1408
 
    - change map.h to use new CX_HASH_KEY macro
relates to #731 
    - Tue, 30 Sep 2025 22:21:41 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 30 Sep 2025 22:21:41 +0200] rev 1407
 
    - add missing docstrings