Changelog¶ ↑
Unreleased¶ ↑
11.1.3 - 2020-04-23¶ ↑
Fixed¶ ↑
-
#674: crash when using byebug on ruby 2.7.0 on Windows.
11.1.2 - 2020-04-17¶ ↑
Fixed¶ ↑
-
#657: crash when hitting <TAB> due to IRB completion mechanism included in the default ruby 2.7 version of the
irbgem (@terceiro).
11.1.1 - 2020-01-24¶ ↑
Fixed¶ ↑
-
#635: usage on Fedora 31 or any other
byebuginstallation performed by arubygemscopy customized by settingGem.install_extension_in_libto false.
11.1.0 - 2020-01-20¶ ↑
Added¶ ↑
-
Official support for MRI 2.7 (@yui-knk).
Fixed¶ ↑
-
#562: post mortem mode landing in the wrong line when coming from an exception inside a
Kernel.loadcall.
Removed¶ ↑
-
Support for MRI 2.3.
Byebugno longer installs on this platform.
11.0.1 - 2019-03-18¶ ↑
Fixed¶ ↑
-
#546:
continue!to ignore furtherbyebugcalls. -
#545:
skipautolisting code for intermediate skipped breakpoints.
11.0.0 - 2019-02-15¶ ↑
Added¶ ↑
-
#377:
skipto continue until the next breakpoint as long as it is different from the current one. You can use this command to get out of loops, for example (@tacnoman). -
#524:
continue!(orcontinue unconditionally) to continue until the end of the program regardless of the currently enabled breakpoints (@tacnoman).
Fixed¶ ↑
-
#527:
breakhelp text to clarify placeholders from literals. -
#528:
quit!help to not show a space between “quit” and “!”.
Removed¶ ↑
-
Support for MRI 2.2.
Byebugno longer installs on this platform.
10.0.2 - 2018-03-30¶ ↑
Fixed¶ ↑
-
#447: Error when using byebug with
debasegem (@tzmfreedom).
10.0.1 - 2018-03-21¶ ↑
Fixed¶ ↑
-
#443: Error when using byebug with
debasegem (@tzmfreedom).
10.0.0 - 2018-01-26¶ ↑
Changed¶ ↑
-
Breaking on methods now stops on the first effective line of a method, not on the line containing the
defkeyword.
Added¶ ↑
-
#393: Show valid breakpoint locations when invalid location given (@ko1).
-
Log host & port when launching byebug’s client in remote mode.
-
#82: Some love & tests to remote debugging.
-
#141:
remote_byebugshortcut to start the most common case for remote debugging.
Fixed¶ ↑
-
#419: Properly ignore ruby fullpath executable when passed to byebug script.
-
#141: Remote server crash when interrupting client.
-
#274: Remote server crash when interrupting client.
-
#239: Control server thread being able to
interruptmain thread only a single time.
9.1.0 - 2017-08-22¶ ↑
Added¶ ↑
-
Better UI messages for breakpoint management.
Fixed¶ ↑
-
wherecommand failing on instance_exec block stack frames. -
#321:
restartcommand crashing in certain cases because of a missingrequire "English"(@akaneko3). -
#321:
restartcommand crashing when debugged script is not executable or has no shebang (@akaneko3).
Removed¶ ↑
-
Ruby 2.0 and Ruby 2.1 official & unofficial support.
Byebugno longer installs on these platforms.
9.0.6 - 2016-09-29¶ ↑
Fixed¶ ↑
-
#241: Error when using
byebugwith a ruby compiled against libedit. -
#277: Allow
Byebug.start_serverto yield the block passed to it when the actual port is already known (@cben). -
#275: Use a standard license name so it can be more reliably used by tools.
9.0.5 - 2016-05-28¶ ↑
Fixed¶ ↑
-
Error loading rc file when
ENV["HOME"]is unset.
9.0.4 - 2016-05-19¶ ↑
Fixed¶ ↑
-
Errors in rc file not being displayed to the user.
9.0.3 - 2016-05-16¶ ↑
Fixed¶ ↑
-
#256: Unfriendly output in byebug’s executable when no script specified.
-
Unfriendly output in byebug’s executable when script doesn’t exist.
-
Unfriendly output in byebug’s executable when script has invalid code.
9.0.2 - 2016-05-15¶ ↑
Fixed¶ ↑
9.0.1 - 2016-05-14¶ ↑
Fixed¶ ↑
-
#201:
quitnever exiting when remote debugging.
9.0.0 - 2016-05-11¶ ↑
Fixed¶ ↑
-
irbcommand unintentionally changing $PROGRAM_NAME. -
prycommand failing. -
Unrelated error message when using
prycommand and Pry not installed. -
#239: Interrupting program execution from remote control interface (@izaera).
Removed¶ ↑
-
Official Ruby 2.0.0 support.
var localno longer works in Ruby 2.0. The rest of the commands should still work as before, butbyebugis no longer tested against this version so they might start breaking in the future.
8.2.5 - 2016-04-27¶ ↑
Fixed¶ ↑
8.2.4 - 2016-04-08¶ ↑
Fixed¶ ↑
-
Reverts #211 which leads to an unusable debugger.
8.2.3 - 2016-04-07¶ ↑
Fixed¶ ↑
-
Better interaction with utilities like RSpec when hitting Ctrl-C.
-
#197:
irbcommand when original program modified ARGV (@josephks). -
#223: RC file loading when no explicit flag included.
-
#175: Installation on some Windows systems.
-
#226: Installation on some Windows systems.
8.2.2 - 2016-02-01¶ ↑
Fixed¶ ↑
-
Bug in rc file loading where most initialization commands would not be run.
8.2.1 - 2015-11-26¶ ↑
Fixed¶ ↑
-
Bug in evaluations using “eval”.
8.2.0 - 2015-11-12¶ ↑
Fixed¶ ↑
-
#184: Due to the way of running evaluations in a separate thread.
-
#188: Due to the way of running evaluations in a separate thread.
Added¶ ↑
-
debugcommand to evaluate things in a separate thread, since this behavior was removed from defaultevalto fix the above issues.
8.1.0 - 2015-11-09¶ ↑
Fixed¶ ↑
-
Command history should be specific per project.
-
Better error message in certain edge cases when printing the backtrace.
-
Bug in evaluator which would show information about having stopped at a breakpoint in some cases.
Added¶ ↑
-
Ability to autolist source code after
framecommand. -
Ability to stop at lines where methods return.
8.0.1 - 2015-11-07¶ ↑
Fixed¶ ↑
-
Error stream wouldn’t be properly reset when using standalone
byebug. -
Confusing error message for invalid breakpoint locations.
8.0.0 - 2015-11-05¶ ↑
Fixed¶ ↑
-
#183. Compilation in Ruby 2.0. Regression introduced in 7.0.0.
-
“Return value is: nil” would be displayed when stopping right before the end of a class definition. We want to avoid showing anything instead.
Changed¶ ↑
-
Plugins now need to implement an
at_endmethod (separate fromat_return) in their custom processors.
7.0.0 - 2015-11-04¶ ↑
Fixed¶ ↑
-
#177. Some issues with formatting results of evaluations.
-
#144. Ruby process after using byebug does no longer get slow.
-
#121.
byebugcommands inside code evaluated from debugger’s prompt are now properly working. -
Another evaluation bug in autocommands.
-
finish 0command would sometimes fail to stop right before exiting the current frame. -
Runner’s
--[no-]stopoption now works (@windwiny). -
Change variable name
bool, avoid conflict clang’s predefined macro.
Removed¶ ↑
-
pscommand.
Changed¶ ↑
-
#166. Don’t load the entire library on require, but only when a
byebugcall is issued (@bquorning). -
The above fix to the
finish 0command causebyebug‘s entrypoint to require 3 steps out instead of 2. In general, plugins usingByebug::Context.step_outwill need to be changed to consider “c return events” as well.
Added¶ ↑
-
autoprysetting that callspryon every stop. -
Return value information to debugger’s output when
finish 0is used.
6.0.2 - 2015-08-20¶ ↑
Fixed¶ ↑
-
The user should always be given back a prompt unless (s)he explicitly states the opposite. This provides a more general fix to the bug resolved in 6.0.1.
6.0.1 - 2015-08-19¶ ↑
Fixed¶ ↑
-
Bug in evaluation where the user would lose the command prompt when entering an expression with a syntax error.
6.0.0 - 2015-08-17¶ ↑
Removed¶ ↑
-
autoevalsetting. I haven’t heard of anyone setting it to false. -
pp,putl,eval. People just want to evaluate Ruby code, so the less magic the better. Most of the people probably were not aware thatbyebugwas overriding stuff likepporeval. Only keepingpsas the single “enhanced evaluation” command. -
verbosesetting. -
info catchcommand. Usecatchwithout arguments instead. -
Rcommand alias forrestart.
Changed¶ ↑
-
info argsis nowvar args. -
interruptis now aliased toint, not toi. -
API to define custom commands and subcommands (see the Command class).
Fixed¶ ↑
-
#140.
helpcommand not showing the list of available commands and their descriptions. -
#147. Setting breakpoints at symlinked files.
Added¶ ↑
-
API to define custom command processors (see the CommandProcessor class).
5.0.0 - 2015-05-18¶ ↑
Fixed¶ ↑
Added¶ ↑
-
IDE support and a new command/subcommand API for plugins.
-
Add a “savefile” setting holding the file where “save” command saves current debugger’s state.
Changed¶ ↑
-
disableno longer disable all breakpoints, it just shows command’s help instead. To disable all breakpoints now you need to dodisable breakpoints(ordis b). Similarly, you can’t no longer usedis 1 2 3but need to dodis b 1 2 3to disable specific breakpoints. The same applies to theenablecommand.
Removed¶ ↑
-
help set <setting>no longer works.help setincludes that same output and it’s not verbose enough so that this is a problem. Same withhelp show <setting>.
4.0.5 - 2015-04-02¶ ↑
Fixed¶ ↑
-
#131.
-
Thread commands help format should be consistent with the rest of the help system now.
4.0.4 - 2015-03-27¶ ↑
Fixed¶ ↑
-
#127.
4.0.3 - 2015-03-19¶ ↑
Fixed¶ ↑
-
Unused variable warning in
context.c.
4.0.2 - 2015-03-16¶ ↑
Fixed¶ ↑
-
#118. Remove
rb-readlineas a dependency and show a help message whenever requiringreadlinefails instead.
4.0.1 - 2015-03-13¶ ↑
Fixed¶ ↑
-
.yml files needed for printers support were missing from the release… :S
-
#118. Add
readlineas a dependency.
4.0.0 - 2015-03-13¶ ↑
Added¶ ↑
-
untracevarcommand that stops tracing a global variable. -
Window CI build through AppVeyor.
-
OSX CI build through Travis.
-
Style enforcement through RuboCop.
-
C style enforment using the
indentcommand line utility. -
Some remote debugging tests (@eric-hu).
-
Printer’s support (@astashov).
Changed¶ ↑
-
A lot of internal refactoring.
-
tracevarnow requires the full global variable name (with “$”). -
#92. The
catchcommand is not allowed in post_mortem mode anymore. It was not working anyways. -
#85.
stepis now more user friendly when used in combination withup. -
var constcan now be called without an argument and will show constants in the current scope. -
breakwith a class name now creates breakpoints regardless of class not being yet defined. If that’s the case, it gives a warning but the class is created anyways.
Fixed¶ ↑
-
Code reloading issues.
-
set fullpathwas not showing fullpaths. Now it is. -
#93:
up,downandframecommands now work in post_mortem mode. -
rc file (
.byebugrc) loading: invalid commands are just ignored instead of aborting, global (home) rc file is now properly loaded before project’s file. -
#93. Backtraces not working in
post_mortemmode. -
‘cmd1 ; cmd2 ; …; cmdN’ syntax which allows running several commands sequentially.
-
#101.
finishcommand not stopping at the correct line. -
#106.
breakwith namespaced class, likebreak A::B#cshould now work. -
Command history is now persisted before exiting byebug.
-
Setting breakpoint in a method would stop not only at the beginning of the method but also at the beginning of every block inside the method.
Removed¶ ↑
-
autoreloadsetting as it’s not necessary anymore. Code should always be up to date. -
reloadcommand for the same reason. -
Gem dependency on
debugger-linecache. -
step+,step-,next+,next-,set/show linetrace_plusandset/show forcestepcommands. These were all mechanisms to deal with TracePoint API event dupplication, but this duplicated events have been completely removed from the API since r48609, so they are no longer necessary. -
info filesubcommands:info file breakpoints,info file mtime,info file sha1,info file all. Now all information is listed underinfo file. -
testingsetting. It was just a hack to be able to testbyebug. Nobody was supposed to actually use it! -
var classcommand, just use Ruby (self.class.class_variables). -
pcommand, just useeval, or just type your expression andbyebugwill autoevaluate it. -
exitalias forquit.
3.5.1 - 2014-09-29¶ ↑
Fixed¶ ↑
-
#79. Windows installation.
-
conditioncommand not properly detecting invalid breakpoint ids.
3.5.0 - 2014-09-28¶ ↑
Fixed¶ ↑
-
#81. Byebug’s history messing up other programs using Readline.
-
Readline’s history not being properly saved and inmediately available.
-
User not being notified when trying to debug a non existent script.
Changed¶ ↑
-
Complete rewrite of byebug’s history.
-
Complete rewrite of list command.
-
Docs about stacktrace related commands (
up,down,frame,backtrace).
3.4.2 - 2014-09-26¶ ↑
Fixed¶ ↑
-
#67. Debugging commands invoked by ruby executable, as in
byebug -- ruby -Itest a_test.rb -n test_something.
3.4.1 - 2014-09-25¶ ↑
Fixed¶ ↑
-
#54. Use of threads inside
evalcommand. -
listcommand not listing backwards after reaching the end of the file.
3.4.0 - 2014-09-01¶ ↑
Fixed¶ ↑
-
deivid-rodriguez/pry-byebug#32 in a better way.
3.3.0 - 2014-08-28¶ ↑
Fixed¶ ↑
-
set verbosecommand. -
set post_mortem falsecommand. -
Debugger stopping in
byebug‘s internal frames in some cases. -
backtracecrashing whenfullpathsetting disabled and calculated stack size being smaller than the real one.
Changed¶ ↑
-
The
-toption forbin/byebugnow turns tracing on whereas the-xoption tells byebug to run the initialization file (.byebugrc) on startup. This is the default behaviour though. -
bin/byebuglibified and tests added.
Removed¶ ↑
-
info localscommand. Usevar localinstead. -
info instance_variablescommand. Usevar instanceinstead. -
info global_variablescommand. Usevar globalinstead. -
info variablescommand. Usevar allinstead. -
irbcommand stepping capabilities, see 8e226d0. -
scriptandrestart-scriptoptions forbin/byebug.
3.2.0 - 2014-08-02¶ ↑
Fixed¶ ↑
Removed¶ ↑
-
post_mortemactivation throughByebug.post_mortem. Useset post_morteminstead. -
info stackcommand. Usewhereinstead. -
method ivcommand. Usevar instanceinstead. -
#77. Warning.
3.1.2 - 2014-04-23¶ ↑
Fixed¶ ↑
-
post_mortemmode inbin/byebug(really). -
Line tracing in
bin/byebug.
3.1.1 - 2014-04-23¶ ↑
Fixed¶ ↑
-
post_mortemmode in bin/byebug.
3.1.0 - 2014-04-23¶ ↑
Removed¶ ↑
-
show commandscommand. Usehistoryinstead. -
Byebug.startaccepting options. Any program settings you want applied from the start should be set in.byebugrc. -
tracecommand. Useset linetracefor line tracing andtracevarfor global variable tracing. -
show versioncommand. Usebyebug --versionto check byebug’s version. -
set argsetting. Use therestartcommand instead.
Changed¶ ↑
-
linetrace_plussetting renamed totracing_plus.
Added¶ ↑
-
historycommand to check byebug’s history of previous commands.
3.0.0 - 2014-04-17¶ ↑
Fixed¶ ↑
-
Plain
byebugnot working whenpry-byebuginstalled. -
post_mortemmode. -
Command history not being saved after regular program termination.
-
#54. (Again) calling
Byebug.startwithTimeout.timeout(@zmoazeni).
Added¶ ↑
-
Allow disabling
post_mortemmode.
Changed¶ ↑
-
show commandscommand for listing history of previous commands now behaves like shell’shistorycommand. -
show/set history filenameis nowshow/set histfile. -
show/set history sizeis nowshow/set histsize. -
show/set history saveis nowshow/set autosave. -
finishsemantics, see 61f9b4d. -
Use per project history file by default.
Removed¶ ↑
-
The
initoption forByebug.start. Information to make therestartcommand work is always saved now.
2.7.0 - 2014-02-24¶ ↑
Fixed¶ ↑
-
#52.
IGNORED_FILESslowing down startup. -
#53. Calling
Byebug.startwithTimeout.timeout. -
#54. Calling
Byebug.startwithTimeout.timeout.
2.6.0 - 2014-02-08¶ ↑
Fixed¶ ↑
-
Circular dependency affecting
pry-byebug(@andreychernih).
2.5.0 - 2013-12-14¶ ↑
Added¶ ↑
-
Support for
sublime-debugger.
2.4.1 - 2013-12-05¶ ↑
Fixed¶ ↑
-
#40. Installation error in Mac OSX (@luislavena).
2.4.0 - 2013-12-02¶ ↑
Fixed¶ ↑
-
thread listshowing too many threads. -
Fix setting post mortem mode with
set post_mortem. Now this is the only post mortem functionality available as specifyingByebug.post_mortemwith a block has been removed in this version.
Added¶ ↑
-
(Again)
debuggeras an alias tobyebug(@wallace). -
-Roption forbin/byebugto specify server’s hostname:port for remote debugging (@mrkn).
Changed¶ ↑
-
Use
requireinstead ofrequire_relativefor loading byebug’s extension library (@nobu). -
trace variable $fooshould be nowtrace variable $foo.
2.3.1 - 2013-10-17¶ ↑
Fixed¶ ↑
-
Breakpoint removal.
-
Broken test suite.
2.3.0 - 2013-10-09¶ ↑
Added¶ ↑
-
Compatibility with Phusion Passenger Enterprise (@FooBarWidget).
Changed¶ ↑
-
More minimalist help system.
2.2.2 - 2013-09-25¶ ↑
Fixed¶ ↑
-
Compilation issue in 64 bit systems.
2.2.1 - 2013-09-24¶ ↑
Fixed¶ ↑
Changed¶ ↑
-
show/set stack_trace_on_erroris nowshow/set stack_on_error.
2.2.0 - 2013-09-22¶ ↑
Fixed¶ ↑
-
Stack size calculations.
-
Setting
post_mortemmode.
Added¶ ↑
-
verbosesetting for TracePoint API event inspection.
Changed¶ ↑
-
Warning free byebug.
-
Allow
edit <filename>without a line number.
2.1.1 - 2013-09-10¶ ↑
Fixed¶ ↑
-
Debugging code inside
-eRuby flag.
2.1.0 - 2013-09-08¶ ↑
Fixed¶ ↑
-
Remote debugging display.
-
evalcrashing when inspecting raised an exception (reported by @iblue).
Changed¶ ↑
-
enable breakpointsnow enables every breakpoint. -
disable breakpointsnow disables every breakpoint.
2.0.0 - 2013-08-30¶ ↑
Added¶ ↑
-
“Official” definition of a command API.
-
Thread support.
Removed¶ ↑
-
jumpcommand. It had never worked.
Changed¶ ↑
-
Several internal refactorings.
1.8.2 - 2013-08-16¶ ↑
Fixed¶ ↑
-
savecommand now saves the list ofdisplays. -
Stack size calculation.
Changed¶ ↑
-
More user friendly regexps for commands.
-
Better help for some commands.
1.8.1 - 2013-08-12¶ ↑
Fixed¶ ↑
-
Major regression introduced in 1.8.0.
1.8.0 - 2013-08-12¶ ↑
Added¶ ↑
-
Remote debugging support.
1.7.0 - 2013-08-03¶ ↑
Added¶ ↑
-
List command automatically called after callstack navigation commands.
-
C-frames specifically marked in the callstack.
-
C-frames skipped when navigating the callstack.
1.6.1 - 2013-07-10¶ ↑
Fixed¶ ↑
-
Windows compatibiliy: compilation and terminal width issues.
1.6.0 - 2013-07-10¶ ↑
Fixed¶ ↑
-
byebugplaced at the end of a block or method call not working as expected. -
autolistbeing applied when Ruby-eoption used.
Changed¶ ↑
-
Backtrace callstyles. Use
longfor detailed frames in callstack andshortfor more concise frames.
1.5.0 - 2013-06-21¶ ↑
Fixed¶ ↑
-
Incomplete backtraces when the debugger was not started at program startup.
1.4.2 - 2013-06-20¶ ↑
Fixed¶ ↑
-
help command subcommandcommand. -
Interaction with Rails Console debugging flag.
-
post_mortemmode when running byebug from the outset. -
no-quitflag when running byebug from the outset.
1.4.1 - 2013-06-15¶ ↑
Fixed¶ ↑
-
Crash when printing some filenames in backtraces.
-
Allow byebug developers to easily use compilers different from gcc (@GarthSnyder).
1.4.0 - 2013-06-05¶ ↑
Fixed¶ ↑
-
Memory leaks causing
byebugto randomly crash.
Changed¶ ↑
-
Use the Debug Inspector API for backtrace information.
1.3.1 - 2013-06-02¶ ↑
Fixed¶ ↑
-
Interaction with Rails debugging flag.
-
Crash when trying to print lines of code containing the character ‘%’.
-
basenameandlinetraceoptions not working together.
1.3.0 - 2013-05-25¶ ↑
Added¶ ↑
-
Support colon-delimited include paths in command-line front-end (@ender672).
1.2.0 - 2013-05-20¶ ↑
Fixed¶ ↑
-
Ctrl+C during command line editing (works like pry/irb).
Added¶ ↑
-
prycommand.
1.1.1 - 2013-05-07¶ ↑
Added¶ ↑
-
pry-byebugcompatibility.
Changed¶ ↑
-
Better help system.
-
Code cleanup.
1.1.0 - 2013-04-30¶ ↑
Added¶ ↑
-
Post Mortem support.
1.0.3 - 2013-04-23¶ ↑
Fixed¶ ↑
-
Negative line numbers shown by list command at the beginning of file.
-
backtracecommand segfaulting when trying to show info on some frame args. Don’t know the reason yet, but the exception is handled now and command does not segfault anymore.
Changed¶ ↑
-
autoreloadis set by default now. -
Try some thread support (not even close to usable).
1.0.2 - 2013-04-09¶ ↑
Fixed¶ ↑
-
backtraces messed up when using both
next/stepand backtrace navigation commands.
Changed¶ ↑
-
autolistandautoevalare default settings now.
1.0.1 - 2013-04-06¶ ↑
Fixed¶ ↑
-
Byebugnot loading properly.
1.0.0 - 2013-03-29¶ ↑
Fixed¶ ↑
-
Green test suite.
0.0.1 - 2013-03-18¶ ↑
Added¶ ↑
-
Initial release.