Hello Pythonistas and Rustaceans, TL;DR: Only PyO3 v0.19.2 (and later) will ever properly support Python 3.12. Port your Python projects to v0.19 **NOW**. Older versions of PyO3 (especially pyo3 v0.15, v0.16, v0.17, and v0.18) are *not* compatible with Python 3.12 due to some ABI changes in unicode strings and behavioural changes wrt/ "immortal" objects. This also affects all current versions of the "cpython" Rust bindings, with no timeline for Python 3.12 support. As far as I can tell, extensions that use pyo3 < v0.19 or the "cpython" bindings can (and likely will) not work as expected on Python 3.12 if they use the affected APIs (either by producing garbage data in strings that are passed over the FFI boundary, or by crashing). There are applications in Fedora that still rely on *ancient* versions of PyO3, potentially affected by this: - cpython: mercurial - pyo3 v0.15: fapolicy-analyzer, python-bcrypt, python-cryptography - pyo3 v0.16: python-y-py - pyo3 v0.17: unused compat packages, will be retired - pyo3 v0.18: matrix-synapse I *stongly* recommend to move all of these packages to pyo3 v0.19 in Rawhide as soon as possible. I will try to submit pull requests with the required changes for affected packages (except mercurial, since there's no version of the "cpython" crate that supports Python 3.12 in sight). There's already a few packages that depend on pyo3 v0.19, which I will rebuild in rawhide for pyo3 v0.19.2, which has much better support for Python 3.12 than v0.19.0 and v0.19.1 (breezy, python-rpds-py, orjson) unless there are any objections. As soon as no packages depend on the compat packages for old versions of pyo3 any longer, I will retire them from Rawhide (and F39, depending on the timing), since they will never work with Python 3.12 and nothing should use them. I've added <package>-maintainers@xxxxxxxxxxxxxxxxx for all these packages to the CC of this message. Fabio Rust SIG / PyO3 maintainer in Fedora _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue