New Release: Flexible Julia 2026.9.11
New Features:
- Hot-Swap Debugger: Swap out functions while paused at a breakpoint - changes take effect immediately
- DAP hot-reload now attempts frame reconstruction so the current paused frame uses the new code right away
- Tab-iterable variable placeholders in postfix templates
.for,.if,.while,.try
Fixes:
- External package symbols from
usingfully resolved in undefined variable inspection (#85) - Type names in
isaand::expressions no longer flagged as undefined variables (#85) - Postfix templates (
.for,.if,.while) no longer malformed when expression ends with)or](#88) - Quote auto-closing now works for
"and'(#89)
HOT-SWAPPING IS HERE!
This actually took me a lot longer to implement, cause I had to hack my way around frame modification, but now we got hot-swapping support. I got inspired by Julia debugging is extremely slow - #12 by tue, and even though it is not perfect, it is perhaps a step in the right direction.
So here’s what it does: You can now edit a function while paused at a breakpoint and have it take effect immediately - no need to restart your debug session. The DAP layer even tries to reconstruct the current frame so you’re running the new code right away. This means, you can start a debug session (either in REPL or native JetBrains), set a breakpoint and modify the sources. The debugger will update with you. You can see it working in the video in my post above.
This should make the edit-debug cycle a lot faster, especially when you’re tracking down those bugs that only show up after a long warmup.
Apart from that, I also added a few fixes to the validator and some convenience features.
@tue: for sharing your problems with “debugging in julia”
@ufechner7: Thanks for the follow-up on external package symbol recognition!
@SamuelMathieu-code: Appreciate the reports on postfix templates and editor usability - all fixed!
The new release is already available in the beta channel and you can expect JetBrains to approve it today or early tomorrow.