0.9.2
=======================
Make graphviz work on 1.8.6
roll back some 1.9.2 optimizations until I can figure out what caused them.

0.9.1
=======================
Add a graphviz output

0.9.0
=======================
* measurements for recursive methods are now correct
* gave up on splitting up recursive methods according to call depth
* made it possible to eliminate methods from profiling results
* new printer for call stack visualization
* new printer to print several profiles in one run
* HTML profiles contain Textmate links so you can jump to the source code easily
* producing an event log is now a runtime option

0.7.10 (2009-01-22)
=======================
* fix SEGFAULT in 1.9
* add new printer flat_printer_with_line_numbers

0.7.7 (2009-01-13)
======================
* "fix" multi threading support for 1.9 http://redmine.ruby-lang.org/issues/show/2012
* speedups

0.7.6 (2009-12-31)
======================
* fix some tests for 1.9 (no real code changes)

0.7.5 (2009-12)
========================
* fix a GC collection bug (nobu's patch).
* correctly report recursive call depths (Kevin Scaldeferri).
* sort methods on output (Kevin Scaldeferri).

0.7.3 (2008-12-09)
========================
* Fixed compile error with new x86_64 code using GCC.

0.7.2 (2008-12-08)
========================
* Fixed major bug in printing child methods in graph reports.

* Fixes for supporting x86_64 machines (Diego Pettenò)


0.7.1 (2008-11-28)
========================
* Added new AggregateCallInfo class for printers to
  make results easier to read.  Take this call sequence
  for example:

   A   B   C
   |   |   |
   Z   A   A
       |   |
       Z   Z

  By default, ruby-prof will show that Z was called by 3 separate
  instances of A.  In an IDE that is helpful but in a text report
  it is not since it makes the report much harder to read.
  As a result, printers now aggregate together callers (and children),
  matching ruby-prof's output from versions prior to 0.7.0.

* Fixes for supporting x86_64 machines (Matt Sanford)


0.7.0 (2008-11-04)
========================

Features
--------
* Added two new methods - RubyProf.resume and RubyProf.pause.
  RubyProf.resume takes an optional block, which ensures that
  RubyProf.pause is called.  For example:

  10.times do |i|
    RubyProf.resume do
      # Some long process
    end
  end

  result = RubyProf.stop

* Added support for profiling tests that use Ruby's built-in
  unit test framework (ie, test derived from
  Test::Unit::TestCase).  To enable profiling simply add
  the following line of code to your test class:

    include RubyProf::Test

  By default, profiling results are written to the current
  processes working directory.  To change this, or other
  profiling options, simply modify the PROFILE_OPTIONS hash
  table as needed.

* Used the new support for profiling test cases to revamp
  the way that Rails profiling works.  For more information
  please refer to RubyProf's documentation.

* Keep track of call stack for each method to enable more
  powerful profile visualizations in Integrated Development
  Environments (Hin Boean, work supported by CodeGear).

* Expose measurements to Ruby (Jeremy Kemper).

* Add support for additional memory measurements modes in Ruby 1.9 (Jeremy Kemper).

* Add support for Lloyd Hilaiel's Ruby patch for measuring total heap size.
   See http://lloydforge.org/projects/ruby. (Jeremy Kemper).


Fixes
-------
* RubyProf.profile no longer crashes if an exception is
  thrown during a profiling run.

* Measure memory in fractional kilobytes rather than rounding down (Jeremy Kemper)


0.6.0 (2008-02-03)
========================

ruby-prof 0.6.0 adds support for Ruby 1.9 and memory profiling.

Features
--------
* Added support for ruby 1.9 (Shugo Maeda)
* Added support for outputting printer results to a String, Array or IO
  object (Michael Granger)
* Add new memory profiling mode.  Note this mode depends on a
  patched Ruby interpreter (Alexander Dymo)

Fixes
-------
* Improvements to GraphHtmlPrinter including updated documentation,
  fixes for min_time support, ability to specify templates using
  strings or filenames, and table layout fixes (Makoto Kuwata)
* Fixes to scaling factor for calltrees so that precision is not lost
  due to the conversion to doubles (Sylvain Joyeux)
* Changed constant ALLOCATED_OBJECTS to ALLOCATIONS in the C code to
  match the Ruby code (Sylvain Joyeux)
* Added support for calltree printer to ruby-prof binary script (Sylvain Joyeux)
* Fix support for the allocator measure mode to extconf.rb (Sylvain Joyeux)
* Honor measure mode when specified on the command line (Sylvain Joyeux)
* Sorting of methods by total time was incorrect (Dan Fitch, Charlie Savage)
* Fix ruby-prof to work with the latest version of GEMS (Alexander Dymo)
* Always define MEASURE_CPU_TIME and MEASURE_ALLOCATIONS in Ruby code, but
  set their values to nil if the functionality is not available.


0.5.2 (2007-07-19)
========================

ruby-prof 0.5.2 is a bug fix release.

Fixes
-------
* Include missing rails plugin


0.5.1 (2007-07-18)
========================

ruby-prof 0.5.1 is a bug fix and performance release.

Performance
--------
* Significantly reduced the number of thread lookups by
  caching the last executed thread.

Fixes
-------
* Properly escape method names in HTML reports
* Fix use of -m and --min-percent command line switches
* Default source file information to ruby_runtime#0 for c calls
* Moved rails_plugin to top level so it is more obvious
* Updated rails_plugin to write reports to the current
  Rails log directory
* Added additional tests


0.5.0 (2007-07-09)
========================

Features
--------
* Added support for timing multi-threaded applications
* Added support for 64 bit systems (patch from Diego 'Flameeyes' Petten)
* Added suport for outputting data in the format used by
  KCacheGrind (patch from Carl Shimer)
* Add filename and line numbers to call tree information (patch from Carl Shimer)
* Added Visual Studio 2005 project file.
* Added replace-progname switch, als rcov.
* Added better support for recursive methods
* Added better support for profiling Rails applications

Fixes
-------
* Fixes bug when the type of an attached object (singleton) is inherited
  from T_OBJECT as opposed to being a T_OBJECT (identified by Francis Cianfrocca)
* ruby-prof now works in IRB.
* Fix sort order in reports.
* Fixed rdoc compile error.
* Fix tabs in erb template for graph html report on windows.

0.4.1 (2006-06-26)
========================

Features
--------
* Added a RubyProf.running? method to indicate whether a profile is in progress.
* Added tgz and zip archives to release

Fixes
-------
* Duplicate method names are now allowed
* The documentation has been updated to show the correct API usage is RubyProf.stop not RubyProf.end


0.4.0 (2006-06-16)
========================
Features
--------
* added support for call graphs
* added support for printers.  Currently there is a FlatPrinter,
  GraphPrinter and GraphHtmlPrinter.
* added support for recursive methods
* added Windows support
* now packaged as a RubyGem

Fixes
-------
* Fixes bug where RubyProf would crash depending on the
  way it was invoked - for example, it did not run when
  used with Arachno Ruby's customized version of Ruby.
