v3.31.2: the SCP81 TLS-PSK Python floor, documented and guarded
release / release (push) Waiting to run

ssl's TLS-PSK callbacks (PskTlsServer) exist only since Python 3.13 - the
first CI run on 3.12 errored in all 20 PSK tests, and the docs confirm
"Added in version 3.13".

- PskTlsServer._make_context raises a clear RuntimeError naming the
  requirement instead of AttributeError; a source pin keeps the guard.
- tests/test_scp81.py skips PskTlsServerTest where the callbacks are
  missing (it runs on 3.13+), so contributors on 3.9-3.12 no longer see
  20 failures.
- The READMEs state the requirement, and the Windows notes now strongly
  recommend Python 3.13: pyscard has wheels up to 3.13, and on 3.14
  pyscard and some pysim dependency wheels are unavailable and build
  from source (MSVC).  setup.bat and setup.sh print the same guidance.
- Version strings + the PWA cache bumped together (simple-v457).

998 Python + 953 frontend green.
This commit is contained in:
2026-10-20 23:47:10 +03:00
parent bccca45486
commit 2237a35db5
10 changed files with 43 additions and 13 deletions
+8
View File
@@ -52,6 +52,14 @@ else
echo " Fedora: sudo dnf install pcsc-lite pcsc-lite-ccid pcsc-lite-devel"
fi
# The SCP81 TLS-PSK listener uses ssl's PSK callbacks, added in Python 3.13.
PY_MINOR=$(echo "$PY_VER" | cut -d. -f2)
if [ "${PY_VER%.*}" = "3" ] && [ "$PY_MINOR" -lt 13 ]; then
echo "Note: the SCP81 TLS-PSK listener needs Python 3.13+ (this is $PY_VER);"
echo " the rest of the app works normally."
echo ""
fi
echo ""
echo "=== Setup complete ==="
echo "Run ./start.sh to start the server."