19 Aug 1999 2.0.11
-------------------------

	mSQL
	====

	o Fixed small bug in msqlDateOffset()
	o Made sure that reading a sequence flagged a table cache
	  entry as dirty for the msynch flusher
	o Fixed problem with money type values in the millions 
	o Rolled in Yuri's latest OS/2 Patches
	o Fixed a linked list termination NULL in the CRA code
	  (although it was NULL by default the code was missing)
	o Minor fix to API libary for MacOS X shared library support


	Lite / W3-mSQL
	==============

	o Fixed string length issues (count and casting)
	o Added Day Light Saving support to time2unixtime if the
	  host OS supports it.
	o Rolled in Georg Horn's fixes for multi-part form data
	o Added Force_Suffix support to w3-msql and the config routines.
	  This allows you to specify the file suffix of files that
	  w3-msql is allowed to process.  Any attempt to access a file
	  without this suffix results in an error (for security reasons).



26 May 1999 2.0.10.1
-------------------------

	mSQL
	====

	o Changed sys/errno.h to errno.h for Solaris
	o Fixed msqlDateOffset() problems and ensured Y2K compliance


	Lite / W3-mSQL
	==============

	o Removed debugging delay from w3-msql



25 May 1999 2.0.10
-------------------------

	mSQL
	====

	o Fixed bogus error messages from network EOF conditions
	o Fixed small quoting error in msqlimport
	o Fixed misplaced #endif in msql.h prototypes section
	o Added errno test for interrupted sys calls to net.c error 
	  reporting
	o Fixed strdup macro definition conflict in config.c


	Lite / W3-mSQL
	==============

	o Rearanged hidden form field order in W3-Auth forms to get
	  around an MS-IE parsing problem.
	o Fixed handling of array params in compiled lite libraries.


15 April 1999 2.0.9
-------------------------

	mSQL
	====

	o Incorporated more Win32 portability.
	o Added DB_Dir config element to allow database data files to be 
	  moved to non-standard locations.
	o Fixed VARCHAR conditional matching problem
	o Fixed problem with partial updates of compound UNIQE indices
	o Fixed field length test to ensure escape characters are not
	  viewed as part of the string (Resulting in 'field too large'
	  errors even though the unescaped string is OK)


	Lite / W3-mSQL
	==============

	o Fixed the Force_Private config element so that once set, files
	  must be loaded from the INST_DIR/www directory (removes the
	  chance of w3-msql being used to access other files in your
	  web tree that may be controlled by htaccess security)
	o Fixed possible milling NULL termination on variable creation
	  in w3-auth which was causing program failure due to missing
	  internal data.


15 March 1999 2.0.8
-------------------------

	mSQL
	====

	o Fixed "ansi only" constructs in strtoul.c
	o Fixed "value too large" error being mis-reported
	o Fixed core-dump on various BSD systems caused by large
	  packet buffers.
	o Fixed formatting errors for money values between
	  -0.01 and -0.09
	o Fixed bug in the query optimiser that incorrectly handled
	  certain queries if a compound index was used in the outer
	  loop of a join and one of the index elements was evaluated
	  using a ident expression rather than a literal value
	o Added missing msqlFreeResult() to msqldump.c
	o Added O_BINARY to a call of open in msqldb.c that was missed in 
	  the last round of OS/2 modifications.
	o Force the use of msync() under Linux


	Lite / W3-mSQL
	==============

	o Added setHttpResonse() to standard module for over-riding the
	  default "200" http response code.
	o Modified mime type generation to return text/html for any
	  file with a suffix starting with .htm (e.g. .htm .html .htmsql)
	o Fixed the mangling of the QUERY_STRING environment variable
	o Fixed HTTP header generation in W3-auth runtime errors
	o Enhanced handling of aray variables in expandText() to allow
	  unknown array references to be ignored rather than generating
	  a runtime error.


15 February 1999 2.0.7
-------------------------

	mSQL
	====

	o Fixed ansi-only line continuation in msqlimport
	o Fixed use of APIENTRY macro for client sources (i.e. code
	  not using the mSQL portability code.
	o Added inclusion of time.h to msql.h for time_t prototypes
	o Added cast to (char *) for packet buffer accesses to stop
	  HP-UX from complaining about the u_char buffer in string
	  handling calls.
	o Removed SHELL=SH from top level Makefile
	o Fixed core dump if a value too large for the target field is
	  inserted into a table in which the target field is used as
	  part of a unique index.
	o The server now refuses STATS requests received from remote
	  machines.  This is in response to a security concern raised
	  by KSR[T] (www.ksrt.org) as some of the information provided
	  could be used in remote attacks on the server.
	o Modified money handling to introduce a "fake" 3rd digit of
	  precision to overcome real number rounding errors in the
	  standard C library routines.
	o Fixed AVL tree code to use a much more compact node size
	  Thanks to Gabor Ligeti <gligeti@appaloosacorp.com>.
	o Fixed internal value 'datalen' settings for CHAR literal types.
	o Added config handling for Query_Log and Query_Log_File.
	o Added backend support for query logging.
	o Changed centry handling in date fields to not use the %C
	  format element of strftime as it appears not to be supported
	  properly by all OS's
	o Added stdlib.h to syserr testing
	o Rolled in Yuri's latest OS/2 mods to handle CRLF text files
	  int Lite and w3-mSQL  (Yuri Dario <mc6530@mclink.it>)
	
	  

	Lite / W3-mSQL
	==============

	o Added createVariable(name,value) to mod_std for dynamic variable
	  creation.
	o Modified w3-msql's arg parser to accept variable that include
	  a '.' character via a POST or GET (for image maps etc.)  The
	  variable name is re-written so that $image.x becomes
	  $image_dot_x
	o Added addHttpHeader(HeaderLine) to mod_std for w3-msql to allow
	  the setting of custom headers in the HTTP Header block


	Misc
	====

	o Write demo lite script for reading a query log file.  The 
	  script is called misc/parse_query_log
	o Added NEW_FEATURES file to the doc/ directory that explains
	  any new features added in the current release.


15 January 1999  2.0.6
-------------------------

	mSQL
	====

	o Incorporated modified msqlimport from Georg Horn.
	o Added multiplatform make support to makegen for OS2 and Win32
	o Added multiplatform library handling to makegen for DLL's
	o Incorporated OS/2 specific modifications from Yuri Dario 
	  <mc6530@mclink.it> added the required multi-platform support
	  for portability
	o Rewrote handling of money type to avoid any use of libc based
	  numeric handling functions
	o Fixed core dump on invalid field type test in sort code 
	  (sorting on a TEXT field for example).
	o Moved to using strtoul() for conversion of UINT field types
	  to ensure the values are not truncated to MAX_INT by atoi()
	  on some platforms.
	o Added config testing for strtoul() and an implementation of 
	  it for those systems that are lacking.
	o Fixed possible DB name buffer overflow to satisfy the Brazilian
	  "Sekure SDI" group's advisary.  Other elements of the advisary
	  have been intentionally ignored and reimplemented due to
	  unportable programming constructs used by this "security group"
	o Rewrote the msqlDebug() handling to satisfy the totally paranoid.
	o Added runtime stats to "msqladmin stats"
	o Fixed handling of non-text type array elements being passed to
	  user defined functions


	Lite / W3-mSQL
	==============

	o Rewrote autoconversion during checking of parameters for
	  types like INT/UINT
	o Patched the LVM to allow a scalar variable to be automatically
	  cast to an array if a value is assigned to a dereferenced element
	  (another Georg Horn patch)
	o Added NULL test to HTUnEscape
	o Added setup test for Linux so that -rdynamic can be included
	  in the link flags for dynamic module loading
	o Fixed obscure bug if a variable was cast to an array from a
	  scalar and there are other variables in the symbol table that
	  are hashed to the same bucket of the symtab hash table.
	o Fixed problem if an empty string is passed to W3-mSQL as the
	  QUERY_STRING env variable from a GET operation.




1 December 1998  2.0.5
-------------------------

	mSQL
	====

	o Fixed sorting problem
	o Added test for number of args to msync() for BSDI and others
	o Added extern declaration for snprintf to msqldb.c
	o Added API library initialisation tests to ensure the packet
	  buffer is not a NULL pointer (avoiding core dumps)
	o Added tests on the socket passed to the API calls with
	  failures if it's pointing to a tty (i.e. fd 0 due to a
	  uninitialised variable be used as the sock)
	o Fixed core-dump problem in the new CRA code's
	  msqlReorderTableList() if a condinition element is a sub-cond
	o Fixed problem with updating the index field value when that
	  index was used as the update condition
	o Fixed bad logic handling in multi-contidion where clauses
	o Fixed bogus creation of index files if the bulk creation
	  failed (such as finding a NULL during the creation)
	o Fixed SIGPIPE handling causing previously msqlClosed sockets
	  to be "re-closed" when they are no long associated with an
	  mSQL connection
	o Fixed potential core dump in CRA code when handling
	  sub-conditions (sub-conditions leave a NULL value in the
	  condition expression list)
	o Fixed file path problem in sort code for installations that
	  redefine the installation directory after compile time via
	  the config file
	o Fixed double free (and possible core dump) when unknown field
	  names are used as the rvalue of an ident to ident condition
	o Fixed "summer time" problem in msqlDateToUnixTime() and
	  msqlTimeToUnixTime() where an un-zeroed struct was forcing
	  daylight saving calculations to be performed.
	o Possible security problem as outlined on BugTraq where a badly
	  formatted handshake packet is sent to the server has been
	  fixed.
	o Added check and fix for HP-UX ranlib to the library build
	  code
	o Extended the database and table name lengths in relshow
	o Added dirty map tracking for use by the mmap syncher


	Lite / W3-mSQL
	==============

	o Fixed param type checking for module function calls
	o Fixed potential core dumps when undeclared symbols are
	  referenced and printed.
	o Fixed potential core dump when displaying error messages on
	  platforms without zero filled malloc blocks
	o Changed the semantics of precision handling in %f formats
	  in printf() to round rather than truncate to the specified
	  precision (as per the standard C implementations).


1 June 1998   2.0.4.1
-------------------------

	mSQL
	====

	o Fixed problem with new Remote_Access option not setting IPsock
	  to -1 (so the server was selecting on stdin due to IPsock
	  defaulting to 0)


	Lite / W3-mSQL
	==============

	o Fixed variable initialisaton for data passed through GET or
	  POST
	o Re-applied Jeff Staege's patch for multi-part form data



29 May 1998   2.0.4
-------------------------

	mSQL
	====

	o Added query optimisation for single entity sub-conditions to
	  unfold them into the main condition for inclusion in the 
	  optimsation loop.
	o Enhanced optimiser to determine the optimum order in which
	  multiple tables within a join should be processed based on
	  the frequency of comparisons between the tables.  This
	  overcomes many problems associated with slow processing of 
	  badly written queries.
	o Optimised temporary table creation for added performance in
	  joins, ordering and distincting.
	o Added in-core AVL Tree support
	o Added fast AVL Tree based sorting
	o Added fast AVL Tree based distinct processing
	o Optimised packet formation to increase the performance of the
	  API library
	o Fixed potential connection leak for failed connection attempts
	o Fixed null-termination problem for hostname lookups on Linux (core)
	o Fixed field wildcarding in joins
	o Fixed obscure problem where joining using table aliases,
	  conditions on the same fieldname from different tables and an
	  index on the inner join loop produced incorrect results
	o Fixed problem with NULL handling in packetization of result
	  data when sending to the client
	o Fixed rounding errors in the MONEY type caused by various
	  standard C library routines
	o Reverted to original map region syncer avoiding sync() if the
	  system has msync()
	o Forced an msync() prior to all munmaps() as some systems
	  appear not to force a sync while unmapping
	o Standardised NULL representation in data file to simplify 
	  row processing
	o Modularised code for better co-existance with the "research"
	  code branch
	o Better support for setuid versions of the backend
	o Fixed mis-handling of certain conditions in msqlDateOffset
	o Added prototypes for remaining date / time API functions
	o Fixed host lookup mismatch in client check
	o Changed unknown config entries to a warning rather than a
	  fatal error.
	o Added configuration entry for Local_Access (i.e. UNIX domain
	  access) to config handler and server startup code.
	o Added configuration entry for Remote_Access (i.e. TCP/IP
	  access) to config handler and server startup code.
	o Fixed problem with re-rentrant calls to gethost* routines
	  when accepting new connections.
	o Fixed possible core dump when accepting a remote connection
	  from a client that has a reverse nameserver entry but does
	  not have a forward entry
	o Further linting and prototyping
	o Added read timeout code to stop denial of service attacks
	  against the server.
	o Fixed core dump when invalid system var names are passed
	  through to createTmpTable() during a join, sort, or distinct.



	Lite / W3-mSQL
	==============
	o Fixed memory leak in regex handling
	o Fixed limitation on amount of data being passed into a
	  W3-mSQL page from a POST or a GET
	o Added bindings to msqlLoadConfigFile() to the mSQL module
	o Added expandText() to the standard module so that text with
	  embedded variables can be loaded from a file and "evaluated"
	  using the current value of the variables.
	o Adding missinget </CENTER> tag from footer output
	o Fixed code generation for "complex" math expressions so that
	  expressions like 2 - 1 - 1 + (int)"10" - (2 * 2 + (int)"1")
	  work from left to right rather than right to left
	o Added support for the money type to the lite VM
	o Added O_BINARY to opens for OS/2
	o Rolled in Jeff Staege's patch for multi-part form data
	o Fixed handling of NULL mSQL field values in the array return
	  by msqlFetchRow()


7 Oct 1997   2.0.3
-------------------------

	mSQL
	====

	o Fixed cpp problem on build (compilation failed on some systems)
	o Fixed infinite loop problem when updating an index value using
	  the index as the condition
	o Fixed core dump when using a sub condition in conjunction with
	  and index for row selection
	o Replaced hard coded make with $(MAKE) in makegen macros



        Lite / W3-mSQL
        ==============

	o Fixed several queries in msql-auth that did not include the
	  namespace to which they applied.


	

22 Sep 1997  2.0.2
-------------------------

	mSQL
	====

	o Rolled in Bob Sum's patches
	o Fixed translation of missing numerci values to NULL in msqlimport
	o Fixed floating point rounding problems with money values
	o Fixed denial of service attack problem with malformed protocols
	o Fixed core dump if overflow buffers of a TEXT field extend 
	  beyond the mapped region during an update
	o Fixed core dump when query string is longer than the debug buffer
	o Fixed SNI security concerns regarding buffer overflows
	o Added forward name lookup testing of hostnames during ACL checks
	o Fixed handling of reals, money and time in DISTINCT queries
	o Fixed server memory leak in certain mmap errors
	o Fixed memory leak in API library for empty selects
	o Fixed problems with updating and index where the index is in
	  use by the update query (i.e. in the where clause)
	o Changed the memory syncher to force a remap rather than using
	  msync as Linux appears to not sync the mapped regions.
	o Fixed an mmap region leak
	o Fixed problem where connection could be reached due to errors
	  causing session to abort
	o Fixed problem with TCP Port number in bcmp during host_lookup
	  (when host_lookup = false).  Thanks for the note Dirk.

	# Code branch for experimental development



  Jun 1997  2.0.1
-------------------------

	mSQL
	====

	o Modified select loop range handling to avoid potential
	  infinite loop searching for active sockets
	o Forced a mode of 0777 on the UNIX socket just in case
	o Rolled in completed Win32 portability
	o Fixed comparison of negative time/date values
	o Fixed matching of null values to 0
	o Fixed handling of null values in conditions other than
	  equals and not-equals
	o Fixed value overwriting when updating the value of a TEXT
	  field that was originally set to NULL
	o Fixed integrity of the overflow buffer on deletion of table
	  Rows containing NULL text fields.
	o Fixed non-unique index error when updating a row using the
	  index for row selection
	o Fixed wierd "field cannot be null" errors when inserting valid
	  data into not-null fields.
	o Fixed CHAR and TEXT comparison problem where the in-table
	  value fills the entire field width and the literal value
	  is longer than the field width (sub string match problem).
	o Fixed generation of values for _sysdate and _systime
	o Fixed handling of system variable like _systime for queries
	  on empty tables
	o Fixed problem in msqlDateOffset()
	o Rolled in Bob Sum's *LIKE fixes.  Some of the NULL handling
 	  code replaces the above mentioned NULL fixes.
	  
	



	Lite / W3-mSQL
	==============

	o Fixed definitions of HAVE_DYNAMIC
	o Added performance optimisations
	o Fixed strseg() handling of strings shorter than the specified
	  substring.



	Misc
	====

	o Updated doco for 2.0.1
	o RTF version of documentation replaced by HTML.  The
	  translation is still very rough and the PostScript version
	  should be used where possible.
	o Added testing for sys/timeb.h to the configure script




8 Jun 1997  2.0 Release
-------------------------

	mSQL
	====

	o Fixed minor read overflow in AVL tree initialisation
	o Further optimised index selection during candidate setup
	o Fixed memory leak in sub-condition handling
	o Fixed bug in handling of reversed ident conds in inner loop 
	  condition when using an index for the inner loop of a join
	o Fixed unique index handling problem
	o Fixed bug in comparison with some system variables
	o Fixed pre/post increment problem of sequences during query
	  execution
	o Fixed handling of TIME and DATE fields in msqldump
	o Fixed core dump where and index fields is compared to an IDENT
	  values who's value is NULL during a join.
	o Fixed core dump in certain situations if the value passed to
	  an index based condition is longer than the field length.
	o Fixed bug in the sorting of real values
	o Fixed obscure bug in resetting an index value to the same value
	  if that index was used for the lookup and the index node
	  contained duplicate values
	o Optimised index updates so that indices are only modified if
	  the value has actually changed
	o Made cache invalidation consistent
	o Added "copy" and "move" to msqladmin
	o Added section based name spaces to the config routines
	o Added further configuration output to "msqladmin version"
	o Rewrote msqlimport from scratch
	o Added date / time format routines to the API library



	Lite / W3-mSQL
	==============

	o Added .shtml as a valid HTML suffix for W3-mSQL processed files.
	o Added @variable for accessing global symbols from a local
	  namespace (e.g. using globals from within a function)
	o Fixed core dump when adding an empty function to a lite library
	o Fixed double contraction of \\ escapes




8 May 1997  2.0 Beta 7
----------------------

	mSQL
	====

	o Added test for "make target" before performing a build
	o Fixed unique index handling if updating the index value with
	  itself
	o Fixed access control for UPDATE queries
	o Fixed core dump if _rowid > numRows given in a select
	o Fixed problem with incorrect precision in update of real fields
	o Forced debug initialisation messages to stderr


	Lite / W3-mSQL
	==============

	o Fixed handling of multi-value web form data (i.e. multi-select
	  lists) during the casting of the values to an array.
	o Upgraded limits in W3-mSQL passed variable lengths 
	o Fixed initialisation of symbol table prior to checking W3-Auth
	  based access control


11 April 1997  2.0 Beta 6
-------------------------

	mSQL
	====

	o fixed rand() srand() portability macros
	o added strptime check to autoconf script
	o added strptime function to lib mSQL if needed
	o completed Win32 porting of client API and client apps
	o completed Win32 porting of server although indexing still
	  needs some debugging.
	o fixed per field cache pointer during tmp table creation (core
	  dump when ordering the result of a join with a TEXT field)
	o fixed handling of 8 bit char sets in regexp matching
	o fixed ident handling in joins (particularly in self joins)
	  when multiple idents used in the comparison clause
	o fixed timestamp bug where timestamps were reset in a condition
	o fixed NOT NULL testing for NULL fields
	o fixed NOT NULL testing for NULL indices
	o fixed resetting overflow table mapping length to 0 when
	  dropping a table cache entry in loadTableDef()
	o fixed potential leak of mapped region in initTable()
	o updated client library to use MSQL_DEBUG not MINERVA_DEBUG
	o updated libmsql to use stderr for debugging
	o added short-circuits for condition testing (i.e. bail as soon
	  as we can tell the result of and AND or an OR etc)
	o fixed leak of overflow buffers when deleting rows containing
	  TEXT fields
	o added soundex based matching using the SLIKE operator
	o fixed handling on blank date fields (ie. '')
	o fixed LIMIT handling


	Lite / W3-mSQL
	==============

	o More performance upgrades
		- Symbol names no-longer malloced
		- Symbol values < 10 bytes long no longer malloced
		- Results show 300% performance increase in virtual
	  	  machine operating speed
	o Fixed string length mis-match between locally created and
	  passed variable values (e.g. html form data etc)
	o Forced flushing of output after an echo() as a call to
	  system() following a non-flushed echo() could cause the
	  output order to skew



20  March 1997 	2.0 Beta 5
--------------------------

	mSQL
	====

	o Rewrote regression test suite to obtain better code coverage
	o Added real value precision handling to solve real number
	  rounding errors.  The desired precision is now stored with
	  the value in the database table.
	o Added code to translate system variables (eg _rowid) into
	  "real" table fields during creation of a result table.  This
	  allows the sysvar value from the original table to be carried
	  through a DISTINCT or an ORDER rather than it being incorrectly
	  generated from the result table.
	o Added ability to order a result on the value of a system
	  variable
	o Added more system diagnostics for low-level errors
	o Added more file ownership testing (for those that chown the
	  data file and don't get it correct)
	o Added /dev/tty test in makegen macros.  I though expecting 
	  /dev/tty to exists was fair but apparantly not so on IRIX
	  5.3.
	o Added README.sco for build details on SCO
	o Added msqlGetSequenceInfo() to API and server
	o Added support for showing sequence structure to relshow
	o Added support for dumping current sequence status to msqldump
	o Added support for UINT data type
	o Added support for DATE data type
	o Added support for TIME data type
	o Added support for MONEY data type
	o Added mmap region syncing for data files, overflow files and
	  the mapped regions of the AVL index files.  Frequency of sync's 
	  is configured in msql.conf.
	o Added support for sequences in relshow (sequence creation at
	  the current sequence value)
	o Added msqlGetSequenceInfo() API function
	o Added _systime system variable
	o Added mSQL time and date functions to the API library.  These
	  allow for conversion from the text representations used by
	  mSQL into a valid UNIX time_t value.
	o _sysdate system variable now returns a date type value of the
	  current data on the server machine (not the UNIX time value
	  as previously returned)
	o Rows are now padded to an 8 byte boundary for memory alignment
	  reasons (mmap() access to the row headers structures on Alpha)
	o Row header timestamp now time_t rather than int for machines
	  that use long time values (e.g. the Alpha)
	o Fixed memory leak in yyprev symbol handling
	o Fixed wild free in lexer symbol handling (core dump)
	o Fixed timestamp overwrite problem for the Alpha
	o Fixed relshow core dump for invalid index name
	o Fixed core dump in AVL code when accessing an unaligned real 
	  (i.e. a double) value in the tree node
	o Fixed bad handling of numeric index types by moving the field
	  value auto-casting earlier in the control flow
	o Fixed AVL Lookup problem for indices comprised of real values
	o Fixed compound index handling bug (key could be incorrectly
		formatted on lookup resulting in no results).
	o Fixed problem with ident comparisons on single table selects
	o Fixed problem with ident to sysvar comparisons on single table 
	  selects (e.g. select * from foo where f1 = _rowid)
	o Fixed wild free problem for ident values in join code (core dump)
	o Fixed memory over-read on some TEXT field operations
	o Fixed data hole free list handling
	o Fixed multiple increment of sequence value (i.e. select _seq
		from foo would increment the seq for each row)
	o Fixed multiple increment of seq in conditions (i.e.
		"select _seq from foo where id > _seq" would increment
		the sequence twice (once for each call to getSysVar() )
	o Fixed handling of system variables in join results
	o Fixed 8 byte alignment problems in the AVL tree code.  The
		entire server is now 64bit clean and passes the
		new regression test on an Alpha under OSF/1



	Lite / W3-mSQL
	==============

	o Rewrote all symbol table handling code to use a 64 way
	  hash table for symbol lookups.  Also added a short-cut for
	  symbol searches.  General performance increase in every aspect
	  of the language results from this modification.
	o Added support for non-local authentication databases via the
	  msql.conf file.
	o Added support for HTML comments and other non-Lite tags that
	  start with <!
	o Adding hooks for the mSQL time and date routines to mod_std
	o Added getTzOffset() to mod_std for hacking time values
	o Added toksplit() to mod_std
	o Added literal symbol re-use code
	o Fixed auto-casting problems with the new uint type
	o Fixed auto-base-conversion (i.e. octal & hex).  Conversions
	  now only performed on literals, not on variables during a cast
	  or an auto-cast
	o Fixed off-by-one error in count operator for text strings
	o Fixed regression test results to reflect the current test
	  output
	o Fixed space handling in urlEncode()
	o Fixed problem with string truncation in sub()
	o Fixed problem with handling some C styled comments
	o Fixed core dump when trying to cast an array to a scalar type
	o Fixed off by one error in array literal element length
	o Fixed handling of array indexing in text expansion (e.g. 
	  in echo() strings) when array indexed by a variable value
	o Fixed auto casting for int and uint in printf formats




	Misc
	====

	o Fixed a couple of bugs in the time library for date/time handling
	o Added errno.h to the headers searched in setup when looking for
	  sys_errlist (for NetBSD 1.2)
	o Added stdlib.h to the headers searched in setup when looking for
	  ssize_t (for Irix 6.2)
	o Started total re-working of the documentation kit.
	o Code has been "linted" within and inch of its life (using
	  gcc -Wall)



1  February 1997 	2.0 Beta 4
-----------------------------------

	Lite / W3-mSQL
	==============

	o Added support for Multi-Select form data to W3-mSQL
	o Added typeof() function to Lite standard module
	o Fixed bug in expandText() handling mis-defined symbols
	o Added work-around for the gnu getopt() library
	o Added work-around for the gnu atoi() function
	o Added 'uint' type handling and "%u" to printf()
	o Fixed problem with fuction call arg count on some machines
	o Fixed last character match problem in tr()
	o Fixed a few doco bugs in the mSQL module doc's
	o Fixed up type checking during a cast
	o Fixed a problem if the first element of an array is not a CHAR val
	o Fixed urlEncode problem for the + character


	mSQL
	====

	o Fixed token destruction in error reporting from the parser
	o Fixed documentation example for sequence creation
	o Fixed core dump in mSQL monitor on overly large error results
	o Fixed inaccurate initialisation of ident segments in msqlCreateIdent
	o Added support for MSQL_CONF_FILE environment variable
	o Fixed looping problem in wild-card delete
	o Fixed some _more_ doco bugs
	o Fixed problem with comparison of TEXT fields with NULL
	o Fixed problem with the matchVarChar() function when comparing
	  values with TEXT fields
	o Fixed bug in LIKE and CLIKE for matching multiple % wildcards
	  to an empty string
	o Fixed a possible problem with the static size of the connection
	  array



14  January 1997	2.0 Beta 3
-----------------------------------

	o Fixed bugs in table join logic
	o Fixed bug that allowed an update to set a non-unique value
	  for a unique index
	o Completed dynamic loading of module object code in Lite / W3-mSQL
	o Fixed some documentation errors in the HTML manual
	o Fixed non-flushed output in user prompts from msqladmin and msql 
	o Fixed problem with fields being inserted with the NULL flag set
	o Added a 0 exit val to msqldump
	o Fixed some API function prototypes 
	o Added strdup() to the malloc test code (although we don't
	  use the malloc library anymore for in-house code testing)
	o Fixed memory leaks in parser, msqlServerDelete, QUIT processing,
	  join condition lists, and join ident fields.
	o Wrote the mod_graph dynamic loaded graphing module for Lite &
	  W3-mSQL.
	o Added optional W3-auth security.  The file .w3-auth must now
	  be created in the directory containing the requested file to
	  enable W3-auth access control.




6  January 1997		2.0 Beta 2
-----------------------------------
	o Fixed problem with deletion using an index for row selection
	  (reshuffle of dup values in tree node caused getNext to skip
	   a valid entry)
	o Fixed bug in bulk index creation where it was including
	  non-active rows in the newly created index.
	o Added strncasecmp() for SVR4 people (so they can dodge the BSD lib)
	o Fixed bug in the AVL node swapping code wrt dup node lists.
	o Fixed core dump bug when DISTINCT used with an empty result
	  table.
	o Fixed bug in the updating of CHAR fields.
	o Increased listen queue for UNIX socket to 128
	o Fixed bug in updateValues() where by a full field width char
	  value would trash the active flag of the next field (i.e. NULL
	  termination of the string).
	o Fixed param count test in Lite function calling.
	o Increased Lite VM performance by up to 20% by caching stack 
	  frames and other reuseable items.
	o mSQL Server performance increases
	  - Removed some more malloc & bzero overhead 
	  - Added speedup for boxes without hardware multiply (like
	    lots of the early SPARCs).  
	  - The above modifications produced a 20% faster "killer"
	    result on a SPARC without hardware math.
	o Added support for symbolic Macros in modules
	o Started support for dynamic loading shared modules



16 December 1996	2.0 Beta 1
-----------------------------------
	o Initial public beta release of the 2.0 code base.
