From 44451011ce7421c861b86add1de9b96e70f41256 Mon Sep 17 00:00:00 2001 From: Gord Thompson Date: Thu, 18 Sep 2025 07:55:44 -0600 Subject: [PATCH] Apply updates for CRDB v25.4 --- .github/workflows/ci.yml | 3 ++- README.md | 4 ++-- README.psycopg.md | 2 +- dev-requirements.txt | 30 ++++++++++++++++-------------- sqlalchemy_cockroachdb/base.py | 1 + test-requirements.txt | 14 +++++++------- 6 files changed, 29 insertions(+), 25 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 630f30a..039326d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,7 +43,8 @@ jobs: "cockroach:latest-v24.1", "cockroach:latest-v24.3", "cockroach:latest-v25.2", - "cockroach:latest-v25.3" + "cockroach:latest-v25.3", + "cockroach:latest-v25.4" ] db-alias: [ "psycopg2", diff --git a/README.md b/README.md index 4a4d462..a3cf5a1 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ For more details on working with asyncpg, see ### psycopg -For psycopg version 3 support (⚠️ experimental 🏗), you'll need to install +For psycopg version 3 support, you'll need to install * [psycopg](https://pypi.org/project/psycopg/) @@ -85,7 +85,7 @@ from sqlalchemy import create_engine engine = create_engine('cockroachdb+psycopg://root@localhost:26257/defaultdb') ``` -To connect using psycopg for async operation (⚠️ experimental 🏗), see +To connect using psycopg for async operation, see [README.psycopg.md](README.psycopg.md) diff --git a/README.psycopg.md b/README.psycopg.md index 4ec3a40..9cc694f 100644 --- a/README.psycopg.md +++ b/README.psycopg.md @@ -17,7 +17,7 @@ from sqlalchemy import create_engine engine = create_engine('cockroachdb+psycopg://root@localhost:26257/defaultdb') ``` -### async operation (⚠️ experimental 🏗) +### async operation The "classic" approach diff --git a/dev-requirements.txt b/dev-requirements.txt index 5569de9..a6d1f60 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -1,16 +1,16 @@ backports-tarfile==1.2.0 # via jaraco-context -certifi==2025.8.3 +certifi==2025.11.12 # via requests -cffi==1.17.1 +cffi==2.0.0 # via cryptography -charset-normalizer==3.4.3 +charset-normalizer==3.4.4 # via requests -cryptography==45.0.7 +cryptography==46.0.3 # via secretstorage distlib==0.4.0 # via virtualenv -docutils==0.22 +docutils==0.22.3 # via readme-renderer filelock==3.19.1 # via @@ -18,7 +18,7 @@ filelock==3.19.1 # virtualenv id==1.5.0 # via twine -idna==3.10 +idna==3.11 # via requests importlib-metadata==8.7.0 # via @@ -34,17 +34,17 @@ jeepney==0.9.0 # via # keyring # secretstorage -keyring==25.6.0 +keyring==25.7.0 # via twine markdown-it-py==3.0.0 # via rich mdurl==0.1.2 # via markdown-it-py -more-itertools==10.7.0 +more-itertools==10.8.0 # via # jaraco-classes # jaraco-functools -nh3==0.3.0 +nh3==0.3.2 # via readme-renderer packaging==25.0 # via @@ -56,7 +56,7 @@ pluggy==1.6.0 # via tox py==1.11.0 # via tox -pycparser==2.22 +pycparser==2.23 # via cffi pygments==2.19.2 # via @@ -73,7 +73,7 @@ requests-toolbelt==1.0.0 # via twine rfc3986==2.0.0 # via twine -rich==14.1.0 +rich==14.2.0 # via twine secretstorage==3.3.3 # via keyring @@ -83,15 +83,17 @@ toml==0.10.2 # via tox tox==3.23.1 # via -r dev-requirements.in -twine==6.1.0 +twine==6.2.0 # via -r dev-requirements.in typing-extensions==4.15.0 - # via virtualenv + # via + # cryptography + # virtualenv urllib3==2.5.0 # via # requests # twine -virtualenv==20.34.0 +virtualenv==20.35.4 # via tox zipp==3.23.0 # via importlib-metadata diff --git a/sqlalchemy_cockroachdb/base.py b/sqlalchemy_cockroachdb/base.py index 7e2eae4..d6f82bc 100644 --- a/sqlalchemy_cockroachdb/base.py +++ b/sqlalchemy_cockroachdb/base.py @@ -141,6 +141,7 @@ def initialize(self, connection): self._is_v251plus = self._is_v243plus and (" v24.3." not in sversion) self._is_v252plus = self._is_v251plus and (" v25.1." not in sversion) self._is_v253plus = self._is_v252plus and (" v25.2." not in sversion) + self._is_v254plus = self._is_v253plus and (" v25.3." not in sversion) self._has_native_json = self._is_v2plus self._has_native_jsonb = self._is_v2plus self._supports_savepoints = self._is_v201plus diff --git a/test-requirements.txt b/test-requirements.txt index ea20614..a3004bd 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -14,29 +14,29 @@ iniconfig==2.1.0 # via pytest mako==1.3.10 # via alembic -markupsafe==3.0.2 +markupsafe==3.0.3 # via mako mock==5.2.0 # via -r test-requirements.in -more-itertools==10.7.0 +more-itertools==10.8.0 # via -r test-requirements.in packaging==25.0 # via pytest pluggy==1.6.0 # via pytest -psycopg==3.2.9 +psycopg==3.2.12 # via -r test-requirements.in -psycopg2==2.9.10 +psycopg2==2.9.11 # via -r test-requirements.in pygments==2.19.2 # via pytest -pytest==8.4.1 +pytest==8.4.2 # via -r test-requirements.in -sqlalchemy==2.0.43 +sqlalchemy==2.0.44 # via # -r test-requirements.in # alembic -tomli==2.2.1 +tomli==2.3.0 # via # alembic # pytest