- Remove EOL Rubies: < 3.1 are no longer supported (use an earlier version of the gem if needed)
- Add ability to profile commands via CLI @fatkodima
- Adapts tests to Ruby 3.0 / 3.1
- Lazy report evaluation
- Tested under Truffle Ruby
- Added new CLI
ruby-memory-profiler
which can be used to profile scripts @fatkodima - Reduced memory usage when generating reports
- Some optimizations for Ruby 2.7
- Remove EOL Rubies: 2.3 and 2.4 are no longer supported (use an earlier version of the gem if needed)
- Pass 'normalize_path: true' to pretty_print to have locations stripped
- Improve number formatting
- remove support explicitly for all EOL rubies, 2.1 and 2.2
- frozen string literal comment @RST-J
- scale_bytes option @RST-J
- Correct bug under-reporting memory for large string allocation @sam
- Reduce memory needed for string allocation tracing @dgynn
- Use yield rather than block.call to reduce an allocation @dgynn
- Ensure string allocation locations sort consistently @dgynn
- Add better detection for stdlib "gems"
- Add options for pretty printer to customize report
- Add optional start/stop sematics to memory profiler api @nicklamuro @dgynn
- Improved class name detection for proxy objects, BasicObject objects, and other edge cases @inossidabile @Hamdiakoguz @dgynn
- FIX: pretty_print was failing under some conditions @vincentwoo
- FIX: if #class is somehow nil don't crash @vincentwoo
- Improved stability and performance @dgynn
- FIX: remove incorrect RVALUE offset on 2.2 @dgynn
- FEATURE: add total memory usage @dgynn
- Add class reporting
- Fix incorrect syntax in rescue clause
- This is quite stable, upping version to reflect
- Fixed bug where it would crash when location was nil for some reason
- Added compatibility with released version of Ruby 2.1.0
- Cleanup to use latest APIs available in 2.1.0
- Added string analysis