byebug 3.5.1 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
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.