Releases: ruby/debug
Releases · ruby/debug
v1.6.0
What's Changed
Notable changes:
- Many bug fixes
- Many usability improvements
- Performance improvements
- 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 longinspect
code by @ko1 in #669- Centralize configuration defaults by @st0012 in #642
- Fix frame skipping logic by @st0012 in #673
- restore modified
RUBYOPT
byrdbg
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
- remove
- 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
andstartFrame
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
- Tests
- Print information that protocol tests are skipped only once by @ono-max in #613
- Verify CAP/DAP requests automatically by @st0012 in #599
- Add
assert_threads_result
helper and threads test by @st0012 in #607 - Improve test tasks by @st0012 in #615
- Protocol test framework improvements by @st0012 in #654
- Refactor test framework structure by @st0012 in #660
- Add more rdbg tests by @st0012 in #374
- Don't fail fast on CI by @peterzhu2118 in #672
- Fix formats in evaluation methods for protocol tests by @ono-max in #587
- Make tests
Exception#inspect
independent by @st0012 in #652
- 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
- @dpeacock made their first contribution in #636
- @ydah made their first contribution in #659
- @peterzhu2118 made their first contribution in #672
- @xeger made their first contribution in #684
Full Changelog: v1.5.0...v1.6.0
v1.5.0
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
- Debugger UI
- Debugger command
- Debugger internal
- 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
- 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
- Exclude useless files from gem by @nobu in #451
- Fix spelling in gem description by @nertzy in #453
- Clean up Rakefile by @st0012 in #462
- Use "DEBUGGER__.safe_inspect" when objects are inspected by @ono-max in #473
- Unify internal path skipping logic by @st0012 in #454
- Don't install
bin
directory by @voxik in #481 - Add Ruby 3.1 to CI matrix by @st0012 in #494
- Update odd sentence in readme demonstration code by @hugovandevliert in #487
- Improve help by @kaiquekandykoga in #507
- Add explanations about how to generate tests in DAP by @ono-max in #513
- Fix the typo in README by @ono-max in #529
- Use earlier instead of erlier by @kaiquekandykoga in #545
- test: Fix a typo in method name by @olleolleolle in #531
- Mention Ruby version requirement in Readme by @st0012 in #500
- Remove explanations about how to disable ScreenCast displays by @ono-max in #528
- Small refactors by @st0012 in #546
- Remove duplicated require by @st0012 in #573
New Contributors
- @nobu made their first contribution in #451
- @nertzy made their first contribution in #453
- @voxik made their first contribution in #481
- @hugovandevliert made their first contribution in #487
- @kaiquekandykoga made their first contribution in #507
Full Changelog: v1.4.0...v1.5.0
v1.4.0
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 onlist
command by @ko1 in #446
- fix
- Command line option
- 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 allprogram
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
- Add descriptions about assert methods to CONTRIBUTING.md by @ono-max in #346
- Fix typo by @sampatbadhe in #363
- Fix typo by @ono-max in #358
- Create pull_request_template.md by @st0012 in #364
- typos in documentation (Kernal => Kernel) by @arbesulo in #367
- Step in method by @ko1 in #373
- Fix typos in readme by @lvela in #379
- fix warning about regexp division ambiguity by @dorianmariefr in #382
- Fix several warnings when it runs tests by @ono-max in #392
- Change deprecated File.exists? to File.exist? by @ybiquitous in #399
- Fix typo by @ono-max in #400
- Improve OutlineTest matcher by @casperisfine in #398
- fix typo by @wonda-tea-coffee in #409
- Remove some unused code by @ono-max in #407
- Fix unused block arguments by @ono-max in #389
- Fix small parts in lib/debug/thread_client.rb by @ono-max in #413
- Remove redundant "begin" block by @ono-max in #415
- Update readme for the 'debugger' statement by @st0012 in #418
- Fix typos by @sampatbadhe in #429
- Introduce new
path:
option in the readme by @st0012 in #420 - Update ivar name in send_fail_response by @st0012 in #435
New Contributors
- @arbesulo made their first contribution in #367
- @lvela made their first contribution in #379
- @dorianmariefr made their first contribution in #385
- @ybiquitous made their first contribution in #399
- @wonda-tea-coffee made their first contribution in #409
Full Changelog: v1.3.4...v1.4.0