- Fixed Django middleware so
PYINSTRUMENT_SHOW_CALLBACKis respected whenPYINSTRUMENT_PROFILE_DIRis configured, allowing profiles to be selectively written to disk (#452). - Fixed Jupyter’s
%%pyinstrumentmagic so console-specific render options, includingtime=percent_of_total,flat,short_mode,color, and Unicode settings, are correctly applied to text output (#446). - Fixed long program and command names overflowing the header in HTML reports. Long names now wrap cleanly (#449).
- Added context-manager type annotations so type checkers correctly infer profile as a Profiler in with Profiler() as profile: blocks (#445).
- Expanded wheel-building coverage to include CPython prereleases and GraalPy (#442).
- Replaced the deprecated vendored appdirs implementation with simpler internal platform-specific user-data-directory handling (#451).
- Updated build tooling and dependencies, including cibuildwheel and GitHub Actions.