--- /dev/null
+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.
+
+