Colin Watson: Free software activity in October 2026
My Debian contributions this month were all sponsored by Freexian.
You can also support my work directly via Liberapay or GitHub Sponsors.
## OpenSSH
I upgraded both openssh and openssh-gssapi from 10.5p1 to 10.6p1, started generating MLDSA44-ED25519 host keys by default now that upstream no longer considers them experimental, and fixed a problem where switching between the normal and GSS-API variants followed by purging the old packages caused some configuration files to disappear.
## Python packaging
New upstream versions:
* afew (fixing a build failure with Python 3.15)
* django-render-block (fixing a build failure)
* djangorestframework (fixing a build failure)
* frescobaldi
* fsspec (fixing CVE-2026-104851)
* khal (fixing an ikhal crash at startup)
* pydantic (twice)
* pydantic-core (twice)
* pydantic-settings
* pygml
* pyinstaller-hooks-contrib (fixing a build failure)
* python-ast-serialize
* python-asyncvarlink
* python-blockbuster
* python-bytecode (fixing a build failure with Python 3.15)
* python-certifi (twice)
* python-cytoolz
* python-django-postgres-extra
* python-evalidate
* python-mitogen
* python-moto
* python-persistent
* python-typeguard (fixing a build failure with Python 3.15)
* toolz (fixing a build failure with Python 3.15)
* twisted (fixing CVE-2026-115774, CVE-2026-115775, CVE-2026-115776, CVE-2026-115778, CVE-2026-115877, and CVE-2026-83813)
* zope.hookable
* zope.i18nmessageid
* zope.interface
* zope.security
Other build/test failures:
* aiohttp-socks: Add python3-starlette and python3-uvicorn to autopkgtest dependencies
* celery: FTBFS: FAILED t/unit/utils/test_platforms.py::test_close_open_fds - AssertionError
* django-ninja: FTBFS: E AssertionError
* django-q: Fix autopkgtest failures with python-moto 5.2.4
* ipywidgets: FTBFS: src/utils.ts(4,44): error TS7016: Could not find a declaration file for module ‘base64-js’ (tracked down to node-base64-js and contributed a fix there, uploaded by Santiago Vila)
* isodate: FTBFS: includes a common build directory name ‘tests’ as a module
* mercurial: FTBFS on riscv64: Failed test-obsolete-bundle-strip.t: timed out
* mistune0: FTBFS: includes a common build directory name ‘tests’ as a module
* pybind11-stubgen: FTBFS: E: dh_python3 fs:172: Not everything in ‘debian/python3-pybind11-stubgen/usr/lib/python3.15/dist-packages/pybind11_stubgen-3.0.0.dist-info’ was able to be merged into ‘debian/python3-pybind11-stubgen/usr/lib/python3/dist-packages/pybind11_stubgen-3.0.0.dist-info’ (contributed upstream)
* pydantic-core: FTBFS: E: dh_python3 fs:172: Not everything in ‘debian/python3-pydantic-core/usr/lib/python3.15/dist-packages/.hypothesis/constants’ was able to be merged into ‘debian/python3-pydantic-core/usr/lib/python3/dist-packages/.hypothesis/constants’
* pydantic-settings: Fix test failures with pydantic 2.14
* pygml: FTBFS: E: dh_python3 fs:312: python3-pygml includes a common build directory name ‘tests’ as a module (contributed upstream)
* pyinstaller: Make autopkgtests work on more architectures
* pyrsistent: FTBFS with dh-python >= 7.20261019
* python-anyio: FTBFS: ValueError: server_hostname can only be specified in client mode
* python-asyncvarlink: FTBFS: E: dh_python3 fs:172: Not everything in ‘debian/python3-asyncvarlink/usr/lib/python3.15/dist-packages/.hypothesis/constants’ was able to be merged into ‘debian/python3-asyncvarlink/usr/lib/python3/dist-packages/.hypothesis/constants’
* python-bcrypt: FTBFS: error: failed to select a version for the requirement bcrypt-pbkdf = "^0.10.0"
* python-django-postgres-extra: FTBFS: E: dh_python3 fs:312: python3-django-postgres-extra includes a common build directory name ‘tests’ as a module
* python-ecdsa: FTBFS: E: dh_python3 fs:172: Not everything in ‘debian/python3-ecdsa/usr/lib/python3.15/dist-packages/.hypothesis/constants’ was able to be merged into ‘debian/python3-ecdsa/usr/lib/python3/dist-packages/.hypothesis/constants’
* python-elastic-transport: Make tests more reliable on slow architectures
* python-isoduration: FTBFS: E: dh_python3 fs:172: Not everything in ‘debian/python3-isoduration/usr/lib/python3.15/dist-packages/.hypothesis/constants’ was able to be merged into ‘debian/python3-isoduration/usr/lib/python3/dist-packages/.hypothesis/constants’
* python-lsp-mypy: FTBFS: E: dh_python3 fs:172: Not everything in ‘debian/python3-pylsp-mypy/usr/lib/python3.15/dist-packages/.mypy_cache/3.14’ was able to be merged into ‘debian/python3-pylsp-mypy/usr/lib/python3/dist-packages/.mypy_cache/3.14’
* python-multidict: FTBFS: includes a common build directory name ‘tests’ as a module
* python-serializable: FTBFS: includes a common build directory name ‘tests’ as a module
* python-trame-server: FTBFS: E ModuleNotFoundError: No module named ‘more_itertools’
* python-urllib3: FTBFS: E ValueError: check_hostname requires server_hostname
* python-ws4py: FTBFS: E: dh_python3 fs:312: python3-ws4py includes a common build directory name ‘test’ as a module
* sphinx-rst-linker: FTBFS: E ModuleNotFoundError: No module named ‘jaraco’
* sphinxcontrib-seqdiag: FTBFS: includes a common build directory name ‘tests’ as a module
Since lots of Python modules use Rust extensions nowadays, we often have to help with upgrades of Rust packages. I did some of this:
* PyO3 0.29 (which needs more help!): blake3-py, cbor2, pendulum, pysequoia, python-ahocorasick-rs, python-cotengrust, python-jellyfish, python-ormar-utils, python-watchfiles, rpds-py, and unicode-segmentation-rs
* Upgraded python-maturin from 1.9.4 to 1.16.0 to help with several other upgrades; this was a major upgrade involving more or less completely reworking our patch set.
Other bugs:
* twisted: CVE-2026-106454
One of my hobbies is typesetting (“engraving”) music, sometimes for my own use, sometimes for teaching, and sometimes for my choir. I’ve used LilyPond for a long time and have got pretty used to it. My workflow was a bit cumbersome, though, usually involving side-by-side editor and PDF viewer windows with some ad-hoc Makefiles and editor macros. I recently discovered the Frescobaldi frontend to LilyPond, and decided I liked it enough to switch over to it. It was already packaged in Debian, but it had a missing desktop entry and icon and missing translations; I fixed those based on a patch set by Joachim Wiedorn. My upload introduced a testing migration problem, which I also fixed.
## Rust packaging
I upgraded rust-jiter and rust-smallvec to new upstream versions for a new version of pydantic-core. The rust-smallvec upgrade caused an FTBFS in rust-saphyr-parser-bw, which I fixed.
I packaged rust-cargo-cyclonedx for a new version of python-maturin. This needed some porting to work with a new version of rust-cargo-metadata, which I contributed upstream.
I improved the `dev/list-rdeps.sh` tool used by the Rust team to check build-depends too, which should make it easier for that team to remember Python packages in transitions.
## Code reviews
* debbugs: Fix autopkgtests (merged)
* openssh-gssapi: d/t/purge-keeps-config-with-counterpart: test for purge (merged)
* openssh: d/t/purge-keeps-config-with-counterpart: test for purge (merged)
* python-datamodel-code-generator: Upgrade to 0.85.0 (sponsored upload for Nico Della Torre)
* python-pyramid-tm: FTBFS: ModuleNotFoundError: No module named ‘pkg_resources’ (sponsored upload for Maximilian Engelhardt)