Releases: P403n1x87/echion
Releases · P403n1x87/echion
v0.3.5
What's Changed
- perf: interpreter state field read by @P403n1x87 in #123
- fix: undefined behavior on
python_stackby using unsigned types with underflow check by @taegyunkim in #124 - fix: check for null chunk ptr by @taegyunkim in #127
- refactor: use std::vector instead of unique_ptr with custom deleter by @taegyunkim in #126
- chore: link .clang-format to to project root by @taegyunkim in #129
- fix: use std::string::data() instead of c_str() by @taegyunkim in #131
Full Changelog: v0.3.4...v0.3.5
v0.3.4
What's Changed
- Upgrades tools used in ci by @taegyunkim in #69
- fix: ensure threads are always untracked by @P403n1x87 in #70
- chore: remove unused functions by @taegyunkim in #72
- ci: attempts to reduce test flakiness by @taegyunkim in #71
- feat: python 3.13 support by @taegyunkim in #68
- refactor: use homogeneous interface for 3.13 by @P403n1x87 in #73
- Add
pylong_to_llong()by @taegyunkim in #75 - Add preprocessor checks for UNWIND_NATIVE_DISABLE by @taegyunkim in #76
- Add a
safe_copy()alternative for linux usingwritev()by @taegyunkim in #79 - Add setters for pid and cpu by @taegyunkim in #77
- refactor: use datastack chunks by @P403n1x87 in #74
- ci: collect and upload profiles by @P403n1x87 in #82
- fix: track main thread only if missing by @P403n1x87 in #83
- fix: traverse
prevandnexttstates even if current one is skipped by @taegyunkim in #86 - use different variables for max cache entry and max frame depth to unwind by @taegyunkim in #84
- feat: new config flag to control unwinding behavior by @taegyunkim in #87
- fix: copy code object only when cache miss by @taegyunkim in #92
- fix: CPython 3.13+ resolves frame addresses using stack_chunk by @taegyunkim in #88
- refactor: split frame.h into frame.h and frame.cc by @taegyunkim in #93
- fix: use return false instead of -1 by @taegyunkim in #94
- feat: renderer interface by @taegyunkim in #67
- refactor: fix compile errors when used from ddtrace by @taegyunkim in #96
- refactor: fix compile errors when used from ddtrace with 3.13 by @taegyunkim in #97
- refactor: open /proc/stat file once by @P403n1x87 in #81
- Add a cformat-script and apply fixups by @sanchda in #101
- perf: re-use stackchunk buffer as much as possible by @taegyunkim in #102
- chore: ignore .cursor/ directory by @taegyunkim in #103
- fix: increment count only when frame was successfully created and pushed by @taegyunkim in #104
- fix: set origin pointer to make stackchunk useful again by @taegyunkim in #106
- use a sigtrap-based memory reader by @sanchda in #98
- Revert "use a sigtrap-based memory reader" by @taegyunkim in #107
- fix: 3.11 and 3.12 uses datastack chunk for frame address resolution by @taegyunkim in #105
- perf: use cpuclockid in favor of procfs for
is_running()by @sanchda in #99 - chore: update supported versions by @taegyunkim in #111
- fix: proper asyncio CPU time accounting by @P403n1x87 in #110
- fix: use larger mojo reference key by @P403n1x87 in #114
- tests: make memory test faster by @P403n1x87 in #115
- fix(asyncio): link tasks before calling gather by @P403n1x87 in #116
- chore: make string table thread-safe by @P403n1x87 in #118
- feat: add gevent support by @P403n1x87 in #108
- refactor: retain task metadata by @P403n1x87 in #117
- fix: honour ignore_non_running_threads by @P403n1x87 in #119
- chore: upgrade and pin actions by @taegyunkim in #121
- ci: artifact download in wheel release job by @P403n1x87 in #122
New Contributors
- @taegyunkim made their first contribution in #69
Full Changelog: v0.3.3...v0.3.4
v0.3.3
v0.3.2
What's Changed
- ci: use latest cibuildwheel v2 version by @P403n1x87 in #64
Full Changelog: v0.3.1...v0.3.2
v0.3.1
v0.3.0
What's Changed
- feat: add sub-interpreters support by @P403n1x87 in #52
- feat!: switch to MOJO output by @P403n1x87 in #57
- feat: memory profiling by @P403n1x87 in #58
- feat: handle interval units by @P403n1x87 in #59
New Contributors
Full Changelog: v0.2.0...v0.3.0
v0.2.0
What's Changed
- feat: attach to running process by @P403n1x87 in #6
- feat: add Python 3.12 support by @P403n1x87 in #11
- fix: memory leak in Python bytes object retrieval by @P403n1x87 in #18
- fix: race condition on stop by @P403n1x87 in #23
- fix: line table overflow by @P403n1x87 in #43
- fix: CPU clock ID retrieval on Linux by @P403n1x87 in #44
- fix: manage global variables lifetime by @P403n1x87 in #45
- fix: ensure named pipes are cleaned up by @P403n1x87 in #47
- fix: where mode named pipe permissions by @P403n1x87 in #48
Full Changelog: v0.1.0...v0.2.0