All Versions
Latest Version
Avg Release Cycle
101 days
Latest Release
1500 days ago

Changelog History
Page 1

  • v1.4.1 Changes

    May 15, 2020
    • ๐Ÿ›  Fix compiling on older versions of gcc that do not default to c99 (Charlie Savage)
  • v1.4.0 Changes

    May 13, 2020
    • ๐Ÿ”€ API change - remove merge_fibers support since it resulted in incorrect results or crashes (Charlie Savage)
    • ๐Ÿ›  Fix crash when profiling memory usage (Charlie Savage)
    • ๐Ÿ–จ When tracing execution correctly print out newobj tracepoint events (Charlie Savage)
    • โœ‚ Remove no longer needed code for building extensions (Charlie Savage)
  • v1.3.2 Changes

    April 19, 2020
    • ๐Ÿ›  Fix rack profiler so it is thread safe (Charlie Savage)
    • ๐Ÿ›  Fix loading of prebuilt binaries on mingw64 to use Ruby's major and minor version (Charlie Savage)
  • v1.3.1 Changes

    March 11, 2020
    • Add max_percent and filter_by options to flat printer (Sean McGivern)
    • ๐Ÿ— Include binary in mingw64 build (Charlie Savage)
  • v1.3.0 Changes

    February 22, 2020
    • โšก๏ธ Update C code to use newer RTypedData API versus older RData API.
    • ๐Ÿ—„ Update C code to use rb_cObject versus the older, deprecated, rb_cData.
    • โšก๏ธ Update memory management - CallInfo's now keep alive their owning Profile instances. Fixes crashes that could happen in rare instances.
  • v1.2.0 Changes

    January 23, 2020
    • ๐Ÿ›  Fix call stack printer broken in version 1.0.0 (Charlie Savage)
    • ๐Ÿ’Ž Ruby 2.7.0 support (Charlie Savage)
    • ๐Ÿ Switch to Windows high precision timer for measuring wall time (Charlie Savage)
    • ๐Ÿ’Ž Much better support for reverse call trees - if you start RubyProf at the bottom of a call tree it will correctly calculate times as it ascends the tree (Charlie Savage)
    • ๐ŸŽ Port AggregateCallInfo from Ruby to C to increase performance
    • API change - CallInfo has been renamed CallTree
    • ๐Ÿ›  Fix crashes on Ruby 2.4.*
  • v1.1.0 Changes

    October 17, 2019

    ๐Ÿ”„ Changes

    • ๐Ÿ”€ Reimplement merge_fibers (Charlie Savage)
    • ๐Ÿ›  Fix crash caused by threads being freed when profiles are freed (Charlie Savage)
  • v1.0.0 Changes

    July 29, 2019

    ๐Ÿ‘€ ruby-prof's development stretches all the way back to 2005. Fourteen years later, it seems time for version 1.0! ๐Ÿ”– Version 1.0 is a significant update that greatly improves the internals of ruby-prof and adds a number of improvements.

    ๐Ÿ”„ Changes (Charlie Savage):

    • Profiling is significantly faster - 5x in some cases
    • Recursive profiles are finally handled correctly. Yeah!!!
    • Redesigned reports (Chirs Whitefield)
    • ๐Ÿ†• New documentation website (
    • ๐Ÿ’Ž The ability to measure allocations and memory usage using a standard (unpatched) version of ruby
    • The ability to save and reload profiling results for later analysis
    • The ability track object allocations

    ๐Ÿšš At the same time, it was also time to remove old code and deprecated methods. These changes include (Charlie Savage):

    • โฌ‡๏ธ Drop support for old versions of ruby. Currently 2.4 and up are required.
    • โœ‚ Remove support for method elimination (instead use method exclusion).
    • Remove the CPU_TIME measurement mode since it duplicates the PROCESS_TIME mode and required inline assembly code
    • Remove the GC_TIME and GC_RUNS measurement modes since they required patched ruby versions. In modern ruby it is possible to reimplement this functionality, but it does not seem of that much value (shout out if you want it back).
    • ๐Ÿ”€ Merge the RubyProf::FlatPrinterWithLineNumbers printer into RubyProf::FlatPrinter.
    • Removed support for RUBY_PROF_EDITOR_URI environment variable that specified the link scheme. This features was more confusing then helpful.
  • v0.18.0 Changes

    May 27, 2019

    ๐Ÿ›  Fixes

    • ๐Ÿ›  Fix grouping by thread/fiber (Charlie Savage)
    • ๐Ÿ›  Fix include/exclude thread checking (Charlie Savage)
    • ๐Ÿ›  Fix failing tests (Charlie Savage)
    • Fix grouping by thread_id and fiber_id (Charlie Savage)
    • โšก๏ธ Update Visual Studio solution to 2019 (Charlie Savage)
    • ๐Ÿ–จ Adjust AbstractPrinter#editor_uri so it's possible to disable uri (Maciek Dubiล„ski)-
    • ๐Ÿ›  Fix -X/--exclude-file option not working (John Lindgren)
    • Different directory for middleware output in readme (Aldric Giacomoni)
    • ๐Ÿ›  Fixing spelling mistakes and typos (David Kennedy and Roger Pack)
    • โž• Add "allow_exceptions" option to Profile (Ryan Duryea)
    • โšก๏ธ Update readme (Jan Piotrowski, Nathan Seither, victor-am)
    • โšก๏ธ Travis updates (Niocals Leger and Charlie Savage)
    • Fix NewRelic module detection in exclude_common_methods! (Ben Hughes)
  • v0.17.0 Changes

    December 17, 2017