1.0.4-GA
  
     Fixed a bug in PSParam.

     Added directory to the distro for an unoptimized classes to 
         accomodate 1.2 bug.

     public static long getRowCount(Statement) static method added 
         to  jdbcMysqlBase (not yet well tested).


1.0.3-GA

     Changed DBMD.getTables() to return only tables in current catalog
	rather than all tables in all accessable databases when called 
        with a null catalog param.  Some cleanup for null catalog parm
        calls otherwise.   This to be cooperative with TableGen-1.2.

1.0.2-GA

     Implemented a MySQL version test to decide to use the MySQL 8
        byte header implemented 3.22.5 for very large numbers.

     (SWAT) Fixed PS.clearParameters bug.

     User wishes MySQL Decimal type to instantiate as BigDecimal for
	RS.getObject and has docs saying it should, so ...

1.0.1 GA

     Fixed decimal type in rs.getObject to return a Double Object.

     Fixed typo in RS wasNull.

     autoReX property to turn off auto reconnect for update if false.

     Doc updates.

1.0.0 Generally Available.

     (SQUASH) Bug in RS date.

     Changes to Bag, Statement, Connex, PStmt to support automagic
     reconnect.  kludgey but seems to work.
   
     Names of  some DBMD, and RSMD classes just to keep from having to
     type so damned much.

     Reorg of DBMD methods for performance and consistency.
 
0.9.5

     (SPLAT) Some bugs in the mutex and connection locks.

      Updated the variable length value handling as per Monty.  I
      worry about backward compatibility.

      Now have a long jdbcMysqlBase.getLastInsertID(Statement);

      Statement.maxRows now Integer.MAX_VALUE.

      Allowed repeated calls to RS.close not to cause an
         exception (slackers!). 


0.9.3

     Wrote a new class, "Row", to handle deconstruction of the cached
         Results.

     Removed some data validation tests in RS which didn't really
         gain the user anything.

     Removed a superfluous buffer allocation in Result.  This was
         a big time consumer and served no purpose, just a leftover
         from the previous change.

     Created property RSLock, a ResultSet inquiry will now NOT lock
         on the statement unless this property is true.  This lock
         would be required for ironclad integrity but in practical
         terms is not needed unless multiple threads are sharing 
         Statements or ResultSets.

0.9.1

     Updated docs a bit.

     Got the zip file working in the applet.  Changed the build script
        to produce both jar and zip files.

      Diddled RSet to (hopefully) do timestamp properly.

      jdbctest3 written to test new DBMD key functions.

      DBMD getBestRowIdentifier() and getIndexInfo() implemented.

      (SWAT) SocketTimeout again.
     
      Statement default lock timeout now defaults to connection lock
          timeout value.

      Implemented DBMD getPrimaryKey

      Changes to Bag, Stmt, Result, RS to avoid parsing the packet before
          use which should result in far fewer handles and less memory
          fragmentation.

0.7.11

      Changes to connex so that it will accept setAutoCommit true,
          setTransactionIsolation(TRANSACTION_NONE) and return appropriate
          values without throwing exceptions.

      Fixed jdbctest and jdbctest1 where a primary key was not null.

      ResultSetMetaData.getPrecision will now return the size of a 
          displayable object rather than zero for non-numerics.

      ResultSet will return a null if a date is prior to 1900 (a java
          limitation, sigh) on getDate unless the rsDateXcept property
          is true, in which case it will throw an exception. 

      ResultSet format of Timestamp changed along the way, fixed to
         handle both cases.

0.7.9a 

      Connection banner packet bobble.

0.7.9

      Some casual testing of changes in jdbctest2.  Updated docs.

      DBMD changed properties to innovate from curl rather than
         include.  Removed default db of mysql, now uses connection
         property db.  Added dbmdDB, dbmdUser, and dbmdPassword
         property handlers.  And dbmdXcept must be set true if you
         want exceptions on unsupported methods rather tan empty 
         tables. 
      
      RSMD added rsmdXcept property (actually in Stmt) to enable 
         errors on rsmd request not matching column type; by default
         will not except.   

      Added additional connection error traps in Connex.

      Somehow socketTimeout property init got stepped on in Connex.

0.7.7-beta

     Tested some cleaned up DBMD features in jdbctest2.    
 
     Added some buffering to the streams methods in PreparedStatement.
          makes a huge difference in performance for that. 
 
     Statement.setMaxRows() (and the maxRows property) now set the 
         limit unconsionably large (Integer.MAX_VALUE) if zero.

     The docs referred to "name" as the property to use for the MySQL
         connection user name.  It's "user". (thanks Sean)   

     SWAT:  Protocol error handling error notice in a processing query. 

     Changed unsupported RS methods of DBMD to throw an exception 
         rather than return an empty.

     DBMD methods cleaned up to use patterns matching MySQL's LIKE.
         To save useless code, some table return types now throw 
         an exception.  getTables, and getColumns are now valid
         for multiple tables and catalogs.


0.7.5-beta 
   
     OOPS: put "replace" in the command table.

     DBMD added.  Tests added in jdbctest2.

     Changed RSet so that it uses the overlying statement's max
         field size rather than saving it in initiation.

     SWAT: Have been throwing SQLExcept on commit().  Docs say it 
           should no-op.  Now it does.

     Added property connectionTimeout for the default timeout on a 
         connection.

     SWAT: Connex lock was improperly decrementing connection count 
           on a tiemout.

0.7.3-beta
 
    Changed jdbctest2 to test changes to get/setObject.

    Bumped priority of DatabaseMetaData.  try to get it out in next
    release.

    SWAT: Changed Connex to treat a zero length password the same
          as a null password.
  
    Changed PS.setObject to only use object serialization if 
    an sqlType of java.sql.Type.OTHER is specified, otherwise it
    stores the string representation of the object (should be ok
    for most types).  

    Changed RSMdata to properly reflect difference between varchars
    and varbinary (Thanks Tim Endres for some of the legwork).

    Changed getObject in RSet to retrieve the Object matching the 
    column type.
     
    Base changed to include set, lock, unlock and grant.


0.7.1-beta

    Changed the jdbcTarBuild to also build a .zip file.

    Changes to Base, Result and Statement so that executing a  line
    beginning with an octothorpe or slash-asterisk will be treated
    as a comment. (Requested by correspondent).

    jdbctest2 does a q&d test of object serialization. Works!!!

    Changed the class archive file in htdocs to a zip file and the
    html appropriately

    Fixed result to import current catalog name in connex and
    set the catalog name in the column metadata.

    Changed err message format as below in result and statement.
    And connex.  Also removed superfluous diagnostic Sys...printlns
    from Connex

    SWAT: In single query mode RS.close() was not releasing connex
          until statement closed.  Changed RS iClose to do a 
          Result.cacheClear and Result.cacheClear not to try again 
          if already cleared. checked by not closing statements
          in jdbctest1.

     Doc'd PS lightly.

     Moved docs in twz1/jdbc to ./twz1/jdbc/mysql/docs
     moved test programs and data to ./twz1/jdbc/mysql/test
     moved twz1/jdbc/htdocs to ./twz1/jdbc/mysql/htdocs
     changed and tested jdbcTarBuild (now under ...../test)

     Turned on apostrophization as a default in PS parameters as 
     Monty suggested.  Changed test progs to match.  Works.

     SWAT: PS was allways postpending a new parameter.  Was harmless, 
           but not when default apostrophization turned on.

     Changed error messages in RS to call new static eMessage to
     extract the message or toString of the message prepended with
     a \n; likewise RS emessages begin with \n;  Will propogate
     through the driver as part of the Warnings implementation 
     later.

     SWAT: getDate and getTimestamp in RS blowing up spectacularly.

     Created jdbctest2 to play with date/time/timestamp types just 
     because jdbctest1 was becoming ungainly.

0.5.3-alpha

     Moved home to voicenet.

     Preliminary tests of PS run in jdbctest1.  Successfully!

     SWAT: In RSet, getFloat range test did not recognize zero as
           legitimate.
     
     RSet's getObject method changed to complement PS setObject to
     give a shot at storing/retrieving serialized objects. NYT.
    
     jdbcMysqlPStmt - implementing PreparedStatement - written and
     enabled in Connex.  NOT YET TESTED.

     jdbcMysqlPSParam - parameters for prepared statement written.

     SWAT: Bag did not record increased capacity when reallocated
           resulting in a perm loop.

     Big blob code added to jdbctest1 to test big objects.

     Steve Baker's recursion code added to jdbctest1.

     putByte and putByteArray methods added to bag in prep for
     PreparedStatement.

     SWAT: Property debugWrite did not enable.

0.5.1-alpha
     Didn't quite squash Bojan's (case) bug.

0.5-alpha
     As Bojan says jBuilder hiccoughs on Warnings methods throwing
     exceptions, changed get/clearWarnings() methods in Connex and
     Stmt to return a null on get or do nothing on clear.

     jdbctest1 modified to hit the mutexes hard just to attempt to 
     break the locks.

     twz1/jdbc/htdocs directory contains a simple applet test!

     Package renamed twz1.jdbc.mysql to avoid possible conflict with SUN.
     Directory heirarchies rebuilt.  Changes incorporated into the builder
     script along with a rebuild of the htdocs.
 
     lock() in jdbcMysqlStmt and Connex should not have been synchronized.
     Caused a lockup on a race condition with multiple threads  (just
     the kind of thing locks were meant to avoid!  Oh well, when it 
     happened, I knew exactly where to look!)


0.2 pre-alpha release

     jdbcMysqlStmt

        Moved command value test to the interface method rather than the
        private lower level methods of executeUpdate() and executeQuery().
        (the getCommandValue() method changed to accept string parm)

        Finished the Statement methods.

        Moved string only error handler methods to jdbcMysqlBase as
        static method errMessage().

    jdbcMysqlRSet
        
        added a boolean to test whether retrieved or not and a 
        corresponding method.

    jdbcMysqlResult
  
        added tests on whether any RSets are unretrieved and to 
        return them if unretrieved.

        Moved string error handler to the base errMessage.

    jdbcMysqlBase

	Created a static method to test strings for binary value
	equivalence and integer value equivalence with the ability
	to specify alternate return values for null and parse failure.
	Made changes to property tests in various classes to use this
	rather than parse the properties individually.

     jdbcMysqlConnex

	Cleaned this up quite a bit.  Finished implementing the 
	API methods in some verisimilitude of sanity.

     jdbcMysqlURL

        Changed to override or create any property on the URL.

     OTHER

        CHANGES, LICENSE and TODO moved under jdbc.
        Changed build scripts to build as twz1jdbcForMysql.
        Created jdbc/htdocs to hold images of test applet, jar
        and html files to test applets.

