Adding versions to the Changelog
[clsql.git] / ChangeLog
index 04c934568ecc536d2af200948589dac90a13de9e..d89b2ab48a696d96ee4b15021ebb92da370dfc39 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,787 @@
+2011-06-20  Nathan Bird  <nathan@acceleration.net>
+       * Version 5.3.4
+       * db-postgresql-socket/postgresql-socket-api.lisp: Addendum
+       to Otto Diesenbacher's patch that had a spurious write a 0
+       byte (to terminate string) that should have been just CCL.
+
+2011-06-12  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 5.3.3
+       * db-postgresql-socket/postgresql-socket-api.lisp:
+       Patch from Otto Diesenbacher for UTF8 encoded strings
+       for CCL. FIXME: The best patch would be to use the
+       user-set encoding from the database object and use
+       UFFI's encoding strings to/from octet vectors rather
+       than SB-UNICODE and CCL specific code in this file.
+
+2011-04-21  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/generics.lisp: Add defgeneric for new
+       database-last-auto-increment-id
+
+2011-04-01  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 5.3.2
+       * db-mysql/mysql-client-info.lisp: Add recognition of
+       version 6 of MySQL client library.
+       * sql/metaclass.lisp: Fix the fix in the reader conditional
+
+2011-03-30  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 5.3.1
+       * sql/metaclasses.lisp: Fix previous patch to work
+       on non-SBCL systems
+
+2011-03-29  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 5.3.0
+       * sql/metaclasses.lisp: Apply one-line patch to fix
+       for newer SBCL (thanks to Nikodemus Siivola)
+       * many_files: Applied multiple patches from Holger Schauer
+       to improve autoincrement capability.
+
+2010-10-24  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 5.2.0
+       * db-odbc/odbc-api.lisp: Change from SBCL-specific
+       to UFFI version of octets-to-strings. Reported by
+       Daniel Brunner <daniel@dbrunner.de>
+       * sql/oodml.lisp: Apply patch from Rupert Swarbrick
+       <rswarbrick@gmail.com>: Fix behaviour with auto-inc
+       primary keys.
+       * sql/expressions.lisp, tests/test-syntax.lisp: Apply
+       patch from Russ Tyndall to quote identifiers with space
+       or special character.
+
+2010-09-20  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 5.1.4
+       * sql/{pool,database}.lisp: Pass encoding argument to
+       connections made from pool and with reconnect.
+
+2010-08-16  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 5.1.3
+       * db-odbc/odbc-{api,dbi}.lisp: Commit patch from
+       Memet Bilgin to fix issue with unicode and ODBC.
+
+2010-08-16  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 5.1.2
+       * uffi/clsql-uffi.lisp: Commit patch from JT Klein fixing
+       invocation of uffi:convert-from-foreign-string macro. When
+       time allows, I'll investigate changing UFFI's macro to
+       a function call and then revert this patch.
+
+2010-06-15  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 5.1.1
+       * clsql-{uffi,mysql}.asd: Modify operation-done-p functions
+       to guard against change introduced in new ASDF traversing.
+
+2010-04-20  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 5.1.0 [DEPENDENCY UPGRADE: UFFI 2.x needed]
+       * clsql-uffi.asd: Depend on UFFI version >= 2.0
+       to support foreign encoding of strings.
+
+2010-04-16  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 5.0.6
+       * db-postgresql.lisp, sql/fddl.lisp: Fix typos [Thanks to
+       Walter C. Pelissero]
+       * sql/metaclasses.lisp: Work around type-check-function being set
+       during defclass expansion in SBCL [Thanks to Walter C. Pelissero]
+       * uffi/clsql-uffi.lisp: In call to uffi:convert-from-foreign-string,
+       Set null-terminated-p to T when length not specified.
+       [Thanks to Walter C. Pelissero]
+
+2010-03-21  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 5.0.5
+       * sql/fdml.lisp: Fix DO-QUERY to actually return the last value of
+       the body.
+
+2010-03-02  Nathan Bird  <nathan@acceleration.net>
+       * doc/: Added a README on how to build doc; now builds on Ubuntu.
+       * sql/oodml.lisp: READ-SQL-VALUE now has explicit method for
+       handling double-floats and the default method will no longer
+       attempt to convert values that have already been converted.
+       * sql/syntax.lisp: Introduce file-enable-sql-reader-syntax which
+       enables the syntax for the scope of the file without trying to
+       keep track of the current syntax state.
+       * sql/pool.lisp: Introduce
+       clsql-sys:*db-pool-max-free-connections* which is a heuristic
+       threshold for when to disconnect a connection rather than
+       returning it to the pool.
+       * sql/pool.lisp: Check connections for validity before returning
+       to the user.
+
+2010-03-01  Kevin Rosenberg <kevin@rosenberg.net>
+       * db-mysql/mysql-api.lisp: Remove spurious enumeration
+
+2010-02-16  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 5.0.4
+       * db-mysql/mysql-api.lisp: Fix mysql_options UFFI parameter list
+       * doc/ref-connect.xml: Document the MySQL options parameter as
+       part of the connection-spec.
+
+2010-02-15  Kevin Rosenberg <kevin@rosenberg.net>
+       * db-mysql/mysql-{api,sql}.lisp: Support sending options
+       to MySQL using mysql_options, which occurs between the API calls
+       of mysql_init and mysql_real_connect.
+
+2010-02-11  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 5.0.3
+       * multiple-files: Further internationalization. Change
+       UFFI:CONVERT-RAW-FIELD and UFFI:CONVERT-FROM-FOREIGN-STRINGS
+       invocations to use the foreign character set encoding of the
+       database object. Requires UFFI v.1.8.6
+       * Makefile.common: Fix OS_DARWIN64 setting
+
+2010-02-11  Nathan Bird  <nathan@acceleration.net>
+       * MSSQL: better support for fddl 'date type.
+
+2010-02-11  Kevin Rosenberg <kevin@rosenberg.net>
+       * Makefile.common, uffi/Makefile, db-mysql/Makefile:
+       Better support OS X Snow Leopard by building universal
+       (x86_64,i386) dylib bundles
+
+2010-02-08  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 5.0.2
+       * sql/database.lisp: Fix missing slot-accessor 
+       (Thanks to Stelian Ionescu)
+       * sql/generics.lisp: Add missing keyword to defgeneric
+       (Thanks to Stelian Ionescu)
+
+2010-02-07  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 5.0.1
+       * sql/{base-classes,database}.lisp: Add encoding slot for 
+       non-ASCII strings.
+       * db-mysql/mysql-sql.lisp: Use UFFI:FOREIGN-ENCODED-OCTET-COUNT.
+       Requires UFFI version 1.8.2 or above.
+
+2010-02-06  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 5.0.0: First release of CLSQL to formally and
+       consistently support non-ASCII strings with encoding of external
+       formats for SQL strings. UFFI version 1.8.1 is higher is required.
+
+       This change may introduce some differences in string handling for
+       people who are using non-ASCII encoded characters.  Thus, because
+       of the risk of BACKWARD INCOMPATIBILITY, the major version number
+       was incremented with this release.
+
+2010-02-06  Kevin Rosenberg <kevin@rosenberg.net>
+       * tests/test-i18n.lisp: Bind UFFI:*DEFAULT-EXTERNAL-FORMAT*
+       for testing multibyte encodings.
+       * uffi/clsql-uffi.lisp: Changes for UFFI 1.7.4's new support
+       for encoding foreign strings with a specified external format.
+
+2010-02-06  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/metaclasses.lisp: If no declared slot type in
+       compute-lisp-type-from-specified-type, then use t as lisp type.
+       Issue noted when testing Clozure CL 1.4.
+
+2010-02-06  Kevin Rosenberg <kevin@rosenberg.net>
+       * tests/test-init.lisp: Turn off the benign console notices for
+       testing on postgres.
+
+2010-02-05  Kevin Rosenberg <kevin@rosenberg.net>
+       * clsql-test.asd, tests/{test-i18n,test-init}.lisp:
+       Load test-i18n.lisp and use its tests as long as 'uffi:no-i18n is
+       not present in cl:*features*. This requires UFFI 1.7.2 or above.
+
+2010-02-05  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/utils.lisp: Reading #\no-break_space causes an
+       error for non-unicode SBCL. Conditionalize read of
+       #\no-break_space for non-unicode SBCL and 8-bit string
+       Allegro.
+
+2010-02-03  Kevin Rosenberg <kevin@rosenberg.net>
+       * tests/test-init.lisp: Add *test-report-width* variable
+       and word-wrap skipped test reason field.
+
+2010-01-29  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.3.3
+       * clsql-cffi.asd: New file that causes CLSQL to use
+       CFFI-UFFI-COMPAT library rather than UFFI. Perform 'asdf:load-op
+       on CLSQL-CFFI rather than CLSQL system to use CFFI-UFFI-COMPAT.
+
+2010-01-29  Nathan Bird  <nathan@acceleration.net>
+       * tests/*.lisp: A lot more tests and test setup tweaks.
+       * sql/expressions.lisp: output-sql on sql-relational-exp does
+       better arity checking now. (apply #'sql-and some-list) gives
+       better results.
+
+29 Jan 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/oodml.lisp: Fix for UPDATE-RECORD-FROM-SLOTS for normalized
+       view classes
+
+28 Jan 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.3.2
+       * Change "normalise" from British spelling for consistency with
+       other American spellings in CLSQL.
+
+28 Jan 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * db-mysql/Makefile: Add directory for Fedora 11/12 on 64-bit
+       platform (Thanks to Michael Pheasant) and remove a 32-bit directory
+
+28 Jan 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.3.1
+       * sql/utils.lisp: Ensure Lispworks 6 lock is created in sharing mode
+
+20 Jan 2009  Nathan Bird <nathan@acceleration.net>
+       * Version 4.3.0
+       * Rewrite tests to use datasets
+
+07 Jan 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/utils.lisp: Changes to support Lispworks 6
+
+10 Dec 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.2.0
+       * doc/ref-ooddl.lisp: Add needed CDATA escapes
+       * doc/clsql.pdf, doc/html.tar.gz: Build new manuals with
+       normalized view classes.
+
+10 Dec 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       Large patch from Thijs Oppermann <thijso+clsql@gmail.com> to add
+       support for normalized view classes.  When having view class that
+       inherit from others, CLSQL by default builds tab all the columns
+       from the parent in the child. This patch is meant to normali so
+       that a join is done on the primary keys of the concerned tables to
+       get a set.
+
+10 Dec 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/time.lisp: Patch from Oleg Tihonov to SYNTAX-PARSE-ISO-8601
+       to properly parse fractions of seconds.
+
+10 Dec 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/time.lisp: Patch from Oleg Tihonov to roll function
+       to properly use USEC argument.
+
+21 Nov 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.1.2
+       * Makefiles: On 64-bit Linux systems, try to build both 32 and 64-bit
+       interface libraries. This requires the installation of multiarch build tools
+       as well as 32-bit support libraries (libc, libz and libmysqlclient).
+
+04 Sep 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.1.1
+       * sql/fdml.lisp: Rework do-query to use supplied database
+       parameter when passed a sql-object-query
+       (thanks to JTK <jetmonk@gmail.com>)
+       * sql/generic-postgresql.lisp: Allow optional connect
+       parameters for postgresql databases (thanks to Stephen Compall)
+       * doc/ref-{clsql,connect}.xml, sql/db-interfaces.lisp:
+       Fix transposed letters (thanks to Stephen Compall)
+       * db-mysql/Makefile: Add directory for MacPorts mysql5 port
+       (thanks to Stephen Compall)
+       * sql/database.lisp: Have database-type default be
+       *default-database-type* (thanks to Desmond O. Chang)
+       * sql/transactions.lisp: Improved handlining of nested
+       transactions (thanks to Eli Naeher)
+       * sql/time.lisp: Commit patch to fix parse-iso-8601-duration
+       (thanks to Stephen Compall)
+       * sql/database.lisp: Use :verbose nil for asdf:operate
+       invocation (Thanks to Mackram Raydan)
+       * sql/metaclasses.lisp: Rework initialize-instance for
+       view-class-direct-slot-definition (thanks to Stephen Compall)
+
+31 Aug 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/db-interface.lisp: Fix spelling error (thanks to
+       David Thompson)
+       * clsql-mysql.asd/db-mysql/mysql-loader.lisp: Commit
+       patch from Andreas Franke to honor windows drive letter
+       when loading clsql_mysql C library.
+
+31 Aug 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.1.0
+       * db-mysql/mysql-{sql,api}.lisp,db-mysql/clsql_mysql.c:
+       Latest version of mysqlclient once again changed the C
+       structures from which the mysql backend reads data.
+       Rather than adding yet another structure definition which
+       is enabled by the client version as read by mysql-client-info.lisp,
+       the mysql backend has been re-written to ignore in the internal
+       C structures. Instead, C wrapper functions for slot access have
+       been added to clsql_mysql.c and are used by mysql-sql.lisp to
+       access the internals of C structures. This adds a bit of overhead,
+       but completely separates the lisp code from trying to keep up
+       with the continually changing internal C structure of mysql.
+       All tests in the test suite executed correctly with this change.
+
+31 Aug 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.0.6
+       * sql/database.lisp: Fix syntax on process-lock (thanks to
+       Stian Sletner)
+       * db-mysql/mysql-sql.lisp: Allow use of database parameter
+       in database-list function (thanks to Michael Pheasant)
+       * sql/oodml.lisp: Allow NULL values for floating-point fields
+       (thanks to Jan Rychter)
+
+02 Jun 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.0.5
+       * sql/database.lisp: Add process-lock for deleting database from
+       a pool (thanks to Ralf Mattes).
+
+25 Feb 2008  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.0.4
+       * sql/expressions.lisp: Remove stray form (thanks to Samuel Ward)
+
+12 Dec 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/expressions.lisp: Bind *in-subselect* when outputting
+       selections (patch from unknown source).
+       
+11 Dec 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.0.3
+       * sql/metaclasses.lisp: Unify base-table processing by extracting 
+       the correct code from initialize-instance :around into the helper
+       function set-view-table-slot. Call that function also in
+       reinitialize-instance :around replacing erroneous code discovered
+       by Josh Feinstein.
+       
+17 Nov 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * BUGS: Add note about benefit of using configure file to create
+       Makefiles (suggestion from Joe Corneli)
+       
+22 Oct 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.0.2
+       * db-postgresql/postgresql-sql.lisp: Patch from Gabriele Favalessa based on
+       Andrew Golding suggestion for more informative :error-id slot.
+       
+17 Sep 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.0.1
+       * db-mysql/mysql-sql.lisp: Convert query to uffi cstring (thanks to
+       Albert Krewinkel).
+       * doc/Makefile, doc/html.xsl: Change output encoding from ISO-8859-1 to UTF-8
+       
+14 Sep 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.0.0: Major version increase to warn of potential
+       backwards incompatibility.
+       * NEWS: Document potentional backward incompatible changes
+       * db-mysql/mysql-sql.lisp: Changes session SQL mode to ANSI immediately
+       after connecting. This may break compatibility with some applications
+       who are using non-ANSI features with MySQL. This change is required to
+       properly support view-classes using a string as their :base-table
+       attribute. This allows users to specify the case of table names. 
+       This is feature is even more essential for MySQL itself since MySQL
+       uses case-sensitive table names. Use connection-based database-create
+       and database-destroy rather than trying to invoke command-line mysql 
+       utility. Remove automatic upcasing of strings from list-indices. 
+       * db-postgresql/postgresql-sql.lisp: Use connection-based 
+       database-create and database-destroy rather than trying to invoke
+       command-line utilities.
+       * db-postgresql-socket/postgresql-socket-sql.lisp: Use
+       database-execute-command rather than execute-command for
+       database-{create,destroy}. Connect to postgres database
+       rather than template1 for those database creation/deletion.
+       * sql/metaclasses.lisp: Store the string value of :base-table if a 
+       string is provided. Perform sql-escape at time of view-table name
+       creation.
+       * tests/test-init.lisp: Use "ej_join" as a string, rather than a 
+       symbol, since "ej_join" is specified as :base-table. Clear the
+       expression output-cache in case the code for generating sql output
+       has changed.
+       * test/test-oodml.lisp: whitespace fix
+       * sql/ooddl.lisp: Use quoted string for primary key constraint if
+       table name is specified as a string.
+       * sql/oodml.lisp: Don't convert a string view-table name to database's 
+       default case.
+       * sql/expressions.lisp: Properly handle table and attribute identifiers
+       when they are a string. Do not change case of symbols to match database
+       default case.
+       * sql/operations.lisp: Change multiword symbols to upper case.
+       * sql/fddl.lisp: Quote base-table if a string to preserve case
+       for drop-table and create-table.
+       * tests/test-syntax.lisp: Add tests of low-level string attribute
+       identifiers.
+       
+20 Jul 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.8.6
+       * db-oracle/oracle-loader.lisp: Rework use of ORACLE_HOME directory
+       (problem noted on clsql-devel by icardo Boccato Alves)
+       * sql/pool.lisp: Remove incorrect keyword
+       * sql/database.lisp: Rework WITH-DATABASE to not make the database the
+       default database (reported by Saurabh Nanda and Chaitanya Gupta)
+       * doc/ref-connect.lisp: Update the documentation to WITH-DATABASE to
+       emphasis that make-default has a default value of nil.
+       * sql/transaction.lisp: Adjust commit/rollback messages for Microsoft
+       SQL Server. (patch from Nathan Bird)
+       * sql/metaclasses.lisp: Use finalize-inheritance hack on SBCL because
+       of trouble with def-view-class compilations (patch from Nathan Bird)
+       
+15 Jul 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.8.5
+       * db-mysql/mysql-loader.lisp: Revert previous change since libmysql is
+       not dynamically loaded on Windows
+       
+22 Jun 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.8.4
+       * db-mysql/mysql-loader.lisp: Do not bother loading libmysqlclient since
+       that library is dymically linked to clsql-mysql library. Thus, the mysql
+       library will be automatically loaded. This has only been tested on Linux,
+       thus far.
+
+29 May 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * tests/test-fddl.lisp: Add :order-by for :fddl/big/1 as
+       reported by Ricardo Boccato Alves
+
+02 May 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/database.lisp: Add ability of WITH-DATABASE to return
+       multiple values (patch from Liam Healy)
+       
+25 Apr 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.8.3
+       * doc/connect.xml: variable description fix by Liam Healy
+       * db-sqlite3/sqlite3-api.lisp, uffi/clsql-uffi-loader.lisp:
+       Apply patches from Marcus Pierce to reduce load-time warnings
+       * sql/package.lisp: Export iso-timestring as requested by Kevin Blaisdell
+
+23 Mar 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.8.2
+       * sql/db-postgresql-socket-api.lisp: Change read-socket-sequence to
+       disable wide characters for crypt salt sequence on SBCL, based
+       on patch from Lars Nostdal.
+
+26 Jan 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.8.1
+       * sql/pool.lisp: Test pooled connection when popped from
+       the pool to ensure the connection still works. Currently, implemented
+       only for MySQL.
+
+17 Jan 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * db-mysql/Makefile: Add potential mysql directories
+
+31 Dec 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/metaclasses.lisp: Remove usused saved-initargs
+       * clsql.asd: Also check ~/.clsql-init.lisp at load-time (usually used to
+       push search libraries)
+       
+30 Dec 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.8.0: BACKWARD INCOMPATABLE CHANGE!
+       * db-postgresql/postgresql-{api,loader,sql,package}.lisp:
+       Apply patch from Edi Weitz to avoid conflict with new Lispworks 5
+       POSTGRESQL package name. CLSQL's new package will be PGSQL, however
+       on non-Lispworks platforms, the nickname POSTGRESQL will still be
+       available. Applications directly using low-level POSTGRESQL package
+       are recommended to use the new PGSQL name.
+       * db-oracle/oracle-{api,sql}.lisp, sql/{expressions,loop-extension}.lisp,
+       Apply patch from Edi Weitz to reduce compiler warnings.
+       
+28 Dec 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.7.9
+       * sql/expressions.lisp: Commit patch from Edi Weitz to
+       use *default-database* for SQL-OUTPUT if no database is
+       explicitly passed to function.
+       * uffi/clsql-uffi-loader.lisp: Change load order to first try
+       plain name/type before attempting user-specified paths (patch
+       from Edi Weitz)
+       * uffi/ptrbits.c: New file to return number of bits in an pointer
+       * uffi/Makefile: use intbits to name .so file based on bit size.
+       Build both 32-bit and 64-bit libraries on 64-bit platform.
+       
+30 Nov 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.7.8
+       * db-sqlite3/sqlite3-sql.lisp: Commit patch from Edi Weitz fixing
+       error display
+
+16 Oct 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.7.7
+       * db-postgresql/postgresql-sql.lisp: Remove 
+       uffi:convert-foreign-to-native wrapper since using cstring for
+       PQresultErrorField
+
+16 Oct 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.7.6
+       * db-postgresql/postgresql-api.lisp: Fix UFFI return type for
+       PQresultErrorField foreign function.
+
+16 Oct 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.7.5
+       * doc/intro.xml: Update supported platforms.
+       * db-postgresql/postgresql-{package,api,sql}.lisp: Apply
+       changes from Andew Golding to use a more-specific error code
+       from PostgreSQL than the generic fatal error code of the result set.
+
+03 Oct 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/syntax.lisp: Commit patch from Marcus Pearce to improve
+       readtable modifications
+
+02 Oct 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/syntax.lisp: Check that original reader syntax functions
+       stored before trying to restore them.
+       
+20 Sep 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/syntax.lisp: Apply patch from Marcus Pearce to correctly
+       display sql reader syntax.
+
+06 Sep 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * uffi/clsql-uffi-loader.lisp, db-mysql/mysql-loader.lisp: Change from using *features*
+       to decide on 64-bit platform and check size of most-positive-fixnum instead.
+       Needed to support clisp amd64.
+
+03 Sep 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.7.1
+       * sql/metaclasses.lisp: Rework slot type's to be more AMOP
+       compatibile. Add warning for a metaclass condition that should
+       not occur.
+       * sql/time.lisp: Fixed symbol case inconsistency causing problem
+       in AllegroCL's modern lisp. First sign of bug noted by
+       Joel Reymond on clsql-devel.
+       * clsql.asd: Make time.lisp depend on utils.lisp
+
+31 Aug 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * db-mysql/mysql-loader.lisp: Apply patch from Marcus Pearce to push 
+       *library-file-dir* to CLSQL's library path.
+
+30 Aug 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.7.0: New platforms supported: SBCL/Win32, CLISP/Win32, CLISP/Cygwin,
+       CLISP/Linux x86, CLISP/Linux amd64, OpenMCL amd64. CLISP support requires the
+       latest development versions of CLISP, cffi, and cffi-uffi-compat packages.
+       * Makefile.common: Add OS detection
+       * uffi/make.sh, db-mysql/make.sh: Remove files
+       * uffi/Makefile, db-mysql/Makefile: Add support for cygwin compilation.
+       Refactor to remove need to make.sh shell scripts. 
+       * clsql.asd: Add support for loop extensions for clisp. Support clisp via cffi.
+       * sql/loop-extension.lisp: Define loop-record-iteration-path in CLSQL-SYS 
+       package rather than CL-USER. Add support for ansi-loop on clisp. 
+       * sql/ansi-loop.lisp: New file to support iteration on clisp. 
+       * db-mysql/mysql-api.lisp: Remove old mysql C API functions that no
+       longer exist in the mysql client library.
+       * doc/ref-fdml.lisp: Correct default field-type.
+       * sql/expressions.lisp: Use database-output-as-type if value exists for boolean output.
+       Fixed bug with noted with MySQL 5.0.24 and boolean values.
+       
+28 Aug 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.6.7
+       * sql/oodml.lisp: Remove high debugging level declaration
+
+14 Aug 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.6.6
+       * sql/generic-postgresql.lisp: Fix assumption that postgres user id
+       is always 1. Fixes problem noted with PostgreSQL 8.1.
+
+12 Aug 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.6.5
+       * sql/generic-postgresql.lisp: Add slot for has-table-pg_roles to
+       lazily cache if pg_roles tables exist. Selectively use SQL from
+       Joel's previous patch if pg_roles table exists. Should now work
+       with both postgresql 7.4 and 8.x.
+       
+12 Aug 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.6.4
+       * clsql.asd: Add support for c:\etc\clsql-init.lisp as possible
+       local initialization file
+       * db-mysql/mysql-loader.lisp: Remove former method of using pathnames
+       as name candidates.
+       * db-odbc/odbc-api.lisp: Work-around Allegro/Windows FFI bug
+       that generates incorrect integer return type
+       * sql/generic-postgresql.lisp: Revert patch from Joel Reymont since
+       it fails on versions of postgresql that lack the pg_role table
+       
+07 Jul 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.6.3
+       * sql/transactions.lisp: Important typo fix from Alexey Antipov
+       for database-start-transaction
+       
+04 Jul 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.6.2
+       * db-postgresql/postgresql-sql.lisp: Apply patch from Vladimir Sekissov
+       to close connection when failing to connect to database.
+       * sql/generic-postgresql.lisp: Apply patch from Joel Reymont
+       to avoid dropping system views.
+       * sql/oodml.lisp: Apply patch from Joel Reymont to avoid listify
+       a nil value [patch sponsored by Flektor]
+       * clsql-uffi.asd, uffi/make.sh: Patch from Richard Kreuter
+       for netbsd compilation
+       
+15 May 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * doc/ref-ooddl.xml: Add documentation for :db-reader and :db-writer
+       slots for def-view-class macro [as reported missing by Thomas Fischbacher].
+       
+09 May 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * db-postgresql-socket/postgresql-socket-api.lisp:
+       Apply patch from Marko Kocic adding the socket creation
+       function needed for CLISP.
+
+08 May 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version: 3.6.0 (requires UFFI v1.5.11 or greater)
+       * db-oracle/metaclasses.lisp: Patch from James Bielman for
+       checking slot constraints.
+       * db-oracle/oracle-{api,sql}.lisp: Avoid dead pointers on loading
+       saved openmcl images (based on patch from James Bielman)
+
+06 May 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * doc/ref-fdml.xml: Documentation patch from Marcus Pearce for limit keyword
+       
+03 May 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.5.7
+       * sql/time.lisp: Apply patch from Aleksandar Bakic to extended
+       duration parsing and unparsing to include year and month.
+       * clsql-uffi.asd, uffi/clsql-uffi-loader.lisp: Apply patch from Nathan Bird
+       improving library search on Windows platform.
+       * doc/ref-fdml.xml, /doc/TODO, tests/test-fdml.lisp, tests/test-init.lisp:
+       Apply patch from Marcus Pearce documenting and testing :limit and :offset for SELECT
+
+20 Mar 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.5.6
+       * clsql-postgresql-socket.asd, 
+       * db-postgresql-socket/postgresql-socket-package.lisp: 
+       Use the cl-md5 package on all platforms. Based on report 
+       from Alan Caulkins.
+       
+09 Mar 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.5.5
+       * uffi/make.sh, db-mysql/make.sh: Add GNU uname
+       
+28 Feb 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.5.4
+       * sql/metaclasses.lisp: Apply patch from Friedrich Dominicus to
+       fix accessor for new versions of SBCL
+       * db-oracle/oracle-sql.lisp: Apply patch from James Bielman
+       to improving parsing of time.
+       * db-db2/db2-constants.lisp: Change NULL_HANDLE has suggested
+       by Harold Lee.
+       * db-oracle/oracle-dbi.lisp: Add support for SQL BIT type
+       as noted by Russ Tyndall.
+       
+16 Jan 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.5.3
+       * sql/time.lisp: Commit patch from Aleksandar Bakic
+       to properly handle destructive flag
+       * db-postgresql-socket/postgresql-socket-api.lisp: Apply patch
+       from Steven Harris for socket files with SBCL.
+       * sql/pool.lisp: Apply patch from Vladimir Sekissov so that
+       new connections added to the pool do not become the *default-database*
+       * sql/connect.lisp: Optionally set *default-database* for pooled
+       connection when make-default is generalized true.
+       
+23 Dec 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.5.1
+       * sql/expressions.lisp: Ensure table names are properly escaped
+       before comparing -- fixes bug reported by Asbjørn Bjørnstad
+       on CLSQL-Devel.
+
+02 Dec 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/generic-postgresql.lisp: improved decoding of table attribute
+         parameters [from Vladimir Sekissov]
+       * sql/metaclasses.lisp: check that metaclass is standard-db-class or
+         it's subclass to prevent adding standard-db-object to supers if
+         somebody in the path has it already when metaclass inherited from
+         standard-db-class. [from Vladimir Sekissov]
+       
+26 Nov 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.5.0
+       * tests/test-init.lisp, tests/test-fddl.lisp, tests/test-fdml.lisp, 
+       * db-odbc/odbc-api.lisp, db-odbc/odbc-ff-interface.lisp,
+       * db-odbc/odbc-package.lisp, db-odbc/odbc-constants.lisp
+       * db-odbc/odbc-dbi.lisp, db-odbc/odbc-sql.lisp
+       * sql/fddl.lisp, sql/generic-odbc.lisp, sql/db-interface.lisp
+       * sql/transaction.lisp, sql/package.lisp, sql/time.lisp
+       Commit patch from Dominic Robinson providing support for 
+       Microsoft SQL Server
+       * doc/csql.lisp: Fix typo in slot name
+       
+24 Nov 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.4.7
+       * sql/time.lisp: Commit patch from Aleksandar Bakic for
+       correct handling of decode-time usec value  
+       * clsql-mysql.asd: Commit patch from Harald Hanche-Olsen to
+       correct the name of the shared library file.
+       
+16 Nov 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * version 3.4.6
+       * sql/metaclasses.lisp: Avoid calling change-class on
+       effective-slot-definitions on sbcl to conform to sbcl 0.9.6.38
+       changes.
+       
+15 Nov 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.4.5
+       * sql/expressions.lisp: Patch from James Biel to add subselects
+
+14 Nov 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.4.4 [ Requires UFFI 1.5.7+] 
+       * db-oracle/oracle-{api,sql}.lisp: Patch from James Biel
+       to fix lifetime of foreign strings for Oracle calls
+
+13 Nov 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.4.3
+       * db-oracle/oracle-{api,sql}.lisp: Patch from James Biel
+       to improve performance
+       
+12 Nov 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.4.2
+       * clsql-uffi.asd: Patch from James Biel improving loading
+       * db-oracle/oracle-{api,sql}.lisp: Patch from James Biel
+       to support 64-bit lisps
+       
+12 Nov 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.4.1
+       * sql/expressions.lisp: Escape numbers to SQL strings
+       at expression level.
+       
+11 Nov 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.4: Add MySQL 5 support
+       * db-mysql/mysql-client-info.lisp: Recognize MySQL 5
+       * db-mysql/mysql-sql.lisp: Add support for views in MySQL 5
+       * doc/mysql-macosx-notes.txt: New document from Martin Brooks
+       
+7 Nov 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * src/time.lisp: Apply patch from Aleksandar Bakic for ROLL
+       function.
+       * BUGS: Added report for update-object-joins by Aleksandar Bakic
+       
+4 Nov 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.3.4 [UFFI >= 1.5.5 needed]
+       * db-odbc/odbc-api.lisp: Apply patch from Yaroslav Kavenchuk
+       to add missing #\' character.
+       * clsql.asd: Add support for CLSQLINIT environmental variable,
+       based on patch from Yaroslav Kavenchcuk. New version of UFFI
+       required.
+       
+30 Oct 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.3.3
+       * sql/oodml.lisp: Apply patch from Drew Crampsie to fix
+       update-objects-joins when using the :target-slot attribute
+       
+26 Oct 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.3.2
+       * sql/expressions.lisp: Avoid parenthesis on multiple group-by fields
+       as noted by Harald Hanche-Olsen.
+       * tests/test-syntax.lisp: Add test for multiple field group-by
+       
+25 Oct 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.3.1
+       * sql/time.lisp: Commit patch from Alan Shields to
+       display escape string on wall-time display only when *print-escape*
+       is true.
+       
+11 Oct 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/metaclasses.lisp: Commit patch from Will to
+       properly set db-reader slot in effective-slot-definition
+       * sql/expressions.lisp: Commit patch from Alan Shields
+       adding make-load-form for sql-relational-exp
+       * sql/generic-postgresql.lisp: Commit patch from Aleksandar Bakic
+       adding support for new NUMBER type
+       
+17 Sep 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.3.0
+       * sql/time.lisp: Apply patch from Alan Shields adding DATE type.
+       * doc/ref-ooddl.xml: Documentation of new type
+       * notes/add-type-hints.txt: New file from Alan Shields
+       * sql/fddl.lisp: Add owner keyword to drop-table as suggested
+       by Francis Leboutte
+       * db-postgresql-socket/postgresql-socket-sql.lisp: Fix database-probe
+       as noted by Francis Leboutte. Similar fix applied to db-mysql and
+       db-postgresql.
+       * sql/expressions.lisp: Allow string table names for output as
+       contributed by Francis Leboutte.
+       * examples/clsql-tutorial.lisp: Support :postgresql-socket as noted 
+       by Francis Leboutte
+       
+08 Sep 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.2.4
+       * doc/into.xml: Change download from ftp to http protocol
+
+08 Sep 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.2.3
+       * db-oracle/oracle-sql.lisp: Correction for v3.2.2 changes by
+       Edi Weitz
+
+08 Sep 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.2.2
+       * db-oracle/oracle-sql.lisp: Add check for zero increment as
+       suggested by Edi Weitz. Add missing database-sequence-last function
+       as noted and tested by Edi Weitz. Ensure that UFFI buffer is freed
+       in handle-oci-error. Add unwind-protect to sql-stmt-exec. Free UFFI
+       stmthp object when query cursor is freed with OCI.
+
 22 Aug 2005  Kevin Rosenberg <kevin@rosenberg.net>
        * uffi/clsql-uffi-loader.lisp: Commit patch from astor@pvv.ntnu.no to
        display search path when error occurs loading foreign library.
          for MYSQL structure. This will make the code more robust in
          the event that MySQL library changes the size of the mysql-mysql
          structure.
-
-