With this change, the tests run for me on a local build of Python 3.14. There are a lot of failures related to sys.getrefcount() but that seems to be an unrelated issue. Closes msgspec#810. Fixes msgspec#651. Fixes msgspec#795.
Closed
JelleZijlstra added a commit to JelleZijlstra/msgspec that referenced this pull request
May 26, 2025Fixes at least some of the failures reported in: msgspec#852 (comment) These were exposed by a bug in 3.14b1 where TypedDict reported incorrect `__annotations__` but correct `__required_keys__`. msgspec would crash in this case. The bug is reproducible on earlier Python versions by manually manipulating attributes on a TypedDict class. It's a pretty marginal bug but I would argue the extension should be robust to this sort of edge case.
Merged
This was referenced
Aug 19, 2025Closed
Open
Closed
Closed
Closed
manzt
mentioned this pull request
Closed
Merged
Closed
ofek approved these changes Oct 19, 2025
ofek
mentioned this pull request
Closed
This was referenced
Oct 19, 2025Merged
Open
manzt
mentioned this pull request
Merged
manzt added a commit to marimo-team/msgspec that referenced this pull request
Nov 14, 2025* Fix crash when TypedDict contains incorrect metadata (msgspec#853) * Fix annotations support on 3.14 (msgspec#852) * Relax all getrefcount tests to allow lower numbers (msgspec#854) * Add 3.14 to CI (msgspec#888) * add free-threading support (msgspec#877) Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com> * Enable Python 3.14 tests in CI Remove cp314-* from CIBW_TEST_SKIP to allow Python 3.14 tests to run. Previously, 3.14 wheels were built but tests were skipped. --------- Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com> Co-authored-by: Miro Hrončok <miro@hroncok.cz> Co-authored-by: Ofek Lev <ofekmeister@gmail.com> Co-authored-by: Kumar Aditya <kumaraditya@python.org>
ofek
mentioned this pull request
Merged