summaryrefslogtreecommitdiffhomepage
path: root/docs/changes.xml
diff options
context:
space:
mode:
authorAndrew Clayton <a.clayton@nginx.com>2022-11-17 21:56:58 +0000
committerAndrew Clayton <a.clayton@nginx.com>2022-12-06 02:51:03 +0000
commit491d0f700f5690eba0f1fcf2124f3a37ef73eb1a (patch)
tree2b841e1443e2cd14080f2d8378a438d8ab084681 /docs/changes.xml
parentdfededabdc47caa548c7d7bd62133e0d4df2f0fa (diff)
downloadunit-491d0f700f5690eba0f1fcf2124f3a37ef73eb1a.tar.gz
unit-491d0f700f5690eba0f1fcf2124f3a37ef73eb1a.tar.bz2
Python: Added support for Python 3.11.
Python 3.8 added a new Python initialisation configuration API[0]. Python 3.11 marked the old API as deprecated resulting in the following compiler warnings which we treat as errors, failing the build src/python/nxt_python.c: In function ‘nxt_python_start’: src/python/nxt_python.c:130:13: error: ‘Py_SetProgramName’ is deprecated [-Werror=deprecated-declarations] 130 | Py_SetProgramName(nxt_py_home); | ^~~~~~~~~~~~~~~~~ In file included from /opt/python-3.11/include/python3.11/Python.h:94, from src/python/nxt_python.c:7: /opt/python-3.11/include/python3.11/pylifecycle.h:37:38: note: declared here 37 | Py_DEPRECATED(3.11) PyAPI_FUNC(void) Py_SetProgramName(const wchar_t *); | ^~~~~~~~~~~~~~~~~ src/python/nxt_python.c:134:13: error: ‘Py_SetPythonHome’ is deprecated [-Werror=deprecated-declarations] 134 | Py_SetPythonHome(nxt_py_home); | ^~~~~~~~~~~~~~~~ /opt/python-3.11/include/python3.11/pylifecycle.h:40:38: note: declared here 40 | Py_DEPRECATED(3.11) PyAPI_FUNC(void) Py_SetPythonHome(const wchar_t *); | ^~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors We actually have a few config scenarios: Python < 3, Python >= 3.0 < 3.8 and for Python 3 we have two configs where we select one based on virtual environment setup. Factor out the Python 3 config initialisation into its own function. We actually create two functions, one for Python 3.8+ and one for older Python 3. We pick the right function to use at build time. The new API also has error checking (where the old API doesn't) which we handle. [0]: https://peps.python.org/pep-0587/ Closes: <https://github.com/nginx/unit/issues/710> [ Andrew: Expanded upon patch from @sandeep-gh ] Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
Diffstat (limited to 'docs/changes.xml')
-rw-r--r--docs/changes.xml6
1 files changed, 6 insertions, 0 deletions
diff --git a/docs/changes.xml b/docs/changes.xml
index 0c52c628..2dd1b472 100644
--- a/docs/changes.xml
+++ b/docs/changes.xml
@@ -45,6 +45,12 @@ prefer system crypto policy, instead of hardcoding a default.
<change type="feature">
<para>
+compatibility with Python 3.11.
+</para>
+</change>
+
+<change type="feature">
+<para>
njs support with the basic syntax of JS template literals.
</para>
</change>