From 9693a38ef91e592fb5dd92ac89a0a5a54e6c9d5b Mon Sep 17 00:00:00 2001 From: Gregory Trubetskoy Date: Sat, 8 Nov 2025 12:03:51 -0500 Subject: [PATCH 1/7] Update NEWS --- NEWS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/NEWS b/NEWS index 3713cf2b..8bbfdd26 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,5 @@ +Nov 8 2025 - 3.5.0.5 Compatibility with Python 3.13 and 3.14. + Sep 5 2024 - 3.5.0.4 fix sys.version bug and quiet compiler warnings. May 7 2024 - 3.5.0.3 release tagged, it addresses test failures and From 7e197f5f6c32696de69f56e5d9d2cc29607610a8 Mon Sep 17 00:00:00 2001 From: David Miguel Susano Pinto Date: Fri, 21 Nov 2025 13:52:38 +0000 Subject: [PATCH 2/7] Makefile: do not install shared libraries with executable permissions --- Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.in b/Makefile.in index 15ab6931..8e08617b 100644 --- a/Makefile.in +++ b/Makefile.in @@ -61,7 +61,7 @@ install_dso: dso @echo "Performing DSO installation." @echo $(INSTALL) -d $(DESTDIR)$(LIBEXECDIR) - $(INSTALL) src/mod_python.so $(DESTDIR)$(LIBEXECDIR) + $(INSTALL) -m 0644 src/mod_python.so $(DESTDIR)$(LIBEXECDIR) install_py_lib: cd dist && $(MAKE) install_py_lib From 641e341ba04e66180b5aabb319048703101a1799 Mon Sep 17 00:00:00 2001 From: David Miguel Susano Pinto Date: Fri, 21 Nov 2025 14:08:30 +0000 Subject: [PATCH 3/7] scripts/mod_python.in: replace use of execfile removed in Python 3 (#139) Python 3 removed the builtin execfile so this replaces it with read, compile, and exec (see https://stackoverflow.com/questions/436198/). Because this works in both Python 2 and Python 3, we use this alternative unconditionally. --- scripts/mod_python.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/mod_python.in b/scripts/mod_python.in index f824a8dc..17e96160 100644 --- a/scripts/mod_python.in +++ b/scripts/mod_python.in @@ -64,7 +64,9 @@ def cmd_genconfig(): if len(args) != 1: parser.error("Must specify ") - execfile(args[0]) + src = args[0] + with open(src, "rb") as fh: + exec(compile(fh.read(), src, "exec")) def cmd_create(): From 9f2ef9b6642f265bf3a7709dabe71bd50ce119a0 Mon Sep 17 00:00:00 2001 From: Gregory Trubetskoy Date: Mon, 29 Dec 2025 20:38:39 -0500 Subject: [PATCH 4/7] Refresh pointers in parse_qsl(). Fixes #144 --- src/_apachemodule.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/_apachemodule.c b/src/_apachemodule.c index 5ba1f5da..976e8da5 100644 --- a/src/_apachemodule.c +++ b/src/_apachemodule.c @@ -370,6 +370,10 @@ static PyObject *parse_qsl(PyObject *self, PyObject *args) _PyBytes_Resize(&val, strlen(cval)); if (key && val) { + + ckey = PyBytes_AS_STRING(key); + cval = PyBytes_AS_STRING(val); + PyObject *listitem = NULL; if (unicode) { PyObject *ukey, *uval; From 52f8975829a0a3c467f089894e884d29c83e8a5e Mon Sep 17 00:00:00 2001 From: Gregory Trubetskoy Date: Tue, 30 Dec 2025 11:21:30 -0500 Subject: [PATCH 5/7] Update NEWS --- NEWS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/NEWS b/NEWS index 8bbfdd26..178c688e 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,5 @@ +Dec 30 2025 - 3.5.0.6 Fix publisher query string bug + Nov 8 2025 - 3.5.0.5 Compatibility with Python 3.13 and 3.14. Sep 5 2024 - 3.5.0.4 fix sys.version bug and quiet compiler warnings. From 0c0962214abf1a174574de5827c33bc67861553c Mon Sep 17 00:00:00 2001 From: Gregory Trubetskoy Date: Thu, 22 Jan 2026 17:16:26 -0500 Subject: [PATCH 6/7] Use Py_hash_t return type for table_nohash(). Fixes #149 On 32-bit systems, tp_hash expects Py_hash_t (int) not long, causing a build failure due to incompatible pointer types. --- src/tableobject.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tableobject.c b/src/tableobject.c index 80d76d57..6d317085 100644 --- a/src/tableobject.c +++ b/src/tableobject.c @@ -1158,7 +1158,7 @@ static int table_init(tableobject *self, PyObject *args, PyObject *kwds) return result; } -static long table_nohash(PyObject *self) +static Py_hash_t table_nohash(PyObject *self) { TABLE_DEBUG("table_nohash"); From a638e01b7eb50d0cf127ac14c3e1b64347ee682e Mon Sep 17 00:00:00 2001 From: Gregory Trubetskoy Date: Fri, 23 Jan 2026 10:33:24 -0500 Subject: [PATCH 7/7] Update NEWS --- NEWS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/NEWS b/NEWS index 178c688e..797dc0e1 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,5 @@ +Jan 23 2026 - 3.5.0.7 32-bit compile fix + Dec 30 2025 - 3.5.0.6 Fix publisher query string bug Nov 8 2025 - 3.5.0.5 Compatibility with Python 3.13 and 3.14.