Tags: dsilakov/psycopg2
Tags
Psycopg 2.6.1 released - Lists consisting of only `None` are escaped correctly (:ticket:`psycopg#285`). - Fixed deadlock in multithread programs using OpenSSL (:ticket:`psycopg#290`). - Correctly unlock the connection after error in flush (:ticket:`psycopg#294`). - Fixed ``MinTimeLoggingCursor.callproc()`` (:ticket:`psycopg#309`).
Psycopg 2.6 is now New features: - Added support for large objects larger than 2GB. Many thanks to Blake Rouse and the MAAS Team for the feature development. - Python `time` objects with a tzinfo specified and PostgreSQL :sql:`timetz` data are converted into each other (🎫`psycopg#272`). Bug fixes: - Json apapter's `!str()` returns the adapted content instead of the `!repr()` (:ticket:`psycopg#191`).
Psycopg 2.5.5 released - Named cursors used as context manager don't swallow the exception on exit (:ticket:`psycopg#262`). - `cursor.description` can be pickled (:ticket:`psycopg#265`). - Propagate read error messages in COPY FROM (:ticket:`psycopg#270`). - PostgreSQL time 24:00 is converted to Python 00:00 (:ticket:`psycopg#278`).
Psycopg 2.5.4 released - Added :sql:`jsonb` support for PostgreSQL 9.4 (🎫`psycopg#226`). - Fixed segfault if COPY statements are passed to `~cursor.execute()` instead of using the proper methods (:ticket:`psycopg#219`). - Force conversion of pool arguments to integer to avoid potentially unbounded pools (:ticket:`psycopg#220`). - Cursors :sql:`WITH HOLD` don't begin a new transaction upon move/fetch/close (🎫`psycopg#228`). - Cursors :sql:`WITH HOLD` can be used in autocommit (🎫`psycopg#229`). - `~cursor.callproc()` doesn't silently ignore an argument without a length. - Fixed memory leak with large objects (:ticket:`psycopg#256`). - Make sure the internal ``_psycopg.so`` module can be imported stand-alone (to allow modules juggling such as the one described in 🎫`psycopg#201`).
Psycopg 2.5.3 released - Work around `pip issue psycopg#1630 <https://github.com/pypa/pip/issues/1630>`__ making installation via ``pip -e git+url`` impossible (:ticket:`#18`). - Copy operations correctly set the `cursor.rowcount` attribute (:ticket:`psycopg#180`). - It is now possible to call `get_transaction_status()` on closed connections. - Fixed unsafe access to object names causing assertion failures in Python 3 debug builds (:ticket:`psycopg#188`). - Mark the connection closed if found broken on `poll()` (from 🎫`psycopg#192` discussion) - Fixed handling of dsn and closed attributes in connection subclasses failing to connect (from 🎫`psycopg#192` discussion). - Added arbitrary but stable order to `Range` objects, thanks to Chris Withers (:ticket:`psycopg#193`). - Avoid blocking async connections on connect (:ticket:`psycopg#194`). Thanks to Adam Petrovich for the bug report and diagnosis. - Don't segfault using poorly defined cursor subclasses which forgot to call the superclass init (:ticket:`psycopg#195`). - Mark the connection closed when a Socket connection is broken, as it happens for TCP connections instead (:ticket:`psycopg#196`). - Fixed overflow opening a lobject with an oid not fitting in a signed int (:ticket:`psycopg#203`). - Fixed handling of explicit default ``cursor_factory=None`` in `connection.cursor()` (:ticket:`psycopg#210`). - Fixed possible segfault in named cursors creation. - Fixed debug build on Windows, thanks to James Emerton.
Psycopg 2.5.2 released - Fixed segfault pickling the exception raised on connection error ticket psycopg#170. - Meaningful connection errors report a meaningful message, thanks to Alexey Borzenkov (ticket psycopg#173). - Manually creating 'lobject' with the wrong parameter doesn't segfault (ticket psycopg#187).
Psycopg 2.5.1 released - Fixed build on Solaris 10 and 11 where the round() function is already declared (ticket psycopg#146). - Fixed comparison of 'Range' with non-range objects (ticket psycopg#164). Thanks to Chris Withers for the patch. - Fixed double-free on connection dealloc (ticket psycopg#166). Thanks to Gangadharan S.A. for the report and fix suggestion.
Psycopg 2.5 released New features: - Added JSON adaptation. - Added support for PostgreSQL 9.2 range types . - 'connection' and 'cursor' objects can be used in "with" statements as context managers as specified by a recent DBAPI extension. - Added 'Diagnostics' object to get extended info from a database error. Many thanks to Matthew Woodcraft for the implementation (ticket psycopg#149). - Added 'connection.cursor_factory' attribute to customize the default object returned by 'cursor()'. - Added support for backward scrollable cursors. Thanks to Jon Nelson for the initial patch (ticket psycopg#108). - Added a simple way to customize casting of composite types into Python objects other than namedtuples. Many thanks to Ronan Dunklau and Tobias Oberstein for the feature development. - 'connection.reset()' implemented using 'DISCARD ALL' on server versions supporting it. Bug fixes: - Properly cleanup memory of broken connections (ticket psycopg#148). - Fixed bad interaction of 'setup.py' with other dependencies in Distribute projects on Python 3 (ticket psycopg#153). Other changes: - Added support for Python 3.3. - Dropped support for Python 2.4. Please use Psycopg 2.4.x if you need it. - 'errorcodes' map updated to PostgreSQL 9.2. - Dropped Zope adapter from source repository. ZPsycopgDA now has its own project at <http://github.com/psycopg/ZPsycopgDA>.
Release 2.4.6 - Fixed 'cursor()' arguments propagation in connection subclasses and overriding of the 'cursor_factory' argument. Thanks to Corry Haines for the report and the initial patch (ticket psycopg#105). - Dropped GIL release during string adaptation around a function call invoking a Python API function, which could cause interpreter crash. Thanks to Manu Cupcic for the report (ticket psycopg#110). - Close a green connection if there is an error in the callback. Maybe a harsh solution but it leaves the program responsive (ticket psycopg#113). - 'register_hstore()', 'register_composite()', 'tpc_recover()' work with RealDictConnection and Cursor (ticket psycopg#114). - Fixed broken pool for Zope and connections re-init across ZSQL methods in the same request (tickets psycopg#123, psycopg#125, psycopg#142). - connect() raises an exception instead of swallowing keyword arguments when a connection string is specified as well (ticket psycopg#131). - Discard any result produced by 'executemany()' (ticket psycopg#133). - Fixed pickling of FixedOffsetTimezone objects (ticket psycopg#135). - Release the GIL around PQgetResult calls after COPY (ticket psycopg#140). - Fixed empty strings handling in composite caster (ticket psycopg#141). - Fixed pickling of DictRow and RealDictRow objects.
Release 2.4.5 - The close() methods on connections and cursors don't raise exceptions if called on already closed objects. - Fixed fetchmany() with no argument in cursor subclasses (ticket psycopg#84). - Use lo_creat() instead of lo_create() when possible for better interaction with pgpool-II (ticket psycopg#88). - Error and its subclasses are picklable, useful for multiprocessing interaction (ticket psycopg#90). - Better efficiency and formatting of timezone offset objects thanks to Menno Smits (tickets psycopg#94, psycopg#95). - Fixed 'rownumber' during iteration on cursor subclasses. Regression introduced in 2.4.4 (ticket psycopg#100). - Added support for 'inet' arrays. - Fixed 'commit()' concurrency problem (ticket psycopg#103). - Codebase cleaned up using the GCC Python plugin's static analysis tool, which has revealed several unchecked return values, possible NULL dereferences, reference counting problems. Many thanks to David Malcolm for the useful tool and the assistance provided using it.
PreviousNext