All notable changes to puffin
will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Introduce
StreamInfoRef
to avoid memory allocations. - Remove deprecated macros
profile_function_data
andprofile_scope_data
.
now_ns
now returns nanoseconds since unix epoch.- Make scope merging deterministic.
- Rewrite scope merging.
- Implement
Hash
onThreadInfo
.
- API change: split out new
FrameView
andGlobalFrameView
fromGlobalProfiler
.
- Remove profile scopes in serialization to avoid deadlock in
puffin_viewer
.
- Switch from lz4 to zstd compression for 50% file size and bandwidth reduction.
- Speed up
GlobalProfiler::new_frame
. - New
serialization
feature flag enables exporting and importing.puffin
files. This replaces the oldwith_serde
feature flag. - Add
GlobalProfiler::add_sink
for installing callbacks that are called each frame.
- Handle Windows, which uses backslash (
\
) as path separator.
- Add opt-in
serde
support.
- Remove stderr warning about empty frames.
GlobalProfiler
now store recent history and the slowest frames.