pystack 1.7.0 (2026-07-09)
Features
- Replace Cython with nanobind for Python bindings, improving performance by eliminating round-trips between Python and C++. (#272)
- Add support for Python subinterpreters. When a process uses multiple interpreters (e.g. via Python 3.14's
concurrent.interpretersmodule), stacks for all interpreters are now reported instead of just the main one. (#279) - Python 3.15 is now supported. The wheels are not yet published because the ABI is not yet frozen. (#289)
- PyStack is now built against elfutils 0.195, up from 0.193. (#315)
Bug Fixes
- Fix compatibility with the Python 3.14 JIT compiler. (#277)
- Fix native mode stacks for Python 3.14's LLVM-generated
*_TAIL_CALL_*frames. (#277) - Fix
IndexErrorin traceback formatting when the source file has fewer lines than expected. (#191) - Fix an extra blank line sometimes being printed in the middle of a traceback. (#298)
New Contributors
- @scopreon made their first contribution in #278
- @peytondmurray made their first contribution in #294
- @haswee made their first contribution in #298
- @kiri11 made their first contribution in #305
- @c-tonneslan made their first contribution in #309
- @suiiibhit made their first contribution in #306
- @Abdur-rahmaanJ made their first contribution in #301
- @nitinryali made their first contribution in #297
- @mbmtbtbc made their first contribution in #315
Full Changelog: v1.6.0...v1.7.0