Skip to content

Commit c2812cc

Browse files
committed
Update all dependencies including Python 3.13.
1 parent bfd459f commit c2812cc

File tree

5 files changed

+1201
-639
lines changed

5 files changed

+1201
-639
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
- name: Set up Python
2727
uses: actions/setup-python@v6
2828
with:
29-
python-version: "3.12"
29+
python-version: "3.13"
3030

3131
- name: Start Docker service
3232
run: sudo service docker start || true

Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# First, build the application in the `/app` directory.
22
# See `Dockerfile` for details.
3-
FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim AS builder
3+
FROM ghcr.io/astral-sh/uv:python3.13-bookworm-slim AS builder
44
ENV UV_COMPILE_BYTECODE=1 UV_LINK_MODE=copy
55

66
# Disable Python downloads, because we want to use the system interpreter
@@ -22,9 +22,9 @@ RUN --mount=type=cache,target=/root/.cache/uv \
2222
uv sync --frozen --no-dev
2323

2424

25-
FROM python:3.12-slim-bookworm
25+
FROM python:3.13-slim-bookworm
2626
# It is important to use the image that matches the builder, as the path to the
27-
# Python executable must be the same, e.g., using `python:3.11-slim-bookworm`
27+
# Python executable must be the same, e.g., using `python:3.12-slim-bookworm`
2828
# will fail.
2929

3030
# Security: Create non-root user

README.md

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# PostgreSQL MCP Server - Version 1.1.1
22

3-
Last Updated December 6, 2025 - Production/Stable v1.1.1
3+
Last Updated December 6, 2025 - Production/Stable v1.1.1 (Security Patch)
44

55
<!-- mcp-name: io.github.neverinfamous/postgres-mcp-server -->
66

@@ -96,8 +96,9 @@ Enhanced with **pg_stat_statements**, **hypopg**, **pgvector**, and **PostGIS**
9696
## 📋 **Prerequisites**
9797

9898
1. **PostgreSQL Database** (version 13-18)
99-
2. **Environment Variable**: `DATABASE_URI="postgresql://user:pass@host:5432/db"`
100-
3. **MCP Client**: Claude Desktop, Cursor, or compatible client
99+
2. **Python** (version 3.12, 3.13, or 3.14)
100+
3. **Environment Variable**: `DATABASE_URI="postgresql://user:pass@host:5432/db"`
101+
4. **MCP Client**: Claude Desktop, Cursor, or compatible client
101102

102103
**See [Installation Guide](https://github.com/neverinfamous/postgres-mcp/wiki/Installation-and-Configuration) for detailed setup instructions.**
103104

@@ -320,6 +321,20 @@ CREATE EXTENSION IF NOT EXISTS fuzzystrmatch;
320321

321322
## 🆕 **Recent Updates**
322323

324+
### **Version 1.1.1 Security Patch** 🔒 (December 6, 2025)
325+
- **🔒 Security Fixes**: Updated critical dependencies to address vulnerabilities
326+
- `urllib3` upgraded to 2.6.0 (fixes CVE-2025-66471, CVE-2025-66418)
327+
- `mcp` upgraded to 1.23.1 (fixes CVE-2025-66416)
328+
- **🐍 Python 3.13 Upgrade**: Docker images now use Python 3.13
329+
- Aligned with SQLite MCP Server for consistency
330+
- Better performance and improved features
331+
- Local development supports Python 3.12, 3.13, and 3.14
332+
- **📦 Dependency Updates**: All packages updated to latest stable versions
333+
- Improved compatibility and performance
334+
- Enhanced reliability and security posture
335+
- **✅ Tested**: All 60 security tests passing
336+
- **🐳 Docker**: Updated to Python 3.13 with latest security patches
337+
323338
### **Version 1.1.0 Release** 🎉 (October 4, 2025)
324339
- **🌟 NEW: MCP Resources (10)**: Real-time database meta-awareness
325340
- Instant access to schema, capabilities, performance, health
@@ -483,14 +498,15 @@ uv run pytest --cov=src tests/
483498

484499
## 📈 **Project Stats**
485500

486-
- **Version 1.1.0** - Intelligent assistant release (October 4, 2025)
501+
- **Version 1.1.1** - Security patch + Python 3.14 support (December 6, 2025)
487502
- **63 MCP Tools** across 9 categories
488503
- **10 MCP Resources** - Database meta-awareness (NEW!)
489504
- **10 MCP Prompts** - Guided workflows (NEW!)
490505
- **100% Type Safe** - Pyright strict mode (2,000+ issues resolved)
491-
- **Zero Known Vulnerabilities** - Security audit passed
506+
- **Zero Known Vulnerabilities** - Security audit passed (Python deps)
492507
- **Zero Linter Errors** - Clean codebase with comprehensive type checking
493508
- **PostgreSQL 13-18** - Full compatibility
509+
- **Python 3.12-3.14** - Full compatibility with latest Python
494510
- **Multi-platform** - Windows, Linux, macOS (amd64, arm64)
495511
- **7,500+ lines** - 14 modules, comprehensive implementation
496512

pyproject.toml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,18 @@ description = "Enterprise PostgreSQL MCP Server - Enhanced fork with comprehensi
55
readme = "README.md"
66
requires-python = ">=3.12"
77
dependencies = [
8-
"mcp[cli]>=1.10.0",
8+
"mcp[cli]>=1.23.0",
99
"psycopg[binary]>=3.2.6",
10-
"humanize>=4.8.0",
10+
"humanize>=4.11.0",
1111
"pglast==7.10",
1212
"attrs>=25.3.0",
1313
"psycopg-pool>=3.2.6",
1414
"instructor>=1.7.9",
1515
"h11>=0.16.0",
1616
"setuptools>=78.1.1",
17-
# Security: Force updated versions to fix CVEs
17+
# Security: Force updated versions to fix CVEs (Dec 6, 2025 update)
1818
"starlette>=0.49.1", # CVE-2025-62727, CVE-2025-54121
19-
"urllib3>=2.5.0", # CVE-2025-50181, CVE-2025-50182
19+
"urllib3>=2.6.0", # CVE-2025-66471, CVE-2025-66418 (FIXED: upgraded from 2.5.0)
2020
"requests>=2.32.4", # CVE-2024-47081
2121
"aiohttp>=3.12.14", # CVE-2025-53643
2222
]
@@ -31,6 +31,7 @@ classifiers = [
3131
"Programming Language :: Python :: 3",
3232
"Programming Language :: Python :: 3.12",
3333
"Programming Language :: Python :: 3.13",
34+
"Programming Language :: Python :: 3.14",
3435
"Topic :: Database",
3536
"Topic :: Software Development :: Libraries :: Python Modules",
3637
]
@@ -107,7 +108,7 @@ known-first-party = ["postgres-mcp"]
107108

108109
[tool.pyright]
109110
typeCheckingMode = "strict"
110-
pythonVersion = "3.12"
111+
pythonVersion = "3.12" # Minimum for type checking, runtime supports 3.12-3.14, Docker uses 3.13
111112
reportMissingTypeStubs = false
112113
# reportUnknownMemberType = true
113114
# reportUnknownParameterType = true

0 commit comments

Comments
 (0)