v0.3.0
Stackpulse 0.3.0 makes perf attachment transactional, generation-safe, and more faithful to Linux perf while reducing duplicated lifecycle state.
Fixed
- Output rings retain a live poll anchor after their original owner exits.
- Ring sizing uses the runtime page size.
- Stop/resume failures and rollback errors are propagated without losing raw errno.
- Hardware, kernel, and inheritance fallbacks are limited to the exact syscall errors they can recover from.
- Reattaching the same process generation is idempotent, and process snapshots reject PID-reuse races.
- Thread-directory errors are propagated instead of producing partial snapshots.
Changed
- ELF parse errors preserve the affected path and original parser source chain.
- Perf event and output-ring state use one canonical representation per role.
- Duplicated Python-runtime predicates and stale live-recording benchmark helpers were removed.