UUID_1_6_6      Cramped with butterflies

    Fixed:
      * uuid -v7 generation sample in uuid(1)
      * Listing a dependency of libtool-bin when libtool is sufficient
        (https://bugs.debian.org/1122140)
        (Reported-by: Helmut Grohne <helmut@subdivi.de>)

UUID_1_6_5      So predictive all the time

    Fixed:
      * Win32 builds (as represented by MSYS2)
      * Darwin builds
        (https://todo.sr.ht/~nabijaczleweli/ossp/221)
        (Reported-by: ~botanthony)

    New:
      * Win32 MAC address detection for V1/V6

    Internal:
      * srhtcdn.githack.com/git.sr.ht -> ra.ws.co.ls
        (https://todo.sr.ht/~nabijaczleweli/tzpfms/2)

UUID_1_6_4      I just wanna hear it from your horse's mouth

    Fixed:
      * uuid(1)'s UUID version 5 example saying it's version 4
        (https://bugs.debian.org/1089575)
        (Reported-by: Lajos Koszti <lajos+reportbug@koszti.hu>)

    Internal:
      * OpenBSD CI script should now work in perpetuity

UUID_1_6_3      I could either live like Jay or die like Jah

    Removed:
      * GNU Guile GEE dead site from BINDINGS
      * uuid-config --all,
        so it no longer has anything build- or architecture-specific
        (https://bugs.debian.org/757278)
      * The mandate of heaven for the C++ binding
      * PHP binding
        (Opinion-by: rightfold)
        (Opinion-by: =@eater.me)
      * PostgreSQL binding
      * NEWS      (now maintained as part of the release mails)
      * ChangeLog (now maintained as part of the tags; old inlined below)

    Changed:
      * Most of the autohell and build system in general has been replaced
        (this includes the removal of --with-dmalloc)
        (https://todo.sr.ht/~nabijaczleweli/ossp/146)
        (https://todo.sr.ht/~nabijaczleweli/ossp/177)
        (https://todo.sr.ht/~nabijaczleweli/ossp/196)
        (https://todo.sr.ht/~nabijaczleweli/ossp/198)
        (William Grant <me@williamgrant.id.au>
         via Debian patch)
        (Matthias Klose <doko@debian.org>
         via Debian patch)
      * Manuals recast to mdoc(7)
      * uuid.1 and uuid++.3 are written de novo
        (https://todo.sr.ht/~nabijaczleweli/ossp/31)
        (Reported-by: Cicada)
        (Marco Nenciarini <marco.nenciarini@devise.it>
         via Debian patch)
      * gettimeofday()/struct timeval  w/1μs resolution ->
        timespec_get()/struct timespec w/1ns resolution,
        also removing the internal per-UUID counter
        (if we do get the same time at this resolution we just yield)
      * The RNG now uses getentropy() if available,
        and only on systems without it falls back to /dev/[u]random
      * Instead of embedded ossp-sha1 and ossp-md5,
        now links against libmd (SHA1Final-style functions)
      * uuid.h includes stddef.h instead of string.h
      * uuid to have standard usage strings
      * README for new, thawed, upstream

    Fixed:
      * con[s]tant typo in Perl extension
        (https://todo.sr.ht/~nabijaczleweli/ossp/205)
      * uuid -v resetting -m status
        (Marco Nenciarini <marco.nenciarini@devise.it>
         via Debian patch)
        (https://bugs.debian.org/531396)
      * DECLARATION_{BEGIN,END} macros leaked from uuid.h
      * uuid_import(UUID_FMT_SIV) not terminating at first NUL
      * Y2038 bug for generating Version 1 UUIDs
      * /dev/[u]random not being opened O_CLOEXEC
      * uuid_import(UUID_FMT_STR) ignoring anything past UUID_LEN_STR
        (https://bugs.debian.org/864530)
      * MAC address enumeration on Linux/illumos gate
        to find the first non-multicast IFA_UP + IFA_BROADCAST interface,
        before falling back to eth0
      * MAC address enumeration in on {Free,Net,Open}BSD/the Macintosh
      * Configured multicast MAC addresses not being ignored
      * Actually properly detect multicast MAC addresses before regeneration
        (https://todo.sr.ht/~nabijaczleweli/ossp/172)
        (https://todo.sr.ht/~nabijaczleweli/ossp/190)
        (https://bugs.debian.org/881000)
      * uuid refusing -n123  multiple times
      * uuid refusing -ofile multiple times
      * uuid ignoring -ofile in -d mode
      * uuid_dce_to_string()
        (https://todo.sr.ht/~nabijaczleweli/ossp/150)
        (https://todo.sr.ht/~nabijaczleweli/ossp/185)
      * Internal symbols being exported from libuuid.so
      * Out-of-tree builds
        (https://todo.sr.ht/~nabijaczleweli/ossp/183)
        (https://todo.sr.ht/~nabijaczleweli/ossp/186)
        (https://todo.sr.ht/~nabijaczleweli/ossp/187)
      * Perl builds on the Macintosh
        (https://todo.sr.ht/~nabijaczleweli/ossp/81)
        (https://todo.sr.ht/~nabijaczleweli/ossp/160)
      * Installing on Win32
        (Patch from
         https://todo.sr.ht/~nabijaczleweli/ossp/207)
      * uuid being installed -s
        (https://todo.sr.ht/~nabijaczleweli/ossp/193)
      * Win32 detexion macros
        (https://todo.sr.ht/~nabijaczleweli/ossp/182)
      * autoconf substituted not forwarded to pkg-config file
        (https://todo.sr.ht/~nabijaczleweli/ossp/200)
      * uuid -r being undocumented
        (Reported-in: Gentoo patch)
      * Perl Data::UUID create_from_name()
        ignoring the namespace request and using b"OSSP::uuid=HASH("
        (https://todo.sr.ht/~nabijaczleweli/ossp/206)
      * Perl "has to [be] an object" typo

    New:
      * Data::UUID from_string() understanding STR-format but s/-//
        (Tim Retout <diocles@debian.org>
         via Debian patch)
        (http://bugs.debian.org/635607)
      * Perl compat Data::UUID missing create_bin() function
        (Paolo Schiro
         via Debian patch)
      * Tests (libuuid.so, libuuid_dce.so. uuid)
      * UUID version 6 support (uuid_make(UUID_MAKE_V6), uuid -v6, $uuid->make("v6"))
      * UUID version 7 support (uuid_make(UUID_MAKE_V7), uuid -v7, $uuid->make("v7"))
      * uuid_ismax()     ($uuid->ismax())
      * uuid_load("max") (all bits set)
      * uuid-config(1) discourages uuid-config in place of pkg-config file
      * --with-libname= (default libuuid)
        (https://todo.sr.ht/~nabijaczleweli/ossp/181)
      * Symbol versioning (uuid_ismax() is @OSSP_UUID_1.6.3)

    Internal:
      * CVS-specific files removed or ported to git
      * Removed AUTHORS (duplicates ChangeLog)
      * Removed USERS, SEEALSO, PORTING (outdated, irrelevant)
      * Removed FlexeLint config(?)
      * shtool versioning and uuid_vers.h inlined into configure.ac
      * Use modern-style stdint.h/stdbool.h/preprocessor/guaranteed
      * C11 + warnings
      * Removed embedded copy of ossp-str, ossp-ui64, and ossp-bm
        (https://bugs.debian.org/1041542)
      * static const data marked as const (=> .rodata)
      * Overly-generic ossp-ui128 rolled up into into strtou128()/u128tostr()
      * Miscellaneous UID_FMT_TXT cleanups
      * Cleared TODO
      * Removed AUTHORS (duplicates README)
      * uuid cleanups
      * uuid_isnil() is a memcmp() but was implemented as a bespoke loop
      * uuid_compare() was going to return
      * REUSE-compatible 0BSD layout (but not rse's OSSP licence)
      * .clang-format for new code
      * uuid_dce_hash() is actually just the top 4 bytes in little-endian here
      * MAC address loaded in [[constructor]] instead of in every uuid_create()
      * builds.sr.ht CI
      * Removed OVERVIEW: duplicates uuid(3) and very v1-coded

    -- >8 --                           ChangeLog                            -- >8 --

       _        ___  ____ ____  ____                _     _
      |_|_ _   / _ \/ ___/ ___||  _ \   _   _ _   _(_) __| |
      _|_||_| | | | \___ \___ \| |_) | | | | | | | | |/ _` |
     |_||_|_| | |_| |___) |__) |  __/  | |_| | |_| | | (_| |
      |_|_|_|  \___/|____/____/|_|      \__,_|\__,_|_|\__,_|

      OSSP uuid - Universally Unique Identifier

      CHANGELOG

      This is a list of all changes to OSSP uuid.
      For a more brief summary please have a look at the NEWS file.

      Changes between 1.6.1 and 1.6.2 (21-Feb-2008 to 04-Jul-2008)

       o Adjust "devtool.func" for latest GNU Libtool compatibility.
         [Ralf S. Engelschall]

       o Improve PRNG under Win32.
         [Hiroshi Saito]

       o Consistently annotate "RFC-XXXX" with "IETF" to clearly
         indicate from which standards body this comes from.
         [Ralf S. Engelschall]

       o Resolve namespace conflicts of recently introduced time_xxx()
         functions by using a propoer "uuid_" prefix.
         [Ralf S. Engelschall]

       o Remove unused "struct timezone" from time_gettimeofday() in
         order to simplify portability.
         [Ralf S. Engelschall]

       o Add support for POSIX clock_gettime(3) in case the Unix/POSIX
         gettimeofday(3) is not available.
         [Ralf S. Engelschall]

       o Upgrade build environment to GNU autoconf 2.62.
         [Ralf S. Engelschall]

       o Upgrade build environment to GNU libtool 2.2.4.
         [Ralf S. Engelschall]

      Changes between 1.6.0 and 1.6.1 (19-May-2007 to 21-Feb-2008)

       o Port to Win32 API.
         [Hiroshi Saito, Wu Yongwei, Ralf S. Engelschall]

       o Adjust copyright messages for new year 2008.
         [Ralf S. Engelschall]

       o Fix __VA_COPY_USE_{CSP,CPP} fallback macros for va_copy.
         [Mark A. Lindner <mark.a.lindner@gmail.com>]

       o PostgreSQL bindings: use SET_VARSIZE() instead
         of assigning to bytea->v_len under PostgreSQL >= 8.3
         [Ralf S. Engelschall]

       o Upgrade build environment to GNU libtool 1.5.26
         [Ralf S. Engelschall]

      Changes between 1.5.1 and 1.6.0 (31-Jul-2006 to 19-May-2007)

       o Expand unused "datarootdir" in Makefile.in and uuid-config.in to
         make newer GNU autoconf versions happy.
         [Ralf S. Engelschall]

       o Upgrade build environment to GNU shtool 2.0.7
         [Ralf S. Engelschall]

       o Make GNU autoconf procedure of PHP binding more robust by using
         -Wl,-Bsymbolic only on platforms where uuid_create(3) actually
         exists and where -Wl,-Bsymbolic is really accepted by the tool
         chain. This especially unbreaks MacOS X.
         [Ralf S. Engelschall]

       o Fix "uuid_export" function in PHP bindings under
         UUID_FMT_SIV, UUID_FMT_STR and UUID_FMT_TXT where the
         NUL-termination character should be not passed back to PHP.
         [Neil Caunt <retardis@gmail.com>, Ralf S. Engelschall]

       o Adjust copyright messages for new year 2007.
         [Ralf S. Engelschall]

       o Upgrade build environment to GNU autoconf 2.61
         [Ralf S. Engelschall]

       o Disable PostgreSQL "(CSTRING AS uuid)" and "(uuid AS CSTRING)"
         CASTS as PostgreSQL 8.2 and higher explicitly disallow this.
         [David Wheeler <david@kineticode.com>, Ralf S. Engelschall]

       o Fix PostgreSQL bindings by mapping the correct DSO symbol
         to the functions "uuid_send" and "uuid_recv".
         [Ralf S. Engelschall]

       o Silence PostgreSQL processing messages
         [David Wheeler <david@kineticode.com>]

       o Support MacOS X (aka Darwin) in PostgreSQL bindings by passing
         a "-bundle_loader" option to the linker in order to resolve the
         "undefined symbols" problem.
         [David Wheeler <david@kineticode.com>, Ralf S. Engelschall]

       o Pass the correct type to PostgreSQL's errmsg().
         [David Wheeler <david@kineticode.com>, Ralf S. Engelschall]

       o Added PostgreSQL 8.2 PG_MODULE_MAGIC support.
         [David Wheeler <david@kineticode.com>]

       o Fix the Data::UUID::to_b64string() function of the Perl backward
         compatibility API: an empty string was not supplied as the EOL
         marker to MIME::Base64::encode_base64() and hence the returned
         string ended with a newline character (which in turn breaks many
         applications using Data::UUID).
         [Piotr Roszatycki <dexter@debian.org>]

       o Change type of "data_ptr" argument in uuid_export() API signature
         from "void **" to "void *" as there is unfortunately no
         "generic pointer to pointer type" in ISO C (see also
         http://c-faq.com/ptrs/genericpp.html) and "void **" is just a
         "pointer to a 'void *'".

         The "void **" especially had the nasty side-effect that it breaks
         strict pointer aliasing rules of ISO C and hence would require
         fiddling with temporary variables on all uuid_export() calls if
         one would be 100% correct and avoid aliasing related compiler
         warnings. Instead, as uuid_export() internally has to cast the
         "data_ptr" to the particular expected type anyway, it is better
         to have "data_ptr" just be a really generic "void *" in the API
         signature.

         Keep in mind that although this is an API change, it doesn't cause
         any incompatibilities as the function still expects the same
         "pointer to a pointer of a particular type". This expected pointer
         is just now passed the more correct although less intuitive way.
         [Hrvoje Niksic <hniksic@xemacs.org>, Ralf S. Engelschall]

       o Optional DMALLOC based memory debugging support.
         [Ralf S. Engelschall]

       o Consistently include "uuid_ac.h" in all source files to have GNU
         autoconf results and standard system defines available everywhere.
         [Ralf S. Engelschall]

      Changes between 1.5.0 and 1.5.1 (28-Jul-2006 to 31-Jul-2006)

       o Use "MODULE_PATHNAME" instead of "@MODULE_PATHNAME@" in
         uuid.sql.in to be more aligned to the PostgreSQL styles.
         [Simon "janus" Dassow <janus@errornet.de>]

       o Use the available variables $(LIB_NAME), $(DCE_NAME) and
         $(CXX_NAME) more consistently in Makefile.in to allow packagers to
         override the library name with less patching.
         [Piotr Roszatycki <dexter@debian.org>]

       o Fix the "make distclean" target of php/Makefile.local
         to make sure the ".deps" file is not left over.
         [Ralf S. Engelschall]

       o Fix the tarball rolling procedure to make sure we
         do not distribute binary files again. This now especially uses
         a MANIFEST file which explicitly lists all files which form the
         distribution tarball. We compare the tarball and the MANIFEST file
         for differences in the "devtool dist" now.
         [Ralf S. Engelschall]

      Changes between 1.4.2 and 1.5.0 (13-Mar-2006 to 28-Jul-2006)

       o Fixed potential memory leak in uuid_create() as spotted by SPLINT.
         [Ralf S. Engelschall]

       o Cleanup source code according to complains by SPLINT.
         [Ralf S. Engelschall]

       o Cleanup internal uuid_mac.h header.
         [Ralf S. Engelschall]

       o Numerous fixed to the error handling in the PostgreSQL bindings.
         [Neil Conway <neilc@samurai.com>]

       o Add Hash indexing support UUID data type of PostgreSQL bindings.
         [Ralf S. Engelschall]

       o Add comparison operators and B-Tree indexing support UUID data
         type of PostgreSQL bindings.
         [Roman Neuhauser <neuhauser@sigpipe.cz>]

       o Fix PHP bindings: the wrong argument to uuid_create()
         was forced to a reference
         [Roman Neuhauser <neuhauser@sigpipe.cz>]

       o Add full support for Single Integer Value (SIV) UUID representation
         for both importing and exporting in C/C++/Perl/PHP APIs.
         [Ralf S. Engelschall]

       o Upgrade build environment to GNU shtool 2.0.6 and GNU autoconf 2.60
         [Ralf S. Engelschall]

       o Added an "OVERVIEW" file which tries to give the "big picture"
         about UUIDs and allows to survice during the nasty UUID bit fiddling.
         [Ralf S. Engelschall]

       o Replaced "clock_seq_and_reserved" with
         "clock_seq_high_and_reserved" in uuid.pod to already reflect the
         description in the forthcoming RFC.
         [Ralf S. Engelschall]

       o Speed up processing in uuid_str.c by reducing va_copy() calls from
         two to just one per formatting.
         [Ralf S. Engelschall]

      Changes between 1.4.1 and 1.4.2 (07-Feb-2006 to 13-Mar-2006)

       o Fix uuid_export() function by fixing the internal
         uuid_s[ar]printf() functions which require the backup of va_list
         arguments between subsequent processing.
         [Ralf S. Engelschall, Thomas Lotterer <thomas@lotterer.net>]

       o Fix Perl API's "export" function by not taking over NUL-termination
         character under UUID_FMT_TXT.
         [Thomas Lotterer <thomas@lotterer.net>]

       o Declare "install", "uninstall" and "clean" make(1) targets
         ".PHONY". This especially workarounds problems on case insensitive
         filesystems (like MacOS X' filesystem) where the "INSTALL" document
         conflicts with the "install" target.
         [Ralf S. Engelschall, David Wheeler <david@kineticode.com>]

      Changes between 1.4.0 and 1.4.1 (15-Jan-2006 to 07-Feb-2006)

       o Upgrade to GNU shtool 2.0.5
         [Ralf S. Engelschall]

       o Apply workaround to uuid.h to avoid conflicts with
         vendor UUID implementations where uuid_t (Darwin/MacOSX)
         or uuid_create/uuid_compare (POSIX) might exist.
         [Ralf S. Engelschall]

      Changes between 1.3.2 and 1.4.0 (06-Dec-2005 to 15-Jan-2006)

       o Created a top-level Perl ExtUtils::MakeMaker wrapper script
         [Ralf S. Engelschall]

       o Adjust copyright messages for new year 2006.
         [Ralf S. Engelschall]

       o Added experimental PostgreSQL bindings.
         [Ralf S. Engelschall]

       o Fixed documentation of uuid_make() function.
         [Ralf S. Engelschall]

       o Upgrade build environment to GNU libtool 1.5.22
         [Ralf S. Engelschall]

      Changes between 1.3.1 and 1.3.2 (24-Sep-2005 to 06-Dec-2005)

       o Cleaned up and speed optimized perl/uuid_compat.pm
         (the Data::UUID compatibility module for Perl)
         [David Wheeler <david@justatheory.com>]

       o Upgrade to GNU shtool 2.0.3
         [Ralf S. Engelschall]

       o Consistently use "return" in uuid++.cc
         [Ralf S. Engelschall]

      Changes between 1.3.0 and 1.3.1 (02-Sep-2005 to 24-Sep-2005)

       o Fix two incorrect casts, detected by compiling the C code
         under C++ constraints.
         [Ralf S. Engelschall]

       o Remove a compiler warning in the PHP bindings.
         [Ralf S. Engelschall]

       o Plug memory leak in PRNG sub-library.
         [Ralf S. Engelschall]

       o Add VPATH/srcdir support for at the default
         build procedure plus at least C++ and DCE build options.
         [Ralf S. Engelschall]

      Changes between 1.2.1 and 1.3.0 (30-Aug-2005 to 02-Sep-2005)

       o Add an experimental PHP 4/5 language API binding which
         can be enabled under build-time with opption --with-php.
         [Ralf S. Engelschall]

       o Upgrade to GNU libtool 1.5.20
         [Ralf S. Engelschall]

       o Add missing "const" in manual page.
         [Ralf S. Engelschall]

       o Add an experimental C++ API binding which can be
         enabled under build-time with option --with-cxx.
         [Ralf S. Engelschall]

       o Cleanup the internals of the uuid_create() function and
         add a new corresponding uuid_clone() API function.
         [Ralf S. Engelschall]

       o Cleanup some Makefile parts.
         [Ralf S. Engelschall]

       o Added a pkg-config(1) specification uuid.pc which is also
         installed by default in addition to the old-style uuid-config tool.
         [Ralf S. Engelschall]

       o Added optional Data::UUID backward compatibility Perl API which can
         be enabled with the build-time option --with-perl-compat.
         [Piotr Roszatycki <dexter@debian.org>, Ralf S. Engelschall]

       o Add a functionality-reduced TIE-style Perl API OSSP::uuid::tie,
         intended for very high-level convenience programming.
         [Ralf S. Engelschall]

       o Reference the new officially published RFC 4122.
         [Ralf S. Engelschall]

      Changes between 1.2.0 and 1.2.1 (23-Jan-2005 to 30-Aug-2005)

       o Add SEEALSO document which references all known
         UUID implementations.
         [Ralf S. Engelschall]

       o Improve the PRNG in case no stronger system PRNG device is
         available by passing time and rand(3) based entropy into the MD5
         one-way hash function to achieve at least some sort of weaker PRN data.
         [Ralf S. Engelschall]

       o Fix MAC address determination under Solaris by using the result of
         ioctl(...,SIOCGARP,...) only if arp_flags had ATF_COM set.
         [Ralf S. Engelschall]

       o Upgrade to GNU libtool 1.5.18 and GNU shtool 2.0.2.
         [Ralf S. Engelschall]

       o Cleanup the source code even more by following a large
         set of FlexeLint's suggestions.
         [Ralf S. Engelschall]

       o Fixed generated "section" number in uuid-config(1).
         [Piotr Roszatycki <dexter@debian.org>]

      Changes between 1.1.2 and 1.2.0 (13-Jan-2005 to 23-Jan-2005)

       o Added support for new version 5 UUIDs (name-based, SHA-1)
         according to latest draft-mealling-uuid-urn-05.txt.
         [Ralf S. Engelschall]

       o Reference new ISO/IEC 9834-8:2004 / ITU-T Rec. X.667 2004 standard
         and latest IETF draft-mealling-uuid-urn-05.txt.
         [Ralf S. Engelschall]

      Changes between 1.1.1 and 1.1.2 (18-Nov-2004 to 13-Jan-2005)

       o Fix generation of v3 UUIDs by adding support for 64-bit platforms
         to the underlying uuid_md5.c code (which internally is based on
         the RFC reference code which in turn assumes a 32-bit environment).
         [Ralf S. Engelschall, Piotr Roszatycki <Piotr_Roszatycki@netia.net.pl>]

       o Optimize internal md5_store() function by directly finalizing MD5
         calculation on buffer copy instead of finalizing original buffer
         and having to restore it from the buffer copy.
         [Ralf S. Engelschall]

       o Adjust copyright messages for new year 2005.
         [Ralf S. Engelschall]

       o Do not rebuild the Perl API if there were no actual changes.
         [Ralf S. Engelschall]

      Changes between 1.1.0 and 1.1.1 (03-Nov-2004 to 18-Nov-2004)

       o Apply the FreeBSD libc uuid_create() related workaround
         in the Perl bindings also under FreeBSD 6.0-CURRENT.
         [Ralf S. Engelschall]

       o Fix --with-perl configure option processing: Perl is
         only required if --with-perl is used although we search for Perl
         always in order to provide the PERL variable substitution.
         [Ralf S. Engelschall]

      Changes between 1.0.4 and 1.1.0 (16-Oct-2004 to 03-Nov-2004)

       o Add --with-perl configure option for optionally enabling
         the Perl language bindings.
         [Ralf S. Engelschall]

       o Add Perl language bindings providing both a C-style and OO-style API.
         [Ralf S. Engelschall]

      Changes between 1.0.3 and 1.0.4 (15-Oct-2004 to 16-Oct-2004)

       o Fix version detection from uuid_vers.h
         [Ralf S. Engelschall]

      Changes between 1.0.2 and 1.0.3 (12-Sep-2004 to 15-Oct-2004)

       o Support configuring/building/installing from an arbitrary
         directory via srcdir/top_srcdir/VPATH.
         [David Lee <t.d.lee@durham.ac.uk>, Ralf S. Engelschall]

       o Upgrade build environment to GNU libtool 1.5.10.
         [Ralf S. Engelschall]

      Changes between 1.0.1 and 1.0.2 (16-Jul-2004 to 12-Sep-2004)

       o Upgrade build environment to GNU libtool 1.5.8 and GNU shtool 2.0.1
         [Ralf S. Engelschall]

      Changes between 1.0.0 and 1.0.1 (16-Feb-2004 to 16-Jul-2004)

       o Made documentation of uuid_export() more clear.
         [Ralf S. Engelschall]

       o Upgrade build environment to GNU libtool 1.5.6 and GNU shtool 2.0.0
         [Ralf S. Engelschall]

       o Remove some warnings occurring under GCC 3.5
         [Ralf S. Engelschall]

      Changes between 0.9.7 and 1.0.0 (13-Feb-2004 to 16-Feb-2004)

       o Replace remaining (old) UUID_VERSIONX names with UUID_MAKE_VX
         in the documentation (uuid.pod).
         [Ralf S. Engelschall]

       o Resolve namespace conflicts with GCC 3.4 internal pow10() and round()
         functions within uuid_str.c.
         [Ralf S. Engelschall]

       o Fix buffer handling in "uuid_export(..., UUID_FMT_TXT, vp, ...)" in
         case "vp" is not NULL.
         [Fuyuki <fuyuki@nigredo.org>]

      Changes between 0.9.6 and 0.9.7 (11-Feb-2004 to 13-Feb-2004)

       o remove --with-rfc2518 option and functionality because
         even the IETF/IESG has finally approved our report about the broken
         random multicast MAC address generation in the standard (and
         will fix it in new versions of the draft-mealling-uuid-urn). So,
         finally get rid of this broken-by-design backward compatibility
         functionality.
         [Ralf S. Engelschall]

       o Add support to uuid(1) CLI for decoding from stdin for
         both binary and string representations.
         [Ralf S. Engelschall]

       o Add missing documentation entries for UUID_XXXX API constants and
         uuid_version() function.
         [Fuyuki <fuyuki@nigredo.org>]

       o Adjust references for new draft-mealling-uuid-urn-02.txt.
         [Fuyuki <fuyuki@nigredo.org>]

       o Replaced overlooked references to old
         uuid_{unpack,pack,parse,format,dump}() functions with their
         current uuid_{import,export}() replacements.
         [Fuyuki <fuyuki@nigredo.org>]

       o Fixed "uuid -h" command.
         [Fuyuki <fuyuki@nigredo.org>]

      Changes between 0.9.5 and 0.9.6 (06-Feb-2004 to 11-Feb-2004)

       o Added an experimental additional DCE 1.1 API for backward
         compatibility with existing applications.
         [Ralf S. Engelschall]

      Changes between 0.9.4 and 0.9.5 (19-Jan-2004 to 06-Feb-2004)

       o Fixed filedescriptor leak in the PRNG sub-API.
         [Guerry Semones <guerry@tsunamiresearch.com>]

       o Upgraded build environment to GNU libtool 1.5.2.
         [Ralf S. Engelschall]

      Changes between 0.9.3 and 0.9.4 (16-Jan-2004 to 19-Jan-2004)

       o Include <string.h> in uuid.h because of size_t usage.
         [Ralf S. Engelschall]

       o INCOMPATIBILITY: Refactor the API and rename uuid_generate()
         to uuid_make() and use a "uuid_t" pointer for the namespace
         on UUID_VERSION3 generation. To allow access to the internal
         pre-defined namespace UUIDs, provide a new uuid_load() function.
         Because uuid_load() now also allows the loading of the "nil" UUID,
         remove uuid_nil() from the API. After this second refactoring the
         API is now the one we originally wished for the forthcoming version
         1.0 of OSSP uuid.
         [Ralf S. Engelschall]

       o INCOMPATIBILITY: rename UUID_VERSIONx to UUID_MAKE_Vx and
         UUID_MCASTRND to UUID_MAKE_MC to be more consistent throughout API.
         [Ralf S. Engelschall]

       o Add version support to API via UUID_VERSION (compile-time)
         and uuid_version() (link-time).
         [Ralf S. Engelschall]

       o INCOMPATIBILITY: Refactor the API by merging
         uuid_{unpack,pack,parse,format,dump}() functions into unified
         uuid_{import,export}() functions. This allows us to easily add
         support for other formats (e.g. XML) in the future without having
         the change the API in principle.
         [Ralf S. Engelschall]

       o Document what DCE 1.1 UUID versions exist and what they are
         intended for.
         [Ralf S. Engelschall]

       o Cleanup the C code to also pass warning-free a C++ compiler.
         [Ralf S. Engelschall]

       o Support C++ by enclosing the C API declarations in
         'extern "C" {...}' within uuid.h.
         [Guerry Semones <guerry@tsunamiresearch.com>]

       o Improvide decoding in uuid_dump() by at least hex-dumping the
         binary representation in case of v3, v4 and Nil UUIDs. Also,
         annotate with better hints.
         [Ralf S. Engelschall]

       o Recognize special "Nil UUID" on decoding in uuid_dump().
         [Ralf S. Engelschall]

      Changes between 0.9.2 and 0.9.3 (15-Jan-2004 to 16-Jan-2004)

       o Tested OSSP uuid on 16 particular Unix platforms and list
         those in the new PORTING file.
         [Ralf S. Engelschall]

       o Fixed minor formatting bug in call to str_rsprintf().
         [Ralf S. Engelschall]

       o Fix syntax error in uuid.ac.
         [Ralf S. Engelschall]

      Changes between 0.9.1 and 0.9.2 (13-Jan-2004 to 15-Jan-2004)

       o Provide both incorrect RFC2518-based and correct IEEE 802
         multicast address generation. The default now is the correct
         IEEE 802 multicast address generation but compile-time option
         --with-rfc2518 selects the broken variant.
         [Ralf S. Engelschall]

       o Decode also the IEEE 802 MAC address local/global bit.
         [Ralf S. Engelschall]

       o Added missing documentation for uuid_dump().
         [Ralf S. Engelschall]

       o Fixed BM_POW2() macro implementation.
         [Ralf S. Engelschall]

       o Use BM_XXX() and str_xxx() APIs throughout internal implementation.
         [Ralf S. Engelschall]

       o Added missing manual page uuid-config(1).
         [Ralf S. Engelschall]

       o Fixed output of "uuid-config --version"
         [Ralf S. Engelschall]

       o Fixed typos in uuid.pod
         [Ralf S. Engelschall]

       o Cleanup uuid.ac for unused elements.
         [Ralf S. Engelschall]

       o Moved uuid_[u]int{8,16,32}_t auto-configuration into
         own internal header uuid_ac.h.
         [Ralf S. Engelschall]

       o Fixed portability by replacing accidentally introduced
         uint{8,16,32}_t with the portable uuid_uint{8,16,32}_t.
         [Guerry Semones <guerry@tsunamiresearch.com>]

       o Prefix all variable symbols in uuid.h with underscores
         to avoid namespace conflicts.
         [Ralf S. Engelschall]

       o Add decoding examples to uuid(1) manual page.
         [Ralf S. Engelschall]

      Changes between 0.9.0 and 0.9.1 (11-Jan-2004 to 13-Jan-2004)

       o Make "md5_init" and "mac_address" symbols namespace clean
         by adding correct embedding support via "uuid_" prefix.
         [Ralf S. Engelschall]

       o Implement uuid_dump() and corresponding uuid CLI "-d"
         option for dumping a given UUID into clear text. For convenience
         reasons add uuid_bm.h (bit mask API) and uuid_str (string
         formatting API) sub-modules.
         [Ralf S. Engelschall]

       o Add "-m" option to CLI for allowing to generate v1 UUIDs
         with random multi-cast addresses (API UUID_MCASTRND option).
         [Ralf S. Engelschall]

       o Disable the C++ and F77 checks in GNU libtool.
         [Ralf S. Engelschall]

       o Print involved option character (instead of '?') on invalid
         option for uuid(1) CLI.
         [Matthias Andree <matthias.andree@gmx.de>]

       o Fixed "make install" and "make uninstall": the uuid(1) CLI
         has to be [un]installed through GNU libtool, too.
         [Matthias Andree <matthias.andree@gmx.de>]

       o Document in uuid(1) [uuid_cli.pod] that for version 3
         UUIDs additional arguments are required and what pre-defined
         namespace ids are known.
         [Ralf S. Engelschall, M.Daniel <mdaniel@scdi.com>]

       o cleaned up source tree documentation files.
         [Ralf S. Engelschall]
