Psycopg2

Latest version: v2.9.9

Safety actively analyzes 630169 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 14

2.6.1

^^^^^^^^^^^^^^^^^^^^^^^^^^^

- Lists consisting of only `None` are escaped correctly (:ticket:`285`).
- Fixed deadlock in multithread programs using OpenSSL (:ticket:`290`).
- Correctly unlock the connection after error in flush (:ticket:`294`).
- Fixed `!MinTimeLoggingCursor.callproc()` (:ticket:`309`).
- Added support for MSVC 2015 compiler (:ticket:`350`).

2.6

-------------------------

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 (:ticket:`272`).

Bug fixes:

- Json adapter's `!str()` returns the adapted content instead of the `!repr()`
(:ticket:`191`).

2.5.5

^^^^^^^^^^^^^^^^^^^^^^^^^^^

- Named cursors used as context manager don't swallow the exception on exit
(:ticket:`262`).
- `cursor.description` can be pickled (:ticket:`265`).
- Propagate read error messages in COPY FROM (:ticket:`270`).
- PostgreSQL time 24:00 is converted to Python 00:00 (:ticket:`278`).

2.5.4

^^^^^^^^^^^^^^^^^^^^^^^^^^^

- Added :sql:`jsonb` support for PostgreSQL 9.4 (:ticket:`226`).
- Fixed segfault if COPY statements are passed to `~cursor.execute()` instead
of using the proper methods (:ticket:`219`).
- Force conversion of pool arguments to integer to avoid potentially unbounded
pools (:ticket:`220`).
- Cursors :sql:`WITH HOLD` don't begin a new transaction upon move/fetch/close
(:ticket:`228`).
- Cursors :sql:`WITH HOLD` can be used in autocommit (:ticket:`229`).
- `~cursor.callproc()` doesn't silently ignore an argument without a length.
- Fixed memory leak with large objects (:ticket:`256`).
- Make sure the internal ``_psycopg.so`` module can be imported stand-alone (to
allow modules juggling such as the one described in :ticket:`201`).

2.5.3

^^^^^^^^^^^^^^^^^^^^^^^^^^^

- Work around `pip issue 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:`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:`188`).
- Mark the connection closed if found broken on `poll()` (from :ticket:`192`
discussion)
- Fixed handling of dsn and closed attributes in connection subclasses
failing to connect (from :ticket:`192` discussion).
- Added arbitrary but stable order to `Range` objects, thanks to
Chris Withers (:ticket:`193`).
- Avoid blocking async connections on connect (:ticket:`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:`195`).
- Mark the connection closed when a Socket connection is broken, as it
happens for TCP connections instead (:ticket:`196`).
- Fixed overflow opening a lobject with an oid not fitting in a signed int
(:ticket:`203`).
- Fixed handling of explicit default ``cursor_factory=None`` in
`connection.cursor()` (:ticket:`210`).
- Fixed possible segfault in named cursors creation.
- Fixed debug build on Windows, thanks to James Emerton.

2.5.2

^^^^^^^^^^^^^^^^^^^^^^^^^^^

- Fixed segfault pickling the exception raised on connection error
(:ticket:`170`).
- Meaningful connection errors report a meaningful message, thanks to
Alexey Borzenkov (:ticket:`173`).
- Manually creating `lobject` with the wrong parameter doesn't segfault
(:ticket:`187`).

Page 6 of 14

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.