Legend:
- [+] New/improved feature
- [B] Bug fixed
- [K] Known issue
- [O] Other
- [B] utils: fix
cdada_strerr()bounds handling for invalid and negative error codes - [B] utils: add missing human-readable message for
CDADA_E_FULL - [B] list/map/queue/set/stack: return
NULLwhen constructormalloc()fails (avoid null dereference) - [B] str: fix
cdada_str_replace*()to reject empty match and self-replacement issues - [B] str: return
NULLincdada_str_create()when input C string isNULL - [B] str: align
cdada_str()invalid-handle behavior with API docs (returnNULL, not empty string) - [B] bbitmap: make
cdada_bbitmap_dump()setsize_usedin buffered paths too - [B] bbitmap: fix corrupted BSD license header in
bbitmap.h - [B] str: fix underflow in
cdada_str_rtraverse()on empty strings - [B] list: fix
cdada_list_first()/cdada_list_last()returningCDADA_SUCCESSon invalid input - [B] set: fix
cdada_set_find()returningtrueon internal error - [B] str: fix uint32_t overflow in
cdada_str_erase()bounds check - [B] str: fix
cdada_str_find_count()/cdada_str_find_all()not returningCDADA_E_NOT_FOUND - [B] str: reject empty
substrincdada_str_find_count()/cdada_str_find_all() - [B] list/map/queue/set/stack: report
size_usedas bytes written on incompletedump() - [O] tests: add coverage for
cdada_strerr()valid, boundary and high invalid values - [O] tests: add
oom_create_testcoverage for create paths (list,map,queue,set,stack,str,bbitmap) - [O] tests: add coverage for
cdada_str_replace_all()empty-match invalid input and self-overlap replacement - [O] tests: add
cdada_str_create(NULL)regression coverage - [O] tests: align invalid
cdada_str()assertion with documentedNULLreturn - [O] tests: validate
cdada_bbitmap_dump()updatessize_usedfor both incomplete and complete buffered dumps
- [O] tests/CI: fixed compilation with GCC 16 (thanks A. Stieger). Added CI coverage for GCC 15.
- [B] map: fix garbage in
prev_valwhen key not in map forcdada_map_insert_replace() - [O] CI fixes
- [O] tests: fix segfault in map_test.c
- [O] build: cleanup configure.ac from old/deprecated MACROs
- [+] !! BREAKING CHANGE !! Add
prev_valtocdada_map_insert_replace()API call to make it more useful - [O] CI: add coverage for clang11, 12 and 13
- [B] map: don't penalize failed insert/erase/find operations (branch prediction)
- [+] str: add string comparison functions
cdada_str_ncmpandcdada_str_ncmp_c
- [+] map: add
cdada_map_get_pos() - [+] map: allow NULL ptr for val in
cdada_map_find()to only check for presence - [+] set: add
cdada_set_get_pos() - [O] list: minor change in
cdada_list_get()to usestd::advance
- [B] set: fix some error path return values for first()/last()
- [B] set: minor fix in header variable name
- [+] Add
cdada_map_insert_replace()
- [+] Improved public API documentation
- [+] build: add --without-tests --without-examples build options
- [B] Fix
E_EMPTYreturn codes set/map/list/stack/queue - [B] Fix
make checkwhen valgrind is not installed
- [B] Fix several build errors on old GCC versions (GCC4.2)
- [O] Replace travis-ci.com/org with Github Actions
- [B] Fix several issues with documentation
- [+] Add version and build MACROs and API calls
- [B] Fix build when Python3 is not present by disabling gen tests
- [B] Fix benchmark compilation error due to rdtsc for non x86/amd64 archs (e.g. PowerPC)
- [+] Support for
cdada_queue, FIFO queue - [+] Add support for get/set
max_capacity()forcdada_queueandcdada_stack
- [B] cdada.h: add missing cdada container includes. Added coverage.
- [B] cdada-gen: fix incorrect parsing of container list input
- [B] cdada-gen: fix missing implementation for dump() leading to SEGFAULT
- [O] cdada-gen: added full coverage for cdada-gen generated code
- [+] Support for
cdada_bbitmap, big bitmaps - [+] Support for
cdada_str, strings - [+] Support for
cdada_stack, LIFO queue - [+] Add
dump()andprint()support for all containers
- [+] Support for
cdada_list,cdada_map,cdada_set