Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-psycopg2 for openSUSE:Factory
checked in at 2026-10-20 12:40:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-psycopg2 (Old)
and /work/SRC/openSUSE:Factory/.python-psycopg2.new.3698736 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-psycopg2"
Tue Oct 20 12:40:14 2026 rev:52 rq:1386236 version:2.9.13
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-psycopg2/python-psycopg2.changes
2026-09-29 17:51:40.257945352 +0200
+++
/work/SRC/openSUSE:Factory/.python-psycopg2.new.3698736/python-psycopg2.changes
2026-10-20 12:41:40.866923816 +0200
@@ -1,0 +2,9 @@
+Sat Oct 17 15:36:50 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to 2.9.13:
+ * Add support for Python 3.15, drop support for Python 3.9
+ * Fix parsing of malformed bytea input and of malformed int64
+ input in arrays
+ * Add pyproject.toml declaring the PEP 517 build backend
+
+-------------------------------------------------------------------
Old:
----
psycopg2-2.9.12.tar.gz
New:
----
psycopg2-2.9.13.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-psycopg2.spec ++++++
--- /var/tmp/diff_new_pack.sZyK7H/_old 2026-10-20 12:41:41.616955207 +0200
+++ /var/tmp/diff_new_pack.sZyK7H/_new 2026-10-20 12:41:41.617955248 +0200
@@ -18,15 +18,15 @@
%{?sle15_python_module_pythons}
Name: python-psycopg2
-Version: 2.9.12
+Version: 2.9.13
Release: 0
Summary: Python-PostgreSQL Database Adapter
License: LGPL-3.0-or-later AND (LGPL-3.0-or-later OR ZPL-2.0) AND
LicenseRef-SUSE-GPL-2.0-with-openssl-exception
URL: https://www.psycopg.org/
Source:
https://files.pythonhosted.org/packages/source/p/psycopg2/psycopg2-%{version}.tar.gz
-BuildRequires: %{python_module devel >= 3.9}
+BuildRequires: %{python_module devel >= 3.10}
BuildRequires: %{python_module pip}
-BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module setuptools >= 70.1}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
++++++ psycopg2-2.9.12.tar.gz -> psycopg2-2.9.13.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.12/MANIFEST.in
new/psycopg2-2.9.13/MANIFEST.in
--- old/psycopg2-2.9.12/MANIFEST.in 2026-04-21 00:40:56.000000000 +0200
+++ new/psycopg2-2.9.13/MANIFEST.in 2026-09-10 00:45:22.000000000 +0200
@@ -6,4 +6,4 @@
recursive-include doc/src *.rst *.py *.css Makefile
recursive-include scripts *.py *.sh
include AUTHORS README.rst INSTALL LICENSE NEWS
-include MANIFEST.in setup.py setup.cfg Makefile
+include MANIFEST.in pyproject.toml setup.py setup.cfg Makefile
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.12/NEWS new/psycopg2-2.9.13/NEWS
--- old/psycopg2-2.9.12/NEWS 2026-04-21 00:40:56.000000000 +0200
+++ new/psycopg2-2.9.13/NEWS 2026-09-10 00:45:22.000000000 +0200
@@ -1,6 +1,17 @@
Current release
---------------
+What's new in psycopg 2.9.13
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+- Add support for Python 3.15 (:ticket:`#1848`).
+- Fix parsing of malformed bytea input.
+- Fix parsing of malformed int64 input in arrays (:ticket:`#1847`).
+- Add a ``pyproject.toml`` file to declare a PEP 517 build backend
+ (:ticket:`#1788`).
+- Drop support for Python 3.9.
+
+
What's new in psycopg 2.9.12
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.12/PKG-INFO new/psycopg2-2.9.13/PKG-INFO
--- old/psycopg2-2.9.12/PKG-INFO 2026-04-21 00:40:56.593032000 +0200
+++ new/psycopg2-2.9.13/PKG-INFO 2026-09-10 00:45:24.139271000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: psycopg2
-Version: 2.9.12
+Version: 2.9.13
Summary: psycopg2 - Python-PostgreSQL Database Adapter
Home-page: https://psycopg.org/
Author: Federico Di Gregorio
@@ -20,12 +20,12 @@
Classifier: License :: OSI Approved :: GNU Library or Lesser General Public
License (LGPL)
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
+Classifier: Programming Language :: Python :: 3.15
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: C
@@ -36,7 +36,7 @@
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: Unix
-Requires-Python: >=3.9
+Requires-Python: >= 3.10
License-File: LICENSE
Psycopg is the most popular PostgreSQL database adapter for the Python
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.12/doc/src/errors.rst
new/psycopg2-2.9.13/doc/src/errors.rst
--- old/psycopg2-2.9.12/doc/src/errors.rst 2026-04-21 00:40:56.000000000
+0200
+++ new/psycopg2-2.9.13/doc/src/errors.rst 2026-09-10 00:45:22.000000000
+0200
@@ -20,6 +20,8 @@
.. versionchanged:: 2.9.10 added errors introduced in PostgreSQL 17
+.. versionchanged:: 2.9.11 added errors introduced in PostgreSQL 18
+
This module exposes the classes psycopg raises upon receiving an error from
the database with a :sql:`SQLSTATE` value attached (available in the
`~psycopg2.Error.pgcode` attribute). The content of the module is generated
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.12/doc/src/install.rst
new/psycopg2-2.9.13/doc/src/install.rst
--- old/psycopg2-2.9.12/doc/src/install.rst 2026-04-21 00:40:56.000000000
+0200
+++ new/psycopg2-2.9.13/doc/src/install.rst 2026-09-10 00:45:22.000000000
+0200
@@ -131,7 +131,7 @@
..
NOTE: keep consistent with setup.py and the /features/ page.
-- Python versions from 3.9 to 3.14
+- Python versions from 3.10 to 3.15
- PostgreSQL server versions from 7.4 to 18
- PostgreSQL client library version from 9.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.12/psycopg/python.h
new/psycopg2-2.9.13/psycopg/python.h
--- old/psycopg2-2.9.12/psycopg/python.h 2026-04-21 00:40:56.000000000
+0200
+++ new/psycopg2-2.9.13/psycopg/python.h 2026-09-10 00:45:22.000000000
+0200
@@ -27,20 +27,12 @@
#ifndef PSYCOPG_PYTHON_H
#define PSYCOPG_PYTHON_H 1
-#if PY_VERSION_HEX < 0x03090000
-#error "psycopg requires Python 3.9"
+#if PY_VERSION_HEX < 0x030A0000
+#error "psycopg requires Python 3.10"
#endif
#include <structmember.h>
-/* Since Py_TYPE() is changed to the inline static function,
- * Py_TYPE(obj) = new_type must be replaced with Py_SET_TYPE(obj, new_type)
- * https://docs.python.org/3.10/whatsnew/3.10.html#id2
- */
-#if PY_VERSION_HEX < 0x030900A4
- #define Py_SET_TYPE(obj, type) ((Py_TYPE(obj) = (type)), (void)0)
-#endif
-
/* FORMAT_CODE_PY_SSIZE_T is for Py_ssize_t: */
#define FORMAT_CODE_PY_SSIZE_T "%" PY_FORMAT_SIZE_T "d"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.12/psycopg/sqlstate_errors.h
new/psycopg2-2.9.13/psycopg/sqlstate_errors.h
--- old/psycopg2-2.9.12/psycopg/sqlstate_errors.h 2026-04-21
00:40:56.000000000 +0200
+++ new/psycopg2-2.9.13/psycopg/sqlstate_errors.h 2026-09-10
00:45:22.000000000 +0200
@@ -43,6 +43,9 @@
{"0Z000", "DiagnosticsException"},
{"0Z002", "StackedDiagnosticsAccessedWithoutActiveHandler"},
+/* Class 10 - XQuery Error */
+{"10608", "InvalidArgumentForXquery"},
+
/* Class 20 - Case Not Found */
{"20000", "CaseNotFound"},
@@ -288,6 +291,7 @@
{"58030", "IoError"},
{"58P01", "UndefinedFile"},
{"58P02", "DuplicateFile"},
+{"58P03", "FileNameTooLong"},
/* Class 72 - Snapshot Failure */
{"72000", "SnapshotTooOld"},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.12/psycopg/typecast_basic.c
new/psycopg2-2.9.13/psycopg/typecast_basic.c
--- old/psycopg2-2.9.12/psycopg/typecast_basic.c 2026-04-21
00:40:56.000000000 +0200
+++ new/psycopg2-2.9.13/psycopg/typecast_basic.c 2026-09-10
00:45:22.000000000 +0200
@@ -36,6 +36,11 @@
char buffer[24];
if (s == NULL) { Py_RETURN_NONE; }
+ if (len >= 24) {
+ PyErr_SetString(DataError, "int64 representation too long");
+ return NULL;
+ }
+
if (s[len] != '\0') {
strncpy(buffer, s, (size_t) len); buffer[len] = '\0';
s = buffer;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.12/psycopg/typecast_binary.c
new/psycopg2-2.9.13/psycopg/typecast_binary.c
--- old/psycopg2-2.9.12/psycopg/typecast_binary.c 2026-04-21
00:40:56.000000000 +0200
+++ new/psycopg2-2.9.13/psycopg/typecast_binary.c 2026-09-10
00:45:22.000000000 +0200
@@ -188,8 +188,8 @@
char *bufout;
char *po;
- po = bufout = PyMem_Malloc((sizein - 2) >> 1); /* output size upper
bound */
- if (NULL == bufout) {
+ /* output size upper bound */
+ if (NULL == (po = bufout = PyMem_Malloc((sizein - 1) >> 1))) {
PyErr_NoMemory();
goto exit;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.12/psycopg2.egg-info/PKG-INFO
new/psycopg2-2.9.13/psycopg2.egg-info/PKG-INFO
--- old/psycopg2-2.9.12/psycopg2.egg-info/PKG-INFO 2026-04-21
00:40:56.000000000 +0200
+++ new/psycopg2-2.9.13/psycopg2.egg-info/PKG-INFO 2026-09-10
00:45:24.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: psycopg2
-Version: 2.9.12
+Version: 2.9.13
Summary: psycopg2 - Python-PostgreSQL Database Adapter
Home-page: https://psycopg.org/
Author: Federico Di Gregorio
@@ -20,12 +20,12 @@
Classifier: License :: OSI Approved :: GNU Library or Lesser General Public
License (LGPL)
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
+Classifier: Programming Language :: Python :: 3.15
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: C
@@ -36,7 +36,7 @@
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: Unix
-Requires-Python: >=3.9
+Requires-Python: >= 3.10
License-File: LICENSE
Psycopg is the most popular PostgreSQL database adapter for the Python
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.12/psycopg2.egg-info/SOURCES.txt
new/psycopg2-2.9.13/psycopg2.egg-info/SOURCES.txt
--- old/psycopg2-2.9.12/psycopg2.egg-info/SOURCES.txt 2026-04-21
00:40:56.000000000 +0200
+++ new/psycopg2-2.9.13/psycopg2.egg-info/SOURCES.txt 2026-09-10
00:45:24.000000000 +0200
@@ -5,6 +5,7 @@
Makefile
NEWS
README.rst
+pyproject.toml
setup.cfg
setup.py
doc/COPYING.LESSER
@@ -136,10 +137,8 @@
scripts/make_errors.py
scripts/refcounter.py
scripts/build/build_libpq.sh
-scripts/build/build_macos_arm64.sh
scripts/build/build_sdist.sh
scripts/build/print_so_versions.sh
-scripts/build/run_build_macos_arm64.sh
scripts/build/scaleway_m1.sh
scripts/build/strip_wheel.sh
scripts/build/wheel_linux_before_all.sh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.12/pyproject.toml
new/psycopg2-2.9.13/pyproject.toml
--- old/psycopg2-2.9.12/pyproject.toml 1970-01-01 01:00:00.000000000 +0100
+++ new/psycopg2-2.9.13/pyproject.toml 2026-09-10 00:45:22.000000000 +0200
@@ -0,0 +1,3 @@
+[build-system]
+requires = ["setuptools>=70.1"]
+build-backend = "setuptools.build_meta"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.12/scripts/build/build_libpq.sh
new/psycopg2-2.9.13/scripts/build/build_libpq.sh
--- old/psycopg2-2.9.12/scripts/build/build_libpq.sh 2026-04-21
00:40:56.000000000 +0200
+++ new/psycopg2-2.9.13/scripts/build/build_libpq.sh 2026-09-10
00:45:22.000000000 +0200
@@ -15,7 +15,7 @@
krb5_version="1.22.2"
# Latest release: https://openldap.org/software/download/
-ldap_version="2.6.13"
+ldap_version="2.6.14"
export LIBPQ_BUILD_PREFIX=${LIBPQ_BUILD_PREFIX:-/tmp/libpq.build}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.12/scripts/build/build_macos_arm64.sh
new/psycopg2-2.9.13/scripts/build/build_macos_arm64.sh
--- old/psycopg2-2.9.12/scripts/build/build_macos_arm64.sh 2026-04-21
00:40:56.000000000 +0200
+++ new/psycopg2-2.9.13/scripts/build/build_macos_arm64.sh 1970-01-01
01:00:00.000000000 +0100
@@ -1,106 +0,0 @@
-#!/bin/bash
-
-# Build psycopg2-binary wheel packages for Apple M1 (cpNNN-macosx_arm64)
-#
-# This script is designed to run on Scaleway Apple Silicon machines.
-#
-# The script cannot be run as sudo (installing brew fails), but requires sudo,
-# so it can pretty much only be executed by a sudo user as it is.
-
-set -euo pipefail
-# set -x
-
-python_versions="3.8.18 3.9.18 3.10.13 3.11.6 3.12.0"
-pg_version=16
-
-function log {
- echo "$@" >&2
-}
-
-# Move to the root of the project
-dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-cd "${dir}/../../"
-
-# Add /usr/local/bin to the path. It seems it's not, in non-interactive
sessions
-if ! (echo $PATH | grep -q '/usr/local/bin'); then
- export PATH=/usr/local/bin:$PATH
-fi
-
-# Install brew, if necessary. Otherwise just make sure it's in the path
-if [[ -x /opt/homebrew/bin/brew ]]; then
- eval "$(/opt/homebrew/bin/brew shellenv)"
-else
- log "installing brew"
- command -v brew > /dev/null || (
- # Not necessary: already installed
- # xcode-select --install
- NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL \
-
https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
- )
- eval "$(/opt/homebrew/bin/brew shellenv)"
-fi
-
-export PGDATA=/opt/homebrew/var/postgresql@${pg_version}
-
-# Install PostgreSQL, if necessary
-command -v pg_config > /dev/null || (
- log "installing postgres"
- brew install postgresql@${pg_version}
-)
-
-# Starting from PostgreSQL 15, the bin path is not in the path.
-export PATH="$(ls -d1
/opt/homebrew/Cellar/postgresql@${pg_version}/*/bin):$PATH"
-
-# Make sure the server is running
-
-# Currently not working
-# brew services start postgresql@${pg_version}
-
-if ! pg_ctl status; then
- log "starting the server"
- pg_ctl -l "/opt/homebrew/var/log/postgresql@${pg_version}.log" start
-fi
-
-
-# Install the Python versions we want to build
-for ver3 in $python_versions; do
- ver2=$(echo $ver3 | sed 's/\([^\.]*\)\(\.[^\.]*\)\(.*\)/\1\2/')
- command -v python${ver2} > /dev/null || (
- log "installing Python $ver3"
- (cd /tmp &&
- curl -fsSl -O \
-
https://www.python.org/ftp/python/${ver3}/python-${ver3}-macos11.pkg)
- sudo installer -pkg /tmp/python-${ver3}-macos11.pkg -target /
- )
-done
-
-# Create a virtualenv where to work
-if [[ ! -x .venv/bin/python ]]; then
- log "creating a virtualenv"
- python3 -m venv .venv
-fi
-
-log "installing cibuildwheel"
-source .venv/bin/activate
-pip install cibuildwheel
-
-log "building wheels"
-
-# Build the binary packages
-export CIBW_PLATFORM=macos
-export CIBW_ARCHS=arm64
-export CIBW_BUILD='cp{38,39,310,311,312}-*'
-export CIBW_TEST_COMMAND='python -c "import tests;
tests.unittest.main(defaultTest=\"tests.test_suite\")"'
-
-export PSYCOPG2_TESTDB=postgres
-export PYTHONPATH=$(pwd)
-
-# For some reason, cibuildwheel tests says that psycopg2 is already installed,
-# refuses to install, then promptly fails import. So, please, seriously,
-# install this thing.
-export PIP_FORCE_REINSTALL=1
-
-# Replace the package name
-sed -i .bak 's/^setup(name="psycopg2"/setup(name="psycopg2-binary"/' setup.py
-
-cibuildwheel
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/psycopg2-2.9.12/scripts/build/run_build_macos_arm64.sh
new/psycopg2-2.9.13/scripts/build/run_build_macos_arm64.sh
--- old/psycopg2-2.9.12/scripts/build/run_build_macos_arm64.sh 2026-04-21
00:40:56.000000000 +0200
+++ new/psycopg2-2.9.13/scripts/build/run_build_macos_arm64.sh 1970-01-01
01:00:00.000000000 +0100
@@ -1,65 +0,0 @@
-#!/bin/bash
-
-# Build psycopg2-binary wheel packages for Apple M1 (cpNNN-macosx_arm64)
-#
-# This script is designed to run on a local machine: it will clone the repos
-# remotely and execute the `build_macos_arm64.sh` script remotely, then will
-# download the built packages. A tag to build must be specified.
-
-# The script requires a Scaleway secret key in the SCW_SECRET_KEY env var:
-# It will use scaleway_m1.sh to provision a server and use it.
-
-set -euo pipefail
-# set -x
-
-function log {
- echo "$@" >&2
-}
-function error {
- # Print an error message and exit.
- log "ERROR: $@"
- exit 1
-}
-
-tag=${1:-}
-
-if [[ ! "${tag}" ]]; then
- error "Usage: $0 REF"
-fi
-
-dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
-
-server=$("${dir}/scaleway_m1.sh" ensure)
-
-status=$(echo "$server" | jq -r .status)
-if [[ "$status" != "ready" ]]; then
- error "server status is $status"
-fi
-
-# Get user, password, ip from vnc url
-tmp=$(echo "$server" | jq -r .vnc_url) # vnc://m1:[email protected]:5900
-tmp=${tmp/vnc:\/\//} # m1:[email protected]:5900
-user=${tmp%%:*} # m1
-tmp=${tmp#*:} # [email protected]:5900
-password=${tmp%%@*} # PASS
-tmp=${tmp#*@} # 1.2.3.4:5900
-host=${tmp%%:*} # 1.2.3.4
-
-ssh="ssh ${user}@${host} -o StrictHostKeyChecking=no"
-
-# Allow the user to sudo without asking for password.
-echo "$password" | \
- $ssh sh -c "test -f /etc/sudoers.d/${user} \
- || sudo -S --prompt= sh -c \
- 'echo \"${user} ALL=(ALL) NOPASSWD:ALL\" > /etc/sudoers.d/${user}'"
-
-# Clone the repos
-rdir=psycobuild
-$ssh rm -rf "${rdir}"
-$ssh git clone https://github.com/psycopg/psycopg2.git --branch ${tag}
"${rdir}"
-
-# Build the wheel packages
-$ssh "${rdir}/scripts/build/build_macos_arm64.sh"
-
-# Transfer the packages locally
-scp -r "${user}@${host}:${rdir}/wheelhouse" .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.12/scripts/make_errors.py
new/psycopg2-2.9.13/scripts/make_errors.py
--- old/psycopg2-2.9.12/scripts/make_errors.py 2026-04-21 00:40:56.000000000
+0200
+++ new/psycopg2-2.9.13/scripts/make_errors.py 2026-09-10 00:45:22.000000000
+0200
@@ -29,7 +29,7 @@
os.path.dirname(__file__), "../psycopg/sqlstate_errors.h")
# If you add a version to the list fix the docs (in errors.rst)
- classes, errors = fetch_errors("11 12 13 14 15 16 17".split())
+ classes, errors = fetch_errors("11 12 13 14 15 16 17 18".split())
f = open(filename, "w")
print("/*\n * Autogenerated by 'scripts/make_errors.py'.\n */\n", file=f)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.12/setup.py new/psycopg2-2.9.13/setup.py
--- old/psycopg2-2.9.12/setup.py 2026-04-21 00:40:56.000000000 +0200
+++ new/psycopg2-2.9.13/setup.py 2026-09-10 00:45:22.000000000 +0200
@@ -40,7 +40,7 @@
# Take a look at https://www.python.org/dev/peps/pep-0440/
# for a consistent versioning pattern.
-PSYCOPG_VERSION = '2.9.12'
+PSYCOPG_VERSION = '2.9.13'
# note: if you are changing the list of supported Python version please fix
@@ -51,12 +51,12 @@
License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
Programming Language :: Python
Programming Language :: Python :: 3
-Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
Programming Language :: Python :: 3.12
Programming Language :: Python :: 3.13
Programming Language :: Python :: 3.14
+Programming Language :: Python :: 3.15
Programming Language :: Python :: 3 :: Only
Programming Language :: Python :: Implementation :: CPython
Programming Language :: C
@@ -524,7 +524,7 @@
url="https://psycopg.org/",
license="LGPL with exceptions",
platforms=["any"],
- python_requires='>=3.9',
+ python_requires='>= 3.10',
description=readme.split("\n")[0],
long_description="\n".join(readme.split("\n")[2:]).lstrip(),
classifiers=[x for x in classifiers.split("\n") if x],