Skip to content

Latest commit

 

History

History
154 lines (115 loc) · 9.04 KB

CHANGELOG.md

File metadata and controls

154 lines (115 loc) · 9.04 KB

Release notes are now being hosted in Github Releases: https://github.com/benfred/py-spy/releases

v0.3.11

  • Update dependencies #463, #457
  • Warn about SYS_PTRACE when running in docker #459
  • Fix spelling mistakes #453

v0.3.10

  • Add support for profiling Python v3.10 #425
  • Fix issue with native profiling on Linux with Anaconda #447

v0.3.9

  • Add a subcommand to generate shell completions #427
  • Allow attaching co_firstlineno to frame name #428
  • Fix speedscope time interval #434
  • Fix profiling on FreeBSD #431
  • Use GitHub actions for FreeBSD CI #433

v0.3.8

  • Add wheels for Apple Silicon #419
  • Add --gil and --idle options to top view #406
  • Fix errors parsing python binaries #407
  • Specify timeunit in speedscope profiles #294

v0.3.7

  • Fix error that sometimes left the profiled program suspended #390
  • Documentation fixes for README #391, #393

v0.3.6

  • Fix profiling inside a venv on windows #216
  • Detect GIL on Python 3.9.3+, 3.8.9+ #375
  • Fix getting thread names on python 3.9 #387
  • Fix getting thread names on ARMv7 #388
  • Add python integration tests, and test wheels across a range of different python versions #378
  • Automatically add tests for new versions of python #379

v0.3.5

  • Handle case where linux kernel is compiled without process_vm_readv support #22
  • Handle case where /proc/self/ns/mnt is missing #326
  • Allow attaching to processes where the python binary has been deleted #109
  • Make '--output' optional #229
  • Add --full-filenames to allow showing full Python filenames #363
  • Count "samples" as the number of recorded stacks (per thread) #365
  • Exit with an error if --gil but we failed to get necessary addrs/offsets #361
  • Include command/options used to run py-spy in flamegraph output #293
  • GIL Detection fixes for python 3.9.2/3.8.8 #362
  • Move to Github Actions for CI

v0.3.4

  • Build armv7/aarch64 wheels #328
  • Detect GIL on Python 3.9 / 3.7.7+ / 3.8.2+
  • Add option for more verbose local variables #287
  • Fix issues with profiling subprocesses #265
  • Include python thread names in record #237
  • Fix issue with threadids triggering differential flamegraphs #234

v0.3.3

  • Change to display stdout/stderr from profiled child process #217
  • Fix memory leak on OSX #227
  • Fix panic on dump --locals #224
  • Fix cross container short filename generation #220

v0.3.2

  • Fix line numbers on python 3.8+ #190
  • Fix profiling pyinstaller binaries on OSX #207
  • Support getting GIL from Python 3.8.1/3.7.6/3.7.5 #211

v0.3.1

  • Fix ptrace errors on linux kernel older than v4.7 #83
  • Fix for profiling docker containers from host os #199
  • Fix for speedscope profiles aggregated by function name #201
  • Use symbols from dynsym table of ELF binaries #191

v0.3.0

  • Add ability to profile subprocesses #124
  • Fix overflow issue with linux symbolication #183
  • Fixes for printing local variables #180

v0.2.2

  • Add ability to show local variables when dumping out stack traces #77
  • Show python thread names in dump #47
  • Fix issues with profiling python hosted by .NET exe #171

v0.2.1

  • Fix issue with profiling dockerized process from the host os #168

v0.2.0

  • Add ability to profile native python extensions #2
  • Add FreeBSD support #112
  • Relicense to MIT #163
  • Add option to write out Speedscope files #115
  • Add option to output raw call stack data #35
  • Get thread idle status from OS #92
  • Add 'unlimited' default option for the duration #93
  • Allow use as a library by other rust programs #110
  • Show OS threadids in dump #57
  • Drop root permissions when starting new process #116
  • Support building for ARM processors #89
  • Python 3.8 compatibility
  • Fix issues profiling functions with more than 4000 lines #164

v0.1.11

  • Fix to detect GIL status on Python 3.7+ #104
  • Generate flamegraphs without perl (using Inferno) #38
  • Use irregular sampling interval to avoid incorrect results #94
  • Detect python packages when generating short filenames #75
  • Fix issue with finding interpreter with Python 3.7 and 32bit Linux #101
  • Detect "v2.7.15+" as a valid version string #81
  • Fix to cleanup venv after failing to build with setup.py #69

v0.1.10

  • Fix running py-spy inside a docker container #68

v0.1.9

  • Fix partial stack traces from showing up, by pausing process while collecting samples #56. Also add a --nonblocking option to use previous behaviour of not stopping process.
  • Allow sampling process running in a docker container from the host OS #49
  • Allow collecting data for flame graph until interrupted with Control-C #21
  • Support 'legacy' strings in python 3 #64

v0.1.8

  • Support profiling pyinstaller binaries #42
  • Add fallback when failing to find exe in memory maps #40

v0.1.7

  • Console viewer improvements for Windows 7 #37

v0.1.6

  • Warn if we can't sample fast enough #33
  • Support embedded python interpreters like UWSGI #25
  • Better error message when failing with 32-bit python on windows

v0.1.5

  • Use musl libc for linux wheels #5
  • Fix for OSX python built with '--enable-framework' #15
  • Fix for running on Centos7

v0.1.4

  • Initial public release