byebug 3.5.1 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -1
  3. data/.rubocop.yml +18 -1
  4. data/.travis.yml +21 -1
  5. data/CHANGELOG.md +356 -308
  6. data/CONTRIBUTING.md +31 -15
  7. data/GUIDE.md +859 -475
  8. data/Gemfile +8 -10
  9. data/LICENSE +1 -1
  10. data/README.md +41 -45
  11. data/Rakefile +30 -28
  12. data/byebug.gemspec +18 -18
  13. data/ext/byebug/breakpoint.c +88 -75
  14. data/ext/byebug/byebug.c +253 -252
  15. data/ext/byebug/byebug.h +53 -53
  16. data/ext/byebug/context.c +188 -159
  17. data/ext/byebug/extconf.rb +9 -6
  18. data/ext/byebug/locker.c +53 -11
  19. data/ext/byebug/threads.c +137 -39
  20. data/lib/byebug/attacher.rb +7 -2
  21. data/lib/byebug/breakpoint.rb +30 -0
  22. data/lib/byebug/command.rb +36 -32
  23. data/lib/byebug/commands/break.rb +49 -48
  24. data/lib/byebug/commands/catch.rb +64 -0
  25. data/lib/byebug/commands/condition.rb +13 -9
  26. data/lib/byebug/commands/continue.rb +8 -4
  27. data/lib/byebug/commands/delete.rb +10 -4
  28. data/lib/byebug/commands/display.rb +33 -25
  29. data/lib/byebug/commands/edit.rb +18 -13
  30. data/lib/byebug/commands/enable_disable.rb +26 -24
  31. data/lib/byebug/commands/eval.rb +77 -35
  32. data/lib/byebug/commands/finish.rb +9 -5
  33. data/lib/byebug/commands/frame.rb +66 -125
  34. data/lib/byebug/commands/help.rb +14 -21
  35. data/lib/byebug/commands/history.rb +5 -1
  36. data/lib/byebug/commands/info.rb +41 -106
  37. data/lib/byebug/commands/interrupt.rb +6 -2
  38. data/lib/byebug/commands/irb.rb +5 -2
  39. data/lib/byebug/commands/kill.rb +6 -2
  40. data/lib/byebug/commands/list.rb +21 -14
  41. data/lib/byebug/commands/method.rb +17 -9
  42. data/lib/byebug/commands/pry.rb +13 -3
  43. data/lib/byebug/commands/quit.rb +10 -5
  44. data/lib/byebug/commands/restart.rb +12 -19
  45. data/lib/byebug/commands/save.rb +10 -6
  46. data/lib/byebug/commands/set.rb +15 -14
  47. data/lib/byebug/commands/show.rb +8 -8
  48. data/lib/byebug/commands/source.rb +14 -8
  49. data/lib/byebug/commands/stepping.rb +15 -29
  50. data/lib/byebug/commands/threads.rb +73 -49
  51. data/lib/byebug/commands/tracevar.rb +56 -0
  52. data/lib/byebug/commands/undisplay.rb +8 -4
  53. data/lib/byebug/commands/untracevar.rb +38 -0
  54. data/lib/byebug/commands/var.rb +107 -0
  55. data/lib/byebug/context.rb +78 -42
  56. data/lib/byebug/core.rb +78 -40
  57. data/lib/byebug/helper.rb +58 -42
  58. data/lib/byebug/history.rb +12 -1
  59. data/lib/byebug/interface.rb +91 -11
  60. data/lib/byebug/interfaces/local_interface.rb +12 -19
  61. data/lib/byebug/interfaces/remote_interface.rb +12 -15
  62. data/lib/byebug/interfaces/script_interface.rb +14 -18
  63. data/lib/byebug/interfaces/test_interface.rb +54 -0
  64. data/lib/byebug/printers/base.rb +64 -0
  65. data/lib/byebug/printers/plain.rb +53 -0
  66. data/lib/byebug/processor.rb +20 -1
  67. data/lib/byebug/processors/command_processor.rb +57 -172
  68. data/lib/byebug/processors/control_command_processor.rb +16 -43
  69. data/lib/byebug/remote.rb +13 -7
  70. data/lib/byebug/runner.rb +102 -54
  71. data/lib/byebug/setting.rb +45 -68
  72. data/lib/byebug/settings/autoeval.rb +2 -0
  73. data/lib/byebug/settings/autoirb.rb +3 -0
  74. data/lib/byebug/settings/autolist.rb +3 -0
  75. data/lib/byebug/settings/autosave.rb +2 -0
  76. data/lib/byebug/settings/basename.rb +2 -0
  77. data/lib/byebug/settings/callstyle.rb +2 -0
  78. data/lib/byebug/settings/fullpath.rb +2 -0
  79. data/lib/byebug/settings/histfile.rb +2 -0
  80. data/lib/byebug/settings/histsize.rb +2 -0
  81. data/lib/byebug/settings/linetrace.rb +2 -0
  82. data/lib/byebug/settings/listsize.rb +2 -0
  83. data/lib/byebug/settings/post_mortem.rb +7 -2
  84. data/lib/byebug/settings/stack_on_error.rb +2 -0
  85. data/lib/byebug/settings/verbose.rb +2 -0
  86. data/lib/byebug/settings/width.rb +2 -0
  87. data/lib/byebug/state.rb +12 -0
  88. data/lib/byebug/states/control_state.rb +26 -0
  89. data/lib/byebug/states/regular_state.rb +178 -0
  90. data/lib/byebug/version.rb +1 -1
  91. metadata +24 -109
  92. data/lib/byebug/commands/catchpoint.rb +0 -53
  93. data/lib/byebug/commands/reload.rb +0 -29
  94. data/lib/byebug/commands/trace.rb +0 -50
  95. data/lib/byebug/commands/variables.rb +0 -206
  96. data/lib/byebug/options.rb +0 -46
  97. data/lib/byebug/settings/autoreload.rb +0 -12
  98. data/lib/byebug/settings/forcestep.rb +0 -14
  99. data/lib/byebug/settings/testing.rb +0 -12
  100. data/lib/byebug/settings/tracing_plus.rb +0 -11
  101. data/test/commands/break_test.rb +0 -364
  102. data/test/commands/condition_test.rb +0 -85
  103. data/test/commands/continue_test.rb +0 -47
  104. data/test/commands/delete_test.rb +0 -26
  105. data/test/commands/display_test.rb +0 -37
  106. data/test/commands/edit_test.rb +0 -52
  107. data/test/commands/eval_test.rb +0 -89
  108. data/test/commands/finish_test.rb +0 -74
  109. data/test/commands/frame_test.rb +0 -223
  110. data/test/commands/help_test.rb +0 -66
  111. data/test/commands/history_test.rb +0 -61
  112. data/test/commands/info_test.rb +0 -238
  113. data/test/commands/interrupt_test.rb +0 -45
  114. data/test/commands/irb_test.rb +0 -28
  115. data/test/commands/kill_test.rb +0 -50
  116. data/test/commands/list_test.rb +0 -174
  117. data/test/commands/method_test.rb +0 -52
  118. data/test/commands/post_mortem_test.rb +0 -71
  119. data/test/commands/pry_test.rb +0 -26
  120. data/test/commands/quit_test.rb +0 -53
  121. data/test/commands/reload_test.rb +0 -39
  122. data/test/commands/restart_test.rb +0 -46
  123. data/test/commands/save_test.rb +0 -67
  124. data/test/commands/set_test.rb +0 -140
  125. data/test/commands/show_test.rb +0 -76
  126. data/test/commands/source_test.rb +0 -46
  127. data/test/commands/stepping_test.rb +0 -192
  128. data/test/commands/thread_test.rb +0 -164
  129. data/test/commands/trace_test.rb +0 -71
  130. data/test/commands/undisplay_test.rb +0 -75
  131. data/test/commands/variables_test.rb +0 -105
  132. data/test/debugger_alias_test.rb +0 -7
  133. data/test/runner_test.rb +0 -150
  134. data/test/support/matchers.rb +0 -65
  135. data/test/support/test_interface.rb +0 -59
  136. data/test/support/utils.rb +0 -122
  137. data/test/test_helper.rb +0 -58
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 93b7b0bff9694ec5f6674d3e7c7aa3de420cc0f9
4
- data.tar.gz: ed65140ba0ef5b5f84253e0980938ffa84739c40
3
+ metadata.gz: fc54398c97430d4013fb5fdd5da3672314551d35
4
+ data.tar.gz: cfbfeb9194527c74bab904a4fdd82030d9b6c1b3
5
5
  SHA512:
6
- metadata.gz: c88d13966721950651f3713cbca994af3d70d11c0337e48c46c5bc364220835b3908ceb69be70b962356495a00118e7f4fdbc66ff7f8b504ebdd7931b48151c3
7
- data.tar.gz: 579d418f58bab70f03c0deafa48695b5879d64590b84732b619891c5cc45b217111f2388b10db5b8de2c6dd9dddd0ee482a4804344419ed9409bb1f7202169c4
6
+ metadata.gz: 33a26c3c2cd4faf997e833bb89d92fa93494bf2217972c11772569b5634a86bd18679de22378cf2995d9975e54ff73f14c0c0f96671c1712f0b4edb13459df0b
7
+ data.tar.gz: ada07126a8516c85d11a42795a2cdaed04848f0df02d639f2614fa972b9e460c3fefecb09424663636e2e5434e46e1099f7d7dd7537898470d0166f9feeabd78
data/.gitignore CHANGED
@@ -1,3 +1,6 @@
1
+ #
2
+ # Only generated files & Byebug specific files to be kept here.
3
+ #
1
4
  tmp
2
5
  pkg
3
6
  doc
@@ -5,7 +8,6 @@ coverage
5
8
 
6
9
  .gdb_history
7
10
  .bundle
8
- .tags
9
11
  .byebugrc
10
12
  .byebug_hist
11
13
 
@@ -13,3 +15,4 @@ Gemfile.lock
13
15
 
14
16
  lib/byebug/byebug.so
15
17
  lib/byebug/byebug.bundle
18
+ .ruby-version
@@ -1,3 +1,20 @@
1
+ # Until https://github.com/bbatsov/rubocop/issues/1151 is closed
1
2
  AllCops:
2
3
  Exclude:
3
- - test/**/*_test.rb
4
+ - tmp/**/*
5
+ - pkg/**/*
6
+
7
+ TrivialAccessors:
8
+ ExactNameMatch: true
9
+
10
+ Style/ModuleFunction:
11
+ Enabled: false
12
+
13
+ # https://github.com/bbatsov/rubocop/pull/72
14
+ Style/AsciiComments:
15
+ Enabled: false
16
+
17
+ Style/ExtraSpacing:
18
+ Enabled: true
19
+
20
+ inherit_from: .rubocop_todo.yml
@@ -1,11 +1,31 @@
1
- before_script: bundle exec rake compile
1
+ os:
2
+ - linux
3
+ - osx
4
+
5
+ language: ruby
6
+
7
+ install:
8
+ - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install indent; fi
9
+ - bundle install --jobs=3 --retry=3
10
+
11
+ script:
12
+ - if [ "$TRAVIS_OS_NAME" == "linux" ]; then bundle exec rake ; fi
13
+ - if [ "$TRAVIS_OS_NAME" == "osx" ]; then bundle exec rake compile test ; fi
14
+
2
15
  rvm:
3
16
  - 2.0.0
4
17
  - 2.1
18
+ - 2.2.1
5
19
  - ruby-head
20
+
21
+ env:
22
+ - CC=gcc
23
+ - CC=clang
24
+
6
25
  matrix:
7
26
  allow_failures:
8
27
  - rvm: ruby-head
28
+
9
29
  addons:
10
30
  code_climate:
11
31
  repo_token: 02530029b1e956220f05076c590b84b9ab078362c9083312eb2ad41cab138408
@@ -1,340 +1,388 @@
1
- # 3.5.1
2
- - Fix windows installation (#79)
3
- - Fix bug in "condition" command where invalid breakpoint ids wouldn't be
4
- properly detected.
5
-
6
-
7
- # 3.5.0
8
- - Bugfixes
9
- * Fix #81, byebug's history does not mess with other programs that use
10
- Readline too.
11
- * Fix more issues with readline's history. Now it should always be properly
12
- saved and inmediately available.
13
- * Fix issue where user would not be notified when trying to debug a non
14
- existent script.
15
-
16
- - Improvements
17
- * Complete rewrite of byebug's history.
18
- * Complete rewrite of list command.
19
- * Docs about stacktrace related commands (up, down, frame, backtrace).
20
-
21
-
22
- # 3.4.2
23
- * Fix #67, you can debug commands starting with `ruby` now, as in `byebug --
24
- ruby -Itest test/controllers/posts_controller_test.rb -n test_should_get_index`
25
-
26
-
27
- # 3.4.1
28
- * Fix #54, you can use threads when "evaling" stuff now.
29
- * Fix bug in list command where user could not list backwards if current
30
- listing was reaching the end of the file.
31
-
32
-
33
- # 3.4.0
34
- * Better fix for deivid-rodriguez/pry-byebug#32
35
-
36
-
37
- # 3.3.0
38
-
39
- - Bugfixes
40
- * Fix "verbose" setting ("set verbose" works now).
41
- * Fix unsetting post_mortem mode ("set post_mortem false" works now).
42
- * Fix some cases where the debugger would stop in byebug internal frames.
43
- * Fix some crashes when displaying backtraces (with "nofullpath" setting and
44
- when calculated stack size was smaller than the real one).
45
-
46
- - Removals
47
- * "info locals" has been removed, use "var local" instead.
48
- * "info instance_variables" has been removed, use "var instance" instead.
49
- * "info global_variables" has been removed, use "var global" instead.
50
- * "info variables" has been removed, use "var all" instead.
51
- * "irb" command stepping capabilities were removed, see
1
+ ## 4.0.0
2
+ ### Added
3
+ - `untracevar` command that stops tracing a global variable.
4
+ - Window CI build through AppVeyor.
5
+ - OSX CI build through Travis.
6
+ - Style enforcement through RuboCop.
7
+ - C style enforment using the `indent` command line utility.
8
+ - Some remote debugging tests (thanks @eric-hu).
9
+ - Printer's support (thanks @astashov).
10
+
11
+ ### Changed
12
+ - A lot of internal refactoring.
13
+ - `tracevar` now requires the full global variable name (with "$").
14
+ - `catch` command is not allowed in post_mortem mode anymore. It was not
15
+ working anyways (#92).
16
+ - `step` is now more user friendly when used in combination with `up` (see #85).
17
+ - `var const` can now be called without an argument and will show constants in
18
+ the current scope.
19
+ - `break` with a class name now creates breakpoints regardless of class not
20
+ being yet defined. If that's the case, it gives a warning but the class is
21
+ created anyways.
22
+
23
+ ### Fixed
24
+ - Code reloading issues.
25
+ - `set fullpath` was not showing fullpaths. Now it is.
26
+ - `up`, `down` and `frame` commands now work in post_mortem mode (#93).
27
+ - Fixes in rc file (.byebugrc): invalid commands are just ignored instead of
28
+ aborting, global (home) rc file is now properly loaded before project's file.
29
+ - Backtraces not working in `post_mortem` mode (#93).
30
+ - 'cmd1 ; cmd2 ; ...; cmdN' syntax which allows running several commands
31
+ sequentially.
32
+ - Finish command not stopping at the correct line (#101).
33
+ - `break` with namespaced class, like `break A::B#c` should now work (#106).
34
+ - Command history is now persisted before exiting byebug.
35
+ - Setting breakpoint in a method would stop not only at the beginning of the
36
+ method but also at the beginning of every block inside the method.
37
+ - Setting breakpoints on module methods (#122, @x-yuri).
38
+
39
+ ### Removed
40
+ - `autoreload` setting as it's not necessary anymore. Code should always be up
41
+ to date.
42
+ - `reload` command for the same reason.
43
+ - Gem dependency on `debugger-linecache`.
44
+ - `step+`, `step-`, `next+`, `next-`, `set/show linetrace_plus` and
45
+ `set/show forcestep` commands. These were all mechanisms to deal with TracePoint
46
+ API event dupplication, but this duplicated events have been completely removed
47
+ from the API since
48
+ [r48609](bugs.ruby-lang.org/projects/ruby-trunk/repository/revisions/48609), so
49
+ they are no longer necessary.
50
+ - `info file` subcommands: `info file breakpoints`, `info file mtime`, `info
51
+ file sha1`, `info file all`. Now all information is listed under `info file`.
52
+ - `testing` setting. It was just a hack to be able to test `byebug`. Nobody was
53
+ supposed to actually use it!
54
+ - `var class` command, just use Ruby (`self.class.class_variables`).
55
+ - `p` command, just use `eval`, or just type your expression and `byebug` will
56
+ autoevaluate it.
57
+ - `exit` alias for `quit`.
58
+
59
+ ## 3.5.1 - 2014-09-29
60
+ ### Fixed
61
+ - Windows installation (#79).
62
+ - `condition` command not properly detecting invalid breakpoint ids.
63
+
64
+ ## 3.5.0 - 2014-09-28
65
+ ### Fixed
66
+ - Byebug's history messing other programs using Readline (#81).
67
+ - Readline's history not being properly saved and inmediately available.
68
+ - User not being notified when trying to debug a non existent script.
69
+
70
+ ### Changed
71
+ - Complete rewrite of byebug's history.
72
+ - Complete rewrite of list command.
73
+ - Docs about stacktrace related commands (up, down, frame, backtrace).
74
+
75
+ ## 3.4.2 - 2014-09-26
76
+ ### Fixed
77
+ - Debugging commands invoked by ruby exectuable (#67), as in `byebug --
78
+ ruby -Itest test/controllers/posts_controller_test.rb -n
79
+ test_should_get_index`.
80
+
81
+
82
+ ## 3.4.1 - 2014-09-25
83
+ ### Fixed
84
+ - Use of threads inside `eval` command (#54).
85
+ - `list` command not listing backwards after reaching the end of the file.
86
+
87
+ ## 3.4.0 - 2014-09-01
88
+ ### Fixed
89
+ - deivid-rodriguez/pry-byebug#32 in a better way.
90
+
91
+
92
+ ## 3.3.0 - 2014-08-28
93
+ ### Fixed
94
+ - `set verbose` command.
95
+ - `set post_mortem false` command.
96
+ - Debugger stopping in `byebug`'s internal frames in some cases.
97
+ - `backtrace` crashing when `fullpath` setting disabled and calculated stack
98
+ size being smaller than the real one.
99
+
100
+ ## Changed
101
+ - The `-t` option for `bin/byebug` now turns tracing on whereas the `-x` option
102
+ tells byebug to run the initialization file (.byebugrc) on startup. This is the
103
+ default behaviour though.
104
+ - `bin/byebug` libified and tests added.
105
+
106
+ ### Removed
107
+ - `info locals` command. Use `var local` instead.
108
+ - `info instance_variables` command. Use `var instance` instead.
109
+ - `info global_variables` command. Use `var global` instead.
110
+ - `info variables` command. Use `var all` instead.
111
+ - `irb` command stepping capabilities, see
52
112
  [8e226d0](https://github.com/deivid-rodriguez/byebug/commit/8e226d0).
53
- * --script and --restart-script options from byebug's executable were removed.
54
- Also, '-t' option now turns tracing on whereas '-x' options tells byebug to run
55
- the initialization file (.byebugrc) on startup. This is the default behaviour
56
- though.
57
-
58
- - Improvements
59
- * byebug's script has been libified and tests have been added.
60
-
61
-
62
- # 3.2.0
63
-
64
- - Bugfixes
65
- * Fix bug in remote debugging (#71), thanks @shuky19.
66
- * Fix source command (#68), thanks @Olgagr.
67
- * Fix bug #71 preventing the test suite from running against ruby-head.
68
- * Remove warning reported in #77.
69
-
70
- - Removals
71
- * "post_mortem" activation through "Byebug.post_mortem" is no longer allowed.
72
- Use "set post_mortem" instead.
73
- * "info stack" command has been removed. Use "where"|"backtrace" instead.
74
- * "method iv" command has been removed. Use "var instance" instead.
75
-
76
-
77
- # 3.1.2
78
-
79
- * Really fix starting "post_mortem" mode in bin/byebug.
80
- * Fix starting line tracing in bin/byebug.
81
-
82
-
83
- # 3.1.1
84
-
85
- * Fix starting "post_mortem" mode in bin/byebug.
86
-
87
-
88
- # 3.1.0
89
-
90
- * "show commands" moved to a separate "history" command.
91
- * Byebug.start can't recieve options any more. Any program settings you
92
- want applied from the start should be set in .byebugrc.
93
- * "trace" command has been removed. Line tracing functionality should be
94
- enabled through the "linetrace" setting whereas the global variable
95
- tracing functionality is now provided through the "tracevar" command.
96
- * "version" setting has been removed. It was not really a setting because it
97
- couldn't be set. Use "byebug --version" to check byebug's version.
98
- * "arg" setting removed. Program restart arguments should be set through
99
- "restart" command from now on.
100
- * "linetrace\_plus" setting has been renamed to "tracing\_plus".
101
-
102
-
103
- # 3.0.0
104
-
105
- - Bugfixes
106
- * Fix post_mortem mode.
107
- * Command history is also saved after regular program termination, not only
108
- after quitting with the "q" command.
109
- * Fix failure when calling Byebug.start with Timeout::timeout (see #54), thanks
113
+ - `script` and `restart-script` options for `bin/byebug`.
114
+
115
+ ## 3.2.0 - 2014-08-02
116
+ ### Fixed
117
+ - Remote debugging (#71), thanks @shuky19.
118
+ - `source` command (#68), thanks @Olgagr.
119
+ - `ruby-head` support (#71).
120
+
121
+ ### Removed
122
+ - `post_mortem` activation through `Byebug.post_mortem`. Use `set post_mortem`
123
+ instead.
124
+ - `info stack` command. Use `where` instead.
125
+ - `method iv` command. Use `var instance` instead.
126
+ - Warning reported in #77.
127
+
128
+ ## 3.1.2 - 2014-04-23
129
+ ### Fixed
130
+ - (Really) `post_mortem` mode in `bin/byebug`.
131
+ - Line tracing in `bin/byebug`.
132
+
133
+ ## 3.1.1 - 2014-04-23
134
+ ### Fixed
135
+ - `post_mortem` mode in bin/byebug.
136
+
137
+ ## 3.1.0 - 2014-04-23
138
+ ### Removed
139
+ - `show commands` command. Use `history` instead.
140
+ - Byebug.start accepting options. Any program settings you want applied from
141
+ the start should be set in `.byebugrc`.
142
+ - `trace` command. Use `set linetrace` for line tracing and `tracevar` for
143
+ global variable tracing.
144
+ - `show version` command. Use `byebug --version` to check byebug's version.
145
+ - `set arg` setting. Use the `restart` command instead.
146
+
147
+ ### Changed
148
+ - `linetrace_plus` setting renamed to `tracing_plus`.
149
+
150
+ ### Added
151
+ - `history` command to check byebug's history of previous commands.
152
+
153
+ ## 3.0.0 - 2014-04-17
154
+ ### Fixed
155
+ - Plain `byebug` not working when `pry-byebug` installed.
156
+ - `post_mortem` mode.
157
+ - Command history not being saved after regular program termination.
158
+ - (Again) Calling `Byebug.start` with `Timeout.timeout` (#54), thanks
110
159
  @zmoazeni!
111
160
 
112
- - Changes
113
- * "show commands" command for listing history of previous byebug commands now
114
- behaves like shell's "history" command.
115
- * Changes in "history" commands: see
116
- [50e6ad8](https://github.com/deivid-rodriguez/byebug/commit/50e6ad8).
117
- * Changes in "finish" semantics and in the C extension API: see
118
- [61f9b4d](https://github.com/deivid-rodriguez/byebug/commit/61f9b4d).
119
- * The "init" option for Byebug.start has been removed. Information to make the
120
- "restart" command work is always saved now.
121
-
122
- - Features
123
- * Allow disabling post_mortem mode.
124
-
125
-
126
- # 2.7.0
127
- * Bugfix release (#52, #53 and #54).
128
-
161
+ ### Added
162
+ - Allow disabling `post_mortem` mode.
129
163
 
130
- # 2.6.0
131
-
132
- * Fix circular dependency that was affecting "pry-byebug" (thanks
133
- @andreychernih).
134
-
135
-
136
- # 2.5.0
137
-
138
- * Support for "sublime-debugger".
164
+ ### Changed
165
+ - `show commands` command for listing history of previous commands now behaves
166
+ like shell's `history` command.
167
+ - `show/set history filename` is now `show/set histfile`
168
+ - `show/set history size` is now `show/set histsize`
169
+ - `show/set history save` is now `show/set autosave`
170
+ - `finish` semantic, see
171
+ [61f9b4d](https://github.com/deivid-rodriguez/byebug/commit/61f9b4d).
172
+ - Use `per project` history file by default.
139
173
 
174
+ ## Removed
175
+ - The `init` option for `Byebug.start`. Information to make the `restart`
176
+ command work is always saved now.
140
177
 
141
- # 2.4.1
178
+ ## 2.7.0 - 2014-02-24
179
+ - `IGNORED_FILES` slowing down startup (#52).
180
+ - Calling `Byebug.start` with `Timeout.timeout` (#53, #54).
142
181
 
143
- * Fix installation error in Mac OSX (#40), thanks @luislavena.
182
+ ## 2.6.0 - 2014-02-08
183
+ ### Fixed
184
+ - Circular dependency affecting `pry-byebug` (thanks @andreychernih).
144
185
 
186
+ ## 2.5.0 - 2013-12-14
187
+ ### Added
188
+ - Support for `sublime-debugger`.
145
189
 
146
- # 2.4.0
190
+ ## 2.4.1 - 2013-12-05
191
+ ### Fixed
192
+ - Installation error in Mac OSX (#40), thanks @luislavena.
147
193
 
148
- * Use "require" instead of "require_relative" for loading byebug's extension
149
- library (thanks @nobu).
150
- * Adds back "debugger" as an alias to "byebug" (thanks @wallace).
151
- * Adds -R option to byebug's binary to specify server's hostname:port for remote
152
- debugging (thanks @mrkn).
153
- * Fixes "thread list" showing too many threads.
154
- * Change in tracing global variables. Use "trace variable foo" instead of "trace
155
- variable $foo".
156
- * Fix setting post mortem mode with "set post_mortem". Now this is the only
194
+ ## 2.4.0 - 2013-12-02
195
+ ### Fixed
196
+ - `thread list` showing too many threads.
197
+ - Fix setting post mortem mode with "set post_mortem". Now this is the only
157
198
  post mortem functionality available as specifying "Byebug.post_mortem" with a
158
199
  block has been removed in this version.
159
200
 
201
+ ### Added
202
+ - (Again) `debugger` as an alias to `byebug` (thanks @wallace).
203
+ - `-R` option for `bin/byebug` to specify server's hostname:port for remote
204
+ debugging (thanks @mrkn).
160
205
 
161
- # 2.3.1
162
-
163
- * Fixes bug preventing users from deleting breakpoints.
164
- * Fix broken test suite.
165
-
166
-
167
- # 2.3.0
168
-
169
- * Compatibility with Phusion Passenger Enterprise (thanks @FooBarWidget).
170
- * More minimalist help system.
171
-
172
-
173
- # 2.2.2
174
-
175
- * Fix another compilation issue in 64 bit systems.
176
-
177
-
178
- # 2.2.1
179
-
180
- * Fix compilation issue introduced by 2.2.0 (#26).
181
- * "show" and "set" option "stack_trace_on_error" is now called "stack_on_error".
182
-
183
-
184
- # 2.2.0
185
-
186
- * Small fixes in stack_size calculations.
187
- * Warning free byebug.
188
- * Add "verbose" setting for TracePoint API event inspection.
189
- * Fix setting "post_mortem" mode.
190
- * Allow "edit <filename>" without a line number.
191
-
192
-
193
- # 2.1.1
194
-
195
- * Fix bug when debugging code inside '-e' flag.
196
-
197
-
198
- # 2.1.0
199
-
200
- * Fix bug in remote debugging display.
201
- * Fix bug where eval would crash when inspect raised an exception (reported by
202
- @iblue).
203
- * "enable breakpoints" now enables every breakpoint.
204
- * "disable breakpoints" now disables every breakpoint.
205
-
206
-
207
- # 2.0.0
208
-
209
- * Various bug fixes.
210
- * "Official" definition of a command API.
211
- * Thread support.
212
-
213
-
214
- ## 1.8.2
215
-
216
- * More user friendly regexps for commands.
217
- * Better help for some commands.
218
- * "save" command now saves the list of "displays".
219
- * Fixes bug in calculating stacksize.
220
-
221
-
222
- ## 1.8.1
223
-
224
- * Bugfix release.
225
-
226
-
227
- ## 1.8.0
228
-
229
- * Remote debugging support.
230
-
231
-
232
- ## 1.7.0
233
-
234
- * Callstack display: specifically mark c-frames.
235
- * Callstack navigation: skip c-frames.
236
- * Callstack navigation: autolist after navigation commands.
237
-
238
-
239
- ## 1.6.1
240
-
241
- * Windows compatibiliy: compilation and terminal width issues.
242
-
243
-
244
- ## 1.6.0
245
-
246
- * "byebug" placed at the end of a block or method call now works as expected.
247
- * Don't autolist when ruby '-e' option is used.
248
- * Fixes callstyles. From now on, use 'long' for detailed frames in callstack and
249
- 'short' for more concise frames.
250
-
251
-
252
- ## 1.5.0
253
-
254
- * No more Byebug.start to get correct callstack information! Dropping "byebug"
255
- anywhere and inmediately printing the stack just works now. :)
256
-
257
-
258
- ## 1.4.2
259
-
260
- * Fixes crash when using "help command subcommand".
261
- * Byebug now works with Rails Console debugging flag.
262
- * Fix post-mortem mode when running byebug from the outset.
263
- * Fix --no-quit flag when running byebug from the outset.
264
-
265
-
266
- ## 1.4.1
206
+ ### Changed
207
+ - Use `require` instead of `require_relative` for loading byebug's extension
208
+ library (thanks @nobu).
209
+ - `trace variable $foo` should be now `trace variable $foo`.
267
210
 
268
- * Fixes crash when printing some filenames in backtraces.
269
- * Allows byebug developers to easily use compilers different from gcc (thanks
211
+ ## 2.3.1 - 2013-10-17
212
+ ### Fixed
213
+ - Breakpoint removal.
214
+ - Broken test suite.
215
+
216
+ ## 2.3.0 - 2013-10-09
217
+ ### Added
218
+ - Compatibility with Phusion Passenger Enterprise (thanks @FooBarWidget).
219
+
220
+ ### Changed
221
+ - More minimalist help system.
222
+
223
+ ## 2.2.2 - 2013-09-25
224
+ ### Fixed
225
+ - Compilation issue in 64 bit systems.
226
+
227
+ ## 2.2.1 - 2013-09-24
228
+ ### Fixed
229
+ - Compilation issue introduced in 2.2.0 (#26).
230
+
231
+ ### Changed
232
+ - `show/set stack_trace_on_error` is now `show/set stack_on_error`.
233
+
234
+ ## 2.2.0 - 2013-09-22
235
+ ### Fixed
236
+ - Stack size calculations.
237
+ - Setting `post_mortem` mode.
238
+
239
+ ### Added
240
+ - `verbose` setting for TracePoint API event inspection.
241
+
242
+ ### Changed
243
+ - Warning free byebug.
244
+ - Allow `edit <filename>` without a line number.
245
+
246
+ ## 2.1.1 - 2013-09-10
247
+ ### Fixed
248
+ - Debugging code inside `-e` Ruby flag.
249
+
250
+ ## 2.1.0 - 2013-09-08
251
+ ### Fixed
252
+ - Remote debugging display.
253
+ - `eval` crashing when inspecting raised an exception (reported by @iblue).
254
+
255
+ ### Changed
256
+ - `enable breakpoints` now enables every breakpoint.
257
+ - `disable breakpoints` now disables every breakpoint.
258
+
259
+ ## 2.0.0 - 2013-08-30
260
+ ### Added
261
+ - "Official" definition of a command API.
262
+ - Thread support.
263
+
264
+ ### Removed
265
+ - `jump` command. It had never worked.
266
+
267
+ ### Changed
268
+ - Varoius internal refactorings.
269
+
270
+ ## 1.8.2 - 2013-08-16
271
+ ### Fixed
272
+ - `save` command now saves the list of `displays`.
273
+ - Stack size calculation.
274
+
275
+ ### Changed
276
+ - More user friendly regexps for commands.
277
+ - Better help for some commands.
278
+
279
+ ## 1.8.1 - 2013-08-12
280
+ ### Fixed
281
+ - Major regression introduced in 1.8.0.
282
+
283
+ ## 1.8.0 - 2013-08-12
284
+ ### Added
285
+ - Remote debugging support.
286
+
287
+ ## 1.7.0 - 2013-08-03
288
+ ### Added
289
+ - List command automatically called after callstack navigation commands.
290
+ - C-frames specifically marked in the callstack.
291
+ - C-frames skipped when navigating the callstack.
292
+
293
+ ## 1.6.1 - 2013-07-10
294
+ ### Fixed
295
+ - Windows compatibiliy: compilation and terminal width issues.
296
+
297
+ ## 1.6.0 - 2013-07-10
298
+ ### Fixed
299
+ - `byebug` placed at the end of a block or method call not working as expected.
300
+ - `autolist` being applied when Ruby `-e` option used.
301
+
302
+ ### Changed
303
+ - Backtrace callstyles. Use `long` for detailed frames in callstack and `short`
304
+ for more concise frames.
305
+
306
+ ## 1.5.0 - 2013-06-21
307
+ ### Fixed
308
+ - Incomplete backtraces when the debugger was not started at program startup.
309
+
310
+ ## 1.4.2 - 2013-06-20
311
+ ### Fixed
312
+ - `help command subcommand` command.
313
+ - Interaction with Rails Console debugging flag.
314
+ - `post_mortem` mode when running byebug from the outset.
315
+ - `no-quit` flag when running byebug from the outset.
316
+
317
+ ## 1.4.1 - 2013-06-15
318
+ ### Fixed
319
+ - Crash when printing some filenames in backtraces.
320
+ - Allow byebug developers to easily use compilers different from gcc (thanks
270
321
  @GarthSnyder!).
271
322
 
323
+ ## 1.4.0 - 2013-06-05
324
+ ### Fixed
325
+ - Memory leaks causing `byebug` to randomly crash.
272
326
 
273
- ## 1.4.0
274
-
275
- * Byebug now uses the Debug Inspector API: faster and nicer!
276
- * Fixes bug that prevents some random crashes.
277
-
278
-
279
- ## 1.3.1
280
-
281
- * Byebug now works with Rails debugging flag.
282
- * Fix bug which would make byebug crash when trying to print lines of code
283
- containing the character '%'.
284
- * Fix bug which prevented basename and linetrace options from working together.
285
-
286
-
287
- ## 1.3.0
288
-
289
- * Support colon-delimited include paths in command-line front-end (@ender672).
290
-
291
-
292
- ## 1.2.0
293
-
294
- * Added 'pry' command.
295
- * Ctrl+C during command line editing is handled and works like pry/irb.
296
-
297
-
298
- ## 1.1.1
299
-
300
- * Better help system.
301
- * Code cleanup.
302
- * First version compatible with pry-byebug.
303
-
304
-
305
- ## 1.1.0
306
-
307
- * Post-mortem support.
308
-
327
+ ### Changed
328
+ - Use the Debug Inspector API for backtrace information.
309
329
 
310
- ## 1.0.3
330
+ ## 1.3.1 - 2013-06-02
331
+ ### Fixed
332
+ - Interaction with Rails debugging flag.
333
+ - Crash when trying to print lines of code containing the character '%'.
334
+ - `basename` and `linetrace` options not working together.
311
335
 
312
- * "autoreload" is set by default now.
313
- * "list" command: no negative line numbers shown, and line range behaves as
314
- expected at the begining/end of file.
315
- * In some weird cases, "backtrace" command segfaults when trying to show info on
316
- some frame args. Don't know the reason yet, but the exception is handled now and
317
- and the command doesn't segfault anymore.
318
- * Try some thread support (not even close to usable).
336
+ ## 1.3.0 - 2013-05-25
337
+ ### Added
338
+ - Support colon-delimited include paths in command-line front-end (@ender672).
319
339
 
340
+ ## 1.2.0 - 2013-05-20
341
+ ### Fixed
342
+ - Ctrl+C during command line editing (works like pry/irb).
320
343
 
321
- ## 1.0.2
344
+ ### Added
345
+ - `pry` command.
322
346
 
323
- * "autolist" and "autoeval" are default settings now.
324
- * Fixes bug which messed up the call-stack when manipulating backtrace
325
- information and when nexting/stepping.
347
+ ## 1.1.1 - 2013-05-07
348
+ ### Added
349
+ - `pry-byebug` compatibility.
326
350
 
351
+ ### Changed
352
+ - Better help system.
353
+ - Code cleanup.
327
354
 
328
- ## 1.0.1
355
+ ## 1.1.0 - 2013-04-30
356
+ ### Added
357
+ - Post Mortem support.
329
358
 
330
- * Corrected small bug preventing byebug from loading.
359
+ ## 1.0.3 - 2013-04-23
360
+ ### Fixed
361
+ - Negative line numbers shown by list command at the beginning of file.
362
+ - `backtrace` command segfaulting when trying to show info on some frame args.
363
+ Don't know the reason yet, but the exception is handled now and command does
364
+ not segfault anymore.
331
365
 
366
+ ### Changed
367
+ - `autoreload` is set by default now.
368
+ - Try some thread support (not even close to usable).
332
369
 
333
- ## 1.0.0
370
+ ## 1.0.2 - 2013-04-09
371
+ ### Fixed
372
+ - backtraces messed up when using both `next`/`step` and backtrace navigation
373
+ commands.
334
374
 
335
- * Green test suite.
375
+ ### Changed
376
+ - `autolist` and `autoeval` are default settings now.
336
377
 
378
+ ## 1.0.1 - 2013-04-06
379
+ ### Fixed
380
+ - Byebug not loading properly.
337
381
 
338
- ## 0.0.1
382
+ ## 1.0.0 - 2013-03-29
383
+ ### Fixed
384
+ - Green test suite.
339
385
 
340
- * Initial release.
386
+ ## 0.0.1 - 2013-03-18
387
+ ### Added
388
+ - Initial release.