use md5sum-string instead of md5sum-sequence to adjust to upstream changes
[clsql.git] / ChangeLog
index 3518c6ec6bc47a4f84261f19a17177701b9d4e38..0440489e09a282cfac83a5c8124203d8df042151 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2013-01-09 Russ Tyndall <russ@acceleration.net>
+       sql/oodml.lisp - changed view-classes-and-storable-slots to a
+       method (as it was intended to be all along)
+
+2012-12-19 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 6.4
+
+2012-11-20 Russ Tyndall <russ@acceleration.net>
+       ## Large refactoring of sql/oodml.lisp and surrounding code
+       * cleaned up update-records-from-* to utilize a single codepath
+         previously there was much duplicate code
+       * tried to further unify direct/effective slot-defs
+       * cleaned up much of the normalized classes code to be more
+         consistent in how it operated, and the code it used (less
+         copy/paste more functions)
+       * tried to standardize iteration a bit, previously almost all
+         of the iteration constructs in CL were used. Tried to
+         standardize on loop for readability / cohesiveness
+       * made functions to more easily look up particular slots, since
+         this was being done differently in each function
+       * added more doc-strings and updated documentation about
+         normalized classes
+       * inner-joins that are referenced in where clauses are no longer
+         added to the select table list (since they are also referenced
+         in the join position and this led to sql errors)
+       * collect-table-references methods added for sql-ident-table and
+         list
+
+       ## Semantic changes
+       * disallow where-less updates from objects (ie cannot call
+          update-records-from* with a keyless object)
+       * ordered-class-direct-slots now returns direct-slot-definitions
+         instead of effective-slot-definitions (as per name)
+       * direct-slot-definitions now contain the db-info hash table (same
+         as effective slots)
+       * removed this-class arg from update-instance-from-records - used to
+         be used for normalized code, no longer needed for that.
+       * find-all - bug fixes in table references, previously where clauses
+         surrounded by a list would have none of their references added to
+         the select. This was being exploited by certain code paths.  Now
+         all where clauses are searched
+         - No longer includes order-by and distinct as columns in the select
+           list.  The values seemed to be ignored in every code path and distinct
+           seemed to be intended to be used as a boolean anyway
+
+
+2012-11-20  Nathan Bird  <nathan@acceleration.net>
+
+       * update-objects-joins - changed the default of slot from t (which
+         used to mean :deferred) to :immediate (to match the default
+         behavior of other parts of the system).  It also seemed like a bad
+         default to pull all the slots that were explicitly specified to be
+         not pulled by default.  This function now accepts more special
+         values (:immediate, :deferred, :all, or a list of slots).  To get
+         the old behavior call with :slots :deferred.
+
+
+2012-10-30  Russ Tyndall <russ@acceleration.net>
+       * sql/command-object.lisp - added dates/times to the parameter value
+       coersion and pulled this into a new generic prepare-sql-parameter
+
+2012-09-04  Kevin Rosenberg  <kevin@rosenberg.net>
+       * Version 6.3 released
+
+2012-09-04  Russ Tyndall <russ@acceleration.net>
+       * sql/expressions.lisp - Try to respect the casing of symbols
+       where it seems intentional (ie: is not default). This should fix
+       a failing test case, and I think behaves more understandibly.
+
+       If you specify a casing '|Foo Bar| lets treat that a string "Foo Bar"
+       and output it escaped
+
+2012-08-28  Ryan Davis <ryan@acceleration.net>
+       * db-sqlite3/sqlite3-api.lisp - allow pathnames in the connection
+       settings, so '("/db/my.sqlite") and '(#P"/db/my.sqlite") are
+       equivalent. Updated the docs to match.
+
+2012-08-17  Russ Tyndall  <russ@acceleration.net>
+       * db-postgresql-socket3/package.lisp - shadow
+       postgresql-notification for compatibility with new
+       cl-postgres (Thanks Zach)
+
+2012-07-09  Russ Tyndall  <russ@acceleration.net>
+        * sql/oodml.lisp - fixed a bug where the order by was being
+       destructively modified, causing odd caching issues when the
+       selected object was not statically known (eg unreferenced tables
+       could show up in the query if they were cached by a previous call
+       through this function.  I replaced this code with a
+       non-destructive variant which should solve this.
+
+       Thanks to Philipp Marek for the bug report
+
+2012-06-25  Russ Tyndall  <russ@acceleration.net>
+       * sql/util.lisp, sql/metaclasses.lisp
+       Dequote database-identifiers if needed (passed a quoted symbol)
+       Metaclass args come through unquoted, so this eases interactions
+       with them
+
+2012-06-22  Russ Tyndall  <russ@acceleration.net>
+       * sql/metaclasses.lisp: Changed compute-effective-slot-definition
+       to correctly copy the autoincrement-sequence slot to the ESD
+       previously it was being skipped (seemingly by accident).  Thanks
+       to flip214 on #lisp for the bug report
+
+2012-04-26  Kevin Rosenberg  <kevin@rosenberg.net>
+       * Version 6.2 released: thanks to all the contributors!
+
+2012-04-25  Nathan Bird  <nathan@acceleration.net>
+
+       * doc/threading-warnings.txt: Adding some notes from J.T.Klein
+       about the current state of thread-safety in clsql. This should be
+       incorporated into the main docs at some point.
+
+2012-04-25  Russ Tyndall <russ@acceleration.net>
+       * sql/expressions.lisp (output-sql): on rendering update/insert
+       expression values, ensure that *in-subselect* is bound to T
+       so that the values will be correctly paren delimited
+
+2012-04-24  Nathan Bird  <nathan@acceleration.net>
+
+       * sql/expressions.lisp (output-sql): on mysql CREATE TABLE
+       statements use 'ENGINE=innodb' instead of 'Type=InnoDB'. This has
+       apparently been preferred since mysql 4.1 and mysql 5.5 removed
+       type as a valid keyword.
+
+2012-03-28  Russ Tyndall <russ@acceleration.net>
+
+        * sql/sequences.lisp: [A Patch FROM 2011-07-28 changed sequences.
+       They were previously prefixed with _CLSQL_SEQ_ but are now
+       suffixed with _CLSQL_SEQ. This is likely to break existing
+       implementations using the default sequence names
+
+       setting *old-sequence-names* to T, should force using the older
+       naming scheme
+
+2012-03-27  Ryan Davis  <ryan@acceleration.net>
+
+       * sql/expressions.lisp: Fixed bug with subqueries in the where
+       clause of update-records and delete-records generating invalid
+       SQL. Previously subselects in where clauses would not have enough
+       parentheses, for example: "WHERE Id IN SELECT foo_id FROM bar"
+       vs. "WHERE Id IN (SELECT foo_id FROM bar)"
+       * tests/test-syntax.lisp: Added tests for using subqueries in the
+       where clause in update-records and delete-records. Moved asserts
+       in the test-output-sql/sql-ident-table function into the standard
+       test framework.
+       * doc/appendix.xml: added :connection-string to the information on
+       ODBC connection specs, and added example code connecting to ODBC
+       databases.
+
+2012-01-05  Nathan Bird  <nathan@acceleration.net>
+
+       * db-odbc/odbc-dbi.lisp: handle sql decimal type in the same way
+       as numeric type-- read into a double float.
+
+2011-01-04  Russ Tyndall  <russ@acceleration.net>
+       * sql/operations.lisp
+
+       Fixed bug reported by JTK related to the not-null sql-expression
+       especially as used in conjunction with the is operator.
+
+       Made null called with more than one argument throw an exception
+       instead of silently discarding all arguments past the first
+
+2012-01-04  Nathan Bird  <nathan@acceleration.net>
+
+       * db-odbc/odbc-api.lisp (%sql-driver-connect): in the call to
+       odbc's SQLDriverConnect default the WindowHandle argument to a null ptr so
+       that connecting with :connection-string will work in the default
+       case of SQL_DRIVER_NOPROMPT.
+
+       I.e. you can now do things like:
+       (clsql:connect '("DsnName" "UserName" "" :connection-string
+       "DRIVER={FreeTDS};SERVER=...;DATABASE=...;UID=...;PWD=...;PORT=1433;TDS_Version=8.0;APP=clsql")
+       :database-type :odbc)
+
+       I believe the DsnName and Username at that point are only used when
+       printing the connection information.
+
+2011-12-20  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 6.1.1
+       * db-oracle/oracle.lisp: Typo correction (Elias Martenson)
+
+2011-12-19  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 6.1.0
+       * db-oracle/oracle.lisp: Change length function to
+       uffi:foreign-string-length to handle foreign encodings.
+       Thanks to Elias Martenson.
+
+2011-11-28  Russ Tyndall  <russ@acceleration.net>
+       * db-odbc/odbc-api.lisp, tests/test-time.lisp
+
+       In ODBC backend, avoid going through the common lisp
+       universal-time type (because it lacks support for historic dates)
+
+       *time-conversion-function* renamed to *time-format*
+
+       Patch from: Francisco Vides Fernandez
+
+2011-10-18  Russ Tyndall  <russ@acceleration.net>
+       * db-odbc/odbc-api.lisp
+
+       Added type specifier so MSSQL nvarchar fields can make it through
+
+2011-09-12  Russ Tyndall  <russ@acceleration.net>
+       * sql/fddl.lisp sql/generic-postgres.lisp db-mysql/mysql-sql.lisp
+       sql/generic-odbc.lisp sql/odbc-api.lisp sql/odbc-dbi.lisp
+
+       Fix bugs in list-attribute(s|-types) where passing an escaped,
+       instead of unescaped column name, caused these functions to return
+       less data than they should have.
+
+2011-08-03  Kevin Rosenberg <kevin@rosenberg.net>
+       * CLSQL 6.0.0 released
+
+2011-07-28  Russ Tyndall  <russ@acceleration.net>
+
+       * db-postgresql-socket3/: Added a backend that utilized postgres
+       socket api version 3.  Uses the cl-postgres project (from
+       postmodern) to handle this.  Allows use of parameterized /
+       prepared queries using clsql:command-object
+
+       * sql/{expressions,fddl, generic-postgresql, ooddl}.lisp:
+       Change how database identifiers are emitted to hopefully make this
+       less brittle, and more easily intuitable.
+
+       Previously every code path that wanted to emit a
+       database identifier was responsible for coercing what was provided
+       into a correctly escaped string.  Sometimes two or three functions
+       in a row were trying to correctly quote and output that string.  I
+       have tried to centralize this type coercion and logic into a
+       single code path.
+
+       everything should now call (escaped-database-identifier thing)
+       immediately before splicing a database identifier into string being
+       sent to the database
+
+       * sql/oodml.lisp: added method choose-database-for-instance, which
+       allows overriding which database connections are used based on
+       object type.  Can be used to prevent connection conflicts in
+       multi-threaded environments
+
+       * sql/syntax.lisp: [foo bar] and [foo.bar] read into the same
+       clsql expression now (they used to be output the same, but after
+       the above database-identifier change, they were output separately
+
+       * test/: Better, more tests, better type coercion in tests and
+       throughout (%get-int)
+
+       [edit 2012-03-28 - RT]
+       * sql/sequences.lisp: Sequences were previously prefixed with
+       _CLSQL_SEQ_ but are now suffixed with _CLSQL_SEQ. This is likely
+       to break existing implementations using the default sequence names
+
+       setting *old-sequence-names* to T, should force using the older
+       naming scheme
+
+
+2011-07-16  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 5.4.0 release
+
+2011-06-27  Nathan Bird  <nathan@acceleration.net>
+       * db-odbc/: memory management improvements: leak slower
+       * MSSQL: TOP + DISTINCT work together
+
+2011-06-20  Nathan Bird  <nathan@acceleration.net>
+
+       * sql/time.lisp: Handle parsing already parsed objects.
+       * sql/oodml.lisp: raise exception if we generate an update with no
+       where clause; incorporate Ryszard Szopa's patch for functional
+       expressions in :order-by
+       * sql/expressions.lisp: (listify nil) => nil instead of (nil).
+       * db-odbc/: bugfixes for working with older versions of FreeTDS;
+       support for bigints that works on mssql and postgres
+       * MSSQL improvements: use top instead of limit, IDENTITY can be a
+       column constraint, clsql:date becomes 'smalldatetime'
+
+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.
          for MYSQL structure. This will make the code more robust in
          the event that MySQL library changes the size of the mysql-mysql
          structure.
-
-