Skip to content

Releases: ruby/debug

v1.6.0

11 Jul 17:28
@ko1 ko1
Compare
Choose a tag to compare

What's Changed

Notable changes:

  • Many bug fixes
  • Many usability improvements
  • Performance improvements
    • PP trick for long inspect code by @ko1 in #669
    • Improve method breakpoint performance. by @ko1 in #703
  • Support BasicObject
  • Local FS Mapping on DAP

Changes:

  • Debugger core
    • skip feature check on MRI by @ko1 in #611
    • call super' (zsuper) to call original fork` by @ko1 in #627
    • export ThreadClient@check_bp_fulfillment_map by @ko1 in #626
    • Refactor Session and ThreadClient by @st0012 in #628
    • Fix threads restart by @st0012 in #647
    • Move block and method args to their own methods by @dpeacock in #636
    • introduce CONFIG.skip_all by @ko1 in #665
    • support BasicObject by @ko1 in #667
    • PP trick for long inspect code by @ko1 in #669
    • Centralize configuration defaults by @st0012 in #642
    • Fix frame skipping logic by @st0012 in #673
    • restore modified RUBYOPT by rdbg by @ko1 in #679
    • skip if ThreadClient.current.management? by @ko1 in #671
    • bp on reloaded files by @ko1 in #685
    • Improve method breakpoint performance. by @ko1 in #703
  • Debug commands
    • remove bv experimental command by @ko1 in #612
    • CheckBreakpoint should only stop at the first condition fulfillment line by @st0012 in #616
    • reline v0.3.1 by @ko1 in #680
    • Fix bug that "record on" doesn't work after stopping record once by @ono-max in #661
    • fix config append foo bar by @ko1 in #681
    • no_hint configuration option by @ko1 in #693
    • Respect NO_COLOR environment variable by @ko1 in #696
    • respect use_short_path on trace by @ko1 in #702
    • Only Class::Name#foo can become pending bp by @ko1 in #707
    • fix b Kernel#foo message by @ko1 in #708
  • Remote debgging support
  • DAP support
    • sourceReference should use 0 as default by @st0012 in #605
    • Enhance DAP's setExceptionBreakpoints command by @st0012 in #621
    • support levels and startFrame ofstackTrace by @ko1 in #668
    • Limited to inspect string in 4KB on DAP by @ko1 in #678
    • Don't activate RuntimeError breakpoint by default by @st0012 in #634
    • local_fs_map for DAP by @ko1 in #686
    • nonstop at attach on DAP by @ko1 in #688
    • check in_subsession? on disconnect request by @ko1 in #690
    • DAP local to remote path by @ko1 in #691
    • DAP: disable all BPs on disconnected by @ko1 in #698
    • DAP: need to wait for connection by @ko1 in #699
  • CDP support
    • Refactor some logic in "CDP_Validator" class by @ono-max in #586
  • Tests
  • Misc
    • Add a task to check if README is updated correctly by @st0012 in #619
    • Fix some typos by @ydah in #659
    • Add debug log level and instrument important internal events by @st0012 in #469
    • Create message lazily for DEBUGGER__.debug by @ko1 in #666
    • Fix 631 by @ko1 in #670
    • Add a summary table on starting remote debuggee by @st0012 in #641
    • Add warning about legacy debug gem by @xeger in #684
    • Update remote debugging overview with table by @st0012 in #618

New Contributors

Full Changelog: v1.5.0...v1.6.0

v1.5.0

30 Mar 18:44
@ko1 ko1
Compare
Choose a tag to compare

What's Changed

Summary

  • Utilize Ruby 3.1 features such as nested breakpoints.
  • Change prompt for Ruby expressions.
  • Improve CDP (Chrome frontend).
  • Improve DAP (VSCode frontend), especially TCP/IP support for Windows.
  • Add many tests for CDP/DAP.
  • And many bug fixes!

PRs

  • Ruby 3.1 features
    • Use RubyVM.script_lines if available. by @ko1 in #543
    • Allow reentrant breakpoint on Ruby 3.1 by @ko1 in #558
    • wrap _fork from Ruby 3.1 by @ko1 in #589
  • Debugger UI
    • change prompt to ruby for ruby statements by @ko1 in #574
  • Debugger command
    • Support command on CheckBreakpoint by @st0012 in #495
    • Support case insensitive filename by @ko1 in #577
  • Debugger internal
    • Use hidden iseq functions by @ko1 in #448
    • Use have_func method by @nobu in #452
    • use ISeq#path with ISeq#absolute_path by @ko1 in #544
    • Unify frame and locals collection implementation between ThreadClient and servers by @st0012 in #465
  • CDP
    • Correct changes in #445 by @ono-max in #447
    • Show objects when a hovered expression is a specific class in Chrome by @ono-max in #449
    • Make sure to match all constant variables in Chrome by @ono-max in #450
    • Give correct arguments to "respond_fail" method by @ono-max in #468
    • Set lineNumber of functionLocation correctly by @ono-max in #471
    • Send current page's frame id when debugger sends 'Page.navigate' method by @ono-max in #475
    • Match not only top level namespaces but also inside of them by @ono-max in #477
    • Add query parameters to URL to use the debugger easily by @ono-max in #510
    • Set abbreviated property values in the Chrome DevTools Console by @ono-max in #537
    • Improve error messages in the Chrome DevTools Console by @ono-max in #527
    • Use file scheme instead of http scheme in Page pane by @ono-max in #551
    • Call "cleanup_reader" method in "UI_ServerBase" class when CDP exits by @ono-max in #532
    • Refactor the logic in WebSocket class by @ono-max in #553
    • Remove useless protocol print by @ono-max in #562
  • DAP
    • Do not match any characters after the dot in an expression by @ono-max in #461
    • clear removed breakpoints. by @ko1 in #578
    • greeting error by @ko1 in #593
    • gen-portpath utility by @ko1 in #594
    • send terminated event when exit by @ko1 in #595
    • Support open_frontend on Windows by @ko1 in #596
    • DAP: source on not local fs by @ko1 in #600
    • Avoid passing nil path to File.basename by @st0012 in #602
    • New --open=vscode mechanism by @ko1 in #606
  • Test
    • Call "recv_request" method with correct number of arguments by @ono-max in #458
    • Add a new workflow to test for DAP by @ono-max in #459
    • Fix tests by @ono-max in #480
    • Refactor dap test utils by @st0012 in #467
    • Use omit to skip tests by @st0012 in #484
    • Add test case for DEBUGGER__.step_in by @st0012 in #493
    • Do not override an existed thread in the testing framework by @ono-max in #511
    • Use "kill_remote_debuggee" instead of "kill_safely" method by @ono-max in #512
    • Add the test case for Call Stack feature by @ono-max in #514
    • Add the test case for eval by @ono-max in #515
    • Add the test case for watch by @ono-max in #516
    • Add the test case for catch by @ono-max in #517
    • Add the test case for "Run To Line" by @ono-max in #520
    • Add the test case for "Restart" by @ono-max in #521
    • Make sure to fail DAP's tests when a debuggee does not finish after all scenarios by @ono-max in #533
    • Add the new test framework for DAP and CDP by @ono-max in #547
    • Fix some parts in test/support/protocol_utils.rb to run tests correctly by @ono-max in #555
      1. Add the test framework for CDP by @ono-max in #499
    • Wait for debugger to run completely in the test framework for DAP by @ono-max in #568
    • add a test file for nested breakpont by @ko1 in #569
    • Use longer extension name to reduce name collision chance by @st0012 in #592
    • Add assert locals to protocol tests by @st0012 in #559
    • Improve protocol tests error handling by @st0012 in #576
    • Add the test case for deliting breakpoints in protocol tests by @ono-max in #597
  • Bug fixes and refactoring
    • Escape autocompletion word before putting it into Regexp by @st0012 in #498
    • Colorize oversized local's variable name by @st0012 in #509
    • Fix breakpoints' path option by @st0012 in #482
    • Don't wrap loop around waitpid call by @st0012 in #489
    • Avoid manually setting ThreadClient's location by @st0012 in #505
    • Remove useless if statement by @ono-max in #536
    • escape dirname in Regexp by @ko1 in #570
    • Restore frames on nested break by @ko1 in #575
    • make sure SESSION is initialized by @ko1 in #583
    • use TRAP_SIGNAL instead of :SIGURG by @ko1 in #584
    • Remove unnecessary variable checks by @st0012 in #581
    • Refactor servers by @st0012 in #585
    • Expand path for clear_line_breakpoints by @ko1 in #590
    • flush Tracer's output by @ko1 in #604
  • Misc

New Contributors

Full Changelog: v1.4.0...v1.5.0

v1.4.0

17 Dec 18:40
@ko1 ko1
Compare
Choose a tag to compare

What's Changed

  • Debug command
    • fix finish command. by @ko1 in #366
    • Add condition and command support to watch command by @st0012 in #393
    • Add path option to breakpoints by @st0012 in #405
    • Implement Debugger Locals (_raised_ and _returned_) by @st0012 in #397
    • change the special local variables by @ko1 in #419
    • Breakpoints should respect the skip_path config by @st0012 in #423
    • use show_src_lines config on list command by @ko1 in #446
  • Command line option
    • rename --util=init to --util=setup-autoload by @ko1 in #428
  • Chrome frontend
    • Make multidimensional hashes and arrays easier to read in Chrome by @ono-max in #352
    • Add missing methods in Chrome DevTools Protocol by @ono-max in #356
    • Add explanations on how to maximize Chrome DevTools by @ono-max in #354
    • Add the program method if the source of the script file doesn't match the source of all program methods in the file by @ono-max in #324
    • Make sure to get break numbers correctly in CDP server by @ono-max in #359
    • Support several features in Chrome DevTools by @ono-max in #360
    • Fix bug that breakpoints still left even though they are removed in Chrome by @ono-max in #371
    • Output stdout to Console instead of the terminal by @ono-max in #375
    • Make sure that $stdout returns to its original value after evaluation in CDP by @ono-max in #380
    • Continue the debuggee after detaching to Chrome by @ono-max in #381
    • Support "Pause on exceptions" feature in CDP by @ono-max in #387
    • Show variables in the target frame in Chrome by @ono-max in #414
    • Update several parts in CDP to support for the current change by @ono-max in #421
    • Fix bug that error occurs after detaching to Chrome by @ono-max in #411
    • Do not open Chrome automatically if "CONFIG[:chrome_path]" is an empty string by @ono-max in #440
    • Show exception messages in Chrome when debugger paused on an exception by @ono-max in #430
    • Open Chrome automatically by @ono-max in #334
    • Fix bug that debugger doesn't stop at the final line in Chrome by @ono-max in #432
    • Rescue EADDRNOTAVAIL when Chrome is not automatically started by @st0012 in #439
    • Fix bug that debugger sometimes doesn't open Chrome automatically by @ono-max in #445
    • Fix bug that several types doesn't show their classes by @ono-max in #426
    • Skip cleanup code for CDP by @ono-max in #444
  • VSCode/DAP frontend
  • Bug fixes
    • Refactor thread management methods by @st0012 in #344
    • Fix warning about allocated but unused variables by @ono-max in #355
    • Make sure all inspection exception are gracefully handled by @st0012 in #376
    • do not print stacktrace on unknown util command by @dorianmariefr in #385
    • Use RbConfig::CONFIG instead of DEBUGGER__::CONFIG for pretty path by @st0012 in #437
    • Use same dupped binding while same sub-session by @ko1 in #441
  • Tests
    • Fix bug that test framework gets stuck when debuggee outputs many lines by @ono-max in #353
    • Improve error messages when it evaluates expressions in Console by @ono-max in #386
    • Verify that the debugger and debuggee program have exited by @ono-max in #396
    • Fix test by @ono-max in #410
    • Fix bug that debugger raise an error when breakpoints are set in script snippets by @ono-max in #412
    • Add the test framework for DAP by @ono-max in #417
    • Skip tests for DAP if the environmental variable is not set by @ono-max in #433
  • Misc

New Contributors

Full Changelog: v1.3.4...v1.4.0