benfred/py-spy
Sampling profiler for Python programs
23 Releases
Latest: 1mo ago
v0.4.2Latest
✨ 🚀 Features
- Add Python 3.14 support @benfred (#833)
- Add support for native extensions on linux aarch64 @tehrengruber (#779)
- Use Py\_Version symbol for detecting the python version @benfred (#835)
- Show backtrace on errors when RUST\_BACKTRACE=1 environment variable is set @benfred (#841)
🐛 🐛 Bug Fixes
- Fix getting symbols from OSX universal binaries @benfred (#843)
- Fix intermittent OSX CI errors @benfred (#842)
- Fix corrupted `subprocess` output @ravwojdyla (#832)
📦 🧰 Maintenance
- Minor code cleanups @benfred (#844)
- Set github actions workflow permissions @benfred (#840)
- Fix release drafter config @benfred (#839)
- Update dependencies @benfred (#838)
- Bump the github-actions group across 1 directory with 6 updates @[dependabot[bot]](https://github.com/apps/dependabot) (#836)
- fix: make build and cargo clippy happy @yihong0618 (#795)
- Bump the github-actions group with 2 updates @[dependabot[bot]](https://github.com/apps/dependabot) (#798)
v0.4.1
✨ 🚀 Features
- Add support for native extensions on ARM (for linux) by @huonw (#330)
- Add support for displaying numpy scalars by @peytondmurray (#752)
- make remoteprocess unwind feature optional by @pavelzw (#768)
- Update pyproject.toml to support installing with latest uv by @l1n (#739)
- Check "version", new name of "Py_GetVersion.version" since 3.12 by @tbodt (#747)
- Allow specifying the `--pid` commandline option as hex by @benfred (#786)
- Suggest visiting https://ui.perfetto.dev/ to view chrome traces by @ogrisel (#738)
🐛 🐛 Bug Fixes
- Don't include undef sym refs when building map of symbol definitions by @andrewjcg (#629)
- Fix profiling on windows with python3.12 by @benfred (#774)
- Fix native stack merging for Python 3.12/3.13 by @krfricke (#751)
- Avoid break string inside unicode char when formatting by @tespent (#767)
- Do not fail sampling completely if a single thread dies before sampling by @I-Al-Istannen (#771)
- fix panic with Python 3.13 shim frames by @karolinepauls (#787)
- fix test_negative_linenumber_increment assertion for py>=3.12 by @karolinepauls (#788)
- fix stack trace fetching on 32-bit cpython 3.12 and 3.13 by @skrap (#773)
- + 5 more
📝 📄 Documentation
- docs: use debug ephemeral containers by @duhow (#769)
📦 🧰 Maintenance
- Test aarch64 in github actions by @benfred (#775)
- Update dependencies by @benfred (#792)
- test gil on windows by @benfred (#793)
- Keep GitHub Actions up to date with GitHub's Dependabot by @cclauss (#723)
- Bump crossbeam-channel from 0.5.13 to 0.5.15 by @dependabot (#776)
- Bump the github-actions group with 5 updates by @dependabot (#777)
v0.4.0
✨ 🚀 Features
- Python 3.13 Support @benfred (#708)
- Python 3.12 support @benfred (#642)
- Speed up --gil by skipping work for non-GIL threads @wmanley (#630)
- Detect GIL on python 3.12 @benfred (#713)
- Add custom error message for use of `--native` on unsupported platforms @zanieb (#700)
- Add support for UCS-2 strings @nariman (#648)
- Support facebook's cinder.3.8 Python fork @andrewjcg (#631)
- Add chrome trace format for recording samples @andrewjcg (#627)
- + 5 more
🐛 🐛 Bug Fixes
- Fix profiling when python symbols aren't available. @benfred (#718)
- Test Windows Wheels and Fix symbol address resolution on Windows @benfred (#543)
- test\_coredump: fix unaligned pointer dereference @karolinepauls (#657)
- Remove duplicated strings in ignore\_frame()::ignorable[] @jiangliu (#694)
- Fix bug introduced by commit 5820bf6a7ef56718284add709bc56cc7b8cb6c16 @jiangliu (#688)
- Fix error handling in sampler.rs @benfred (#645)
- Fix Python 3.11 native sampling @krfricke (#635)
- Handle trailing build metadata in Python version string @andrewjcg (#628)
- + 2 more
📝 📄 Documentation
- Document python 3.12/3.13 support @benfred (#720)
- Add libunwind dependency note to readme @zanieb (#695)
- document python 3.11 support @kurtbrose (#600)
📦 🧰 Maintenance
- Test macos py3.11 @benfred (#710)
- Update remoteprocess/proc-maps/goblin dependencies @benfred (#712)
- Upgrade from memmap to memmap2 @andrewjcg (#678)
- Update dependencies @zanieb (#704)
- Bump FreeBSD Rust toolchain from 1.73.0 to 1.80.1 @zanieb (#706)
- Move `.cargo/config` to undeprecated location @zanieb (#705)
- update\_python\_test\_versions fixes @benfred (#707)
- Use new musl cross build Docker images @zanieb (#702)
- + 18 more
v0.3.14
🐛 🐛 Bug Fixes
- Fix shell completions @benfred (#522)
v0.3.13
✨ 🚀 Features
- Python 3.11 support @benfred (#514)
🐛 🐛 Bug Fixes
- Fix panic when virtual memory maps are empty @benfred (#509)
📝 📄 Documentation
- README: add pointer to CLICOLOR @Phlogistique (#518)
📦 🧰 Maintenance
- Use anyhow instead of failure for errors @benfred (#511)
- Update dependencies @benfred (#510)
- Fix github actions build with the latest maturin @benfred (#508)
v0.3.12
✨ 🚀 Features
- Add a subprocesses option for the dump command @benfred (#492)
📝 📄 Documentation
- Add release-drafter workflow for generating release notes @benfred (#493)
📦 🧰 Maintenance
- Update clap dependency @benfred (#489)
- Update remoteprocess to v0.4.9 @benfred (#487)
- Update clap \& remoteprocess dependencies @benfred (#471)
- Re-enable freebsd CI @benfred (#465)
v0.3.11
📋 Changes
- Update dependencies [#463](https://github.com/benfred/py-spy/pull/463), [#457](https://github.com/benfred/py-spy/pull/463)
- Warn about SYS_PTRACE when running in docker [#459](https://github.com/benfred/py-spy/pull/459)
- Fix spelling mistakes [#453](https://github.com/benfred/py-spy/pull/453)
v0.3.10
📋 Changes
- Add support for profiling Python v3.10 [#425](https://github.com/benfred/py-spy/pull/425)
- Fix issue with native profiling on Linux with Anaconda [#447](https://github.com/benfred/py-spy/pull/447)
v0.3.9
📋 Changes
- Add a subcommand to generate shell completions [#427](https://github.com/benfred/py-spy/issues/427)
- Allow attaching co_firstlineno to frame name [#428](https://github.com/benfred/py-spy/issues/428)
- Fix speedscope time interval [#434](https://github.com/benfred/py-spy/issues/434)
- Fix profiling on FreeBSD [#431](https://github.com/benfred/py-spy/issues/431)
- Use GitHub actions for FreeBSD CI [#433](https://github.com/benfred/py-spy/issues/433)
v0.3.8
📋 Changes
- Add wheels for Apple Silicon [#419](https://github.com/benfred/py-spy/issues/419)
- Add --gil and --idle options to top view [#406](https://github.com/benfred/py-spy/issues/406)
- Fix errors parsing python binaries [#407](https://github.com/benfred/py-spy/issues/407)
- Specify timeunit in speedscope profiles [#294](https://github.com/benfred/py-spy/issues/294)
v0.3.7
📋 Changes
- Fix error that sometimes left the profiled program suspended [#390](https://github.com/benfred/py-spy/issues/390)
- Documentation fixes for README [#391](https://github.com/benfred/py-spy/issues/391), [#393](https://github.com/benfred/py-spy/issues/393)
v0.3.6
v0.3.5
v0.3.4
v0.3.3
v0.3.2
v0.3.1
v0.3.0
v0.2.2
v0.2.1
v0.2.0
v0.2.0.dev4
v0.2.0.dev3
