mirror of
				https://github.com/psycopg/psycopg2.git
				synced 2025-11-01 00:07:36 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			394 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			394 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| What's new in psycopg 2.0.6
 | ||
| ---------------------------
 | ||
| 
 | ||
| * Full support for PostgreSQL 8.2, including NULLs in arrays.
 | ||
| 
 | ||
| * Full support for Python 2.5 and 64 bit architectures.
 | ||
| 
 | ||
| * Support for almost all PostgreSQL encodings.
 | ||
| 
 | ||
| * Better management of times and dates both from Python and in Zope.
 | ||
| 
 | ||
| * Support for per-connection type-casters (used by ZPsycopgDA too, this
 | ||
|   fixes a long standing bug that made different connections use a random
 | ||
|   set of date/time type-casters instead of the configured one.)
 | ||
| 
 | ||
| * We now have a full list of PostgreSQL error codes available by
 | ||
|   importing the psycopg2.errorcodes module.
 | ||
| 
 | ||
| * Better build support on win32 platform.
 | ||
| 
 | ||
| * Fixed some small buglets and build glitches:
 | ||
|   - removed double mutex destroy
 | ||
|   - removed all non-constant initializers
 | ||
|   - fixed PyObject_HEAD declarations to avoid memory corruption
 | ||
|     on 64 bit architectures
 | ||
|   - fixed several Python API calls to work on 64 bit architectures
 | ||
|   - applied compatibility macros from PEP 353
 | ||
|   - now using more than one argument format raise an error instead of
 | ||
|     a segfault
 | ||
| 
 | ||
| What's new in psycopg 2.0.5.1
 | ||
| ----------------------------
 | ||
| 
 | ||
| * Now it really, really builds on MSVC and older gcc versions.
 | ||
| 
 | ||
| What's new in psycopg 2.0.5
 | ||
| --------------------------
 | ||
| 
 | ||
| * Fixed various buglets such as:
 | ||
|   - segfault when passing an empty string to Binary()
 | ||
|   - segfault on null queries
 | ||
|   - segfault and bad keyword naming in .executemany()
 | ||
|   - OperationalError in connection objects was always None
 | ||
| 
 | ||
| * Various changes to ZPsycopgDA to make it more zope2.9-ish.
 | ||
| 
 | ||
| * connect() now accept both integers and strings as port parameter
 | ||
| 
 | ||
| What's new in psycopg 2.0.4
 | ||
| ---------------------------
 | ||
| 
 | ||
| * Fixed float conversion bug introduced in 2.0.3.
 | ||
| 
 | ||
| What's new in psycopg 2.0.3
 | ||
| ---------------------------
 | ||
| 
 | ||
| * Fixed various buglets and a memory leak (see ChangeLog for details)
 | ||
| 
 | ||
| What's new in psycopg 2.0.2
 | ||
| ---------------------------
 | ||
| 
 | ||
| * Fixed a bug in array typecasting that sometimes made psycopg forget about
 | ||
|   the last element in the array.
 | ||
| 
 | ||
| * Fixed some minor buglets in string memory allocations.
 | ||
| 
 | ||
| * Builds again with compilers different from gcc (#warning about PostgreSQL
 | ||
|   version is issued only if __GCC__ is defined.)
 | ||
| 
 | ||
| What's new in psycopg 2.0.1
 | ||
| ---------------------------
 | ||
| 
 | ||
| * ZPsycopgDA now actually loads.
 | ||
| 
 | ||
| What's new in psycopg 2.0
 | ||
| -------------------------
 | ||
| 
 | ||
| * Fixed handle leak on win32.
 | ||
| 
 | ||
| * If available the new "safe" encoding functions of libpq are used.
 | ||
| 
 | ||
| * django and tinyerp people, please switch to psycopg 2 _without_
 | ||
|   using a psycopg 1 compatibility layer (this release was anticipated
 | ||
|   so that you all stop grumbling about psycopg 2 is still in beta.. :)
 | ||
| 
 | ||
| What's new in psycopg 2.0 beta 7
 | ||
| --------------------------------
 | ||
| 
 | ||
| * Ironed out last problems with times and date (should be quite solid now.)
 | ||
| 
 | ||
| * Fixed problems with some arrays.
 | ||
| 
 | ||
| * Slightly better ZPsycopgDA (no more double connection objects in the menu
 | ||
|   and other minor fixes.)
 | ||
|   
 | ||
| * ProgrammingError exceptions now have three extra attributes: .cursor
 | ||
|   (it is possible to access the query that caused the exception using
 | ||
|   error.cursor.query), .pgerror and .pgcode (PostgreSQL original error
 | ||
|   text and code.)
 | ||
|   
 | ||
| * The build system uses pg_config when available.
 | ||
|    
 | ||
| * Documentation in the doc/ directory! (With many kudos to piro.)
 | ||
| 
 | ||
| What's new in psycopg 2.0 beta 6
 | ||
| --------------------------------
 | ||
| 
 | ||
| * Support for named cursors (see examples/fetch.py).
 | ||
| 
 | ||
| * Safer parsing of time intervals.
 | ||
| 
 | ||
| * Better parsing of times and dates, no more locale problems.
 | ||
| 
 | ||
| * Should now play well with py2exe and similar tools.
 | ||
| 
 | ||
| * The "decimal" module is now used if available under Python 2.3.
 | ||
| 
 | ||
| What's new in psycopg 2.0 beta 5
 | ||
| --------------------------------
 | ||
| 
 | ||
| * Fixed all known bugs.
 | ||
| 
 | ||
| * The initial isolation level is now read from the server and
 | ||
|   .set_isolation_level() now takes values defined in psycopg2.extensions.
 | ||
|   
 | ||
| * .callproc() implemented as a SELECT of the given procedure.
 | ||
| 
 | ||
| * Better docstrings for a few functions/methods.
 | ||
| 
 | ||
| * Some time-related functions like psycopg2.TimeFromTicks() now take the
 | ||
|   local timezone into account. Also a tzinfo object (as per datetime module
 | ||
|   specifications) can be passed to the psycopg2.Time and psycopg2.Datetime
 | ||
|   constructors.
 | ||
|   
 | ||
| * All classes have been renamed to exist in the psycopg2._psycopg module,
 | ||
|   to fix problems with automatic documentation generators like epydoc.
 | ||
|   
 | ||
| * NOTIFY is correctly trapped (see examples/notify.py for example code.)
 | ||
| 
 | ||
| What's new in psycopg 2.0 beta 4
 | ||
| --------------------------------
 | ||
| 
 | ||
| * psycopg module is now named psycopg2.
 | ||
| 
 | ||
| * No more segfaults when a UNICODE query can't be converted to the
 | ||
|   backend encoding.
 | ||
|   
 | ||
| * No more segfaults on empty queries.
 | ||
| 
 | ||
| * psycopg2.connect() now takes an integer for the port keyword parameter.
 | ||
| 
 | ||
| * "python setup.py bdist_rpm" now works.
 | ||
| 
 | ||
| * Fixed lots of small bugs, see ChangeLog for details.
 | ||
| 
 | ||
| What's new in psycopg 2.0 beta 3
 | ||
| --------------------------------
 | ||
| 
 | ||
| * ZPsycopgDA now works (except table browsing.)
 | ||
| 
 | ||
| * psycopg build again on Python 2.2.
 | ||
| 
 | ||
| What's new in psycopg 2.0 beta 2
 | ||
| --------------------------------
 | ||
| 
 | ||
| * Fixed ZPsycopgDA version check (ZPsycopgDA can now be imported in
 | ||
|   Zope.)
 | ||
| 
 | ||
| * psycopg.extras.DictRow works even after a new query on the generating
 | ||
|   cursor.
 | ||
| 
 | ||
| * Better setup.py for win32 (should build with MSCV or mingw.)
 | ||
| 
 | ||
| * Generic fixed and memory leaks plugs.
 | ||
| 
 | ||
| What's new in psycopg 2.0 beta 1
 | ||
| --------------------------------
 | ||
| 
 | ||
| * Officially in beta (i.e., no new features will be added.)
 | ||
| 
 | ||
| * Array support: list objects can be passed as bound variables and are
 | ||
|   correctly returned for array columns.
 | ||
| 
 | ||
| * Added the psycopg.psycopg1 compatibility module (if you want instant
 | ||
|   psycopg 1 compatibility just "from psycopg import psycopg1 as psycopg".)
 | ||
| 
 | ||
| * Complete support for BYTEA columns and buffer objects.
 | ||
| 
 | ||
| * Added error codes to error messages.
 | ||
| 
 | ||
| * The AsIs adapter is now exported by default (also Decimal objects are
 | ||
|   adapted using the AsIs adapter (when str() is called on them they
 | ||
|   already format themselves using the right precision and scale.)
 | ||
| 
 | ||
| * The connect() function now takes "connection_factory" instead of
 | ||
|   "factory" as keyword argument.
 | ||
| 
 | ||
| * New setup.py code to build on win32 using mingw and better error
 | ||
|   messages on missing datetime headers,
 | ||
| 
 | ||
| * Internal changes that allow much better user-defined type casters.
 | ||
| 
 | ||
| * A lot of bugfixes (binary, datetime, 64 bit arches, GIL, .executemany())
 | ||
|  
 | ||
| What's new in psycopg 1.99.13
 | ||
| -----------------------------
 | ||
| 
 | ||
| * Added missing .executemany() method.
 | ||
| 
 | ||
| * Optimized type cast from PostgreSQL to Python (psycopg should be even
 | ||
|   faster than before.)
 | ||
| 
 | ||
| What's new in psycopg 1.99.12
 | ||
| -----------------------------
 | ||
| 
 | ||
| * .rowcount should be ok and in sync with psycopg 1.
 | ||
| 
 | ||
| * Implemented the new COPY FROM/COPY TO code when connection to the
 | ||
|   backend using libpq protocol 3 (this also removes all asprintf calls:
 | ||
|   build on win32 works again.) A protocol 3-enabled psycopg *can*
 | ||
|   connect to an old protocol 2 database and will detect it and use the
 | ||
|   right code.
 | ||
| 
 | ||
| * getquoted() called for real by the mogrification code.
 | ||
| 
 | ||
| What's new in psycopg 1.99.11
 | ||
| -----------------------------
 | ||
| 
 | ||
| * 'cursor' argument in .cursor() connection method renamed to 
 | ||
|   'cursor_factory'.
 | ||
| 
 | ||
| * changed 'tuple_factory' cursor attribute name to 'row_factory'.
 | ||
| 
 | ||
| * the .cursor attribute is gone and connections and cursors are propely
 | ||
|   gc-managed.
 | ||
| 
 | ||
| * fixes to the async core.
 | ||
| 
 | ||
| What's new in psycopg 1.99.10
 | ||
| -----------------------------
 | ||
| 
 | ||
| * The adapt() function now fully supports the adaptation protocol
 | ||
|   described in PEP 246. Note that the adapters registry now is indexed
 | ||
|   by (type, protocol) and not by type alone. Change your adapters
 | ||
|   accordingly.
 | ||
| 
 | ||
| * More configuration options moved from setup.py to setup.cfg.
 | ||
| 
 | ||
| * Fixed two memory leaks: one in cursor deallocation and one in row
 | ||
|   fetching (.fetchXXX() methods.)
 | ||
| 
 | ||
| What's new in psycopg 1.99.9
 | ||
| ----------------------------
 | ||
| 
 | ||
| * Added simple pooling code (psycopg.pool module); see the reworked
 | ||
|   examples/threads.py for example code.
 | ||
| 
 | ||
| * Added DECIMAL typecaster to convert postgresql DECIMAL and NUMERIC
 | ||
|   types (i.e, all types with an OID of NUMERICOID.) Note that the
 | ||
|   DECIMAL typecaster does not set scale and precision on the created
 | ||
|   objects but uses Python defaults.
 | ||
| 
 | ||
| * ZPsycopgDA back in and working using the new pooling code.
 | ||
| 
 | ||
| * Isn't that enough? :)
 | ||
| 
 | ||
| What's new in psycopg 1.99.8
 | ||
| ----------------------------
 | ||
| 
 | ||
| * added support for UNICODE queries.
 | ||
| 
 | ||
| * added UNICODE typecaster; to activate it just do:
 | ||
|     
 | ||
|     psycopg.extensions.register_type(psycopg.extensions.UNICODE)
 | ||
|   
 | ||
|   Note that the UNICODE typecaster override the STRING one, so it is
 | ||
|   not activated by default.
 | ||
| 
 | ||
| * cursors now really support the iterator protocol.
 | ||
| 
 | ||
| * solved the rounding errors in time conversions.
 | ||
| 
 | ||
| * now cursors support .fileno() and .isready() methods, to be used in
 | ||
|   select() calls.
 | ||
| 
 | ||
| * .copy_from() and .copy_in() methods are back in (still using the old
 | ||
|   protocol, will be updated to use new one in next releasae.)
 | ||
| 
 | ||
| * fixed memory corruption bug reported on win32 platform.
 | ||
| 
 | ||
| What's new in psycopg 1.99.7
 | ||
| ----------------------------
 | ||
| 
 | ||
| * added support for tuple factories in cursor objects (removed factory
 | ||
|   argument in favor of a .tuple_factory attribute on the cursor object);
 | ||
|   see the new module psycopg.extras for a cursor (DictCursor) that
 | ||
|   return rows as objects that support indexing both by position and
 | ||
|   column name.
 | ||
| 
 | ||
| * added support for tzinfo objects in datetime.timestamp objects: the
 | ||
|   PostgreSQL type "timestamp with time zone" is converted to 
 | ||
|   datetime.timestamp with a FixedOffsetTimezone initialized as necessary.
 | ||
| 
 | ||
| What's new in psycopg 1.99.6
 | ||
| ----------------------------
 | ||
| 
 | ||
| * sslmode parameter from 1.1.x
 | ||
| 
 | ||
| * various datetime conversion improvements.
 | ||
| 
 | ||
| * now psycopg should compile without mx or without native datetime
 | ||
|   (not both, obviously.)
 | ||
| 
 | ||
| * included various win32/MSVC fixes (pthread.h changes, winsock2
 | ||
|   library, include path in setup.py, etc.)
 | ||
| 
 | ||
| * ported interval fixes from 1.1.14/1.1.15.
 | ||
| 
 | ||
| * the last query executed by a cursor is now available in the
 | ||
|   .query attribute.
 | ||
| 
 | ||
| * conversion of unicode strings to backend encoding now uses a table
 | ||
|   (that still need to be filled.)
 | ||
| 
 | ||
| * cursors now have a .mogrify() method that return the query string
 | ||
|   instead of executing it.
 | ||
| 
 | ||
| * connection objects now have a .dsn read-only attribute that holds the
 | ||
|   connection string.
 | ||
| 
 | ||
| * moved psycopg C module to _psycopg and made psycopg a python module:
 | ||
|   this allows for a neat separation of DBAPI-2.0 functionality and psycopg
 | ||
|   extensions; the psycopg namespace will be also used to provide
 | ||
|   python-only extensions (like the pooling code, some ZPsycopgDA support
 | ||
|   functions and the like.)
 | ||
| 
 | ||
| What's new in psycopg 1.99.3
 | ||
| ----------------------------
 | ||
| 
 | ||
| * added support for python 2.3 datetime types (both ways) and made datetime
 | ||
|   the default set of typecasters when available.
 | ||
| 
 | ||
| * added example: dt.py.
 | ||
| 
 | ||
| What's new in psycopg 1.99.3
 | ||
| ----------------------------
 | ||
| 
 | ||
| * initial working support for unicode bound variables: UTF-8 and latin-1
 | ||
|   backend encodings are natively supported (and the encoding.py example even
 | ||
|   works!)
 | ||
| 
 | ||
| * added .set_client_encoding() method on the connection object.
 | ||
| 
 | ||
| * added examples: encoding.py, binary.py, lastrowid.py.
 | ||
| 
 | ||
| What's new in psycopg 1.99.2
 | ||
| ----------------------------
 | ||
| 
 | ||
| * better typecasting:
 | ||
|   - DateTimeDelta used for postgresql TIME (merge from 1.1)
 | ||
|   - BYTEA now is converted to a real buffer object, not to a string
 | ||
| 
 | ||
| * buffer objects are now adapted into Binary objects automatically.
 | ||
| 
 | ||
| * ported scroll method from 1.1 (DBAPI-2.0 extension for cursors)
 | ||
| 
 | ||
| * initial support for some DBAPI-2.0 extensions:
 | ||
|   - .rownumber attribute for cursors
 | ||
|   - .connection attribute for cursors
 | ||
|   - .next() and .__iter__() methods to have cursors support the iterator
 | ||
|     protocol
 | ||
|   - all exception objects are exported to the connection object
 | ||
| 
 | ||
| What's new in psycopg 1.99.1
 | ||
| ----------------------------
 | ||
| 
 | ||
| * implemented microprotocols to adapt arbitrary types to the interface used by
 | ||
|   psycopg to bind variables in execute;
 | ||
| 
 | ||
| * moved qstring, pboolean and mxdatetime to the new adapter layout (binary is
 | ||
|   still missing; python 2.3 datetime needs to be written).
 | ||
| 
 | ||
| 
 | ||
| What's new in psycopg 1.99.0
 | ||
| ----------------------------
 | ||
| 
 | ||
| * reorganized the whole source tree;
 | ||
| 
 | ||
| * async core is in place;
 | ||
| 
 | ||
| * splitted QuotedString objects from mx stuff;
 | ||
| 
 | ||
| * dropped autotools and moved to pythonic setup.py (needs work.)
 |