0.9.2 - Fixed file comparison in Windows platform. - Added setter methods to Breakpoint properties - Added breakpoint hit condition functionality (not available via CLI yet) and methods: Breakpoint:hit_count Breakpoint:hit_value[=] Breakpoint:hit_condition[=] 0.9.1 - Fixed incorrect stack calculation. - Context#stop_next= method aliased as Context#step. - Added the 'force' parameter to Context#step_over. - Added the 'force' parameter to Context#step. - 'next+/step+' commands forces to move to another line - Added a new 'forcestep' setting. 0.9 - Kernel#debugger method will start the debugger if it's not running. - Added Context#stop_reason method. - Calling a method with a block will create a new frame. This changes the behavior of 'next' command. So in order to step into a block, 'step' command must be used. That fixes bug #9629. - Added the possibility to add a temporary context-specific breakpoint. Context#breakpoint and Context#set_breakpoint methods are added. - 'cont' command now accepts a numerical parameter which implements 'Continue until line' behavior. - Added new Context.frame_class method - Added new 'framefullpath' setting. - Added new 'frameclassname' setting. - All Ruby's 'eval' and require/load methods create a new frame. Fixes bug #9686. 0.8.1 - Added a shortcut module 'debugger'. require "ruby-debug/debugger" will start the debugger and stop at the next line (similar to require 'debug'). - Fixed remote debugging. 0.8 - Extract the base debugger API into a separate gem (ruby-debug-base), so it will be easier to add a new interface. - Added 'set autoirb' setting. - Bugfixes. 0.7.5 - Fixed 'reload on' command - 'reload on' command is removed in favor of 'set autoreload' - rdebug will evaluate ~/.rdebugrc script on startup 0.7.4 - Added a workaround of the Ruby interpreter problem where a method created with Module#define_method and which raises an exception doesn't trigger a :return event, this way screwing the stack trace. - Fixed a situation of an array 'out of bounds' access. - Fixed the help for 'where' command. 0.7.3 - Fixed a case when a frame is not popped up properly. - Removed Context.ignore= method, since it can result with the segmentation fault error. - Fixed the case when Context#suspend may effect the state of the thread on Context#resume - Fixed several cases of seg faults when accessing dyna_vars structure. 0.7.2 - Fixed Context#resume (a thread should be waked up only when it was running when it was suspended). - When handling post-mortem exception, all threads must be suspended. 0.7.1 - Fixed 'delete' command 0.7 - Eliminated explicit Frame object. Use Context.frame_[binding,file,line] instead. - Fixed help command. - Renamed Debugger.keep_frame_info to Debugger.keep_frame_binding - 'eval' command is available, even when keep_frame_binding is not used. - New 'set' command is available. 0.6.2 - Added thread lookup cache. - Control thread is always started by rdebug script. - Ability to specify negative frame number to frame commands. Patch from R. Bernstein. 0.6.1 - Another performance optimization. 0.6 - Added option to exclude collecting of frame bindings. - Several performance optimizations. 0.5.4 - Added -x/--trace option to rdebug script. Patch from R. Bernstein. - Removed a live thread reference from the context's structure avoiding memory leakage. 0.5.3 - Added Module#post_mortem_method method, which wraps any method with Debugger.post_mortem block. - Added breakpoint id, which is not dependent on the breakpoint position in Debugger.breakpoints array. 0.5.2 - Fixes interoperability problems with rspec. - Made 'exit' as an alias to 'quit' - Added 'restart' command. Patch from R. Bernstein. 0.5.1 - Bugfixes. 0.5 - Added post-mortem debugging - Added 'irb' command. 0.4.5 - Fixed debug_method when applied to setter. - Added 'reload' command which can be used to reload source code in case it's been changed. - Added Debugger.reload_source_on_change option (true, by default) which controls whether ruby-debug should keep track of the source files modification times and reload them if they've been changed. 0.4.4 - Renamed Context#set_suspend and Context#clear_suspend methods to Context#suspend and Context#resume respectively. - Context#resume method not only clears suspend flag, but also resumes the thread execution. - Bugfixes. 0.4.3 - Added Debugger.skip method which allows escaping a block from the debugger reach. - Bugfixes. 0.4.2 - Module#deubg_method added. - Added rdoc. - Bugfixes. 0.4.1 - New binding_n method for Kernel module. - Bugfixes. 0.4 - Debugger.start method takes a block. If a block is specified, this method starts debugger, yields to the block and stops debugger at the end. - 'tm[ate]' command accepts a frame number now. - 'list' command accepts on/off parameter which controls whether listing will be displayed on every stop. - 'eval on/off' controls the evaluation of unknown command. - Debugger reads readline history file .rdebug_hist at startup and saves it at exit. - 'sa[ve] ' command can be used to save current breackpoints and catchpoint if any - 'sc[ript] ' command can be used to run script file. Script files can contain only control commands. - rdebug script accepts '--script FILE' parameter. - thread commands are available for the control port. 0.3 (2006-08-07) - Renamed Debugger.start_server to Debugger.start_remote. - Debugger.start_remote activates debugger by calling Debugger.start. - Debugger.start_remote starts a control thread which listen on port 8990 and accepts control commands, such as adding/deleting breakpoints, assigning catchpoint, etc. (Useful for GUI integration) - New Debugger.wait_connection option. When it's true, Debugger.start_remote waits until a remote connection is made. - New Debugger.stop_on_connect option. When a remote connection is established, debugger stops the main thread (Thread.main). - 'interrupt' command is available for the control thread. 0.2.1 (2006-07-29) - 'f[rame] nn' command selects a numbered frame. Frame numbers can be obtained by running frame command without parameters. - 'l[ist] =' show code in the context of the current line. - 'tm[ate]' opens the current file in TextMate. Available only on Mac OSX. 0.2 (2006-07-17) - Added the remote debugging. It should be activated by calling Debugger#start_server method. - CHANGED: In order to activate the debugger, it's not enough to require 'ruby-debug'. Debugger#start method must be called explicitly. - Debugger used to evaluate anything you enter as long as it's not a command. Starting from this version the 'eval' command must be used to evaluate an expression. 0.1.5 (2006-07-13) - Now the check for a breakpoint uses base filename of the source file. - Removed compilation warnings when compiling with -Wall 0.1.4 (2006-07-12) - Remembers the previous command. Invoke it by typing a carriage return at the command prompt. 0.1.3 (2006-07-11) - Conditional breakpoints - Bugfixes 0.1.2 (2006-07-16) ======================== - Initial release.