-------------------------------------------------------------------------------
Changes in version 1.019

- Broke the iobuf includes into smaller parts.

- Added low-level fcntl wrapper functions: fcntl_{fd,fl}_{off,on}

- Added cloexec_{off,on} functions to manipulate the close-on-exec flag.

- Selfpipes now close-on-exec to prevent the pipe from being exported to
  child processes.

- Changed the error in ibuf_getnetstring from EPROTO to EPROTOTYPE to
  fix compile errors on *BSD systems.  Thanks Ville Walveranta.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.018

- Added missing crypto/surf.h and unix/selfpipe.h headers to insthier.

- Added sysdep and emulator function for mkfifo.

- Added sysdep check for the "named pipe bug": polling a named pipe
  without a writer unconditionally succeeds.

- Fixed bug in ibuf_getu: didn't subtract ASCII '0' offset from digits.

- Added environment string manipulation functions.

- Added named pipe trigger functions.

- Added str_getnetstring function.

- Added ghash_remove function.

- Added ghashiter functions, for iteration over ghash tables.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.017

- Added SURF (Simple Unpredictable Random Function) from the algorithm
  described in http://cr.yp.to/papers/surf.ps

- Added str_catns, str_copyns, and obuf_putns functions that take a
  variable number of char* parameters.

- Fixed utoa to write into its buffer instead of before it.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.016

- Fixed socket_notcpdelay on FreeBSD 4.x (and possibly other BSDs).

- Added back the definition of socket_tcp and socket_udp, the omission
  of which broke linking with libraries compiled against older bglibs.

- Added functions for querying UCSPI environment variables.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.015

- Added a "libbg.a" build target, including all the other libraries that
  don't define a main routine (like cli).

- Added set of str_splice functions, to insert one string into another.

- Added IPv6 address parsing/formatting and network functions.

- Added a library of number formatting routines.

- Modifed str_subst to return a count of substitutions.

- Added str_xlate function.

- Added socket connect functions with a timeout.

- Added ibuf_readall, ibuf_openreadclose, ibuf_copytofd, and
  obuf_copyfromfd.

- Added resolve_ipv4name_n, to resolve a name to more than one IP.

- Rewrote the CRC routines in terms of "generic" forward and reflected
  functions.

- Added CRC32C (used in iSCSI) functions.

NOTE: The next non-bugfix version of bglibs will be rewritten to use the
new formatting routines in the appropriate iobuf and str functions.
This will require linking against additional libraries in the future, or
against the all-inclusive libbg.a.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.011

- Fixed up the selftests in unix/selfpipe.c to work if additional file
  descriptors are already opened.

- Fixed missing "ULL" on one constant in the SHA-512 library.

- Fixed up crc64 table generation on 64-bit platforms.

- Fixed ipv4 address parsing number validation.

- Fixed crc table generation on Solaris caused by missing
  #include <stdlib.h>

- Internal changes to installer scripts to make it work on systems where
  the root directory is non-readable.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.010

- Added a getpeereid sysdep function.

- Added self-pipe SIGCHLD handling functions.

- Added some small optimizations to the SHA-256/512 code and fixed a
  one-off bug.

- Added some major optimizations to the SHA-1 update/final code.

- Removed the cvm libraries.

- All the CRC tables are now generated at build time.

- Split the case insensitive parts of the str_glob and str_match
  functions into str_case_glob and str_case_match respectively.

- wrap_* functions can now exit with a customized error code.

- Added str_start functions.

- Fixed another installer bug, which caused the "installer.a" library to
  get installed as "instcheck.a"

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.009

- Rewrite the SHA-256 and SHA-512 algorithms to make them work on both
  64-bit and MSB platforms, and added the SHA-384 algorithm.

- Fixed iobuf/iobuf_init.c for systems that lack anonymous mmap.

- Turn off recv/sendfd if the appropriate defines are missing.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.008

- Added queue and stack ADT's.

- Added globbing function to the str library.

- Changed str_match functions to add case insensitivity.

- Added "function" options, and option separators to the CLI library, as
  well as enhancing the string list type.

- More portability fixes.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.007

- Fixed bug in iobuf/iobuf_init.c -- parameters to mmap happened to work
  on Linux but were completely bogus for portability.

- Switched the 64-bit CRC function to use the polynomial specified in
  the DLT1 spec (ECMA-182).

- Added (count 'em) three 16-bit CRC functions -- ARC, CCITT, and XMODEM.

- Added generic number output routines to iobuf, and generic number
  appending routines to str.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.006

- Added uint16, uint32, and uint64 pack/unpack functions.

- Added 32 and 64 bit CRC functions, and the Mersenne Twister random
  number generator.

- Changed the ipv4addr typedef to make explicit when it's being passed
  by reference.  This breaks source code compatibility with previous
  versions.

- Major internal reorganization moving many files into subdirectories.

- More portability fixes.

- Started working on adding Doxygen documentation to the sources.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.005

- Portability fixes for *BSD (possibly others).

- #define MSG_NO_DEBUG before including <msg/msg.h> and no debugging
  messages will be compiled into the object code.

- Added long long str_cat*ll and obuf_put*ll functions.

- Added str_match simple pattern-matching function.

- Fixed the shadowed global variable naming conflicts.

- Flattened out and simplified the installed lib files.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.003

- Optimized path matching to only stat intermediate entries if they
  don't contain any meta-characters, instead of reading the entire
  directory and matching.
- Fixed a bug in str/cmp.c: it missed adding offset to the string
  pointer.
- Fixed bug in iobuf/[io]buf_seek.c -- seeks to the current read/write
  position should not cause an lseek syscall.
- The iobuf library now uses an anonymous mmap region for I/O instead of
  a malloced buffer, if possible.  Some OS's can optimize away a data
  copy using this kind of mechanism.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.002

- Fixed bug in str_cat#s routines: they didn't increase the string
  length.

- Added crypto hash libraries (MD5, SHA1, SHA256, SHA512).

- Added a dict_foreach routine for iterating over the contents of a
  dictionary.

- Removed the silly trailing "." from the common message output code.

- Portability fixes for FreeBSD (and possibly others).

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.001

- Moved the file destination to /usr/local/bglibs/*
  from /usr/local/*/bglibs
- Added missing pwcmp/client include & library.
- Added missing uint32.h and uint64.h targets.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
