1999-01-09  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs 1.14

1998-12-15  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs 1.13

1998-12-04  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Makefile.in: Update version numbers of the UUID shared library,
		since we've added a new function (uuid_time()).

	* uuid_time.c: New file which returns the time field of a UUID.
		(Good for debugging purposes)

1998-07-09  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs 1.12

1998-06-25  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* tst_uuid.c (main): Fixed bogus declaration of the main's argv
		parameter.

1998-04-26  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* uuidP.h: Use asm/types.h instead of linux/types.h to avoid a
		problem caused by glibc hack to prevent linux/types.h from
		being included.

1998-03-30  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Makefile.in: Change to use new installation directory variables
		convention.  Fix uninstall rules to take $(DESTDIR) into
		account.

Sun Mar  8 22:17:59 1998  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* gen_uuid.c (get_node_id): Use char * instead of caddr_t, which
		doesn't always exist for glibc.

Tue Oct 14 21:48:16 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* gen_uuid.c: Use clock_reg instead of clock, since clock
		conflicts with a header file declaration.

Tue Jun 17 01:33:20 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs 1.11

Thu Apr 24 12:16:42 1997  Theodre Ts'o  <tytso@localhost.mit.edu>

	* Release of E2fsprogs version 1.10

Thu Apr 17 12:23:38 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.09

Fri Apr 11 18:56:26 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.08

Wed Mar 12 13:32:05 1997  Theodore Y. Ts'o  <tytso@mit.edu>

	* Release of E2fsprogs version 1.07

Sun Mar  2 16:45:36 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Makefile.in (ELF_VERSION): Change version to be 1.1

Thu Feb  6 23:08:07 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* gen_uuid.c (uuid_generate): Set Multicast bit when picking a
		random node_id, to prevent conflicts with IEEE 802
		addresses obtained from network cards.

Wed Jan  1 23:51:09 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* unpack.c, pack.c: Include string.h, since we use memcpy().

Tue Dec  3 13:05:11 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* parse.c: Add #include of ctype.h and stdlib.h, to pull in the
		required prototypes.

Fri Oct 11 17:15:10 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Makefile.in (DLL_ADDRESS): Updated DLL address for libuuid.

Tue Oct  8 02:02:03 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.06

Thu Sep 12 15:23:07 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.05

Tue Aug 27 16:50:43 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* uuid/gen_uuid.c [HAVE_NET_IF_H] <net/if.h>: Include guarded.
	[HAVE_NETINET_IN_H] <netinet/in.h>: Include guarded.
	(get_node_id): Surround bulk of function with #ifdef HAVE_NET_IF_H.

Tue Aug 27 16:50:16 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* gen_uuid.c (get_node_id): Add a specific ifdef for the HURD,
		since it is broken w.r.t getting hardware addresses.
