All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.11.21 - 2024-08-03
- Support for combined stack + ustack DTrace collapse. #328
- Trim executable name when getting function color. #329
0.11.20 - 2024-07-14
- More reliably detect Java and avoid double-annotating. #319
- Take period into account when collapsing stacks. #319
- Updated dashmap to v6
- MSRV (sadly) bumped to 1.71.0 for env_logger and clap and dashmap
0.11.19 - 2023-11-25
- By default, make
cargo install
strip all binaries. #310
0.11.18 - 2023-11-11
- Updated ahash version in Cargo.lock for binary consumers. See tkaitchuck/aHash#163.
0.11.17 - 2023-09-16
- Added collapse-ghcprof. #300
0.11.16 - 2023-08-20
- Added stackcollapse-recursive. #291
- Upgraded indexmap and libflate to 2.0.
0.11.15 - 2023-02-11
- Updated to clap
v4
, which bumped MSRV to 1.64.0. #267 - Updated to
env_logger 0.10
. #281 cargo update
- Removed the dependency on
num_cpus
in favor ofstd::thread::available_parallelism
. #279 - Removed the dependency on
atty
in favor ofis_terminal
. #280
0.11.14 - 2023-01-21
- Add flag
--base
to filter flamegraphs to only frames at or below a particular set of base frames. #274
0.11.13 - 2022-12-03
- Add flag
--uicolor
to specify the color to draw UI element text, like the Reset view button. #271
- Updated
ahash
to version 0.8 - Updated
quick-xml
to version 0.26 - Bumped
clap
to 3.2.0
0.11.12 - 2022-10-24
- Improved initial render and resize speed for large flamegraphs when a fixed-width (monospace) font is used. #262
- Changed default font of flame graphs to browser's default monospace font to take advantage of this speedup. #262
0.11.11 - 2022.10-16
- Add Python language palette. #240
0.11.10 - 2022-10-10
- Update particularly-old dependencies.
0.11.9 - 2022-09-28
- Reverted an internal cleanup from 0.11.8 to fix compilation. #265
0.11.8 - 2022-09-27
- Revert broken Firefox canvas height computation change. #263
0.11.7 - 2022-07-26
- Ability to set a stroke outline on frames. #255
- Improved text positioning for right-aligned text. #254
0.11.6 - 2022-06-22
- Don't quote generic font families in CSS. #252
0.11.5 - 2022-06-18
- Moved from
lazy_static
toonce_cell
. #249
0.11.4 - 2022-05-28
- Fix for Firefox canvas height unpredictability. #242
- Update
quick-xml
to 0.23.
0.11.3 - 2022-05-08
- Fix handling of blank and comment lines in collapsed files. #239
0.11.2 - 2022-04-24
- Add collapser for Visual Studio profiler. #218
0.11.1 - 2022-03-18
- Highlight external NodeJS dependencies. #234
0.11.0 - 2022-03-03
- Allowed
--skip-after
to appear multiple times. #231 - Replaces yanked
0.10.13
as the above change is backwards-incompatible.
0.10.12 - 2022-02-12
- Re-bump dashmap
0.10.11 - 2022-02-05
- Undo dashmap bump since 5.0.0 was yanked
0.10.10 - 2022-01-10
- Bumped various internal dependencies (notably dashmap and clap)
0.10.9 - 2021-12-18
collapse-perf
gained--skip-after
argument. #224
- Frame skipping will also skip the process frame. #224
0.10.8 - 2021-11-02
- Setting for skipping frames prior to a known frame. #222
0.10.7 - 2021-09-01
- Upgraded internal dependencies. #216
0.10.6 - 2021-05-25
- Highlight Rust async/await as user code. #213
0.10.5 - 2021-05-05
- Add Rust language palette. #211
0.10.4 - 2021-05-04
- Use number of samples instead of fractions for width/x calculations. #210
- Bumped
pretty_assertions
to 0.7 - Bumped
rand
to 0.8
0.10.3 - 2021-01-08
- Support jit annotations in collapse-perf for runtimes using the jitdump format. #202
- Decreased default minimum width from 0.1% to 0.01%. #204
- Detect if STDOUT is a TTY and if it's not, use a
BufWriter
to avoid line buffering. #206
0.10.2 - 2020-11-30
- Support for invalid utf8 data in collapse. #196
- Bumped
ahash
to 0.6- Caused a bump of minimum supported Rust version to 1.43
- Bumped
crossbeam-channel
to 0.5 - Bumped
crossbeam-utils
to 0.8 - Bumped
env-logger
to 0.8 - Bumped
quick-xml
to 0.20
0.10.1 - 2020-10-05
- Support kernel annotations for versioned vmlinux and kernel modules in collapse-perf. #182
- Support of AsyncProfiler generated stack trace in java palette. #183
--deterministic
for deterministic colors without weighting. #190
- Trimmed down a few unnecessary dependencies. #188
0.10.0 - 2020-06-20
- Flame chart mode. Flame charts put the passage of time on the x-axis instead of the alphabet. #125
cargo hack
to check that all features compile. #181
- All
Options
are now marked as#[non_exhaustive]
so that we can add options without making that a breaking change. This also makes feature-dependent fields (likefunc_nameattr
onflamegraph
) okay. Unfortunately, it also means that function record update syntax won't work any more (Options { ..., ..Default::default() }
). See rust-lang/rust#70564 (comment) for details. #181
0.9.9 - 2020-06-03
- In icicle/inverted mode, the details bar is now at the top where it can actually be seen. #177
0.9.8 - 2020-05-30
- Fixes a regression where anonymous namespaces would be pruned. #175
- Adds support for lambda expressions in curly braces in C++ function names. #175
0.9.7 - 2020-05-29
- Stop pruning
()
expressions in template position. #174
0.9.6 - 2020-05-07
- Support for combined event/stack lines. #168
0.9.5 - 2020-03-18
- Add a new color option, color diffusion, that makes wider frames redder. This visually draws the eye towards places that need optimization. #165 by @itamarst.
0.9.4 - 2020-02-02
0.9.3 - 2020-02-02
0.9.2 - 2020-01-30
- Replace
chashmap
withdashmap
(#155 by @koushiro) - Replace
fnv
withahash
(#155 by @koushiro) - Update some outdated dependencies (#155 by @koushiro)
- Upgrade MSRV to 1.40.0 (required by
dashmap
) (#155 by @koushiro)
0.9.1 - 2019-10-31
- Support for collapsing the CSV output of the VTune
amplxe-cl
tool (#148 by @jasonrhansen).
- The
sample
collapser now returns errors where it used to just log them in places where it doesn't make sense to continue.
0.9.0 - 2019-09-11
- Support for multi-threaded collapsing was moved behind the
multithreaded
feature flag which is on by default (#146). - The
structopt
dependency has been updated, which bumps the minimum supported Rust version to 1.36.0 (#145). - Support for nameattr files was moved behind the
nameattr
feature flag which is on by default (#147).
- The
demangle
option for collapsers; we instead rely on the sample generator to demangle names, and then just do some post-processing fixups for common issues (#144). - The dependency on
rand
. Reduces the footprint of the crate, and also makes the random color choices seeded by the same number each run (#146).
0.8.0 - 2019-07-24
- Changelog
- Support for collapsing the output of the
sample
tool on macOS (#133 by @jasonrhansen). - Multi-core stack collapsing for major speedups (#128 by @bcmyers).
- Support for "fluid drawing" of the SVG (#136 by @jasonrhansen).
- Make zoom and search part of browser history (#121 from @AnderEnder). This is a backport of brendangregg/FlameGraph#198 by @versable.
- The
--demangle
flag to collapsers for "re-doing" broken symbol demangling from DTrace or perf (#132 by @jasonrhansen). - Unit tests for semantic coloring. JavaScript: #129 by @jordins Java: #131 by @jkurian
- Cirrus CI for FreeBSD CI (#124 from @AnderEnder)
- Moved to
IndexMap
and FNV hashing (#127) - Moved CI to Azure DevOps Pipelines