CHANGELOG.md in byebug-3.5.1 vs CHANGELOG.md in byebug-4.0.0
- old
+ new
@@ -1,340 +1,388 @@
-# 3.5.1
-- Fix windows installation (#79)
-- Fix bug in "condition" command where invalid breakpoint ids wouldn't be
-properly detected.
+## 4.0.0
+### Added
+- `untracevar` command 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 `indent` command line utility.
+- Some remote debugging tests (thanks @eric-hu).
+- Printer's support (thanks @astashov).
+### Changed
+- A lot of internal refactoring.
+- `tracevar` now requires the full global variable name (with "$").
+- `catch` command is not allowed in post_mortem mode anymore. It was not
+working anyways (#92).
+- `step` is now more user friendly when used in combination with `up` (see #85).
+- `var const` can now be called without an argument and will show constants in
+the current scope.
+- `break` with 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.
-# 3.5.0
-- Bugfixes
- * Fix #81, byebug's history does not mess with other programs that use
-Readline too.
- * Fix more issues with readline's history. Now it should always be properly
-saved and inmediately available.
- * Fix issue where user would not be notified when trying to debug a non
-existent script.
+### Fixed
+- Code reloading issues.
+- `set fullpath` was not showing fullpaths. Now it is.
+- `up`, `down` and `frame` commands now work in post_mortem mode (#93).
+- Fixes in rc file (.byebugrc): invalid commands are just ignored instead of
+aborting, global (home) rc file is now properly loaded before project's file.
+- Backtraces not working in `post_mortem` mode (#93).
+- 'cmd1 ; cmd2 ; ...; cmdN' syntax which allows running several commands
+sequentially.
+- Finish command not stopping at the correct line (#101).
+- `break` with namespaced class, like `break A::B#c` should now work (#106).
+- 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.
+- Setting breakpoints on module methods (#122, @x-yuri).
-- Improvements
- * Complete rewrite of byebug's history.
- * Complete rewrite of list command.
- * Docs about stacktrace related commands (up, down, frame, backtrace).
+### Removed
+- `autoreload` setting as it's not necessary anymore. Code should always be up
+to date.
+- `reload` command for the same reason.
+- Gem dependency on `debugger-linecache`.
+- `step+`, `step-`, `next+`, `next-`, `set/show linetrace_plus` and
+`set/show forcestep` commands. These were all mechanisms to deal with TracePoint
+API event dupplication, but this duplicated events have been completely removed
+from the API since
+[r48609](bugs.ruby-lang.org/projects/ruby-trunk/repository/revisions/48609), so
+they are no longer necessary.
+- `info file` subcommands: `info file breakpoints`, `info file mtime`, `info
+file sha1`, `info file all`. Now all information is listed under `info file`.
+- `testing` setting. It was just a hack to be able to test `byebug`. Nobody was
+supposed to actually use it!
+- `var class` command, just use Ruby (`self.class.class_variables`).
+- `p` command, just use `eval`, or just type your expression and `byebug` will
+autoevaluate it.
+- `exit` alias for `quit`.
+## 3.5.1 - 2014-09-29
+### Fixed
+- Windows installation (#79).
+- `condition` command not properly detecting invalid breakpoint ids.
-# 3.4.2
-* Fix #67, you can debug commands starting with `ruby` now, as in `byebug --
-ruby -Itest test/controllers/posts_controller_test.rb -n test_should_get_index`
+## 3.5.0 - 2014-09-28
+### Fixed
+- Byebug's history messing other programs using Readline (#81).
+- 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.1
-* Fix #54, you can use threads when "evaling" stuff now.
-* Fix bug in list command where user could not list backwards if current
-listing was reaching the end of the file.
+## 3.4.2 - 2014-09-26
+### Fixed
+- Debugging commands invoked by ruby exectuable (#67), as in `byebug --
+ruby -Itest test/controllers/posts_controller_test.rb -n
+test_should_get_index`.
-# 3.4.0
-* Better fix for deivid-rodriguez/pry-byebug#32
+## 3.4.1 - 2014-09-25
+### Fixed
+- Use of threads inside `eval` command (#54).
+- `list` command 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
-- Bugfixes
- * Fix "verbose" setting ("set verbose" works now).
- * Fix unsetting post_mortem mode ("set post_mortem false" works now).
- * Fix some cases where the debugger would stop in byebug internal frames.
- * Fix some crashes when displaying backtraces (with "nofullpath" setting and
-when calculated stack size was smaller than the real one).
+## 3.3.0 - 2014-08-28
+### Fixed
+- `set verbose` command.
+- `set post_mortem false` command.
+- Debugger stopping in `byebug`'s internal frames in some cases.
+- `backtrace` crashing when `fullpath` setting disabled and calculated stack
+size being smaller than the real one.
-- Removals
- * "info locals" has been removed, use "var local" instead.
- * "info instance_variables" has been removed, use "var instance" instead.
- * "info global_variables" has been removed, use "var global" instead.
- * "info variables" has been removed, use "var all" instead.
- * "irb" command stepping capabilities were removed, see
+## Changed
+- The `-t` option for `bin/byebug` now turns tracing on whereas the `-x` option
+tells byebug to run the initialization file (.byebugrc) on startup. This is the
+default behaviour though.
+- `bin/byebug` libified and tests added.
+
+### Removed
+- `info locals` command. Use `var local` instead.
+- `info instance_variables` command. Use `var instance` instead.
+- `info global_variables` command. Use `var global` instead.
+- `info variables` command. Use `var all` instead.
+- `irb` command stepping capabilities, see
[8e226d0](https://github.com/deivid-rodriguez/byebug/commit/8e226d0).
- * --script and --restart-script options from byebug's executable were removed.
-Also, '-t' option now turns tracing on whereas '-x' options tells byebug to run
-the initialization file (.byebugrc) on startup. This is the default behaviour
-though.
+- `script` and `restart-script` options for `bin/byebug`.
-- Improvements
- * byebug's script has been libified and tests have been added.
+## 3.2.0 - 2014-08-02
+### Fixed
+- Remote debugging (#71), thanks @shuky19.
+- `source` command (#68), thanks @Olgagr.
+- `ruby-head` support (#71).
+### Removed
+- `post_mortem` activation through `Byebug.post_mortem`. Use `set post_mortem`
+instead.
+- `info stack` command. Use `where` instead.
+- `method iv` command. Use `var instance` instead.
+- Warning reported in #77.
-# 3.2.0
+## 3.1.2 - 2014-04-23
+### Fixed
+- (Really) `post_mortem` mode in `bin/byebug`.
+- Line tracing in `bin/byebug`.
-- Bugfixes
- * Fix bug in remote debugging (#71), thanks @shuky19.
- * Fix source command (#68), thanks @Olgagr.
- * Fix bug #71 preventing the test suite from running against ruby-head.
- * Remove warning reported in #77.
+## 3.1.1 - 2014-04-23
+### Fixed
+- `post_mortem` mode in bin/byebug.
-- Removals
- * "post_mortem" activation through "Byebug.post_mortem" is no longer allowed.
-Use "set post_mortem" instead.
- * "info stack" command has been removed. Use "where"|"backtrace" instead.
- * "method iv" command has been removed. Use "var instance" instead.
+## 3.1.0 - 2014-04-23
+### Removed
+- `show commands` command. Use `history` instead.
+- Byebug.start accepting options. Any program settings you want applied from
+the start should be set in `.byebugrc`.
+- `trace` command. Use `set linetrace` for line tracing and `tracevar` for
+global variable tracing.
+- `show version` command. Use `byebug --version` to check byebug's version.
+- `set arg` setting. Use the `restart` command instead.
+### Changed
+- `linetrace_plus` setting renamed to `tracing_plus`.
-# 3.1.2
+### Added
+- `history` command to check byebug's history of previous commands.
-* Really fix starting "post_mortem" mode in bin/byebug.
-* Fix starting line tracing in bin/byebug.
-
-
-# 3.1.1
-
-* Fix starting "post_mortem" mode in bin/byebug.
-
-
-# 3.1.0
-
-* "show commands" moved to a separate "history" command.
-* Byebug.start can't recieve options any more. Any program settings you
-want applied from the start should be set in .byebugrc.
-* "trace" command has been removed. Line tracing functionality should be
-enabled through the "linetrace" setting whereas the global variable
-tracing functionality is now provided through the "tracevar" command.
-* "version" setting has been removed. It was not really a setting because it
-couldn't be set. Use "byebug --version" to check byebug's version.
-* "arg" setting removed. Program restart arguments should be set through
-"restart" command from now on.
-* "linetrace\_plus" setting has been renamed to "tracing\_plus".
-
-
-# 3.0.0
-
-- Bugfixes
- * Fix post_mortem mode.
- * Command history is also saved after regular program termination, not only
-after quitting with the "q" command.
- * Fix failure when calling Byebug.start with Timeout::timeout (see #54), thanks
+## 3.0.0 - 2014-04-17
+### Fixed
+- Plain `byebug` not working when `pry-byebug` installed.
+- `post_mortem` mode.
+- Command history not being saved after regular program termination.
+- (Again) Calling `Byebug.start` with `Timeout.timeout` (#54), thanks
@zmoazeni!
-- Changes
- * "show commands" command for listing history of previous byebug commands now
-behaves like shell's "history" command.
- * Changes in "history" commands: see
-[50e6ad8](https://github.com/deivid-rodriguez/byebug/commit/50e6ad8).
- * Changes in "finish" semantics and in the C extension API: see
+### Added
+- Allow disabling `post_mortem` mode.
+
+### Changed
+- `show commands` command for listing history of previous commands now behaves
+like shell's `history` command.
+- `show/set history filename` is now `show/set histfile`
+- `show/set history size` is now `show/set histsize`
+- `show/set history save` is now `show/set autosave`
+- `finish` semantic, see
[61f9b4d](https://github.com/deivid-rodriguez/byebug/commit/61f9b4d).
- * The "init" option for Byebug.start has been removed. Information to make the
-"restart" command work is always saved now.
+- Use `per project` history file by default.
-- Features
- * Allow disabling post_mortem mode.
+## Removed
+- The `init` option for `Byebug.start`. Information to make the `restart`
+command work is always saved now.
+## 2.7.0 - 2014-02-24
+- `IGNORED_FILES` slowing down startup (#52).
+- Calling `Byebug.start` with `Timeout.timeout` (#53, #54).
-# 2.7.0
-* Bugfix release (#52, #53 and #54).
+## 2.6.0 - 2014-02-08
+### Fixed
+- Circular dependency affecting `pry-byebug` (thanks @andreychernih).
+## 2.5.0 - 2013-12-14
+### Added
+- Support for `sublime-debugger`.
-# 2.6.0
+## 2.4.1 - 2013-12-05
+### Fixed
+- Installation error in Mac OSX (#40), thanks @luislavena.
-* Fix circular dependency that was affecting "pry-byebug" (thanks
-@andreychernih).
-
-
-# 2.5.0
-
-* Support for "sublime-debugger".
-
-
-# 2.4.1
-
-* Fix installation error in Mac OSX (#40), thanks @luislavena.
-
-
-# 2.4.0
-
-* Use "require" instead of "require_relative" for loading byebug's extension
-library (thanks @nobu).
-* Adds back "debugger" as an alias to "byebug" (thanks @wallace).
-* Adds -R option to byebug's binary to specify server's hostname:port for remote
-debugging (thanks @mrkn).
-* Fixes "thread list" showing too many threads.
-* Change in tracing global variables. Use "trace variable foo" instead of "trace
-variable $foo".
-* Fix setting post mortem mode with "set post_mortem". Now this is the only
+## 2.4.0 - 2013-12-02
+### Fixed
+- `thread list` showing too many threads.
+- Fix setting post mortem mode with "set post_mortem". Now this is the only
post mortem functionality available as specifying "Byebug.post_mortem" with a
block has been removed in this version.
+### Added
+- (Again) `debugger` as an alias to `byebug` (thanks @wallace).
+- `-R` option for `bin/byebug` to specify server's hostname:port for remote
+debugging (thanks @mrkn).
-# 2.3.1
+### Changed
+- Use `require` instead of `require_relative` for loading byebug's extension
+library (thanks @nobu).
+- `trace variable $foo` should be now `trace variable $foo`.
-* Fixes bug preventing users from deleting breakpoints.
-* Fix broken test suite.
+## 2.3.1 - 2013-10-17
+### Fixed
+- Breakpoint removal.
+- Broken test suite.
+## 2.3.0 - 2013-10-09
+### Added
+- Compatibility with Phusion Passenger Enterprise (thanks @FooBarWidget).
-# 2.3.0
+### Changed
+- More minimalist help system.
-* Compatibility with Phusion Passenger Enterprise (thanks @FooBarWidget).
-* More minimalist help system.
+## 2.2.2 - 2013-09-25
+### Fixed
+- Compilation issue in 64 bit systems.
+## 2.2.1 - 2013-09-24
+### Fixed
+- Compilation issue introduced in 2.2.0 (#26).
-# 2.2.2
+### Changed
+- `show/set stack_trace_on_error` is now `show/set stack_on_error`.
-* Fix another compilation issue in 64 bit systems.
+## 2.2.0 - 2013-09-22
+### Fixed
+- Stack size calculations.
+- Setting `post_mortem` mode.
+### Added
+- `verbose` setting for TracePoint API event inspection.
-# 2.2.1
+### Changed
+- Warning free byebug.
+- Allow `edit <filename>` without a line number.
-* Fix compilation issue introduced by 2.2.0 (#26).
-* "show" and "set" option "stack_trace_on_error" is now called "stack_on_error".
+## 2.1.1 - 2013-09-10
+### Fixed
+- Debugging code inside `-e` Ruby flag.
+## 2.1.0 - 2013-09-08
+### Fixed
+- Remote debugging display.
+- `eval` crashing when inspecting raised an exception (reported by @iblue).
-# 2.2.0
+### Changed
+- `enable breakpoints` now enables every breakpoint.
+- `disable breakpoints` now disables every breakpoint.
-* Small fixes in stack_size calculations.
-* Warning free byebug.
-* Add "verbose" setting for TracePoint API event inspection.
-* Fix setting "post_mortem" mode.
-* Allow "edit <filename>" without a line number.
+## 2.0.0 - 2013-08-30
+### Added
+- "Official" definition of a command API.
+- Thread support.
+### Removed
+- `jump` command. It had never worked.
-# 2.1.1
+### Changed
+- Varoius internal refactorings.
-* Fix bug when debugging code inside '-e' flag.
+## 1.8.2 - 2013-08-16
+### Fixed
+- `save` command now saves the list of `displays`.
+- Stack size calculation.
+### Changed
+- More user friendly regexps for commands.
+- Better help for some commands.
-# 2.1.0
+## 1.8.1 - 2013-08-12
+### Fixed
+- Major regression introduced in 1.8.0.
-* Fix bug in remote debugging display.
-* Fix bug where eval would crash when inspect raised an exception (reported by
-@iblue).
-* "enable breakpoints" now enables every breakpoint.
-* "disable breakpoints" now disables every breakpoint.
+## 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.
-# 2.0.0
+## 1.6.1 - 2013-07-10
+### Fixed
+- Windows compatibiliy: compilation and terminal width issues.
-* Various bug fixes.
-* "Official" definition of a command API.
-* Thread support.
+## 1.6.0 - 2013-07-10
+### Fixed
+- `byebug` placed at the end of a block or method call not working as expected.
+- `autolist` being applied when Ruby `-e` option used.
+### Changed
+- Backtrace callstyles. Use `long` for detailed frames in callstack and `short`
+for more concise frames.
-## 1.8.2
+## 1.5.0 - 2013-06-21
+### Fixed
+- Incomplete backtraces when the debugger was not started at program startup.
-* More user friendly regexps for commands.
-* Better help for some commands.
-* "save" command now saves the list of "displays".
-* Fixes bug in calculating stacksize.
+## 1.4.2 - 2013-06-20
+### Fixed
+- `help command subcommand` command.
+- Interaction with Rails Console debugging flag.
+- `post_mortem` mode when running byebug from the outset.
+- `no-quit` flag when running byebug from the outset.
-
-## 1.8.1
-
-* Bugfix release.
-
-
-## 1.8.0
-
-* Remote debugging support.
-
-
-## 1.7.0
-
-* Callstack display: specifically mark c-frames.
-* Callstack navigation: skip c-frames.
-* Callstack navigation: autolist after navigation commands.
-
-
-## 1.6.1
-
-* Windows compatibiliy: compilation and terminal width issues.
-
-
-## 1.6.0
-
-* "byebug" placed at the end of a block or method call now works as expected.
-* Don't autolist when ruby '-e' option is used.
-* Fixes callstyles. From now on, use 'long' for detailed frames in callstack and
-'short' for more concise frames.
-
-
-## 1.5.0
-
-* No more Byebug.start to get correct callstack information! Dropping "byebug"
-anywhere and inmediately printing the stack just works now. :)
-
-
-## 1.4.2
-
-* Fixes crash when using "help command subcommand".
-* Byebug now works with Rails Console debugging flag.
-* Fix post-mortem mode when running byebug from the outset.
-* Fix --no-quit flag when running byebug from the outset.
-
-
-## 1.4.1
-
-* Fixes crash when printing some filenames in backtraces.
-* Allows byebug developers to easily use compilers different from gcc (thanks
+## 1.4.1 - 2013-06-15
+### Fixed
+- Crash when printing some filenames in backtraces.
+- Allow byebug developers to easily use compilers different from gcc (thanks
@GarthSnyder!).
+## 1.4.0 - 2013-06-05
+### Fixed
+- Memory leaks causing `byebug` to randomly crash.
-## 1.4.0
+### Changed
+- Use the Debug Inspector API for backtrace information.
-* Byebug now uses the Debug Inspector API: faster and nicer!
-* Fixes bug that prevents some random crashes.
+## 1.3.1 - 2013-06-02
+### Fixed
+- Interaction with Rails debugging flag.
+- Crash when trying to print lines of code containing the character '%'.
+- `basename` and `linetrace` options not working together.
+## 1.3.0 - 2013-05-25
+### Added
+- Support colon-delimited include paths in command-line front-end (@ender672).
-## 1.3.1
+## 1.2.0 - 2013-05-20
+### Fixed
+- Ctrl+C during command line editing (works like pry/irb).
-* Byebug now works with Rails debugging flag.
-* Fix bug which would make byebug crash when trying to print lines of code
-containing the character '%'.
-* Fix bug which prevented basename and linetrace options from working together.
+### Added
+- `pry` command.
+## 1.1.1 - 2013-05-07
+### Added
+- `pry-byebug` compatibility.
-## 1.3.0
+### Changed
+- Better help system.
+- Code cleanup.
-* Support colon-delimited include paths in command-line front-end (@ender672).
+## 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.
+- `backtrace` command 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.
-## 1.2.0
+### Changed
+- `autoreload` is set by default now.
+- Try some thread support (not even close to usable).
-* Added 'pry' command.
-* Ctrl+C during command line editing is handled and works like pry/irb.
+## 1.0.2 - 2013-04-09
+### Fixed
+- backtraces messed up when using both `next`/`step` and backtrace navigation
+commands.
+### Changed
+- `autolist` and `autoeval` are default settings now.
-## 1.1.1
+## 1.0.1 - 2013-04-06
+### Fixed
+- Byebug not loading properly.
-* Better help system.
-* Code cleanup.
-* First version compatible with pry-byebug.
+## 1.0.0 - 2013-03-29
+### Fixed
+- Green test suite.
-
-## 1.1.0
-
-* Post-mortem support.
-
-
-## 1.0.3
-
-* "autoreload" is set by default now.
-* "list" command: no negative line numbers shown, and line range behaves as
-expected at the begining/end of file.
-* In some weird cases, "backtrace" command segfaults when trying to show info on
-some frame args. Don't know the reason yet, but the exception is handled now and
-and the command doesn't segfault anymore.
-* Try some thread support (not even close to usable).
-
-
-## 1.0.2
-
-* "autolist" and "autoeval" are default settings now.
-* Fixes bug which messed up the call-stack when manipulating backtrace
-information and when nexting/stepping.
-
-
-## 1.0.1
-
-* Corrected small bug preventing byebug from loading.
-
-
-## 1.0.0
-
-* Green test suite.
-
-
-## 0.0.1
-
-* Initial release.
+## 0.0.1 - 2013-03-18
+### Added
+- Initial release.