drop support for psycopg2 and pycurl
[plcapi.git] / psycopg2 / ChangeLog
diff --git a/psycopg2/ChangeLog b/psycopg2/ChangeLog
deleted file mode 100644 (file)
index b273e20..0000000
+++ /dev/null
@@ -1,1219 +0,0 @@
-2006-09-02  Federico Di Gregorio  <fog@initd.org>
-
-       * Release 2.0.5.1.
-
-       * psycopg/cursor_type.c: applied patch from Jason Erickson to
-       build on MSVC and older gcc.
-
-2006-09-01  Federico Di Gregorio  <fog@initd.org>
-
-       * Release 2.0.5.
-
-       * Fixed patch from #119, see tracker for details.
-
-       * Preparing release 2.0.5.
-
-       * psycopg/psycopgmodule.c: fixed filling of connection errors
-       to include OperationalError.
-
-       * setup.py: removed pydatetime option from initialize_options
-       to make sure that the value in setup.cfg is used.
-
-       * psycopg/psycopgmodule.c: applied patch from jdahlin (#120)
-       to have .connect() accept either a string or int as the port
-       parameter.
-
-       * psycopg/adapter_binary.c: applied patch from jdahlin (#119)
-       to fix the segfault on empty binary buffers.
-
-       * psycopg/connection_type.c: added .status attribute to expose
-       the internal status.
-
-       * psycopg/pqpath.c: applied patch from intgr (#117) to fix
-       segfault on null queries.
-
-       * psycopg/cursor_type.c: applied patch from intgr (#116) to
-       fix bad keyword naming and segfault in .executemany().
-
-       * ZPsycopgDA/DA.py: applied ImageFile patch from Charlie
-       Clark.
-
-       * lib/pool.py: applied logging patch from Charlie Clark.
-       It will probably get a makeup and be moved to the top-level
-       module later.
-
-2006-08-02  Federico Di Gregorio  <fog@initd.org>
-
-       * Release 2.0.4.
-
-       * Fixed bug in float conversion (check for NULL string was
-       erroneously removed in 2.0.3!)
-
-2006-07-31  Federico Di Gregorio  <fog@initd.org>
-
-       * Release 2.0.3.
-
-       * psycopg/cursor_type.c: applied patch from jbellis (#113) to
-       allow column selection in .copy_from().
-
-       * psycopg/psycopgmodule.c: fixed memory leak in custom exceptions
-       (applied patch from #114).
-
-2006-07-26  Federico Di Gregorio  <fog@initd.org>
-
-       * psycopg/adapter_datetime.c (pydatetime_str): fixed error
-       in conversion of microseconds for intervals and better algo
-       (thanks to Mario Frasca.)
-
-2006-06-18  Federico Di Gregorio  <fog@initd.org>
-
-       * psycopg/adapter_binary.c: same as below.
-
-        * psycopg/adapter_qstring.c: does not segfault anymore if 
-       .getquoted() is called without preparing the qstring with 
-       the connection.
-
-2006-06-15  Federico Di Gregorio  <fog@initd.org>
-
-       * psycopg/typecast_basic.c: fixed problem with bogus
-       conversion when importing gtk (that was crazy, I didn't
-       understand why it happened but the new code just fixes it.)
-
-       * ZPsycopgDA/db.py: better type analisys, using an hash
-       instead of a series of if (variation on patch from Charlie
-       Clark.)
-
-2006-06-11  Federico Di Gregorio  <fog@initd.org>
-
-       * Release 2.0.2.
-
-       * psycopg/typecast_array.c (typecast_array_cleanup): fixed a
-       problem with typecast_array_cleanup always returning the new
-       string length shorter by 1 (Closes: #93).
-
-       * psycopg/adapter_binary.c: as below.
-
-       * psycopg/adapter_qstring.c: wrapped #warning in #ifdef __GCC__
-       because other compilers don't have it and it will just break
-       compilation (patch from jason, our great win32 builder).
-
-       * psycopg/adapter_list.c: applied patch to adapt an empty list
-       into an empty array and not to NULL (from iGGy, closes: #108).
-
-       * psycopg/cursor_type.c: applied patch from wkv to avoid
-       under-allocating query space when the parameters are not of the
-       right type (Closes: #110).
-
-       * psycopg/connection_int.c: applied patch from wkv to avoid off 
-       by one allocation of connection encoding string (Closes: #109).
-
-2006-06-09  Federico Di Gregorio  <fog@initd.org>
-
-        * Release 2.0.1.
-
-       * Fixed some buglets in ZPsycopgDA (was unable to load due
-       to shorter version number in psycopg module.)
-
-2006-06-08  Federico Di Gregorio  <fog@initd.org>
-       
-       * Release 2.0.
-
-       * ZPsycopgDA/DA.py: removed Browse table for 2.0 release; we'll
-       add it back later.
-
-2006-05-26  Federico Di Gregorio  <fog@initd.org>
-
-       * Applied better PostgreSQL patch from AA.
-
-2006-05-24  Federico Di Gregorio  <fog@initd.org>
-
-       * Enabled 8.1.4 security fix only when the version is >= 8.1.4, fall
-       back to old code otherwise.
-       
-       * psycopg/adapter_qstring.c: now quote using PQescapeStringConn if
-       available. 
-
-       * psycopg/adapter_binary.c: now quote using PQescapeByteaConn if
-       available. 
-
-2006-04-38  Federico Di Gregorio  <fog@initd.org>
-
-       * setup.py: fixed little problem with mx_include_dir as suggested
-       by kvc (this closes #102).
-
-2006-04-24  Federico Di Gregorio  <fog@initd.org>
-
-       * psycopg/adapter_pboolean.c: added the possibility to format boolean
-       values as "true" and "false" instead of "'t'" and "'f'".
-
-2006-03-08  Federico Di Gregorio  <fog@initd.org>
-
-       * lib/extras.py: added .next() to DictCursot to support iteration.
-
-2006-03-02  Federico Di Gregorio  <fog@initd.org>
-
-       * psycopg/typecast_array.c (typecast_array_tokenize): removed cast
-       to build without warnings on 64 bit arches.
-
-2006-02-11  Federico Di Gregorio  <fog@initd.org>
-
-       * Release 2.0 beta 8.
-
-       * psycopg/config.h: applied patch from Jason to fix handle leak on
-       win32, as documented in #92.
-
-2006-02-11  Federico Di Gregorio  <fog@initd.org>
-
-       * Release 2.0 beta 7.
-
-       * psycopg/psycopgmodule.c: applied fix for memory overflow in
-       connect() (reported by solt, #91.)
-
-       * setup.py: applied patch from lbruno.
-
-2006-01-11  Federico Di Gregorio  <fog@initd.org>
-
-       * setup.py: does not report an error in pg_config unless the pg_config
-       was explicitly set (allows for building with old options.) 
-
-2006-01-06  Daniele Varrazzo  <daniele.varrazzo@gmail.com>
-
-       * setup.py: libpq.dll not used anymore. win32 setup uses pg_config too.
-
-2006-01-05  Federico Di Gregorio  <fog@initd.org>
-
-       * psycopg/psycopgmodule.c (psyco_set_error): added function to set extra
-       parameters on ProgrammingError instances. Also modified all occurances of
-       PyErr_SetString(ProgrammingError,...) to psycopg_set_error(). 
-
-       * setup.{cfg,py}: we now use pg_config to locate PostgreSQL libraries
-       and headers (modified patch from lbruno, see #70.)
-
-2006-01-01  Federico Di Gregorio  <fog@initd.org>
-
-       * Preparing release 2 beta 7.
-
-       * MANIFEST.in: we now distrbute pre-built documentation (still need
-       to add to setup.py the code necessary to build docs as part of the
-       build process.)
-
-       * psycopg/connection_int.c: PostgreSQL encoding names are now force
-       uppercase (after all PostgreSQL documentation reports them this way.)
-
-2005-12-11 Federico Di Gregorio <fog@initd.org>
-
-       * psycopg/typecast_array.c (typecast_array_cleanup): added functio
-       to cleanup the "[...]=" part of an array result. This probably will
-       need some more work for nested arrays but it fixed every test I was
-       able to write. (Closes: #80)
-
-2005-12-11  Federico Di Gregorio  <fog@initd.org>
-
-       * setup.py: half-applied patch from Tavis to specify mx_include_dir
-       in setup.cfg.
-
-       * psycopg/typecast.c (typecast_parse_time): cz limit in the while
-       loop is 6, not 5. This solve the problem with "fractionary" time zones
-       and fixes #78. 
-
-2005-12-06  Federico Di Gregorio  <fog@initd.org>
-
-       * lib/extras.py: added .callproc() to DictCursor as suggested
-       by Philip Semanchuk.
-
-2005-11-29  Federico Di Gregorio  <fog@initd.org>
-
-       * MANIFEST.in: added docs/async.txt. (Closes: #75)
-
-2005-11-26  Daniele Varrazzo  <daniele.varrazzo@gmail.com>
-
-       * psycopg/psycopgmodule.c: fixed exceptions refcount.
-
-       * Fixed lots of doctrings and added Epydoc-generated docs support.
-
-2005-11-24  Federico Di Gregorio  <fog@initd.org>
-
-       * sandbox: added all the test and creash-me files to the repository.
-
-       * psycopg/typecast.c (typecast_dealloc): now directly calls
-       PyObject_Del to avoid to segfault.
-
-2005-11-20  Federico Di Gregorio  <fog@initd.org>
-
-       * psycopg/typecast.c: fixed problem with microseconds conversion by
-       applying slightly modified patch from Ronnie Mackay.
-
-2005-11-19  Federico Di Gregorio  <fog@initd.org>
-
-       * lib/extensions.py: COMMITED -> COMMITTED. (Closes: #73)
-
-       * doc/extensions.rst: included Daniele's work after minor cosmetic changes
-       like using the new constants instead of numbers for transaction isolation
-       levels.
-
-2005-11-17  Federico Di Gregorio  <fog@initd.org>
-
-       * ZPsycopgDA/pool.py: fixed connections leak by using the new name
-       (PersistentConnectionPool) for the old connection pool class.
-
-2005-11-16  Federico Di Gregorio  <fog@initd.org>
-
-       * Preparing release 2.0 beta 6.
-       
-       * psycopg/adapter_mxdatetime.c: fixed all problems with mx conversions.
-       
-       * psycopg/typecast.c: now the timezone is set correctly even if there
-       are no microseconds and/or the offset is 0;
-
-       * examples/encoding.py: fixed example by using python utf8 encoding for
-       the whole file.
-
-       * lib/__init__.py: very nice hack from Harald Armin Massa to allow
-       py2exe and similar tools to do their work without problems.
-
-2005-11-15  Federico Di Gregorio  <fog@initd.org>
-
-       * psycopg/psycopgmodule.c: now bails out with correct exception when one
-       of the needed modules can't be imported (should fix #32.)
-
-2005-11-14  Federico Di Gregorio  <fog@initd.org>
-
-       * psycopg/typecast.c: added typecast_parse_date and typecast_parse_time
-       functions to do locale-safe date/time parsing. This would probably also
-       speed-up psycopg a little bit.
-
-2005-11-07  Federico Di Gregorio  <fog@initd.org>
-
-       * psycopg/pqpath.c: fixed problem with uninitialized value (all this was
-       started by replacing calloc() calls with PyMem_Malloc().)
-
-2005-11-04  Federico Di Gregorio  <fog@initd.org>
-
-       * psycopg/typecast.c: a lot of changes:
-         - made typecast a new-style type
-         - removed coerce code and implemented the richcompare protocol that
-           allows to compare objects of different types
-         - much better __cmp__ method that allows to compare two typecast
-           objects and returns True if any two of the mapped oids match
-         - any object that can be used as an int works as right-hand operand
-           in __cmp__ operations 
-
-       * psycopg/typecast_datetime.c: now typecast_PYINTERVAL_cast limit the
-       scan to 'len' characters in the string (should fix #65.)
-
-2005-11-03  Federico Di Gregorio  <fog@initd.org>
-
-       * Applied patch from Daniele Varazzo to enable Decimal on Python
-       2.3 when the module is available (run-time check, nice.)
-       
-2005-10-26  Federico Di Gregorio  <fog@initd.org>
-
-       * setup.cfg: added include_dirs line for SUSE 9.3.
-
-2005-10-22  Federico Di Gregorio  <fog@initd.org>
-
-       * psycopg/cursor_type.c: added support for named cursors:
-         - .fetchXXX() methods now execute a FETCH if the cursor is named
-         - .execute() executes a DECLARE if the cursor is named
-         - .execute() fails if a named cursor is used in autocommit
-         - .executemany() can't be called on named cursors
-         - .scroll() executes a MOVE if the cursor is named
-         - .close() executes a CLOSE if the cursor is named
-         Also, a "transaction mark" was added to both the connection and the
-         cursor and an exception is raised when using a named cursor unless the
-         two marks correspond.
-
-       * psycopg/connection_int.c: snprintf->PyOS_snprintf.
-
-       * psycopg/psycopgmodule.c: snprintf->PyOS_snprintf.
-
-       * psycopg/cursor_type.c: changed self->query type from C string to
-       PyObject* to better manage queries in named cursors.
-
-       * psycopg/psycopgmodule.c: cleaned up exception names (now the errors
-       is printed as psycopg2.Error and not as the confusing
-       psycopg2._psycopg.Error.)
-
-2005-10-20  Federico Di Gregorio  <fog@initd.org>
-
-       * lib/pool.py: renamed ThreadedConnectionPool to PersistentConnectionPool
-       and added a connection pool that allows multiple connections per thread
-       as ThreadedConnectionPool (courtesy of Daniele Varrazzo.)
-
-2005-10-19  Federico Di Gregorio  <fog@initd.org>
-
-       * Releasing 2.0 beta 5.
-       
-       * psycopg/adapter_mxdatetime.c: reverted to old strftime method to format
-       mx.DateTime objects; the new method didn't worked in some corner-cases.
-       This makes impossible to have more than 2 decimal places for seconds but
-       at least we get the time right every time.
-
-2005-10-18  Federico Di Gregorio  <fog@initd.org>
-
-       * NOTIFY is back end working.
-
-       * psycopg/connection_type.c: fixed problem with initialization of
-       notifies list (also fixed small memory leak in connection dealloc.)
-
-       * examples/notify.py: added NOTIFY example.
-
-       * psycopg/cursor_type.c: added per-cursor type-casters dictionaries.
-
-2005-10-18  Federico Di Gregorio  <fog@initd.org>
-
-       * psycopg/typecast.c: temporary fix to typecasting objects to return
-       False for any comparaison except an integer in self.values (i.e., we
-       don't raise an exception anymore on a coerce error.) Epydoc is now
-       happy.
-
-       * psycopg/config.h: ZETA config.h patch from Charlie Clark.
-
-       * examples/threads.py: fixed small typo: psycopg -> psycopg2.
-
-       * Big cleanup of unsigned chars to tame gcc 4.
-
-       * Big cleanup of module names (i.e., psycopg2._psycopg everywhere.)
-       
-       * psycopg/config.h: added fake localtime_r for platforms missing it
-
-       * psycopg/cursor_type.c: cursors now have a FixedOffsetTimezone
-       tzinfo_factory by default.
-
-       * psycopg/adapter_datetime.c: added tzinfo argument to psycopg2.Time and
-       psycopg2.Timestamp. Also now TimestampFromTicks sets the tzinfo object
-       to psycopg2.tz.LOCAL.
-
-2005-10-17  Federico Di Gregorio  <fog@initd.org>
-
-       * psycopg/adapter_datetime.c: we now use localtime() instead of gmtime()
-       to accound for the local time-zone in timestamps.
-
-       * psycopg/connection_type.c: fixed docstring for .cursor().
-
-       * psycopg/psycopgmodule.c: added useful docstring for .connect().
-
-2005-10-08  Federico Di Gregorio  <fog@initd.org>
-
-       * psycopg/connection_type.c: isolation level upper bound set to 2.
-
-       * lib/psycopg1.py: explicitly set isolation level to 2 on .connect()
-       to mimic psycopg 1 behaviour.
-
-       * psycopg/connection_int.c: now set isolation level from
-       default_transaction_isolation backend environment value.
-
-       * psycopg/pqpath.c: removed serialization level 3: now everybody
-       (except me) has to use the mnemonics defined in psycopg2.extensions.
-
-       * lib/extensions.py: Added mnemonics for serialization levels.
-
-2005-10-02  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/cursor_type.c (psyco_curs_callproc): applied callproc
-       patch from Matt Goodall (added a check on _psyco_curs_execute
-       return value and substituted malloc/free with PyMem versions.) 
-
-2005-10-01  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/connection_int.c: fixed segfault by moving PyErr_Format
-       after GIL acquisition (closes: #50).
-
-       * psycopg/connection_type.c: applied patch from Matt Goodall to
-       fix some doc strings.
-
-2005-09-23  Federico Di Gregorio  <fog@debian.org>
-
-       * lib/pool.py: applied patch from piro to avoid the scan of the
-       whole connection array on getconn().
-
-2005-09-12  Federico Di Gregorio  <fog@initd.org>
-
-       * lib/pool.py: Applied psycopg->psycopg2 patch to from bug #35.
-
-       * ZpsycopgDA/db.py: fixed problem with OperationalError that
-       resulted in cryptic message to Zope users ("'OperationalError' is
-       not defined".)
-       
-2005-08-23  Federico Di Gregorio  <fog@debian.org>
-
-       * setup.py: applied patch from Daniele Varrazzo to avoid segfaults
-       when compiling with migw for Python 2.4.x.
-
-       * psycopg/adapter_mxdatetime.c (mxdatetime_str): ported code from 1.1.x
-       to convert mxDateTime object preserving the precision of fractional
-       seconds.
-
-2005-08-22  Federico Di Gregorio  <fog@debian.org>
-
-       * ZPsycopgDA/*.py: psycopg -> psycopg2. 
-
-       * setup.py: modified to install the module components under
-       psycopg2 on windows too (thanks to Daniele Varrazzo.)
-
-2005-08-07  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/config.h: added __sun__ to the symbols checked for round()
-
-2005-07-21  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/adapter_datetime.c (psyco_XXXFromTicks): fixed the 1900
-       years offset reported by Jeroen van Dongen (see ticket #33). 
-
-2005-07-17  Federico Di Gregorio  <fog@debian.org>
-
-       * Release 2.0 beta 4.
-
-       * lib/extras.py (DictConnection.cursor): added DictConnection to
-       make easier to retrieve data in DictRows.
-
-2005-06-24  Federico Di Gregorio  <fog@initd.org>
-
-       * psycopg/typecast_datetime.c (typecast_PYINTERVAL_cast): applied patch
-       from Geert Jansen to fix interval bug due to overflow.
-
-2005-06-18  Federico Di Gregorio  <fog@initd.org>
-
-       * setup.cfg: some clarifications and include_dirs example for Mandrake.
-       
-       * ZPsycopgDA/DA.py: DTMLFile -> HTMLFile everywhere to fix zope
-       cut&paste problems.
-       
-       * MANIFEST.in: added missing files to do bdist_rpm.
-       
-       * lib/psycopg1.py: fixed .dictfetchrow() to return None if fetchone()
-       returns None instead of raising an exception.
-       
-       * ZPsycopgDA/icons: replaced corrupted icons with good ones. 
-
-2005-06-13  Federico Di Gregorio  <fog@initd.org>
-
-       * psycopg/psycopgmodule.c (psyco_connect): changed the port keyword
-       parameter type to int (instead of string); this should fix #23.
-       
-       * psycopg/cursor_type.c (_psyco_curs_execute): now checks for
-       empty queries and raise a ProgrammingError if appropriate (closes:
-       #24).
-       
-       * setup.py: psycopg module renamed to psycopg2.
-
-2005-06-02  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/cursor_type.c (_psyco_curs_execute): fixed segfault when
-       not passing string or unicode to .execute().
-
-2005-06-01  Federico Di Gregorio  <fog@debian.org>
-
-       * examples/fetch.py: added example about using DECLARE CURSOR.
-
-       * psycopg/adapter_datetime.c (psyco_TimestampFromTicks): "Hmmm,
-       looks like someone forgot that C expects months to start counting
-       from 0, but the Python date routines start counting from 1." That
-       was me: fixed.
-
-2005-05-31  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/cursor_type.c (_psyco_curs_execute): if a
-       UnicodeEncodeError is raised during the converion of a unicode
-       query we let it propagate insead of segfaulting.
-       
-2005-5-27  Federico Di Gregorio,  <fog@lana.initd.org>
-
-       * tests/types_basic.py: fixed float and binary tests.
-
-2005-05-26  Federico Di Gregorio  <fog@debian.org>
-
-       * Release 2.0b3.
-
-       * ZPsycopgDA/db.py (DB.convert_description): isolated description
-       conversion (and fixed the conversion as per #18).
-
-       * ZPsycopgDA/DA.py: fixed again; this time Zope should work for
-       real. :/  Also fixed the type-casters (psycopg 2 added the extra
-       cursor parameter) as reported in #18.
-
-       * psycopg/psycopgmodule.c (init_psycopg): fixed Python 2.2 build. 
-
-2005-05-19  Federico Di Gregorio  <fog@debian.org>
-
-       * Release 2.0b2.
-       
-       * lib/extras.py (DictRow): Some extra methods for DictRow.
-
-       * psycopg/cursor_type.c (_psyco_curs_execute): added explict check
-       to avoid using None as bound variables (very importand for cursor
-       subclasses calling cursor.execute(self, query, None).
-
-2005-05-18  Federico Di Gregorio  <fog@debian.org>
-
-       * ZPsycopgDA/DA.py (ALLOWED_PSYCOPG_VERSIONS): updated to work
-       with 2.0b2 only (will support only the exact version untill final
-       2.0 release.)
-
-       * setup.py: Applied combined patch from Daniele Varrazzo and Jason
-       Erickson to build on win32 using MSVC or mingw.
-
-2005-05-15  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/microprotocols.c (microprotocols_adapt): fixed memory
-       leak on None as suggested by gh (closes: #16).
-
-2005-05-10  Federico Di Gregorio  <fog@debian.org>
-
-       * lib/extras.py (DictRow): we now save a reference to the index
-       itself and not to the cursor to avoid problems while accessing
-       DictRow objects after reusing the cursor for a different query
-       (using  Kevin Jacobs db_row would be much better but DictRow is
-       just an example, right?)
-
-2005-05-09  Federico Di Gregorio  <fog@debian.org>
-
-       * Release 2.0 beta 1.
-
-       * psycopg/typecast_datetime.c (typecast_PYDATETIME_cast): fixed a
-       typo (pyDateTimeModuleP->pyDateTimeTypeP) that was causing errors
-       with infinite datetime values.
-
-       * psycopg/adapter_binary.c (binary_str): Py_XINCREF on the buffer
-       that can be NULL on error.
-
-       * psycopg/typecast_binary.*: applied slightly modified
-       chunk/buffer object patch to allow round-trip of buffer objects
-       (BYTEA columns.) 
-
-       * psycopg/cursor_type.c (psyco_curs_executemany): applied slightly
-       fixed patch from wrobell to allow iterators in .executemany().
-
-2005-04-18  Federico Di Gregorio  <fog@debian.org>
-
-       * MANIFEST.in: included debian directory.
-
-2005-04-10  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/adapter_list.*: added list adapter. 
-
-       * psycopg/microprotocols.c (microprotocol_getquoted): moved
-       _mogrify_getquoted into utility function in the microprotocols
-       library.
-
-       * setup.py: Added extensive error message on missing datetime
-       headers.
-
-       * Applied mingw patch from Daniele Varazzo. 
-
-2005-04-03  Federico Di Gregorio  <fog@debian.org>
-
-       * lib/psycopg1.py (connection.autocommit): added compatibility
-       .autocommit() method.
-
-       * psycopg/psycopgmodule.c (psyco_connect): factory ->
-       connection_factory.
-
-       * lib/psycopg1.py: added psycopg 1.1.x compatibility module.
-
-2005-03-29  Federico Di Gregorio  <fog@debian.org>
-
-       * Applied patch to fix tuple count.
-       
-       * psycopg/pqpath.c (pq_is_busy): Staring from bug report from
-       Jason Erickson fixed segfaults due to calling Python function
-       without holding the GIL.
-2005-03-24  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/adapter_binary.c (binary_escape): propagated Andrea's
-       fix to binary adapter.
-
-       * psycopg/adapter_qstring.c (qstring_quote): applied patch from
-       Andrea Arcangeli to fix allocation failures (>4Gb) on 64 bit
-       arches.
-
-       * psycopg/typecast_array.c (typecast_array_tokenize): much better
-       tokenization code.
-
-2005-03-23  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/typecast_basic.c: all the basic casters now respect the
-       passed string length.
-
-       * psycopg/typecast.c (typecast_cast): set curs->caster to self
-       during the type-casting.
-
-       * psycopg/cursor_type.c: added "typecaster" attribute to the
-       cursor (this is safe, cursors can't be shared among threads and
-       the attribute is RO.)
-
-2005-03-22  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/typecast_array.c: added some more structure to implement
-       array typecasting.
-
-       * scripts/buildtypes.py: new version to include array data.
-
-2005-03-15  Federico Di Gregorio  <fog@debian.org>
-
-       * lib/extensions.py: Added AsIs import.
-
-2005-03-12  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/cursor.h: removed "qattr", not used anymore and added
-       "cast", holding the typecaster currently in use.
-
-       * Release 1.99.13.
-
-       * psycopg/cursor_type.c (psyco_curs_executemany): implemented as a
-       wrapper to extract python arguments and then call
-       _psyco_curs_execute().
-
-       * psycopg/cursor_type.c (_psyco_curs_execute): splitted away
-       python argument parsing from the real execute code, to later allow
-       for .executemany().
-
-       * psycopg/cursor_type.c (_psyco_curs_buildrow_fill): modified to
-       call typecast_cast().
-       
-       * psycopg/typecast.c (typecast_call/typecast_cast): modified
-       typecast_call to use the new typecast_cast that avoids one string
-       conversion on every cast.
-
-2005-03-04  Federico Di Gregorio  <fog@initd.org>
-
-       * Release 1.99.12.1.
-
-       * psycopg/adapter_asis.c (asis_str): changed call to PyObject_Repr
-       to PyObject_Str to avoid problems with long integers.
-
-2005-03-03  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/typecast.h: added array casting functions.
-
-       * scripts/maketypes.sh: does not generate pgversion.h anymore. 
-
-       * Updated all examples for the release.
-
-2005-03-02  Federico Di Gregorio  <fog@debian.org>
-
-       * Release 1.99.12.
-       
-       * psycopg/adapter_*.c: added __conform__ to all adapters.
-       
-       * psycopg/adapter_qstring.c (qstring_quote): we now use
-       PyString_AsStringAndSize() instead of strlen() that would stop at
-       the first embedded \0 (but note that libpq quoting function will
-       truncate the string anyway!)
-       
-       * COPY TO implemented using both old and new (v3) protocol.
-
-       * psycopg/pqpath.c (_pq_copy_out_v3): implemented and working.
-
-       * psycopg/cursor_type.c (psyco_curs_copy_to): added cursor object
-       interface for copy_to.
-
-       * COPY FROM implemented using both old and new (v3) protocol.
-
-       * psycopg/config.h (Dprintf): declaration for asprintf is gone.
-
-       * psycopg/pqpath.c (_pq_copy_in_v3): implemented.
-
-2005-03-01  Federico Di Gregorio  <fog@debian.org>
-
-       * setup.py: now we generate a slighly more verbose version string
-       that embeds some of the compile options, to facilitate users' bug
-       reports.
-
-       * psycopg/cursor_type.c (psyco_curs_copy_from): we now use
-       PyOS_snprintf instead of asprintf. On some platforms this can be
-       bad (win32).. if that's your case, get a better platform. :/
-
-       * psycopg/microprotocols.c (microprotocols_adapt): fixed small
-       typo that made adaptation using __conform__ impossible.
-
-2005-02-28  Federico Di Gregorio  <fog@debian.org>
-
-       * lib/extras.py: removed AsIs adapter (now a built-in); also
-       removed prepare() method from the adapters that don't use it to
-       avoid an extra method call at mogrification time.
-
-       * psycopg/psycopgmodule.c (psyco_adapters_init): added
-       initialization of the AsIs adapter (adapts int, long, float and
-       *wonder* None!)
-
-       * psycopg/cursor_type.c (_mogrify_getquoted): reorganized the code
-       to adapt and then call .getquoted() to obtain the quoted data into
-       this new function.
-
-2005-2-27  Federico Di Gregorio  <fog@initd.org>
-
-       * examples/myfirstrecipe.py: fixed adapter registration. 
-
-2005-2-7  Federico Di Gregorio  <fog@initd.org>
-
-       * setup.py: added patch by Valentino Volonghi to build on MacOS X.
-
-2005-01-29  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/pqpath.c (_pq_fetch_tuples): fixed scale-related
-       segfault (*fourth* mail from Andrea. Another couple like this and
-       psycopg 2 will exit alpha at warp speed.)
-       
-       * psycopg/pqpath.c (pq_fetch): _pq_copy_out_3 -> _pq_copy_out_v3
-       (second and third mail from Andrea. :/)
-
-       * psycopg/cursor_type.c (_psyco_curs_has_write_check): added check
-       on .write() attribute, fixed compilation problems (first mail from
-       Andrea Arcangeli.)
-
-2005-01-20  Federico Di Gregorio  <fog@debian.org>
-
-       * lib/extensions.py (register_adapter): added register_adapter
-       function, exported ISQLQuote in psycopg.extensions.
-
-2005-01-18  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/pqpath.c (_pq_fetch_tuples): ported scale/precision fix
-       from psycopg 1.1.
-
-       * LICENSE: detailed licensing information. Re-licensed some parts
-       under BSD-like to allow integration is pysqlite.
-
-2005-01-13  Federico Di Gregorio  <fog@debian.org>
-
-       * ZPsycopgDA/db.py (DB.query
-       ): ported ZPsycopgDA connection fix
-       from psycopg 1.1.
-
-       * lib/*.py: added pydoc-friendly messages.
-
-2005-01-12  Federico Di Gregorio  <fog@debian.org>
-
-       * Added debian directory (thanks to W. Borgert who sent initial
-       patch based on cdbs.)
-
-2004-12-20  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/pqpath.c (pq_execute): removed multiple calls to
-       pq_fetch in syncronous DBAPI compatibility mode to solve rowcount
-       problem.
-
-2004-12-14  Federico Di Gregorio  <fog@debian.org>
-
-       * Mm.. release 1.99.11.
-
-       * psycopg/cursor_type.c (_psyco_curs_prefetch): fixed bug in
-       interaction between the .isready() method and
-       _psyco_curs_prefetch: isready now store away the pgres but leave
-       prefetch do its work.
-
-       * psycopg/*.c: changed the names of most of the psycopg's built-in
-       types to replect their position in the psycopg._psycopg module.
-
-2004-12-10  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/cursor_type.c: now *all* write or async accesses to the
-       connection object are arbitrated using the connection lock.
-       
-       * psycopg/cursor_type.c (psyco_curs_isready): now we reset the
-       current async cursor if it is ready, to allow other cursors to
-       .execute() without raising the "transaction in progress" error.
-
-       * psycopg/pqpath.c (pq_is_busy): gained status of high-level
-       function with its own blocking and locking.
-
-       * psycopg/cursor.h (EXC_IF_CURS_CLOSED): also checks the
-       connection (a closed connection implies a closed cursor.)
-
-       * psycopg/cursor_type.c: cursor's connection is correctly
-       INCREFfed and DECREFfed.
-
-       * psycopg/connection_type.c: removed the cursors list from the
-       connection object. It is not necessary anymore for the connection
-       to know about the cursors and the reference counting will keep the
-       connection alive (but possibly closed) until all cursors are
-       garbage collected.
-
-2004-11-20  Federico Di Gregorio  <fog@initd.org>
-
-       * psycopg/cursor_type.c (_mogrify): ported %% fix from 1.1.15. 
-
-2004-11-20  Federico Di Gregorio  <fog@initd.org>
-
-       * psycopg/cursor_type.c (psyco_curs_execute): added check to raise an
-       exception if a cursor tries to .execute() while an async query is
-       already in execution froma  different cursor. 
-
-2004-11-20  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/connection_type.c (psyco_conn_cursor): renamed 'cursor'
-       argument to 'cursor_factory'.
-
-2004-11-19  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/cursor_type.c (_psyco_curs_buildrow_fill): now standard
-       tuples are filled using PyTuple_SET_ITEM while extended types
-       (created via row_factory) are filled using PySequence_SetItem.
-       
-       * psycopg/cursor_type.c: changed cursor attribute name from
-       tuple_factory to row_factory.
-
-2004-10-14  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/cursor_type.c (_psyco_curs_buildrow_fill): now we use
-       PySequence_SetItem to avoid problems with containers created from
-       cursor's .tuple_factory attribute.
-
-       * lib/extras.py (DictCursor.execute): fixed stupid bug with cursor
-       setting self.tuplefactory instead of self.tuple_factory.
-
-2004-10-02  Federico Di Gregorio  <fog@debian.org>
-
-       * Release 1.99.10.
-       
-       * psycopg/cursor_type.c (_psyco_curs_buildrow_*): unified normal
-       and factory code into the _psyco_curs_buildrow_fill function; no
-       more memory leaks here. 
-
-       * psycopg/config.h (round): added check for __FreeBSD__ (that
-       should be defined when compiling with gcc, I hope.)
-
-       * setup.py: removed a lot of code now in setup.cfg.
-
-2004-09-24  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/cursor_type.c (cursor_dealloc): fixed small memory leak
-       due to missing disposal of self->pgres.
-
-2004-9-14  Federico Di Gregorio  <fog@initd.org>
-
-       *  examples/dialtone.py: Added adapt() example by Valentino
-       Volonghi.
-
-2004-09-14  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/microprotocols.c (microprotocols_adapt): lots of changes
-       to the microprotocols layer (it is not micro anymore);
-       implementing almost all the PEP 246. The adapter registry is now
-       indexed by (type, protocol) and not by type alone.
-
-2004-09-13  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/cursor_type.c (_mogrify): and qattr is gone.
-
-2004-09-05  Federico Di Gregorio  <fog@debian.org>
-
-       * Release 1.99.9 (or, the "twisting by the pool" release).
-
-       * psycopg/pqpath.c (_pq_fetch_tuples): changed to "static void"
-       instead of "static int", no ways for this function to fail.
-
-2004-09-04  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/pqpath.c (_pq_fetch_tuples): ported rowcount fix from
-       1.1.15.
-
-       * ZPsycopgDA/*: ZPsycopgDA back in action, using the new pooling
-       code.
-
-2004-08-29  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/typecast_basic.c (typecast_DECIMAL_cast): added DECIMAL
-       typecaster; it even works :).
-
-       * scripts/buildtypes.py (basic_types): added DECIMAL typecaster
-       for the NUMERIC oid.
-
-       * examples/threads.py: updated threads example to use pooling code. 
-
-       * lib/pool.py: added very simple and thread-safe connection
-       pooling class.
-
-       * psycopg/cursor_type.c (psyco_curs_fetchmany): fixed problem with
-       .fetchall() and .fetchmany() returning None instead of [] on empty
-       result sets.
-
-       * Release 1.99.8.
-
-2004-08-28  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/cursor_type.c (psyco_curs_execute): added processing of
-       unicode queries.
-
-       * examples/encoding.py: much better encoding example, also using
-       the new UNICODE typecaster.
-
-       * psycopg/typecast_basic.c (typecast_UNICODE_cast): added UNICODE
-       typecaster.
-
-       * lib/extensions.py: the encodings dictionary is not available by
-       default but can be accessed from the psycopg.extensions module.
-
-       * psycopg/adapter_qstring.h: remove encoding information from
-       qstring adapter and moved it into psycopg module.
-
-2004-08-26  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/cursor_type.c (_psyco_curs_prefetch): added check for
-       asynchronous fetch by wrong cursor.
-
-       * psycopg/pqpath.c (pq_fetch): fixed backend status message (bug
-       reported by Daniele Varrazzo.)
-
-2004-07-29  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/typecast_basic.c (typecast_BINARY_cast): reverted to
-       using strings instead of buffers when converting postgresql binary
-       objects (should *temporarily* fix corruption bug reported on
-       win32.)
-
-2004-07-21  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/cursor_type.c: removed __iter__ and next methods from
-       object methods and moved them where they do belong (tp_iter and
-       tp_iternext.) Bug reported by Daniele Varrazzo (again!)
-
-2004-07-19  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/typecast_datetime.c (typecast_PYINTERVAL_cast): replaced
-       round() with micro() when rounding seconds (fixes bugs reported by
-       Daniele Varrazzo.)
-
-2004-07-16  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/pqpath.c (pq_set_critical): allow for a custom message
-       insted of the one from PQerrorMessage.
-       (pq_resolve_critical): added argument to specify if connection is
-       to be closed (used to not close it during COPY FROM/TO criticals.)
-
-       * psycopg/cursor_type.c (psyco_curs_fileno, psyco_curs_isready):
-       added extension methods related to async queries. 
-
-2004-07-15  Federico Di Gregorio  <fog@debian.org>
-
-       * Release 1.99.7.
-
-       * examples/tz.py: added example about time zones.
-
-       * psycopg/typecast_datetime.c (typecast_PYDATETIME_cast): create
-       FixedOffsetTimezone for postgresql "timestamp with time zone"
-       types.
-
-       * lib/tz.py: added (even more than) needed tzinfo classes.
-
-       * psycopg/typecast.c (typecast_call): changed typecast call code
-       to take the additional cursor parameter, needed for
-       cursor-dependent type casting (tzinfo & friends.)
-
-       * psycopg/cursor_type.c (_psyco_curs_buildrow_with_factory): added
-       use of tuple factories to fetcXXX methods.
-
-       * lib/extras.py: little extra goodies for psycopg.
-
-2004-07-14  Federico Di Gregorio  <fog@debian.org>
-
-       * Release 1.99.6. 
-       
-       * psycopg/connection_type.c: added .dsn attribute to connection
-       objects.
-
-       * psycopg/cursor_type.c (psyco_curs_mogrify): added .mogrify()
-       method.
-
-       * psycopg/adapter_qstring.c: copy the connection encoding only if
-       wrapped object is unicode and added table of encodings.
-
-2004-07-13  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/cursor_type.c (_mogrify): moved Dprintf statement to
-       avoid dereferencing empty pointer (from 1.1.x)
-       (psyco_curs_execute): now we save the query in self->query instead
-       of freeing the memory ASAP.
-       (cursorObject_members): and we finally export the saved query
-       through the cursor members interface. that's all folks.
-
-       * lib/extensions.py: added extensions module to clearly separate
-       psycopg own extensions from DBAPI-2.0
-
-2004-07-10  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/typecast_datetime.c: ported interval fix from 1.1.x.
-
-2004-05-16  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/typecast_datetime.c (typecast_*_cast): fixed Value error
-       when seconds > 59 by setting minutes += 1 and seconds -= 60
-       (reported by Marcel Gsteiger.) 
-
-2004-04-24  Federico Di Gregorio  <fog@debian.org>
-
-       * ported time interval patch by Ross Cohen from 1.1.12.
-
-2004-04-19  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/typecast_datetime.c (typecast_PYDATE_cast): applied
-       patch from Jason Erickson: min and max taken from datetime.Date
-       type.
-       
-2004-04-18  Federico Di Gregorio  <fog@debian.org>
-
-       * Applied changes from Jason Erickson to build on win32; see his
-       (slightly edited) entry below. (Still builds on Linux :)
-
-       * psycopg/*.c: removed inclusion of pthread.h from all files
-       except psycopg/config.h to build on win32 without faking the file.
-
-2004-04-15  Jason Erickson <jerickso@stickpeople.com>
-        * setup.py: Various changes. The critical ones: 
-         - Make an empty pthread.h file so all the code doing an 
-           #include <pthread.h> will find something.
-         - Appended the winsock2 library and the PostgreSQL library to 
-           the library path.
-         - Setup the include path.
-         - Have the PSYCOPG_VERSION macro be included with quotes.
-        * config.h: Added/Cleaned up Win32 includes, defines, stub functions.
-        * typecast.h: Removed ';' after PyObject_HEAD in the
-       typecastObject structure since Microsoft Visual Studio does not
-       like it.
-
-2004-04-15  Federico Di Gregorio  <fog@debian.org>
-
-       * Release 1.99.5 (bug-fixing and reorganization)
-
-       * setup.py et al.: moved psycopg to psycopg._psycopg to make
-       easier to provide high level python-only utilities (like the
-       promised pooling code). psycopg/__init__.py imports _psycopg and
-       make all the default DBAPI-2.0 stuff available. 
-
-2004-04-14  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/psycopgmodule.c (initpsycopg): wrapped initialization of
-       date/time adapters in #ifdefs to have psycopg compile without mx
-       or builtin datetime.
-
-2004-04-10  Federico Di Gregorio  <fog@debian.org>
-
-       * Release 1.99.4.
-
-2004-04-09  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/typecast_builtins.c: changed DATE to not include
-       DATETIME types anymore.
-
-       * psycopg/adapter_datetime.c (pydatetime_str): switched from
-       strftime to isoformat to preserve fractional seconds.
-
-2004-04-08  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/psycopgmodule.c (psyco_connect): ported sslmode
-       parameter from 1.1 branch.
-
-       * psycopg/adapter_datetime.*: added python built-in datetime
-       adapters. also added the datetime typecasters (still using mx as
-       default).
-
-       * psycopg/typecast.h: removed aliases, they now live in the right
-       typecast_xxx.c file.
-
-2004-03-08  Federico Di Gregorio  <fog@debian.org>
-
-       * Release 1.99.3 (alpha 4).
-
-       * examples/lastrowid.py: and the .lastrowid example is in. 
-
-       * psycopg/cursor_type.c (_mogrify): added call to .prepare()
-       method in both dict and sequence path.
-
-       * psycopg/connection_int.c (conn_set_client_encoding): added
-       encoding-change code.
-
-       * psycopg/adapter_qstring.c (qstring_quote): added hard-coded
-       support for utf8 and latin1 encodings.
-
-2004-03-01  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/connection_int.c (conn_close): does not use libpq
-       functions on NULL pgconn (this can happen when conn_close is
-       called after a failed PQconnect.)
-
-2004-02-29  Federico Di Gregorio  <fog@debian.org> 
-
-       * Release 1.99.2 (alpha 3).
-       
-       * psycopg/cursor_type.c: added .rownumber and .connection
-       attributes. Also added .scroll(), .next() and .__iter__() methods
-       (see DBAPI2-.0 extensions on PEP.)
-
-       * psycopg/connection_type.c (psyco_conn_set_isolation_level):
-       added connection method .set_isolation_level(). Also added all
-       error objects to the connection (see DBAPI2-.0 extensions on PEP.)
-
-       * psycopg/connection_int.c (conn_switch_isolation_level): added
-       isolation level switching code.
-
-       * setup.py: removed all references to PSYCOPG_NEWSTYLE: support
-       for python < 2.2 has been dropped.
-
-       * typecast_basic.c (typecast_BINARY_cast): now binary objects are
-       returned as true buffers.
-
-       * adapter_binary.*: added adapter for buffers and binary (bytea)
-       objects.
-
-       * Release 1.99.1 (alpha 2).
-
-       * adapter_mxdatetime.*: added adapters for all mx.DateTime types.
-
-2004-02-28  Federico Di Gregorio  <fog@debian.org>
-
-       * cursor_type.c (_mogrify): complete rework of the mogrification
-       code to use the microprotocols_adapt function.
-
-       * typecast_basic.c (typecast_BOOLEAN_cast): we now return real
-       Py_True and Py_False values.
-
-       * microprotocols.h: added very simple microprotocols
-       implementation to allow for python->postgresql types registry.
-
-2004-01-05  Federico Di Gregorio  <fog@debian.org>
-
-       * connection_int.c (conn_commit/conn_rollback): added code to
-       commit/rollback and connection methods. 
-
-2004-01-04  Federico Di Gregorio  <fog@debian.org>
-
-       * cursor_type.c (psyco_curs_fetchone): added fetchone method.
-
-2004-01-03  Federico Di Gregorio  <fog@debian.org>
-
-       * added (empty) INSTALL file.
-
-       * cursor_type.c (cursor_dealloc): added qattr for custom object
-       quoting using a callable attribute.
-       (_mogrify): ported new, fixed mogrification code from 1.1.12.
-
-2003-08-01  Federico Di Gregorio  <fog@debian.org>
-
-       * cursor_type.c (_mogrify_sequence): added sequence mogrification,
-       can be done better, on the dict model.
-
-2003-07-28  Federico Di Gregorio  <fog@debian.org>
-
-       * typeobj_qstring.c: added quoted strings (can use both own code,
-       like psycopg 1.x or PQescapeString from lipq.)
-
-2003-07-21  Federico Di Gregorio  <fog@debian.org>
-
-       * connection_type.c (psyco_conn_close): added .close()
-       method. wow.
-
-       * cursor_*.c: added basic cursor interface (new-style.)
-
-2003-07-20  Federico Di Gregorio  <fog@debian.org>
-
-       * psycopg/*: beginning of new source layout. if you think this
-       changelog is somewhat empty, you're right. look at
-       doc/ChangeLog-1.x for psycopg 1.x changelog just before the
-       branch.
-
-