summaryrefslogtreecommitdiff
path: root/doc/changelog.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/changelog.txt')
-rw-r--r--doc/changelog.txt556
1 files changed, 0 insertions, 556 deletions
diff --git a/doc/changelog.txt b/doc/changelog.txt
deleted file mode 100644
index ffe75c1..0000000
--- a/doc/changelog.txt
+++ /dev/null
@@ -1,556 +0,0 @@
-
-v3.25 (2020-05-14)
-==================
-Fixes:
-* string: fix out-of-bounds access when calling HX_strlcpy(x,y,0)
-Changes:
-* string: HX_split4 renamed to HX_split_inplace
-* string: HX_split5 renamed to HX_split_fixed
-* defs.h: removed partially implementation of FIELD_SIZEOF
-* defs.h: removed custom offsetof definition; you will need to include
- <stddef.h> or <cstddef> now.
-
-
-v3.24 (2018-10-17)
-==================
-Fixes:
-- defs: avoid compiler warning when using HX_list_for_each when used in C++
-- opt: synchronize HXOPT_AUTOHELP C behavior to C++ mode
-
-
-v3.23 (2018-08-28)
-==================
-Enhancements:
-- opt: the option parser now recognizes long option abbreviations
-- io: use modern readdir rather than readdir_r
-
-
-v3.22 (2014-08-25)
-==================
-Enhancements:
-- string: add the HXQUOTE_SQLBQUOTE quoting variant
-
-
-v3.21 (2014-06-02)
-==================
-Enhancements:
-- HXformat_add() now supports HXTYPE_MCSTR objects (with and without
- HXTYPE_IMMED)
-- libxml_helper: New xml_getnsprop() function that gets the value of a
- property (element attribute) by namespace prefix
-
-
-v3.20 (2014-04-18)
-==================
-Enhancements:
-- resolve some link errors when built with Solaris ld
-
-
-v3.19 (2014-02-21)
-==================
-Enhancements:
-- string: add the HXQUOTE_SQLSQUOTE quoting variant
-Internal changes:
-- format: rework function calling code to support extending with functions
-
-
-v3.18 (2014-03-01)
-==================
-Enhancements:
-- string: add the HX_stpltrim function
-Fixes:
-- Make HX_strltrim move the correct number of bytes
-Changes:
-- remove wxCFF from wx_helper.hpp
-
-
-v3.17 (2013-11-16)
-==================
-Enhancements:
-- defs: add HX_SIZET_FMT and HX_LONGLONG_FMT
-- support for Win64
-Fixes:
-- compile warnings on mingw were addressed
-
-
-v3.16 (2013-09-29)
-==================
-Enhancements:
-- format: remove 256-char format key length limit
-Fixes:
-- compile errors on mingw were addressed
-
-
-v3.15 (2013-03-07)
-==================
-Enhancements:
-- string: add HX_strchr2
-- string: add HXQUOTE_URIENC mechanism for HX_strquote
-Changes:
-- defs: HXsizeof_member becomes FIELD_SIZEOF
- (to match the Linux kernel's macro name)
-
-
-v3.14.1 (2012-12-31)
-====================
-Fixes:
-- Restore forward-sorting order of ordered maps
- (revert "map: always have needle as second argument")
-
-
-v3.14 (2012-11-14)
-==================
-Fixes:
-- io: use pathconf(3) to determine dirent size for dir traversal
-- rand: avoid division by zero when calling HX_irand with lo==hi
-- time: use C++ static_cast syntax for C++ mode
-- headers: improve operability with C89 compile mode
-
-
-v3.13 (2012-07-28)
-==================
-Enhancements:
-- defs: add DEMOTE_TO_PTR
-- option: new HXOPT_RQ_ORDER flag, allows unconditional POSIX-style parsing
- (parsing terminates at first non-option encountered)
-- option: add HXTYPE_SIZE_T
-- time: add functions and macros for arithmetic and handling of timespec
- with support for negative time values
- * time: add HX_TIMESPEC_{EXP,FMT}
- * time: add HX_TIMEVAL_{EXP,FMT}
- * time: add the HX_timespec_isneg function
- * time: add the HX_timespec_neg function
- * time: add the HX_timespec_add function
- * time: add the HX_timespec_mul function
- * time: add the HX_timespec_mulf function
-Changes:
-- io: remove HX_REALPATH_SYMLINK
-- time: rename HX_diff_timespec to HX_timespec_sub (old ABI kept)
-- time: rename HX_diff_timeval to HX_timeval_sub (old ABI kept)
-- string: make HX_memmem consider the special case of search_length=0
-- string: optimize search_length=1 case in HX_memmem
-- string: speed up HX_memmem searches for search_length >=2
-
-
-v3.12.1 (2011-12-15)
-====================
-Fixes:
-- build: make build error-free when using -Wl,--no-undefined
-- string: make HX_strdup(NULL) valid again
-
-
-v3.12 (2010-12-03)
-==================
-Fixes:
-- defs: resolve warning for users of const_cast*() when using -Wextra
-- format: error handling for HXformat2_aprintf
-- option: do not omit dashes when passthru'ing unknown two-part long opts
-- option: do not omit arg following unknown unknown two-part long opts in pthru
-- option: do run callback on HXTYPE_BOOL
-- option: correct passthrough of squashed unknown short options
-- option: do not stop early when printing help/usage
-- option: avoid crash when passing an empty argv
-- option: avoid crash when passing NULL for struct HXoptcb.arg0
-Enhancements:
-- build: deactivate type-checking of the *_cast() macros for clang due to a
- compiler bug involving nested structs-in-typeofs
-- option: allow argc=NULL on HX_getopt
-- option: error handling for HX_getopt
-- option: support POSIXLY_CORRECT environment variable
-- string: add a HX_strndup function
-- string: add a HX_strnlen function
-- mc: use an implicit minimum allocated length
-Changes:
-- format: renamed HXformat2_[afs]printf back to HXformat_[afs]printf
-- io: add mode argument to HX_mkdir
-- map: avoid 1<<31 in constants
-- option: remove struct HXoptcb.arg0
-- option: remove struct HXoptcb.match_{ln,sh} by .flags
-- option: let HX_getopt return code indicate system failure states
-- option: remove struct HXoption.sval (replaced by .uptr)
-- string: unline HX_strdup, HX_strlcat, HX_strlcpy, HX_strnlcat
-
-
-v3.11 (2011-07-25)
-==================
-Enhancements:
-- A LD_PRELOAD-able library libHX_rtcheck.so that adds global state correctness
- checks, was added.
-- add a HXQUOTE_BASE64 to HX_strquote
-Changes:
-- HX_strquote will return NULL for unknown types now instead of just
- returning the input pointer
-
-
-v3.10.1 (2011-04-06)
-====================
-Fixes:
-- defs: BUILD_BUG_ON_EXPR had erroneously returned 1
-
-
-v3.10 (2011-04-05)
-==================
-Fixes:
-- build: resolve autoconf-2.68 warnings
-- format: do not split arguments in %(lower) and %(upper)
-Changes:
-- defs: add array type checking in ARRAY_SIZE
-- opt: use non-zero sentinel marker
-- string: make HX_getl more resilient against errors
-Enhancements:
-- defs: add BUILD_BUG_ON_EXPR
-- format: provide a %(substr) function
-- io: add HX_readlink (zero-terminating mc-output readlink)
-- io: add HX_realpath (supports relative-path output)
-
-
-v3.9.1 (2011-01-17)
-===================
-Fixes:
-- libHX/io.h was not copied on `make install`, which has been fixed
-
-
-v3.9 (2011-01-15)
-=================
-Fixes:
-- Added missing __cplusplus guards to libHX/io.h
-- Added missing includes to libHX/string.h
-- Use __typeof__ in includes
-Changes:
-- For filesystem/filehandle-related functions, io.h should now be included
- in userspace programs instead of misc.h
-- libHX.so is now built with a symvers map file
-Enhancements:
-- hxdirstamp: new development helper program for library users
- (Note to distros: should be in libHX-devel; it is only used during builds)
-- io: new functions HXio_full{read,write}
-
-
-v3.8 (2010-12-01)
-=================
-This was supposed to go into 3.7 but I forgot to merge in time..
-Changes:
-- hexdump: colorize characters 0x00 thru 0x1F in tty mode
-
-
-v3.7 (2010-12-01)
-=================
-Changes:
-- libxml_helper: redo xml_newnode to take a parent and value string
-- list: unify naming of reverse-direction functions
-- misc: HX_zveclen now returns unsigned from (previous: int)
-- dir: HXdir functions now work with struct HXdir * instead of void *
-Fixes:
-- list: avoid potential shadow warning when using HXclist_{shift,pop}
-Enhancements:
-- doc: add doc/api.txt that lists the minimum required versions for symbols
-
-
-v3.6 (2010-08-16)
-=================
-Fixed:
-- bitmap: set/clear/test had no effect due to wrong type selection
-- bitmap: avoid left-shift larger than type on 64-bit
-- string: fixed buffer overflow in HX_split when too few fields were present
- in the input
-
-
-v3.5 (2010-08-01)
-=================
-Fixed:
-- format2: failure to skip escaped char in "%(echo foo\ bar)" was corrected
-- proc: properly check for HXPROC_STDx--HXPROC_STDx_NULL overlap
-- strquote: do not cause allocation with invalid format numbers
-Enhancements:
-- format2: add the %(exec) function
-- format2: add the %(shell) function
-- format2: security feature for %(exec) and %(shell)
-- format2: add the %(snl) function
-- string: HX_strquote gained HXQUOTE_LDAPFLT (LDAP search filter) support
-- string: HX_strquote gained HXQUOTE_LDAPRDN (LDAP relative DN) support
-Changes:
-- format1: removed older formatter in favor of format2
-- format2: add check for empty key
-- format2: function-specific delimiters
-- format2: do nest-counting even with normal parentheses
-- format2: check for zero-argument function calls
-- hashmap: do not needlessy change TID when no reshape was done
-- string: HX_basename (the fast variant) now recognizes the root directory
-- string: HX_basename now returns the trailing component with slashes
- instead of everything after the last slash (which may have been nothing)
-
-
-v3.4 (2010-04-03)
-=================
-Changes:
-- add explicit initialize/deinitialize functions HX_init, HX_exit
-Enhancements:
-- add the HX_memmem function
-- add the HXlist_empty function
-- documentation updates: HXlist traversal
-
-
-v3.3 (2010-01-20)
-=================
-Bug fixes:
-- format: fix incorrect copying of non-expanded % strings
-- proc: avoid calling close(-1) to not trip up valgrind
-- shconfig: fix incorrect parsing of "\'"
-- shconfig: fix incorrect processing of "\"\\\0BCD"
-- shconfig: be more strict with syntax
-Enhancements:
-- deque: add HXdeque_genocide2
-- format2: new format string (make-style) support
-- mc: add HXmc_zvecfree
-- shconfig: add HX_shconfig_map to return all entries of a shconfig file
-- rand: add HX_drand ('double'-type bounds and return value)
-- rand: avoid some function call overhead in HX_irand
-
-
-v3.2 (2009-10-11)
-=================
-Enhancements:
-- opt: add HXTYPE_MCSTR for storing into hxmc_t *s
-- string: add HX_strquote
-
-
-v3.1 (2009-09-13)
-=================
-Enhancements:
-- added HXbitmap_* functions
-Fixes:
-- mc: HXmc_strcpy produced a zero-length string when NULL was copied
-
-
-v3.0.1 (2009-08-31)
-===================
-Fixes:
-- map: avoid underflow in value-based tree comparison
-
-
-v3.0 (2009-08-27)
-=================
-Changes:
-- automatically skip building testcases if C++ compiler not available
- (reminder: libHX itself does not require a C++ compiler)
-- arbtree: HXbtree was removed in favor of the new HXmap
-- clist: clist.h moved into list.h
-- format: HXformat_* now uses struct HXformat_map,
- so that it does not tie itself to HXbtree
-- mc: fix an alignment-induced overallocation
-- rand: use faster modulo-based variant for numbers within RAND_MAX range
-- rand: use libc rand() almost exclusively, only use /dev/urandom for seed
-Enhancements:
-- defs: add HXsizeof_member and HXtypeof_member
-- map: new map API, with hash-based maps and classic rbtree-based maps
-- time: add time delta functions (HX_diff_timeval/HX_diff_timespec)
-Fixes:
-- format: memory leaks fixes in HXformat
-
-
-v2.9 (2009-07-11)
-=================
-Fixes:
-- string: fixed number of fields and trailing NULL in HX_split4
-Enhancements:
-- string: add HX_basename_exact
-
-
-v2.8 (2009-07-01)
-=================
-Enhancements:
-- HXproc now knows about HXPROC_NULL_*, which can be used to discard I/O
-- HXproc: expressly prohibit HXPROC_STD* for HXproc_run_sync
-
-
-v2.7 (2009-04-08)
-=================
-Fixes:
-- install missing wx_helper.hpp
-
-
-v2.6 (2009-03-28)
-=================
-Documentation:
-- install documentation
-- update project URLs
-- add section about Miscellaneous functions
-Changes:
-- arbtree: add "flat view" operation
-- misc: added HX_fls
-- misc: make HX_time_compare otime-capable
-- add wx_helper.hpp
-
-
-v2.5 (2009-02-11)
-=================
-Fixes:
-- proc: fix fd setup when the standard channels are already closed
-
-
-v2.4 (2009-02-05)
-=================
-Documentation updates. A few internal cleanups, nothing user-visible.
-
-
-v2.3 (2009-01-13)
-=================
-Fixes:
-- defs: only use __builtin_offsetof with GCC >= 4
-- misc: fix time_compare on FreeBSD to actually use mtimespec
-- mc: handle HXmc_length(NULL)
-- dir: do not cause directory traversal to restart after 2^32 entries
-
-
-v2.2 (2009-01-01)
-=================
-Fixes:
-- defs/cast: avoid warning between conversion from type[] to type *
-- defs/cast: add fallback defs for const_castN()
-- arbtree: correctly set errno (to ENOENT) in HXbtree_find and _get
-- string: document behavior details of HX_basename
-
-Changes:
-- removed old HX_vfsystem
-
-Enhancements:
-- defs: add HXSIZEOF_Z*
-- defs: add HX_STRINGIFY
-- proc: initial code
-- string: add HX_split4 function
-
-
-v2.1 (2008-12-23)
-=================
-- defs: fix bogus offsetof macro for non-GCC
-- defs: add a pair of guarding parentheses in static_cast()
-- doc: generate PDF file from LyX document
-
-
-v2.0 (2008-12-23)
-=================
-Fixes:
-- arbtree: reject illegal flag combinations
-- arbtree: correctly set errno in HXbtree_find and HXbtree_get
-- arbtree: do not return dangling pointer in HXbtree_del
-- defs: add a working offsetof() and containerof() for C++ mode
-- defs: use GCC's __builtin_offsetof
-- defs: resolve warnings with signed_cast() for char* -> const char* conversions
-- dir: HX_rrmdir: do not stop on error
-- opt: fix interpretation of strings during conversion to bool
- (all strings that were not empty and not 0 were interpreted as "true",
- and this included the strings "no", "off" and "false", which should
- actually have mapped to, well, "false".)
-- rand: use autoconf to detect presence of unix functions
-- string: replace HX_strrev implementation by one that does not allocate
-
-
-New feature: Type-checking casts.
-- defs: enable type-checking signed_cast()
-- defs: add signed_cast<> for C++ mode
-- defs: rewrite static_cast() to not cause -Wshadow warnings when nested
-- defs: rewrite const_cast() to do type checking
- (actually, const_cast1(), cosnt_cast2() and const_cast3() were introduced.
- const_cast() is kept to not break program compilation.)
-
-
-New misc code:
-- ctype_helper: initial version
-- deque: add struct HXdeque_node->char *sptr as a typed variant for ptr
-- mc: add HXmc_setlen()
-- opt: HXTYPE_BOOL and HXTYPE_NONE now take int * (instead of unsigned int *)
-
-
-New arbtree code:
-- arbtree: add struct HXbtree_node->char *skey and char *sdata
-- arbtree: support arbitrary key/data duplication
-- arbtree: add HXbtree_init2
-
-
-Removals:
-- mc: remove HXmc_dup
- [you can use HXmc_meminit(old, HXmc_length(old))]
-- string: HX_strmid behavior changed for length=0
- [no more "remaining string", now returns a zero-length string]
-
-
-v1.28 (2008-11-18)
-==================
-- add HXTYPE_{U,}INT{8,16,32,64}
-- add includedir to cflags (libHX.pc)
-
-
-v1.27 (2008-12-23)
-==================
-No functional changes for Linux platforms.
-
-- build: fixed compile errors with i586-mingw32msvc cross compile
-- regenerated the Makefile.in files in the tarball with an updated
- version of automake-tranquility so that they are now
- POSIX-compliant and work with BSD make
-
-
-v1.26 (2008-10-12)
-==================
-- add HX_hexdump() for debugging within programs
-- fix double free in the error path of HX_getopt() when a long option preceded
- a short option of which the latter had problems (i.e. missing argument)
-- add actual typechecking to signed_cast()
-- add typechecking to static_cast(),
- (but this is normally disabled to avoid compile interruption)
-
-
-v1.25 (2008-09-07)
-==================
-- install missing misc.h
-- HXmc: pointer was not automatically updated after hmc_trunc()
-- HXmc: rename functions and put them into the HX* namespace (API change)
-- HXmc: make code resistant to memory allocation failure
-
-
-v1.23 (2008-09-02)
-==================
-- code cleanup: misc.h has been split off libHX.h
-- add defs.h
-
-
-v1.22 (2008-07-16)
-==================
-- need to use lstat() on directory operations such as mkdir and rrmdir
-- use RTLD_LAZY when opening dynamic libraries
-- add libxml_helper
-
-
-v1.18 (2008-06-10)
-==================
-- implement reverse iterating through HXlist
-- remove deprecated HXlist_init_head() and HXclist_init_head()
- [replaced by HXlist_init() and HXclist_init()]
-- added HX_ffs()
-
-
-v1.17 (2008-05-08)
-==================
-- HXlist: added HXlist_for_each_safe, HXlist_for_each_entry_safe
-- HXclist: added HXclist_del
-
-
-v1.15 (2008-04-04)
-==================
-- HXformat: add %(ifempty) and %(ifnempty) tags
-- libHX.h: split into {arbtree,deque,option,string}.h (and libHX.h)
-- Add inline-doubly-linked-list data structures
-
-
-v1.10.2 (2007-12-06)
-====================
-- [r105]: pass up NULL from memory allocation error
-- [r108]: only return success on EEXIST when HXF_KEEP was given
-- [r112]: HX_dirname() incorrectly computed the path
-
-
-v1.10.1 (2007-09-17)
-====================
-- [r96]: Fix output of line-wrapped help text
-- tarball: in libHX 1.10.0 I forgot to provide the configure - sorry
- (but you could regenerate it using ./autogen.sh if you have autotools)