LibU ChangeLog (Maintenance Branch)

$Id: ChangeLog,v 1.71.2.4 2010/03/31 10:39:44 tho Exp $

ChangeLog file of LibU - http://www.koanlogic.com/libu/index.html

LibU 1.4.2
	- [config] u_config_print_to_fp with brace delimiters for
	           children records + doxy fixes (by Mickael Auger)
	- [config] don't dump the 'include' directive when serializing and/or
	           saving an u_config_t object to file (would break semantical
	           equivalence)
	- [hmap] added u_hmap_foreach_arg which accepts a user defined parameter
	- [buf] minor fix in u_buf_printf resize algorithm
	- [misc] fix a bad cast in u_snprintf and u_path_snprintf
	- [misc] additional underflow/overflow checks in u_atoi function when 
	         sizeof(long) != sizeof(int)
	- [test] minor fix in test module

LibU 1.4.1
	- [missing] u_va_copy added
	- [string] u_string_do_vprintf bug fix (don't use va_list twice)
	- [test] list tests fix for 64-bit platforms

LibU 1.4.0
	- [config] u_config_get_subkey_value_b bug fix
	- [list] u_list_clear added
	- [misc] u_strlcpy and u_strlcat added
	- added shared lib support for MinGW, Cygwin, Solaris and Dragonfly BSD
	  (need MaKL >= 1.8.x)
	- [list] u_list_foreach and u_list_iforeach macros added
	- [list] u_list_first and u_list_next added to efficiently iterate on lists
	- [misc] added u_strtok_cleanup facility 
	- [misc] deprecate u_tokenize in favour of u_strtok

LibU 1.3.1:
	- [array] add needed #include <stdint.h>
	- [misc] u_atoi fix
	- [misc] u_strtok added
	- [config] fix u_string_aprintf calls (build fix)

LibU 1.3.0:
	- [config] u_config_sort_children added
	- [config] u_config_del_child added
	- [log] u_log_set_{lock,unlock} added to setup locking callbacks (needed on 
	  multi-threading environments)
	- [configure] added --no_docs and --do_test configure flags
	- [array] dynamic array module added (can be disabled via --no_array
	  configure argument)
	- [list] u_list_insert and u_list_del_n added
	- [config] u_config_print_to_fp added
	- [configure] netinet/{tcp,in}.h and sys/socket.h tests
	- [net] do not include winsock.h
	- [config] u_config_load_from_buf and u_config_save_to_buf added
	- [config] drivers can set a callback function to resolve include filenames
	- [config] load from opaque data sources (u_config_load_from_drv)
	- [config] include directive support
	- [config] example/config/uconfig program added
	- [misc/net] moved u_accept from misc to net
	- [pwd] fix a parser problem with GCC 4.2.3
	- [headers] cleanup
	- [misc] u_path_snprintf memmove fix
	- [list] memory leak fix
	- [carpal] *_err_rcif() family macros added

LibU 1.2.0:
	- [list] added new module for dynamic lists handling (wrapper around
	  TAILQ_ macros), can be disabled via --no_list configuration argument
	- [pwd] added new module for simple password authentication, can be
	  disabled via --no_pwd configuration argument 
	- [fs] added new module with u_move, u_copy and u_remove interfaces,
	  can be disabled via --no_fs configuration argument 
	- [config] u_config_set_value's now in the public interface
	- [config] u_config_get_child_n can return anonymous keys
	- [hmap] fix compilation error with GCC 2.95

LibU 1.1.0:
	- [missing, misc] windows mingw fixes
	- [hmap] u_hmap_foreach_keyval() function added (by Aurelio Colosimo)
	- [log] u_strerror_r fix to make it working on 64bit platforms
	- [carpal] dbg_if{,m}() fix

LibU 1.0.0:
	- [hmap] module rework: implemented linear probing and array resizing based
	  on prime numbers; void *key, *val in u_hmap_o_t; new interfaces for 
	  managing own data or giving hmap ownership and returning overwritten 
	  objects
	- [test] added the unit test module; tests can be separated by module 
	  and/or functionality and can run selectively or all at once
	- [misc] added u_{read,write,accept,sleep} auto-restarting functions that 
	  transparently handle EINTR
	- [memory] added u_memory_set_{{m,c,re}alloc,free} function by which the
	  user can override the default memory manager (i.e. libc malloc)
	- [config] load in overwrite mode fix

LibU 0.5.0:
	- mkstemps() added to the portability layer
	- clean separation of "toolbox" modules (i.e. log, env, carpal, etc.)
	  from "portability" modules (i.e. strlcat/gettimeofday/etc. replacements)
	- [net] added UNIX socket support
	- [queue] {LIST,TAILQ}_FOREACH_SAFE and TAILQ_FOREACH_REVERSE{_SAFE,} 
	  added
	- [config] leak fixed in u_config_do_load(); added new function 
	  u_config_load_from_file(); cs_getline (internal function) fix
	- [misc] added new functions u_load_file(), u_data_dump()
	- [env] portability fix
	- [log] msg_strerror() fix: POSIX vs glibc strerror_r prototypes check 
	  is now performed at runtime since configure check would work when 
	  cross-compiling
	- [carpal] added macros for every syslog(3) level:
		- {dbg,info,notice,warn,err,crit,alert,emerg,con}_[s]?if[m]?(expr,...) 
	- [string] added new functions u_string_sprintf() and u_string_reserve()
	- [buf] u_buf_printf() added; u_buf_free() memory leak fixed; moved 
	  struct u_buf_s to u/buf.h so that it can be used in TAILs, LISTs, etc;
	  u_buf_{set,append}() signature sligthtly changed
	- headers installation fix
	- OpenBSD strlcpy() and strlcat() added to the portability layer
	- configure: debug and code optimisation compiler flags are mutually 
	  exclusive; --enable_shared switch to build shared libraries (at least)
	  on Linux, FreeBSD, NetBSD and Darwin targets (needs MaKL 1.3.0)

LibU 0.4.1:
	- u_buf_t type and functions
	- warn_err_sif and info_err_sif added

LibU 0.4.0:
	- new configure options: --no_ipv6 and --no_unixsock
	- makl_target_name instead of makl_os_name to support MAKL_PLATFORM
	  overloading
	- more checks (and relative conditional code): in_addr_t, ssize_t, 
	  <paths.h>, <sysuio.h>, <strings.h>, optarg, optind, 
	  struct sockaddr_in, struct sockaddr_in6, struct sockaddr_un
	- gettimeofday implementation (tv_usec always set to zero)

LibU 0.3.2:
	- save and restore errno when logging
	- on Windows platforms msg_strerror now uses FormatMessage instead of 
	  strerror(3): it also works for non-libc related errors

LibU 0.3.1:
	- added daemon(3) function from NetBSD
	- fixed a missing include in hmap.c
	- configure
	    - support new MaKL function makl_append_var_mk
	    - MaKL debug is disabled by default
	    - added configure.help

LibU 0.3.0:
	- new module hmap (hash map)
	- disable unneeded modules at configure time: 
	  --no_{net,config,env,log,hmap} command line switches added
	- Makefiles fix due to MaKL 1.0.0 toolchain rework

LibU 0.2.0:
	- first public release